Бухучет инфо. Закрытие месяца

Как в программе 1С 8.3 Бухгалтерия перепровести группу документов?

При исправлении документов задним числом, почти всегда в 1С 8.3 требуется перепроведение документов, имеющих дату и время больше, чем у документа, который исправляли. Рассмотрим как исправить это и как перепровести документы в 1С 8.3 Бухгалтерия.

Перепроведение документов в 1С 8.3 Бухгалтерия специальной обработкой

Обработка группового перепроведения находится в меню «Все функции»:

Обычно по умолчанию, даже если у пользователя есть полные права, этот пункт меню не виден. В этом случае нужно зайти в меню «Сервис», далее «Параметры»:

И установить соответствующий флажок:

Если «Сервис» недоступен, обратитесь к специалисту, который настраивал права доступа.

И так, выбираем команду «Все функции». В открывшемся окне выбираем в разделе «Стандартные» строку «Проведение документов»:

Откроется окно обработки проведения:

На закладке «Проведение документов» выбираются типы документов, которые нужно провести или перепровести (в зависимости от настройки флажков).

Внимание! Если вы планируете только перепровести уже проведенные документы, но не желаете проводить не проведенные документы, обязательно снимите флаг «Проводить проведенные»:

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

Кроме этого, желательно знать, какие виды документов связаны.

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

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

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

При выполнении регламентной операции «Закрытие месяца» программа проверяет актуальность границы последовательности проведения. Она должна стоять на последнем документе месяца, по которому идет закрытие. Если это не так, будет предложено перепровести документы и таким образом восстановить последовательность:

Иногда бывают случаи, когда документ не меняли, но случайно перепровели. Граница установиться на этот документ. К сожалению, в 1С: «Бухгалтерии 3.0» нет штатной возможности вручную вернуть границу на нужное место, хотя в прежней версии была. Но в интернете можно найти внешние обработки, позволяющие это сделать.

По материалам: programmist1s.ru

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

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

Назначение и использование

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

Наиболее частая причина нарушения Границы последовательности - ввод документов «задним» числом или изменение уже введенных документов. В этом случае программа требует восстановить нарушенную последовательность документов, начиная с даты нарушения.

Почему нужно восстанавливать границу последовательности?

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

  • Могут возникнуть отрицательные остатки на складе из-за того, что в момент выписки расходной накладной на складе еще не было товара, оформленного приходной накладной.
  • Будет неверно выполнен расчет средней стоимости товара.

Рассмотрим, как ввод документов «задним» числом может привести к ошибкам в учете.

При вводе аванса «задним» числом, программа не сможет учесть аванс - для этого нужно восстановить последовательность документов: провести отгрузку после внесенной банковской выписки. Тогда зачет аванса появится в проводках документа реализации.

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

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

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

Восстановление последовательности

Восстановление последовательности, т. е. проведение документов в правильной хронологической последовательности, может быть выполнено в:

  • процедуре Закрытие месяца : раздел Операции - Закрытие периода - Закрытие месяца - ссылка Перепроведение документов .

  • процедуре Проведение документов : кнопка Главное меню - Все функции - Стандартные - Проведение документов - вкладка Проведение документов .

Вкладка Восстановление последовательностей не используется.

  • обработке Групповое перепроведение документов : раздел Операции — Сервис — Групповое перепроведение документов .

Перенос границы последовательности

Перенос границы последовательности документов выполняется в процедуре Закрытие месяца по ссылке Перепроведение документов : раздел Операции - Закрытие периода - Закрытие месяца - Перепроведение документов .

Возможные варианты настройки границы последовательности документов:

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

Перепроведение нарушенной последовательности

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

Перепроведение только текущего месяца

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

Операция Перепроведение документов в нарушенных периодах выглядит как восстановленная:

  • Цвет выполненной операции - зеленый.

Но документы за период с 31.01.2017 по 01.06.2018 не перепроведены, а значит, возможны ошибки в рассчитанной себестоимости ТМЦ, зачете авансов и т. д. за этот период.

Перепроведение не требуется

В данном случае граница последовательности устанавливается на конец текущего месяца. Это значит, что проводки документов до конца текущего месяца будут считаться корректными - документы при этом не перепроводятся.

Операция Перепроведение документов в нарушенных периодах выглядит как восстановленная.

  • Цвет выполненной операции – зеленый.
  • Выставлен флажок выполнения операции.

Но документы за период с 31.01.2017 по 30.06.2018 не перепроведены, а значит, возможны ошибки в рассчитанной себестоимости ТМЦ, зачете авансов и т.д. за этот период.

Этот вариант - аналог команды Пропустить операцию , что использовалась в прошлых версиях 1С.

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

Вся правда о ручном переносе границы последовательности

Ручной перенос можно использовать, когда изменения не затрагивают:

  • бухгалтерский учет;
  • налоговый учет;
  • регламентированную отчетность.

Например, в документ:

  • добавили Ответственного или Комментарий ;
  • внесли или исправили Входящий № ;
  • просмотрели документ и закрыли по кнопке Провести и закрыть , а не по крестику в форме документа.

  • Автоматически восстанавливать границу последовательности и перезакрывать уже закрытые месяцы заново, если в них вносились изменения.
  • Выполнять автоматическое восстановление границы последовательности при вводе документов текущего месяца «задним» числом.

Это самый безопасный вариант работы.

Кто может выполнять операцию переноса границы последовательности?

Такая возможность доступна не всем пользователям, а только пользователям:

  • С ролью .
  • Администратору .
  • Главному бухгалтеру .

По умолчанию эта роль назначается Администратору и Главному бухгалтеру .

Это значит, что пользователь с правами Бухгалтер выполнить восстановление последовательности НЕ сможет. Как быть в этой ситуации?

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

Шаг 1. Настройка профиля доступа

Откройте настройку профилей доступа: раздел Администрирование - Настройки программы - Настройки пользователей и прав - Группы доступа - ссылка Профили групп доступа .

Шаг 2. Создание нового профиля

По кнопке Добавить добавьте новый профиль Право интерактивного переноса границы последовательности .

Шаг 3. Добавление пользователю новой роли

Откройте форму настройки прав Бухгалтера : раздел Администрирование - Настройки программы - Настройки пользователей и прав - Пользователи - ссылка Пользователи - Бухгалтер - кнопка Права доступа .

Выставите флажок у профиля Право интерактивного переноса границы последовательности .

Шаг 4. Сохранение настройки

Сохраните настройки по кнопке Записать .

Ответы на вопросы

А теперь - ответы на блиц-вопросы, чтобы закрепить и дополнить данный материал.

Нет ручного переноса границы последовательности…

Вероятно, у вас старая редакция. Обновляйтесь! С версии 1С 3.0.62 этот механизм доступен к использованию.

Это и раньше было!

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

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

Почему нарушается последовательность?

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

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

Как себя «подстраховать» от изменения документов в прошлых периодах?

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

Документы, оформленные в закрытых периодах, будут защищены.

Корректности данных в 1С - конец?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Принадлежит

Проверить

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

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

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

вооОоот …

П.С.1.

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

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

П.С.2.

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

П.С.3.

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

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

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

Чаще всего необходимость в этих объектах возникает:

  • При учете складских остатков и движений номенклатуры;
  • При расчетах при реализации и приобретению товаров.

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

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

В дереве метаданных они не являются самостоятельной веткой объектов, так как подчинены ветке «Документы» (Рис. 1)

На этом рисунке показана ветка объектов «Документы» в конфигурации УПП. Как видно из изображения, у последовательности могут быть указаны свои измерения.

Измерения используются в качестве идентификаторов обрабатываемых объектов. В частности, для элемента «_ТО_ЗатратыНаТСПланируемые», указанного в приведенном выше рисунке таким идентификатором является параметр «Автомобиль».

Настройка последовательности

Рассмотрим подробнее объект «_ТО_ЗатратыНаТСПланируемые» (Рис. 2)

Рис. 2

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

Мы видим три основных параметра:

  1. Перемещение границы при проведении;
  2. Входящие документы;
  3. Движения, влияющие на последовательность.

Перемещение границы при проведении

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

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

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

Записи о вносимых в базу документах также хранятся в разрезе измерений в собственной таблице – таблице регистрации изменений.

Обе таблицы (границ и регистрации) схожи по набору заполняемых колонок:

  • Период – дата внесения записи в таблицу;
  • Регистратор – документ (основание) формирования записи;
  • Измерение.

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

Параметр «Перемещение границы при проведении» имеет два значения:

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

Входящие документы и движения

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

Закладка «Данные»

На Рис. 3 показана форма создания нового измерения объекта

Рис. 3

Здесь мы должны указать:

  1. Имя нового измерения;
  2. Его тип и сопутствующие свойства;
  3. Какие реквизиты движений и документов соответствуют нашему измерению.

В соответствии с этими данными система будет принимать решение – включать ли текущий документ или движение в последовательность или не включать.

Немного программирования

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

Получить границу можно с помощью кода (Рис. 4)

Рис. 4

Где в качестве отбора может выступать структура, ключи которой содержат имена измерений последовательности, а значения – соответствующие показатели этих измерений.
Рис. 5

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

Важное предостережение

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

Типовые конфигурации, как правило, содержат инструмент, позволяющий восстанавливать последовательности и переносить их границы. Его можно обнаружить в разделе «Все функции»-> «Стандартные» -> «Проведение документов» (Рис.6)

Рис.6

Запускаемая обработка содержит закладку «Восстановление», интуитивно понятная форма которой и предоставляет возможность выполнения соответствующих действий.

Общее

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

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

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

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

Реализация

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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