1С:Предприятие 8.2 /
Разработчикам /
Универсальные механизмы
Групповое перепроведение документов
Краткое описание механизма
Данный механизм позволяет выполнить перепроведение большого количества документов за период более быстрым по сравнению со стандартными средствами способом.
Описание принципов действия
Одним из факторов, увеличивающим время проведения документа задним числом, является обращение в ходе его проведения к неактуальным итогам регистров накопления или бухгалтерии. Таким обращением может, например, быть обращение к виртуальным таблицам Остатки этих регистров.
Чтобы понять, в чем именно заключается причина увеличения времени обращения к неактуальным итогам, следует представлять, каким образом платформой 1С:Предприятие 8 получаются остатки из этих регистров (на примере регистра накопления).
Данные регистра накопления (с видом Остатки) сохраняются в БД в двух таблицах: "таблице движений" и "таблице итогов". Структура первой таблицы известна, именно из нее получаются данные при выполнении запроса вида:
ВЫБРАТЬ * ИЗ РегистрНакопления.ТоварыНаСкладах
Вторая таблица является служебной, в ней хранятся рассчитанные остатки по измерениям регистра по периодам (месяцам). В этой таблице всегда присутствуют записи актуальных остатков (на текущую дату), записи по другим периодам добавляются в таблицу при выполнении операции установки актуальности итогов. При этом добавляемые записи соответствуют остаткам регистра, рассчитанных на начало месяца, следующего после указанной даты.
То есть если регистр был рассчитан по 31.10.2005, в таблице будут присутствовать записи на 01.11.2005 0:00:00.
Соответственно, получение остатка по набору измерений из регистра на произвольную (не текущую) дату упрощенно можно представить следующим образом:
- Из "таблицы итогов" получается первый более поздний относительно необходимой даты рассчитанный остаток. Если рассчитанных итогов нет, берется актуальный (текущий) остаток, который присутствует всегда.
- От полученного остатка "отнимаются" движения, полученные из "таблицы движений" регистра по данному набору измерений, за период от необходимой даты до момента найденного в п. 1 остатка.
Пример
Регистр накопления ТоварыНаСкладах рассчитан по 31.10.2005.
Требуется получить остаток на 05.10.2005 13:00:00.
В этом случае из "таблицы итогов" будет "взят" остаток на 01.11.2005.
От полученного остатка будут "вычтены" движения по данному набору измерений, где {05.10.2005 13:00:00} <= период < {01.11.2005 0:00:00}.
Из приведенного описания видно: чем больше движений попадает в период между необходимой датой и границей рассчитанных итогов, тем дольше будет выполняться запрос к остаткам, причем эта зависимость является нелинейной.
Рассматриваемый здесь механизм позволяет выполнить перепроведение документов с учетом данной особенности. Это достигается удалением из регистров всех "мешающих" движений, попадающих в период между моментом времени проводимого документа и ближайшего рассчитанного остатка.
То есть групповое перепроведение выполняется в два этапа:
- На первом этапе для всех без исключения документов, попавших в указанный период, удаляются движения по регистрам.
- На втором этапе документы перепроводятся. Поскольку в момент проведения документа в таблице регистра уже не существует записей с более поздним периодом, обращение к итогам регистров выполняется намного быстрее.
Особенности применения
Ограничением данного механизма является необходимость обязательного перепроведения всех документов от начала указанного периода до ближайшей границы рассчитанных итогов или, если в данном периоде такой границы нет, до самого последнего документа.
Также следует учитывать, что данный механизм не удаляет движения документов, "введенных вручную". То есть документов, чьи движения формируются не в процедуре ОбработкаПроведения(), а вводятся непосредственно пользователем. Примером такого документа может служить документ Операция (бухгалтерский и налоговый учет) типовой конфигурации Бухгалтерия предприятия, в котором движения по регистру бухгалтерии Хозрасчетный заполняются пользователем непосредственно в форме документа.
Наличие в информационной базе большого количества подобных документов может отрицательно сказаться на эффективности применения данного механизма.
Область применения
Механизм группового перепроведения следует применять при перепроведении большого количества документов за период в информационных базах с большим документооборотом.
Другие материалы по теме:
бухгалтерия предприятия, перепроведение документов, перепроведение, движения, регистр накопления, накопления, бухгалтерский и налоговый учет, описание, особенности, механизм, опис, остаток, регистр., выполнить, остатки, 00, документов, регистр, период, действия, документа, документ
Материалы из раздела: 1С:Предприятие 8.2 / Разработчикам / Универсальные механизмы
Другие материалы по теме:
Источники данных для расчетов бюджетирования
Общие механизмы товарных документов
Нас находят: что сначало остатки на дату а потом перепроведение документов в 1С, Заполнение регистра накопления без перепроведения документов, групповое перепроведение документов в 1с 8 2, 1с ТиС 8 8 быстрое перепроведение большого количества документов за период
Мы на Facebook