Последовательности документов



 

Последовательность документов – средство группирования документов в едином хронологическом порядке для обеспечения ведения единой логики событий в рамках некоего механизма учета. В отличие от журналов документов, которые используются в основном для группирования документов в «интерфейсных интересах» (для визуализации), последовательности группируют документы для обеспечения правильного отражения данных документов в учете.

Поскольку учетных механизмов в составе одной конфигурации может быть несколько, то и последовательностей может быть адекватное количество. Кроме того, сами модели применения объекта Последовательность могут отличаться.

В качестве первого примера рассмотрим использование последовательности для учета правильности списания партий товаров со склада. Проведение ряда документов (документов реализации) обусловлено состоянием данных, хранящихся в базе данных, на момент времени регистрации документов (остатки партий в регистре ПартииТоваров). Изменение же этих исходных данных впоследствии, после проведения документа, ставит под сомнение правильность прошлого отражения данного документа в учете.

То есть движения документа Реализация не отвечают требованиям метода списания FIFO.

Для исправления ситуации объект Последовательность позволяет в таких случаях оперировать понятием граница последовательности. Это и есть момент времени максимально глубокого в прошлом изменения записей регистра (регистров), от которого зависит проведение документов, зарегистрированных в последовательности. Именно с этого момента времени возможны коллизии правильности ведения учета. То есть до границы последовательности документы проведены заведомо правильно, после – возможно, неправильно.

Сам процесс восстановления логики учета может быть реализован путем последовательного перепроведения документов, зарегистрированных в последовательности, начиная от границы последовательности, и называется восстановление последовательности.

Другой вариант использования объекта Последовательность: пользователи в течение дня вводят поток заявок от покупателей и внутренних заявок. Причем в силу специфики автоматизируемого предприятия часто имеет место ситуация ввода нескольких заявок от одних и тех же покупателей или для одних и тех внутренних подразделений. Кроме того, возможен ввод «запоздавших» заявок прошлых дней. Документы записываются, но не проводятся.

По окончании рабочего времени офиса автоматически включается обработка Консолидация заявок, которая собирает все непроведенные заявки (разных видов), начиная от границы последовательности, консолидирует их, оформляет соответствующим образом и проводит уже обобщенные заявки. Впоследствии исходные заявки удаляются. После этого граница последовательности смещается на момент времени последней проведенной консолидированной заявки

Первый приведенный пример можно назвать классическим. Он касается давно существующей задачи «борьбы с коллизиями из-за работы пользователей задним числом». Данная задача полностью или в большей своей части может быть решена за счет встроенных в платформу автоматических средств объекта Последовательность.

Второй приведенный пример показывает, что разработчик при использовании объекта Последовательность не обязательно должен замыкаться только на «коллизиях работы задним числом». Благодаря наличию различных программных средств и возможностей логика применения последовательностей документов определяется самим разработчиком.

 

Устройство последовательностей

Для создания объекта конфигурации Последовательность разработчик должен указать, какие документы необходимо регистрировать в последовательности, и список регистров, данные которых используются этими документами при своем проведении

Рис. Свойства, относящиеся к использованию последовательности

Хотелось бы обратить внимание на то, что автоматическое отслеживание изменения таких данных осуществляется только для регистров:

·регистров накопления,

·регистров сведений,

·регистров бухгалтерии,

·регистров расчета.

Но это не мешает при необходимости реализовать программными средствами изменение положения границы последовательности при изменении данных других объектов. Например, для последовательности документов, критичных к изменению условий в элементе справочника Договоры, при записи модифицированного элемента данного справочника можно программно установить границу последовательности на момент времени самого первого документа по этому договору.

Кроме того, последовательность может иметь разрезы. Это реализуется включением измерений в данные последовательности. Например, если добавить в последовательность измерение Организация, то с прикладной точки зрения общая последовательность будет разбита на ряд последовательностей. Каждая из них может функционировать в рамках отдельной организации. То есть, например, будет возможно произвести восстановление последовательности документов только одной организации, не затрагивая остальных. С другой стороны, наличие измерений не препятствует работе с последовательностью в целом.

Для хранения данных объекта Последовательность в базе данных существуют две таблицы: таблица регистрации документов в последовательности и таблица границ последовательности.

Состав колонок обеих таблиц сходен: Период, Регистратор, Измерение1, …, ИзмерениеN. Различно функциональное использование этих таблиц.

Данные, хранящиеся в таблице регистрации документов, используются для решения вопросов, связанных с коллекцией зарегистрированных в последовательности документов. Причем в разрезе измерений. Для определенной комбинации значений измерений по одному регистратору в таблице регистрации документов может храниться только одна запись.

Впоследствии данные этой таблицы могут использоваться, например, для получения упорядоченного по хронологии набора документов, которые требуется перепровести для восстановления последовательности. Или просто для получения массива ссылок на документы, записи по которым соответствуют некоему отбору по измерениям последовательности.

Данные в таблице границ последовательностей хранят значения моментов времени границ последовательностей (Период + Регистратор) по каждому набору значений измерений последовательности. То есть уникальность записей таблицы границ последовательностей определяется набором значений измерений. Если измерений у последовательности нет, значит, в этой таблице будет только одна запись.


Дата добавления: 2019-02-22; просмотров: 250; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!