Как выполнить групповое перепроведение документов по конкретной организации в 1С:Управление торговлей 11?

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

При работе в конфигурации 1С:Управление торговлей 11 (УТ 11.3 / 11.4 / 11.5) часто возникает необходимость массово перепровести документы по конкретной организации — например, после исправления первичных данных, при восстановлении последовательности или подготовке к закрытию месяца. Рассмотрим подробнее, какие стандартные механизмы и альтернативные варианты существуют для решения этой задачи, а также разберем их особенности и ограничения.

Способ 1. Использование стандартной обработки «Групповое изменение реквизитов»

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

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

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

Способ 2. Стандартная обработка платформы «Проведение документов»

Проанализируем другой встроенный инструмент платформы — обработку «Проведение документов». Она доступна через меню Функции для технического специалиста (или Все функции в более ранних версиях платформы).

  1. Перейдем в меню Функции для технического специалиста.
  2. В блоке Стандартные найдем и откроем пункт Проведение документов.
  3. Выделим нужные виды документов или нажмем Отметить все.
  4. Укажем требуемый период перепроведения.
  5. Нажмем кнопку Провести.

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

Способ 3. Использование процедуры «Закрытие месяца»

Выясним причину, почему в 1С:Управление торговлей 11 проведение часто рекомендуется выполнять через регламентные процедуры. Если цель перепроведения — исправление партионного учета, корректировка себестоимости или расчет взаиморасчетов, наилучшим решением будет штатный механизм «Закрытие месяца».

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

Способ 4. Внешняя обработка для проведения по организации в хронологическом порядке

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

Рассмотрим пример алгоритма проведения выборки документов на языке 1С:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	Ссылка КАК ДокументСсылка,
    |	Дата КАК Дата
    |ИЗ
    |	Документ.РеализацияТоваровУслуг
    |ГДЕ
    |	Проведен = ИСТИНА
    |	И Организация = &Организация
    |	И Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    |УПОРЯДОЧИТЬ ПО
    |	Дата ВОЗРАСТАНИЕ";

Запрос.УстановитьПараметр("Организация", ВыбраннаяОрганизация);
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДатаНачала));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДатаОкончания));

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

Факторы и ограничения, препятствующие проведению

Посмотрим на ключевые нюансы, которые необходимо учитывать перед массовым перепроведением:

  1. Дата запрета изменения данных: Если в базе настроена дата запрета редактирования (в том числе в разрезе организаций), документы за закрытый период не перепроведутся и вызовут ошибку прав доступа.
  2. Ограничения прав (RLS): Запуск процедуры под пользователем без полных прав может привести к ошибкам доступа при попытке провести отдельные виды документов.
  3. Блокировки базы данных: Массовая запись и проведение документов создают высокую нагрузку на СУБД и блокируют таблицы регистров. Рекомендуется выполнять процедуру в монопольном режиме или во внерабочее время.
← На главную