Как правильно сделать перепроведение документов в 1С 7.7 Торговля и Склад?

Программист 1С v7.7 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Многие специалисты, сталкиваясь со старыми конфигурациями, такими как 1С 7.7 «Торговля и Склад», испытывают трудности с базовыми регламентными операциями. Проанализируем типичную ситуацию: возникла необходимость перепровести документы за определенный прошлый период (например, за октябрь), при этом Точка актуальности (ТА) была сдвинута вперед. Пользователь запускает стандартное проведение через меню, и процесс завершается за несколько секунд, хотя бухгалтерия предупреждала, что это занимает всю ночь. Разберем по шагам, почему так происходит, и выясним причину такого поведения системы.

Почему штатное проведение занимает всего несколько секунд?

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

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

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

Рассмотрим подробнее два совершенно разных понятия в архитектуре 1С 7.7, путаница в которых часто приводит к зависаниям базы.

  1. Перепроведение — это локальный перезапуск модулей проведения у конкретной выборки документов за ограниченный период. Мы просто заставляем программу заново сформировать записи в регистрах, не обращая внимания на глобальную хронологию базы.
  2. Восстановление последовательности — это глобальный механизм системы, который отвечает за правильное списание партий товара (по методам ФИФО/ЛИФО) и корректные взаиморасчеты с контрагентами. Этот алгоритм всегда работает строго в хронологическом порядке, начиная с момента сбившейся Границы последовательности (ГП).

Проанализируем ситуацию: если в базе Граница последовательности была нарушена несколько лет назад (например, в 2015 году), любая попытка нажать кнопку «Восстановить» заставит 1С пересчитывать каждый день учета за последние 7-8 лет. Именно поэтому бухгалтерия утверждает, что процесс идет всю ночь. Более того, чаще всего он вообще зависает или прерывается массой ошибок из-за отрицательных остатков, накопившихся за эти годы. Восстанавливать последовательность за такой огромный срок — это, как метко подмечают специалисты, настоящее «самоубийство» для базы.

Точка актуальности (ТА) и неоперативное проведение

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

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

Алгоритм корректного перепроведения за прошлый месяц

Разберем по шагам, как безопасно и чисто перепровести документы за выбранный месяц, не затрагивая старые, давно закрытые периоды.

  1. Снятие с проведения. Откроем Групповую обработку справочников и документов. Отфильтруем нужный период (октябрь). Первым действием сделаем все выбранные документы непроведенными. Это гарантированно очистит все их старые, возможно ошибочные или задвоенные записи (движения) в регистрах учета.
  2. Проведение по хронологии. Затем, используя ту же групповую обработку, проведем эти документы заново. Очень важно делать это строго по времени их создания, чтобы партионный учет внутри месяца лег корректно. Обязательно тестируйте этот шаг на копии базы!
  3. Перенос Границы последовательности. Саму ГП за лохматые годы восстанавливать не нужно. Ее рекомендуется программно или с помощью штатных средств просто сдвинуть (перенести) на текущую Точку актуальности. Мы смиряемся с тем, что идеального партионного учета за прошлые годы уже не будет, но зато стабилизируем текущую работу системы.

Что делать, если возникают скрытые ошибки?

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

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

← На главную