Что такое Последовательность Документов (в кратце и доступно). Использование последовательностей (1Cv8) Последовательность как объект метаданных

Общее

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

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

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

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

Реализация

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

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

Регистрация документа в последовательности может осуществляться автоматически. Для этого разработчик должен настроить соответствия между реквизитами документа и измерениями последовательности документа. Если в соответствии был указан один или несколько реквизитов табличной части документа, то документ будет зарегистрирован в последовательности ровно столько раз, сколько в данной табличной части строк с уникальной комбинацией значений соответствующих реквизитов. Если в соответствиях с измерениями последовательности были указаны реквизиты разных табличных частей, то документ будет зарегистрирован столько раз, сколько уникальных комбинаций значений можно составить из соответствующих реквизитов этих табличных частей. Если все табличные части имеют во всех строках уникальные сочетания значений соответствующих реквизитов, то количество регистраций будет равно N1*N2...*Ni раз, где Ni количество строк соответствующей табличной части, реквизиты которой участвуют в соответствиях.

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

Механизм последовательности документов использует две сущности: регистрация документа в последовательности, граница последовательности. Для каждой из этих сущностей в системе создаются таблицы данных. Регистрация используется для регистрации документа в последовательности. Обе эти таблицы доступны в языке запросов 1С:Предприятия.

Таблица регистрации имеет следующие поля: период, регистратор, измерения последовательности. В таблице регистрации документов хранятся записи уникальные по измерениям в пределах одного регистратора. То есть для определенной комбинации значений измерений по одному регистратору, хранится только одна запись, но может храниться множество записей с одним и тем же набором значений реквизитов для различных регистраторов. Работа с данными этой таблицы происходит через набор записей регистрации документа в последовательности документа. У объекта документа есть коллекция наборов записей регистрации в последовательностях документов. Наборы записей из этой коллекции используются для регистрации документа в последовательностях при записи документа. Важно помнить, что при отмене проведения, отмена регистрации в последовательностях документов не происходит. Но не проведенный документ не участвует в восстановлении последовательности. В остальном, работа с набором записей регистрации документа в последовательности точно такой же, как и с набором записей любого регистра.

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

Процесс записи документа

Начало транзакции

Запись документа



Конец транзакции

Процесс записи документа с проведением

Начало транзакции
Автоматическое заполнение наборов записей регистрации документа в последовательности
Вызов предопределенной процедуры ПередЗаписью()
Запись документа
Вызов предопределенной процедуры ПриЗаписи()
Вызов предопределенной процедуры ОбработкаПроведения()
Запись измененных и не записанных наборов записей движений документа
Проверка и перенос границ последовательностей на момент времени движений (данное действие производится в наборе записей, не в документе!)
Запись измененных и не записанных наборов записей регистрации документа в последовательностях
Проверка и перенос границы последовательности на момент времени регистрации документа

Конец транзакции

Процесс записи документа с отменой проведения

Начало транзакции
Автоматическое заполнение наборов записей регистрации документа в последовательности
Вызов предопределенной процедуры ПередЗаписью()
Вызов предопределенной процедуры ОбработкаУдаленияПроведения()
Удаление движений документа
Проверка и перенос границ последовательностей на момент времени движений (данное действие производится в наборе записей, не в документе!)
Запись документа
Вызов предопределенной процедуры ПриЗаписи()
Запись измененных и не записанных наборов записей регистрации документа в последовательностях

Конец транзакции

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

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

Для пользователя:
Последовательность документов есть в УПП, УТ (8), ТиС, ПУБ (7).
Операции - Проведение документов, на закладке «Восстановление последовательностей» приведены все имеющиеся в программе последовательности и указана дата актуальности каждой из них.
Партионный учет давно неактуален, значит - все значения себестоимости, которые появляются в отчетах, врут. (Учет кадров и налоговый учет УСН в данной базе не ведется).
Что значит последовательность? Строго говоря, одним из правил учета является его оперативность, т.е. отражение хозяйственных операций по мере их возникновения. 1 июня на склад поступило 10 штук товара А, потом 10 июня продано 8 штук. Если проводить эти документы (Поступление товаров и услуг, Реализация товаров и услуг) строго в хронологическом порядке, то последовательность установится сначала на 1 июня, потом на 10 июня. Т.е. ее граница будет сдвигаться вперед каждым документом, и итоги (количество, сумма, себестоимость) будут актуальными на каждый момент времени. Если же потом, задним числом, провести еще один документ (Реализация товаров и услуг) от 8 июня, которым будет оформлена реализация 7 штук товара А, программа дает это сделать беспрепятственно. Граница последовательности при этом установится на 8 июня, на этот документ. То есть информация ДО ввода этого документа верна, а ПОСЛЕ - уже нет. При восстановлении последовательности (перепроведении документов, входящих в последовательность), документ от 10 июня проведен не будет, потому что нет необходимого количества товара А. Далее пользователь должен искать причину этой ошибки, устранять и восстанавливать последовательность заново.

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

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

Для программиста:
Последовательность - объект метаданных 1С - предназначена для упорядоченного хранения множества документов согласно дате и времени.

Граница последовательности (ГП) - позиция, последнего введённого документа в последовательность. Если после ГП есть другие документы в последовательности, то последовательность считается нарушенной и её необходимо восстановить.

Логически - последовательность можно условно представить как «Общий» журнал документов входящих в эту последовательность. Условно, потому, что на последовательностях строится логика учета.

У некоторых последовательностей, для дополнительного контроля автоматически при движении регистров, отслеживается связь: регистр - последовательность. Если изменился регистр, должна измениться и последовательность.

Физически - последовательность состоит из двух таблиц:
1. Таблица регистрации;
2. Таблица границ.

Таблица регистрации (ТР) - коллекция зарегистрированных в последовательности документов в разрезе измерений. В случае повторной записи документа сначала удаляется старая запись, затем записывается новая.

Таблица границ (ТГ) - хранит границу последовательности в разрезе измерений, одно измерение - одна запись если измерений нет, то у ТГ одна запись. Запись ТГ показывает, какой документ в ТР является последним правильно проведённым, т.е. не нарушившим правильное ведение учёта.

Обе таблицы идентичны по составу колонок: «Период», «Регистратор», «Измерение».

Восстановить последовательность возможно путём простого программного переноса ГП (если вы уверены, что итоги не нарушены) на последний документ в последовательности или повторным, последовательным проведением всех документов от ГП до последнего по времени документа в последовательности. Для исправления последовательности существует штатная обработка «Проведение документов».

Механизм «последовательность» имеет подчинённые объекты, свойство - измерения.

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

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

Измерения повышают производительность системы в целом, так как при записи и проведении захватывается не вся таблица целиком, а только те её строки, которые соответствуют данному измерению.

Регистрация документа в последовательности, т.е. в ТР, производится в момент его записи.

Регистрация документа в последовательности может осуществляться автоматически, под руководством системы, если свойство «Заполнение последовательностей» документа будет установлено в «Заполнять автоматически» если иначе, то сам разработчик описывает правила регистрации.

Запись в ТГ происходит при проведении документа.

При проведении документа, его движения учитываются в:
· «Оперативном учёте» - записывает движения документа в регистрах;
· «Бухгалтерском учёте» - запись проводок.

ПоследовательностьМенеджер.< ИмяПоследовательности > - Данный менеджер предназначен для управления последовательностью:
Последовательность.«ИмяПоследовательности».Восстановить
Последовательность.«ИмяПоследовательности».ПолучитьГраницу
Последовательность.«ИмяПоследовательности».ПолучитьГраницы
Последовательность.«ИмяПоследовательности».Принадлежит
Последовательность.«ИмяПоследовательности».Проверить
Последовательность.«ИмяПоследовательности».СоздатьНаборЗаписей
Последовательность.«ИмяПоследовательности».УстановитьГраницу

Вся работа «ПоследовательностьМенеджер» складывается из анализа и работы с ТР и ТГ. Например, метод «Проверить» - если документ в ТГ, есть последний в ТР, значит, последовательность не нарушена и наоборот и т.д.

ПОСЛЕДОВАТЕЛЬНОСТЬ …и как "я" её понимаю …

Последовательностьесть объект метаданных 1С.

Последовательность - предназначена для упорядоченного хранения множества документов согласно дате и времени.

Граница последовательности (ГП) - позиция, последнего введённого документа в последовательность. Если после ГП есть другие документы в последовательности, то последовательность считается нарушенной и её необходимо восстановить.

Логически - последовательность можно условно представить как «Общий» журнал документов входящих в эту последовательность. Условно, потому, чтона последовательностях строится логика учета.

У некоторых последовательностей, для дополнительного контроля автоматически при движении регистров, отслеживается связь: регистр - последовательность. Если изменился регистр, должна измениться и последовательность.

Физически - последовательность состоит из двух таблиц:

1. Таблица регистрации;

2. Таблица границ.

Таблица регистр ации (ТР) - коллекция зарегистрированных в последовательности документов в разрезе измерений. В случае повторной записи документа сначала удаляется старая запись, затем записывается новая.

Таблица границ (ТГ) - хранит границу последовательности в разрезе измерений, одно измерение - одна запись если измерений нет, то у ТГ одна запись. Запись ТГ показывает, какой документ в ТР является последним правильно проведённым, т.е. не нарушившим правильное ведение учёта.

Обе таблицы идентичны по составу колонок: «Период», «Регистратор», «Измерение».

Восстановить последовательность возможно путём простого программного переноса ГП (если вы уверены, что итоги не нарушены) на последний документ в последовательности или повторным, последовательным проведением всех документов от ГП до последнего по времени документа в последовательности. Для исправления последовательности существует штатная обработка «Проведение документов».

Механизм «последовательность» имеет подчинённые объекты, свойство - измерения.

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

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

Измерения повышают производительность системы в целом, так как при записи и проведении захватывается не вся таблица целиком, а только те её строки, которые соответствуют данному измерению.

Регистрация документа в последовательности, т.е. в ТР, производится в момент его записи.

Регистрация документа в последовательности может осуществляться автоматически, под руководством системы, если свойство «Заполнение последовательностей» документа будет установлено в «Заполнять автоматически» если иначе, то сам разработчик описывает правила регистрации.

Запись в ТГ происходит при проведении документа.

При проведении документа, его движения учитываются в:

· «Оперативном учёте» - записывает движения документа в регистрах;

· «Бухгалтерском учёте» - запись проводок.

ПоследовательностьМенеджер.< ИмяПоследовательности > - Данный менеджер предназначен для управления последовательностью:

Последовательность.«ИмяПоследовательности».

Восстановить

ПолучитьГраницу

ПолучитьГраницы

Принадлежит

Проверить

СоздатьНаборЗаписей

УстановитьГраницу

Вся работа «ПоследовательностьМенеджер» складывается из анализа и работы с ТР и ТГ. Например, метод «Проверить» - если документ в ТГ, есть последний в ТР, значит, последовательность не нарушена и наоборот и т.д.

вооОоот …

П.С.1.

Как пользоваться обработкой.

В зависимости от закладки появляются необходимые реквизиты для заполнения. При их заполнении, в закладке, в соответствующих таблицах смотрим данные.

П.С.2.

Приведённые примеры и им соответствующий код не претендуют на классицизм 1С. Некоторая простота работы формы обусловлена излагаемым материалом, для более простого и лучшего понимания.

П.С.3.

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

С уважением, Шёпот теней.

Информация

  • Профессиональная разработка в системе 1С:Предприятие 8
    • ГЛАВА 7. ДОКУМЕНТЫ И ПОСЛЕДОВАТЕЛЬНОСТИ (143)
      • Последовательности документов (166)

Что такое последовательность?

Последовательность документов – понятие в программе 1с, связанное с порядком следования и проведения документов и цепочек документов друг за другом. Механизм последовательности отслеживает документы, введенные задним числом (например, может произойти ввод отгрузки ранее поступления) и предлагает восстановление следования корректный цепочек документов по партионному учету или же документов по взаиморасчетам с клиентами.

Механизм последовательностей

На каждую последовательность 1С поддерживает в базе две таблицы:

  • полный список документов, входящих в последовательность
  • таблицу границ последовательности

Таблица списка документов последовательности

Эту таблицу можно представить как регистр с измерением Регистратрор и ресурсами - всеми полями документов, входящих в последовательность.

Запись в эту таблицу происходит при записи документа.

Количество записей в этой таблице соответствует общему количеству документов последовательности.

Таблица границ последовательности

Эту таблицу можно представить как регистр с измерениями - всеми измерениями регистров, входящих в последовательность и ресурсом - регистратором (и, соответственно, моментом времени), соответствующим границе последовательности.

Запись в эту таблицу происходит при проведении/отмене проведения документа.

Количество записей в этой таблице соответствует общему количеству различных детерминантов (наборов измерений) последовательности.

Как настроить в конфигураторе использование последовательности

  • создать последовательность
  • настроить документы, входящие в последовательность
  • настроить регистры, движения которых влияют на последовательность
  • добавить измерения
  • настроить связь измерений с реквизитами документов последовательности
  • настроить связь измерений с движениями регистров

Как получить документы, нарушающие последовательность?

Например, запросом: ВЫБРАТЬ

ОстаткиНоменклатуры.Регистратор, ОстаткиНоменклатуры.Номенклатура

Последовательность.ОстаткиНоменклатуры КАК ОстаткиНоменклатуры ВНУТРЕННЕЕ СОЕДИНЕНИЕ Последовательность.ОстаткиНоменклатуры.Границы КАК ОстаткиНоменклатурыГраницы ПО ОстаткиНоменклатуры.Номенклатура = ОстаткиНоменклатурыГраницы.Номенклатура И ОстаткиНоменклатуры.МоментВремени > ОстаткиНоменклатурыГраницы.МоментВремени



Последние материалы раздела:

Сколько в одном метре километров Чему равен 1 км в метрах
Сколько в одном метре километров Чему равен 1 км в метрах

квадратный километр - — Тематики нефтегазовая промышленность EN square kilometersq.km … квадратный километр - мера площадей метрической системы...

Читы на GTA: San-Andreas для андроид
Читы на GTA: San-Andreas для андроид

Все коды на GTA San Andreas на Андроид, которые дадут вам бессмертность, бесконечные патроны, неуязвимость, выносливость, новые машины, парашют,...

Классическая механика Закон сохранения энергии
Классическая механика Закон сохранения энергии

Определение Механикой называется часть физики, изучающая движение и взаимодействие материальных тел. При этом механическое движение...