|
01.12.2010, 17:27 | #1 |
Участник
|
Запуск пакетной обработки (batch) в последний день месяца
Dynamics Ax 4.0
Необходимо запускать определенную процедуру в последний день месяца при помощи пакетной обработки. Но при настройке переодичности есть возможность только задать месячное повторение на определенное число. Если настроить повторение на 31-ое число каждого месяца, то процедура запуститься только 7 раз в году. А надо, чтобы она запускалаль 7 раз 31-ого, 4 раза 30-ого и в идеале правильно обрабатывала февраль. Если возможность настроить в стандарте переодическую обработку подобным образом? Заранее благодарю. |
|
01.12.2010, 17:31 | #2 |
Участник
|
попробуйте запускать каждый день и проверять является ли данный день последним в месяце. либо запускайте в 1:00 первого числа каждого месяца
Последний раз редактировалось ice; 01.12.2010 в 17:34. |
|
|
За это сообщение автора поблагодарили: Poleax (1). |
01.12.2010, 17:56 | #3 |
северный Будда
|
на мой взгляд, такой вариант куда более корректный
если ставится задача обработать данные за месяц, то совершенно очевидно, что запуск обработки должен выполняться только после окончания месяца, чтобы не было необработанных операций
__________________
С уважением, Вячеслав |
|
01.12.2010, 18:15 | #4 |
Участник
|
спасибо, подумаем с аналитиком.
|
|
01.12.2010, 18:18 | #5 |
Member
|
Более логичным кажется запуск 1-го числа, но...
Еще вариант без модификаций — 12 пакетных заданий с конкретной датой (конец конкретного месяца) и периодичностью раз в год. Это для 5.0. В 4.0 был нюанс со сдвигами дат.
__________________
С уважением, glibs® |
|
01.12.2010, 18:20 | #6 |
Участник
|
|
|
01.12.2010, 22:27 | #7 |
Участник
|
|
|
01.12.2010, 22:57 | #8 |
Участник
|
|
|
02.12.2010, 15:23 | #9 |
Member
|
Да, на февраль ничего кроме поправить вручную раз в 4 года предложить не могу.
Цитата:
Сообщение от Bober
...
Через 4 года уже никто не вспомнит, что там и зачем ...
__________________
С уважением, glibs® |
|
03.12.2010, 00:11 | #10 |
Участник
|
|
|
01.12.2010, 20:52 | #11 |
Боец
|
Можно написать вспомогательный пакетник, который будет запускать другие пакетные задания в соответствии с рабочим календарем. Параметры пакетника можно организовать в виде грида с 3-мя колонками (RunBaseBatch+Form): Имя класса, Description, Календарь. Вспомогательный пакетник будет стартовать ежедневно, в заданное время. Стартанув, он проверит "свой" грид на наличие задач для запуска в соответствии с указанным календарем. Если таковые имеются, будет вставлять их в пакетную очередь с единовременным запуском, а также, удалять из очереди уже завершенные задачи.
Да, нужно реализовывать; но получим универсальный инструмент для запуска задач по календарю, чего лишен стандарт, при этом не вмешиваясь в стандартный механизм расчета времен запуска пакетов. |
|