Как исправить ошибку «Интерактивный выбор режима проведения документа не поддерживается» в 1С

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

При работе в среде 1С:Предприятие 8 пользователи и разработчики часто сталкиваются с системным сообщением: «Интерактивный выбор режима проведения документа не поддерживается». Ситуация осложняется тем, что ошибка может возникать даже у пользователей с полными правами, что вводит в заблуждение. Рассмотрим подробно природу этой ошибки, проанализируем причины ее возникновения и разберем пошаговые методы решения проблемы.

Суть проблемы и механизм работы режимов проведения

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

За то, как именно будет выбран этот режим, отвечает свойство формы документа ИспользоватьРежимПроведения. Оно может принимать три значения:

  1. Запрашивать: Платформа должна вывести диалоговое окно, в котором пользователь сам выбирает режим.
  2. Автоматически: Система самостоятельно определяет режим на основе даты документа.
  3. Не использовать: Выбор режима полностью ложится на программный код.

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

Решение 1: Изменение свойств формы документа в Конфигураторе

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

  1. Откроем Конфигуратор и найдем в дереве метаданных документ, вызывающий ошибку.
  2. Перейдем на закладку «Формы» и откроем основную форму документа (обычно это ФормаДокумента).
  3. В окне свойств формы (справа) найдем раздел «Использование».
  4. Найдем параметр ИспользоватьРежимПроведения. Скорее всего, там установлено значение Запрашивать.
  5. Изменим это значение на Автоматически.

После этого платформа перестанет пытаться вызвать интерактивный диалог. Если дата документа совпадает с текущей — проведение пройдет как оперативное. Если дата отличается — как неоперативное. Это исключает конфликт интерфейса и логики проведения.

Решение 2: Проверка прав доступа и настроек ролей

Выясним причину, почему даже при полных правах может возникать отказ. В системе 1С права на «Проведение» и «Интерактивное проведение» — это разные сущности. Посмотрим на список прав в роли более внимательно:

Для того чтобы документ проводился без ошибок, у пользователя в его роли должны быть отмечены следующие пункты:

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

Решение 3: Особенности веб-клиента и тонкого клиента

Рассмотрим технический нюанс, связанный с типами клиентов 8.3. В режиме веб-клиента или тонкого клиента с низким качеством соединения вызов любых интерактивных окон (вопросов, диалогов) внутри транзакции записи запрещен.

Если в коде модуля формы или модуля объекта в процедурах ПередЗаписью или ПриЗаписи начинается транзакция, а свойство формы ИспользоватьРежимПроведения установлено в Запрашивать, платформа выдает ошибку, так как она «не поддерживает» остановку процесса ради ожидания ответа пользователя в данном контексте.

В этом случае единственным верным решением будет установка режима Автоматически, как мы разобрали в первом решении.

Решение 4: Программная установка режима записи

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

Пример корректного программного проведения:


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

Обратите внимание, что использование РежимПроведенияДокумента.Неоперативный гарантирует, что система не будет проверять остатки на текущий момент времени (в зависимости от логики конфигурации), а проведет документ по состоянию на его дату.

Анализ специфики конфигурации ITIL

В специализированных решениях, таких как 1С:ИТИЛ, часто внедрена статусная модель. Документы могут переходить из состояния в состояние (например, «Заявка» -> «В работе» -> «Закрыта»). В таких системах проведение часто привязано к смене статуса.

Если вы пытаетесь провести документ стандартной кнопкой, а логика системы предполагает проведение только через кнопку «Сменить статус», может возникнуть конфликт режимов. В этом случае стоит проверить настройки жизненного цикла документа в пользовательском режиме самой программы (в разделе настроек ИТИЛ).

Итоги и рекомендации

Подводя итог, можно сказать, что ошибка «Интерактивный выбор режима проведения документа не поддерживается» — это сигнал о несоответствии настроек интерфейса (формы) и текущих прав или условий окружения.

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

  1. Установить в форме документа ИспользоватьРежимПроведения = Автоматически.
  2. Проверить наличие прав на «Интерактивное проведение неоперативное».
  3. Убедиться, что дата документа не заблокирована периодом запрета редактирования.

Эти действия в 99% случаев решают проблему и позволяют пользователям беспрепятственно работать с документами в системе.

← На главную