К статье
Практический материал

Документы и Печать · 13 мин

Интерактивное и неоперативное проведение в 1С: что это и как работает

Что такое интерактивное и неоперативное проведение документов в 1С, чем они отличаются от оперативного, как включить неоперативное проведение и исправить ошибки.

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

Путаница возникает из-за того, что в типовых конфигурациях (например, «Управление торговлей», «Бухгалтерия предприятия», «ERP») эти термины встречаются в разных местах: в свойствах документа в конфигураторе, в сообщениях об ошибках «Оперативное проведение запрещено», в настройках даты запрета и в процедурах обработки проведения. Понимание разницы нужно и бухгалтеру, который получил ошибку при проведении, и разработчику, который создаёт новый вид документа.

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

Что такое проведение документа и зачем нужны режимы

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

При проведении платформа размещает документ на временной оси. Каждый проведённый документ занимает позицию, определяемую датой и временем (точнее — моментом времени, который включает дату и ссылку на документ). От этой позиции зависит, какие остатки документ «увидит» и в какой последовательности будут восстанавливаться движения при перепроведении.

Именно для управления этой позицией и введены два режима: оперативный и неоперативный. Выбор режима определяет, может ли документ проводиться «задним числом», как контролируются остатки и какую дату система подставляет автоматически.

Оперативное и неоперативное проведение: в чём разница

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

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

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

КритерийОперативное проведениеНеоперативное проведение
Дата документа при проведенииАвтоматически заменяется на текущуюСохраняется указанная пользователем
Проведение прошлым периодомНевозможно без смены датыРазрешено
Контроль остатковНа текущий момент времениНа указанный момент времени
Типичные документыРеализация, приход, кассаВыписки, корректировки, загрузки
Влияние на последовательностиМинимальное, документ всегда «в конце»Требует восстановления последовательности

Что такое интерактивное проведение

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

Различие важно для разработчика, потому что в модуле объекта документа можно определить, как именно запущено проведение, и изменить логику. Например, при интерактивном проведении показать пользователю диалог с вопросом, а при программном — записать предупреждение в журнал регистрации и продолжить без остановки.

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

1c
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
	Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
		// Полный контроль остатков
	Иначе
		// Упрощённая логика для неоперативного проведения
	КонецЕсли;
КонецПроцедуры

Как включить или сменить режим проведения документа

Режим проведения — это свойство объекта конфигурации «Документ», которое задаётся в конфигураторе. Изменить его в пользовательском режиме нельзя — для этого нужны права на изменение конфигурации и, как правило, снятие конфигурации с полной поддержки, если она типовая.

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

Как включить неоперативное проведение
  1. 1
    Сделайте резервную копию информационной базы
  2. 2
    Откройте конфигуратор и найдите нужный вид документа
  3. 3
    В палитре свойств установите «Оперативное проведение» = Запретить
  4. 4
    Проверьте модуль объекта: логика не должна опираться на текущую дату
  5. 5
    Обновите конфигурацию базы данных (F7)
  6. 6
    Проведите тестовый документ прошлой датой и проверьте движения

Перед сменой режима проверьте код обработки проведения. Если в модуле есть обращения к ТекущаяДатаСеанса() для расчёта движений или контроль остатков без указания момента времени, после перехода на неоперативный режим документы, проведённые задним числом, могут формировать некорректные движения.

Ошибка «Оперативное проведение запрещено»: причины и решение

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

Типовая ситуация: обработка загрузки выписок проводит документы методом Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Оперативный), а документ в конфигурации имеет запрет оперативного проведения. Решение — изменить код на неоперативный режим или не указывать режим явно, позволив платформе выбрать допустимый.

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

Маршрут решения

Как выбрать действие

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

Неоперативное проведение и последовательности документов

Проведение документа задним числом нарушает хронологию: документы, проведённые после него, рассчитывали остатки и стоимость без учёта «нового» документа. Например, если ввести приход товара январской датой в марте, все февральские списания этого товара могли рассчитаться с неверной себестоимостью или вообще уйти в минус.

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

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

Типичные ошибки пользователей и разработчиков

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

Типичные ошибки
01
Проведение оперативного документа прошлой датой — система молча меняет дату на текущую, и отчёты за прошлый период не сходятся
02
Массовое перепроведение в рабочее время — база блокируется, пользователи не могут работать
03
Игнорирование сдвига границы последовательности — себестоимость и остатки постепенно расходятся с реальными
04
Явное указание РежимПроведенияДокумента.Оперативный в коде для документа с неоперативным режимом — ошибка при каждой загрузке
05
Снятие типового документа с поддержки ради смены режима без анализа — при обновлении конфигурации изменения теряются или конфликтуют

Отдельная ошибка — попытка «обойти» дату запрета редактирования сменой режима проведения. Это не работает и создаёт ложное ощущение решения проблемы: дата запрета контролируется на уровне записи объекта, а не режима его проведения.

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

Как проверить результат после смены режима или перепроведения

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

Контрольные точки

Как проверить результат

Движения тестового документа
Норма

Документ проведён нужной датой, записи в регистрах соответствуют табличной части

Тревожный признак

Дата изменилась на текущую или движения отсутствуют

Остатки по регистрам
Норма

Отчёты по остаткам до и после перепроведения совпадают или расхождения объяснимы

Тревожный признак

Появились отрицательные остатки или необъяснимые суммы

Граница последовательности
Норма

Граница стоит на текущем моменте или на последнем документе

Тревожный признак

Граница «зависла» в прошлом периоде

Журнал регистрации
Норма

Нет ошибок проведения за время операции

Тревожный признак

Массовые ошибки проведения или отказов

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

Итог

Что важно запомнить

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

Частые вопросы

Чем интерактивное проведение отличается от неоперативного?

Это термины из разных плоскостей. Интерактивное проведение — способ запуска (пользователь нажимает кнопку, а не код). Неоперативное — режим документа, определяющий привязку к текущей дате. Документ с неоперативным режимом можно провести и интерактивно, и программно.

Можно ли включить неоперативное проведение без конфигуратора?

Нет. Режим проведения — свойство объекта конфигурации, оно меняется только в конфигураторе с последующим обновлением конфигурации базы данных. В пользовательском режиме доступны лишь смежные настройки, например дата запрета редактирования.

Почему при проведении документа дата сама меняется на текущую?

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

Опасно ли перепроводить документы прошлого периода?

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

Что делать с ошибкой «Оперативное проведение запрещено» в обработке загрузки?

Откройте код обработки и найдите метод Записать с параметром РежимПроведенияДокумента.Оперативный. Замените его на Неоперативный или удалите параметр — тогда платформа сама выберет допустимый для документа режим.

Нужно ли восстанавливать последовательность после каждого документа задним числом?

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