Организация фонового выполнения длительных
процессов
При большом объеме данных выполнение регламентных операций
связанных с групповой обработкой информации может занимать
продолжительное время. Одной из таких задач является
обычно перепроведение документов. Необходимость в перепроведении
возникает при изменениях документов задним числом, если
они могут повлиять на проведение более поздних документов.
В методической конфигурации предлагается пример организации
фонового выполнения перепроведения документов. Для этого
предлагается выделить отдельный запуск 1С:Предприятия
на отдельном компьютере или на компьютере, который мало
используется. Для активизации режима фонового перепроведения
предлагается использовать определенное имя пользователя
(в данном примере "Диспетчер"). При запуске
с этим именем пользователя выполняется инициализация
обработки ожидания специальной процедурой в глобальном
модуле. В приведенном примере это процедура - "ПроцессОбработкиОжиданияДиспетчера".
В ней выполняется анализ текущего положения границы
последовательности. Если между границей последовательности
и точкой актуальности существуют документы, относящиеся
к границе последовательности, то выполняется проведение
первого из этих документов. Соответственно граница последовательности
сдвигается вперед.
При следующей обработке ожидания таким же способом
выбирается следующий документ и тоже проводится. Так
продолжается до тех пор, пока последовательность не
будет восстановлена. Соответственно, как только кто-либо
из пользователей проведет документ задним числом, то
при очередной обработке ожидания будет снова выполняться
проведение документов между границей последовательности
и точкой актуальности. Таким образом, запуск 1С:Предприятия
выполняющий роль диспетчера будет всегда стремиться
восстановить последовательность.
Периодичность обработки ожидания выбирается таким образом,
чтобы фоновое перепроведение документов не замедляло
существенно работу пользователей. В приведенном примере
периодичность обработки автоматически уменьшается после
конца рабочего дня и увеличивается в начале работы пользователей.
|