Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.02.19;
Скачать: [xml.tar.bz2];

Вниз

Структура таблиц сроков исполнения   Найти похожие ветки 

 
toropoff   (2011-11-08 18:50) [0]

необходимо написать мелкую программу по документообороту.

- на входящий документ может быть несколько ответственных за исполнение.
- у каждого могут быть свои сроки.
- сроки могут быть как определенная дата, так и ежемесячно (каждый квартал, каждый понедельник и т.п.)

входящие: кодВх, ..
ответственные: кодОтв, ..

а вот как грамотно сделать таблицу сроков и как это дело связать?
была бы одна дата исполнения было бы проще, типа: кодВх, кодОтв, датаИсп  а тут что -то запутался как хранить такие сроки можно..
может уже у кого что-то было наподобии или мысли есть буду благодарен.


 
Ega23 ©   (2011-11-08 19:44) [1]


>  так и ежемесячно (каждый квартал, каждый понедельник и
> т.п.)


Даю подсказку: каждый понедельник - это тоже дата. Каждый квартал (начало и конец) - тоже.

Т.е. ДатаСрокаИсполнения_N = F(ДатаСрокаИсполнения_N-1);

Дальше заводишь таблицу (можно и без таблицы, я условно) этих самых F(date).
Например "Следующий_Понедельник(date)", "Начало_Следующего_Квартала(date)", "Каждый_Сцуко_чОтный_День(date)"
И т.д.


 
Dennis I. Komarov ©   (2011-11-08 19:57) [2]


> Ega23 ©   (08.11.11 19:44) [1]

1С-кой пахнет...


 
Ega23 ©   (2011-11-08 20:42) [3]


> 1С-кой пахнет...


Ничуть.
a-la "Планировщик задач" aka Scheduler

Просто надо очень аккуратно бизнес-логику прописать.

Таблица "Расписания" :
1. Однократно
2. Раз в неделю
3. Раз в месяц
....
В общем, те самые F(date)

Таблица "Статусы задания"
1. Не начато
2. В процессе
3. Завершено
4. Просрочено
5. Удалено (например, в основной выборке такие скрываются, но по желанию - можно показать)
6. Приостановлено
И т.д.

Для статусов очень аккуратно расписать конечный автомат по переходам из одного статуса в другой.

Таблица "Задания"
Атрибуты:
1. Расписание
2. Автопродление
3. Дата начала
4. Дата окончания
5. Автоудаление
6. Какой-нибудь "тип"
7. Ответственный(е)
8. Статус задания
9. Что-то ещё.

Как-то так.


 
Dennis I. Komarov ©   (2011-11-08 20:46) [4]


> Ega23 ©   (08.11.11 20:42) [3]

Ты не понял, я не про это... :)


 
Ega23 ©   (2011-11-08 21:10) [5]


> Ты не понял, я не про это... :)


А про что?


 
Dennis I. Komarov ©   (2011-11-08 21:17) [6]


> "Следующий_Понедельник(date)", "Начало_Следующего_Квартала(date)",
>  "Каждый_Сцуко_чОтный_День(date)"

...не бери в голову ;)


 
Inovet ©   (2011-11-08 21:23) [7]

> [6] Dennis I. Komarov ©   (08.11.11 21:17)
> ...не бери в голову ;)

А, я понял.:)


 
Ega23 ©   (2011-11-08 21:28) [8]


> А, я понял.:)


Я, кажется, тоже. Но, свят-свят-свят, с 1Ц работать не  приходилось. Ни разу. :)


 
toropoff   (2011-11-09 00:19) [9]

спасибо Ega23 ©!
правда после первого прочтения почти ничего не понял..
попробую завтра с утра переварить..


 
KilkennyCat ©   (2011-11-09 02:44) [10]


> Таблица "Расписания" :
> 1. Однократно
> 2. Раз в неделю
> 3. Раз в месяц


я бы проще и универсальнее сделал

(начать в TDateTime)(повторять N раз)(каждые NN секунд)
а уж секунды визуализировать как угодно, еженедельно, ежеквартально...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2012.02.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
2-1320748521
bam
2011-11-08 13:35
2012.02.19
Файл уже открыт 107


2-1320786460
I
2011-11-09 00:07
2012.02.19
Компиляция в командной строке


2-1320337446
Ant_
2011-11-03 19:24
2012.02.19
Runtime error 216 и процедура DBGridEhSelectionChanged


15-1319789522
TUser
2011-10-28 12:12
2012.02.19
Задача: спасти мир (от философов)


6-1219582346
-=Le][=-
2008-08-24 16:52
2012.02.19
Как узнать полное имя домена?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский