-
Notifications
You must be signed in to change notification settings - Fork 105
Document posting
Модуль объекта документа:
PostingServer.Post(ThisObject, Cancel, PostingMode, ThisObject.AdditionalProperties);
Общий модуль проведения вызывает функции и процедуры из модуля менеджера документа:
Function Post(DocObject, Cancel, PostingMode, AddInfo = Undefined) Export
Module.PostingGetDocumentDataTables(DocObject.Ref, Cancel, PostingMode, Parameters, AddInfo);
Module.PostingGetLockDataSource(DocObject.Ref, Cancel, PostingMode, Parameters, AddInfo);
// Установка блокировки регистров
Module.PostingCheckBeforeWrite(DocObject.Ref, Cancel, PostingMode, Parameters, AddInfo);
Module.PostingGetPostingDataTables(DocObject.Ref, Cancel, PostingMode, Parameters, AddInfo);
// Запись движений регистров
Module.PostingCheckAfterWrite(DocObject.Ref, Cancel, PostingMode, Parameters, AddInfo);
EndFunction
Модуль менеджера документа:
Function PostingGetDocumentDataTables(Ref, Cancel, PostingMode, Parameters, AddInfo = Undefined) Export
Описание: Подготовка данных заполнения. В дальнейшем на основе которых будут выполнены блокировки и заполнены наборы движений в дальнейшем.
Возвращаемое значение: структура. Ключ содержит имя таблицы данных, свойство содержит таблицу значений для заполнения.
Алгоритм выполнения:
- Создание структур таблиц. Каждая таблица не имеет записей, но имеет колонки, заполненные на основе регистров и текущего документа.
- Запись статуса документа и определение необходимости проведения по данному статусу.
- Подготовка данных для заполнения структуры таблиц.
- Заполнение таблиц согласно заданным правилам.
- Возврат значения.
Function PostingGetLockDataSource(Ref, Cancel, PostingMode, Parameters, AddInfo = Undefined) Export
Описание: Подготовка данных блокировок регистров по заполненным ранее данным заполнения и заданным полям регистров.
Возвращаемое значение: соответствие. Ключ представляет имя регистра, свойство содержит структуру регистра с заданными полями и данными блокировки.
Алгоритм выполнения:
- Получение из модуля регистра накопления структуры с заданными полями блокировки
- Возврат значения.
Procedure PostingCheckBeforeWrite(Ref, Cancel, PostingMode, Parameters, AddInfo = Undefined) Export
Описание: Выполнение проверок перед проведением. Возможен отказ от проведения.
Алгоритм выполнения:
- Выполнение проверки.
Function PostingGetPostingDataTables(Ref, Cancel, PostingMode, Parameters, AddInfo = Undefined) Export
Описание: Подготовка данных наборов движений на заполненных ранее данных заполнения.
Возвращаемое значение: соответствие. Ключ является набором записи регистра. Свойство представляет собой структуру. Поля структуры:
- RecordType – вид движения накопления;
- RecordSet – таблица значений с заполненными данными;
- WriteInTransaction – булево, определяет момент записи движения;
Алгоритм выполнения:
- Создание и заполнение соответствия структур.
- Возврат значения.
Procedure PostingCheckAfterWrite (Ref, Cancel, PostingMode, Parameters, AddInfo = Undefined) Export
Описание: Выполнение проверок после записей движений по регистрам. Возможен отказ от проведения.
Алгоритм выполнения:
- Выполнение проверки.