Почему в конфигураторе 1С нет формы «Проведение документов» и как ее заменить?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

Рассмотрим распространенный вопрос разработчиков и администраторов 1С: почему при вызове диалогового окна «Проведение документов» из меню «Операции» в режиме обычного приложения не получается найти соответствующую форму или обработку в конфигураторе?

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

Причина отсутствия формы в дереве метаданных

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

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

Ограничения платформенного диалога

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

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

Альтернативные способы решения задачи

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

1. Использование функций Библиотеки стандартных подсистем (БСП)

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

Для программного проведения массива документов в БСП предусмотрен специальный метод общего модуля:

ОбщегоНазначенияВызовСервера.ПровестиДокументы(МассивДокументов)

2. Создание собственной внешней обработки

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

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


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

3. Многопоточное перепроведение с помощью фоновых заданий

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

← На главную