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

Главная / Бизнес

Для пользователя 1С: Управление производственным предприятием, редакция 1.3 существует штатный механизм восстановления последовательностей:

Операции -> Проведение документов, на закладке «Восстановление последовательностей» приведены все имеющиеся в программе последовательности и указана дата актуальности каждой из них. Там же есть возможность восстановить последовательность на указанную дату.

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

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

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

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

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

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

И снова обращаемся к теме закрытия месяца в 1С Бухгалтерии 8.3. На этот раз рассмотрим одну вспомогательную функцию, которая называется "контроль последовательности проведения документов" . На рисунке ниже представлена форма обработки закрытия месяца, на которой вы можете видеть красную ссылку "контроль последовательности проведения документов".

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

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

сайт_

Перед тем как показать эту форму, 1С Бухгалтерия может некоторое время "подумать". В это время программа проверяет, не была ли нарушена последовательность проведения в цепочках документов. Прежде чем что-то тут нажимать и "восстанавливать", следует задуматься над тем, что вообще такое эта "последовательность проведения документов".

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

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

Тут была важная часть статьи, но без JavaScript её не видно!

1С Бухгалтерия 8 считает так: если вы перепроводите "задним числом" какой-либо документ, то, возможно, потребуется перепровести документы, которые следуют за данным. Именно из такого подхода и возникла вспомогательная функция по контролю за последовательностью проведения документов. Данная функция доступна в обработке "Закрытие месяца" по той самой красной ссылке.

Впрочем, ссылка не всегда красная. Если вы не перепроводили документы "задним числом", то ссылка будет зелёной. Если же нет, то в вышеприведённой форме контроля можно нажать кнопку "Перепровести документы". В этом случае будут перепроведены все документы с даты, в которой 1С обнаружила изменения документов "задним числом". Результат контроля перепроведения документов показан ниже.

сайт_

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

сайт_

Как видите, теперь с точки зрения 1С Бухгалтерии "всё в порядке". Однако не стоит зыбывать о том, что это всего лишь программа. Конечный ответ на вопрос "всё ли в порядке?" даёт лишь пользователь, поэтому не стоит на 100% перекладывать на 1С всё подряд — однажды такой подход может "выйти боком".

Подведём итоги

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

Ответы на все вопросы "почему" и "как лучше" я рассматриваю со своими учениками на курсах 1С Бухгалтерии 8 по Skype . Практика показывает, что лучше всего в 1С работают те, кто не просто "прочитал учебник", но понял как работает программа, как в ней ведется учёт и почему нужно делать так, а не иначе.

Без понимания работа в 1С — это всего лишь щёлканье по кнопкам!

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

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

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

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

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

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

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

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

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

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

Рис. 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 3

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

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

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

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

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

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

Рис. 4

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

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

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

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

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

Рис.6

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

Для пользователя:
Последовательность документов есть в УПП, УТ (8), ТиС, ПУБ (7).
Операции – Проведение документов, на закладке «Восстановление последовательностей» приведены все имеющиеся в программе последовательности и указана дата актуальности каждой из них. То есть если в июне 2010 года мы видим такое:

То это плохо. Партионный учет давно неактуален, значит – все значения себестоимости, которые появляются в отчетах, врут. (Учет кадров и налоговый учет УСН в данной базе не ведется).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



© 2024 solidar.ru -- Юридический портал. Только полезная и актуальная информация