Как правильно перепровести документы в 1С:Управление торговлей 10.3 с помощью групповой обработки?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В процессе работы с программными продуктами на платформе 1С:Предприятие 8.2 и 8.3 (особенно в конфигурациях с обычным интерфейсом, таких как УТ 10.3, УПП 1.3 или КА 1.1) часто возникает необходимость массово перепровести документы. Это может потребоваться после исправления ошибок в модулях проведения, изменения цен или внесения исправлений в документы «задним числом». Рассмотрим, как работает встроенный инструмент Групповая обработка справочников и документов и нужно ли выполнять дополнительные действия для корректного обновления данных.

Разбираем механизм действия «Установить проведение»

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

Когда мы работаем в универсальной групповой обработке, при выборе действия Изменить: [Проведение документа] — Установить, система выполняет программный вызов метода Записать() с параметром РежимЗаписиДокумента.Проведение. Рассмотрим подробнее программную логику, которая скрыта за этой кнопкой:


// Примерный алгоритм, выполняемый обработкой внутри транзакции
ОбъектДокумента = СсылкаНаДокумент.ПолучитьОбъект();
Попытка
    ОбъектДокумента.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Исключение
    Сообщить("Ошибка при проведении: " + ОписаниеОшибки());
КонецПопытки;

Вызов метода Записать в режиме Проведение автоматически инициирует выполнение процедуры ОбработкаПроведения в модуле объекта документа. Важный технический момент: если документ уже был проведен, платформа 1С перед началом проведения сама очистит старые движения документа по всем регистрам (если в свойствах документа не установлено иное). Таким образом, предварительное снятие проведения вручную не требуется — результат будет абсолютно одинаковым. Простое выполнение действия «Установить» полностью обновит движения документа в системе.

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

Важно различать реальное проведение и простую смену статуса. Проанализируем ситуацию, если бы мы просто меняли свойство Проведен. Как правильно заметили участники обсуждения, код типа об.Проведен = Истина; об.Записать(); не вызовет процедуру проведения и не сформирует движения в регистрах накопления или бухгалтерии. Он лишь изменит картинку в списке документов. Стандартная «Групповая обработка» работает корректно и использует полноценный метод Записать с флагом проведения, что гарантирует актуальность учетных данных.

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

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

  1. Откройте окно Групповая обработка справочников и документов.
  2. Нажмите на кнопку Настройка (обычно находится в нижней части формы или в меню командной панели).
  3. В появившемся окне настроек найдите флажок Разрешить изменение проведенных документов.
  4. Установите этот флаг, иначе обработка будет пропускать документы, у которых статус проведения уже установлен, считая их защищенными от случайной правки.

Только после установки этой настройки действие «Установить» затронет уже проведенные объекты и выполнит их перепроведение.

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

Рассмотрим критическую особенность массового проведения через универсальную обработку. В конфигурациях типа 1С:Управление торговлей 10.3 учет остатков и себестоимости (партионный учет) жестко зависит от хронологии документов. Если мы отберем документы за месяц и просто запустим их проведение через групповую обработку, они будут обрабатываться в том порядке, в котором они расположены в табличной части обработки.

Если в списке документы отсортированы не по дате и времени (а, например, по номеру или контрагенту), то документ реализации может попытаться провестись раньше документа поступления. Это приведет к ошибкам «Недостаточно товара на складе» или к некорректному расчету себестоимости. Выясним, как этого избежать:

Специализированная альтернатива: Обработка «Проведение документов»

Проанализируем совет из обсуждения: использовать специализированный инструмент. В главном меню Операции выберите пункт Проведение документов. Это более продвинутый и безопасный способ для глобального перепроведения.

Рассмотрим преимущества этого метода:

  1. Соблюдение хронологии: Программа сама выстраивает очередь документов по времени с точностью до секунды.
  2. Восстановление последовательностей: Это ключевой момент для УТ 10.3. Инструмент позволяет восстановить «Партионный учет» и «Взаиморасчеты», перемещая границу последовательности на актуальный момент.
  3. Выбор по типам: Можно легко выбрать только конкретные виды документов (например, только «Реализации товаров и услуг» и «Поступления»).

Когда все же нужно «Снимать проведение»?

Хотя технически «Установить проведение» выполняет всю работу, рассмотрим редкие случаи, когда предварительное снятие («распроведение») может быть полезным:

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

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

Итоги

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

← На главную