Хранение оперативных итогов в системе 1С:Предприятие
Итоговая информация по оперативному учету в системе 1С:Предприятие хранится в регистрах. Необходимое количество регистров для хранения итоговой информации создается в процессе настройки конфигурации задачи. При создании регистров определяется, какая информация и в каком разрезе будет храниться в каждом регистре. В процессе настройки конфигурации задачи для большинства документов создается алгоритм движения регистров, т. е. на встроенном языке программы описывается, каким именно образом проведение данного документа повлияет на остатки и внесет изменениях в регистрах. В процессе проведения документа на основании этого алгоритма формируются конкретные записи об изменениях в регистрах. Эти записи, в терминологии системы 1С:Предприятие, называются «Движениями регистров», и их можно просмотреть, если открыть документ для редактирования и в меню «Действия» главного меню программы выбрать пункт «Движения регистров». Процесс вычисления итогов происходит следующим образом. Перед проведением самого первого документа исходным состоянием регистров является отсутствие итогов: регистры пусты. Когда проводится самый первый документ, система подсчета итогов использует сведения о начальном состоянии регистров и записи о движениях регистров, сформированные этим документом, для вычисления значений ресурсов регистра на дату и время проведения документа. Движения регистров всегда описывают динамику изменений регистров, или, выражаясь проще, указывают системе подсчета итогов как необходимо увеличить или уменьшить данные, хранящиеся в ресурсах регистра, чтобы получились правильные итоги. Возьмем в качестве примера регистр «Товарный запас». Предположим, самый первый документ — приходная накладная — содержит информацию о том, что на склад А поступил товар Б в количестве 5-ти штук (стоимость опустим — для простоты). Запись о движении регистра «Товарный запас» будет иметь такой смысл: «Прибавить 5 к остатку товара Б, находящемуся на складе А». Как обработает этот документ система расчета итогов? К начальному количеству товара Б на складе А, которое равно 0, она прибавит 5, в результате в некоторую условную ячейку регистра «Товарный запас», находящуюся на пересечении склада А и товара Б, будет записана цифра 5. Теперь эта цифра будет считаться начальным состоянием ресурса и, соответственно, исходной точкой для вычислений, которые необходимо будет выполнить при проведении следующего по очереди документа. Упомянутая выше исходная точка времени, от которой производится вычисление значений регистров при проведении документов, называется точкой актуальности итогов. Точка актуальности итогов имеет определенную дату и время. Механизм расчета итогов системы 1С:Предприятие позволяет, с одной стороны, всегда поддерживать итоги в актуальном состоянии, а с другой стороны — получать итоги на любой момент времени. Чтобы итоги всегда поддерживались в актуальном состоянии, точка актуальности итогов автоматически сдвигается при проведении каждого нового документа. Если документы вводятся в хронологическом порядке и проводятся сразу после ввода, то итоги будут актуальны сразу после проведения документа. Однако, в системе 1С:Предприятие предусмотрена возможность проведения документа «задним числом» — когда документ имеет дату и время более ранние, чем точка актуальности итогов. В этом случае точка актуальности итогов остается на месте, но проведение документа изменяет итоги. Способность системы поддерживать итоги в актуальном состояний при вводе документов может быть использована в ситуации, когда алгоритм формирования движения регистров использует итоговые данные, например, для контроля остатков товара. В специальных случаях точка актуальности итогов может быть сдвинута во времени вперед или назад. Такая смена может быть выполнена самим пользователем в режиме «Управление оперативными итогами». При смене точки актуальности итогов значения регистров рассчитываются заново, и при расчете учитываются все проведенные документы, расположенные до точки актуальности итогов. Для ускорения вычислений, выполняемых при смене точки актуальности итогов, система 1С:Предприятие сохраняет промежуточные значения регистров на начало каждого периода хранения итогов (далее — просто «период»), величина которого также задается в режиме управления оперативными итогами и может принимать следующие значения: месяц, пятнадцать дней, десять дней, пять дней. Так как процесс сохранения значений может занимать некоторое время, он выполняется только по команде пользователя. Сохранение значений на начало периода может выполняться двумя способами: · автоматически, когда точка актуальности итогов сдвигается на следующий период; · по команде «Открыть следующий период», при этом точка актуальности итогов сдвигается на первое число следующего периода.
|