Что происходит с документом, когда вы нажимаете «Провести» в 1С 8.3

· 9 мин

Содержание

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

В списке документов проведённый документ отмечен зелёной галочкой, записанный — значком без галочки, помеченный на удаление — красным крестиком. Механизм общий для платформы 8.3 и одинаково работает в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других типовых конфигурациях. Разница между ними только в том, какие именно движения документ формирует.

Что значит провести документ в 1С

Любой документ в 1С — это запись о событии: пришёл товар, отгрузили покупателю, начислили зарплату. Но сам по себе документ ничего не меняет в цифрах учёта. Цифры живут в регистрах — специальных таблицах, где хранятся остатки и обороты.

Проведение переносит данные документа в эти регистры. Например, «Поступление (акт, накладная, УПД)» в Бухгалтерии 3.0 при проведении:

  • 📦 добавляет товар на остаток склада;
  • 💰 увеличивает долг перед поставщиком на счёте 60;
  • 🧾 отражает входящий НДС на счёте 19;
  • 📒 делает записи для налогового учёта и книги покупок.

Каждая такая запись называется движением документа. Проводки Дт/Кт — частный случай движений, они есть только там, где есть план счетов . В УТ 11 проводок нет вовсе, но движения по регистрам остатков и расчётов есть.

Посмотреть, что сделал документ, можно кнопкой с изображением Дт/Кт в форме документа или в списке. Откроется окно со вкладками по каждому регистру, в который документ записал данные.

Записать или провести: чем отличаются режимы

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

ДействиеЧто сохраняетсяВлияет на отчётыКогда использовать
ЗаписатьТолько сам документНетЧерновик, данные ещё уточняются
ПровестиДокумент и его движенияДаОперация фактически совершилась
Отмена проведенияДокумент остаётся, движения удаляютсяПерестаёт влиятьНужно исправить или временно исключить из учёта

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

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

Печатная форма у непроведённого документа выглядит так же, как у проведённого. Отдали контрагенту накладную из записанного документа — в учёте этой отгрузки нет.

Горячие клавиши в интерфейсе «Такси»: Ctrl+S — записать, Ctrl+Enter — провести и закрыть.

Как устроено проведение документов внутри 1С

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

Порядок событий при проведении

Когда вы нажимаете Провести, платформа выполняет всё внутри одной транзакции:

  1. Проверка заполнения — обработчик ОбработкаПроверкиЗаполнения и свойство «Проверка заполнения» у реквизитов.
  2. Событие ПередЗаписью модуля объекта.
  3. Запись самого документа в таблицу базы.
  4. Событие ПриЗаписи.
  5. Обработчик ОбработкаПроведения — здесь программист формирует наборы движений.
  6. Запись наборов движений в регистры.

Если на любом шаге выставлен Отказ = Истина или возникло исключение, транзакция откатывается целиком. Документ остаётся в том состоянии, в котором был до нажатия кнопки. Половины движений не бывает: либо всё, либо ничего.

Пример обработчика проведения

Так выглядит простейший обработчик для документа прихода товара с табличной частью «Товары»:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

	Движения.ОстаткиТоваров.Записывать = Истина;

	Для Каждого Строка Из Товары Цикл
		Движение = Движения.ОстаткиТоваров.Добавить();
		Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
		Движение.Период      = Дата;
		Движение.Склад       = Склад;
		Движение.Номенклатура = Строка.Номенклатура;
		Движение.Количество  = Строка.Количество;
	КонецЦикла;

КонецПроцедуры

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

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

ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);

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

Оперативное и неоперативное проведение

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

На практике оперативный режим важен для торговли: он не даёт продать товар, которого прямо сейчас нет на складе. В Бухгалтерии 3.0 контроль остатков настраивается отдельно.

Свойства метаданных, которые влияют на проведение

Свойство документаВариантыНа что влияет
ПроведениеРазрешить / ЗапретитьЕсть ли у документа кнопка «Провести» вообще
Оперативное проведениеРазрешить / ЗапретитьВозможен ли оперативный режим
Удаление движенийУдалять автоматически / при отмене проведения / не удалятьЧистятся ли старые движения при перепроведении и отмене
Привилегированный режим при проведенииДа / НетВыполняется ли проведение без проверки прав пользователя на регистры
ДвиженияСписок регистровВ какие регистры документ может писать

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

Один документ

  1. Откройте журнал или список документов нужного вида.
  2. Выделите документ.
  3. Нажмите Ещё → Отмена проведения или одноимённую кнопку в командной панели.

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

Если поставить на проведённый документ пометку удаления, проведение отменится автоматически.

Групповое перепроведение

Когда изменили документ задним числом, движения более поздних документов могут стать неверными. Особенно это касается списания товаров по средней стоимости или ФИФО: себестоимость считается от остатков на дату.

В Бухгалтерии 3.0 обработка «Групповое перепроведение документов » открывается из раздела Администрирование → Проведение документов. В ней задают период и, при необходимости, отбор по видам документов. В помощнике закрытия месяца при изменениях в прошлом появляется отдельный пункт перепроведения документов за месяц — его выполняют до регламентных операций.

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

Ручная корректировка движений

В Бухгалтерии 3.0 в окне движений документа есть флажок «Ручная корректировка». Он позволяет поправить проводку руками. Но после такой правки документ перестаёт пересчитывать движения автоматически: при перепроведении ваша ручная проводка сохранится, даже если данные документа изменились. Пользуйтесь этим осознанно и помечайте такие документы в комментарии.

Почему документ не проводится: ошибки и решения

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

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

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

Права, которые отвечают за проведение

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

Как ускорить проведение больших документов

Документ на 3 000 строк, который проводится две минуты, — частая жалоба в торговле и производстве. Что реально помогает:

  • ✂️ Делите документ. Пять документов по 600 строк проводятся быстрее одного на 3 000 и блокируют данные короче.
  • 🌙 Переносите тяжёлые операции на нерабочее время. Групповое перепроведение и закрытие месяца днём тормозят всех.
  • 🔄 Проверьте фоновые задания и обмены. Если обмен с сайтом или филиалом идёт каждые 5 минут, он конкурирует с проведением за блокировки.
  • 🧩 Отключите лишние расширения и подписки на события. Доработка «на проведение» в расширении может выполнять запрос в цикле по каждой строке.
  • 🗄️ Обслуживайте СУБД. Для клиент-серверной базы — регламентное обновление статистики и перестроение индексов. Для файловой — периодическое тестирование и исправление через конфигуратор при монопольном доступе.

Как найти узкое место

Для доработанных конфигураций причину ищут замером, а не догадками:

  1. Откройте конфигуратор и запустите отладку.
  2. Включите Отладка → Замер производительности.
  3. Проведите медленный документ в отладочном сеансе.
  4. Остановите замер и отсортируйте строки по времени.

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

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

Проведение в Бухгалтерии, ЗУП и УТ: что меняется

Кнопки и логика записи одинаковы везде. Различается состав движений и то, где смотреть результат.

КонфигурацияЧто формирует проведениеГде проверить результат
Бухгалтерия 3.0Проводки по счетам, налоговый учёт, НДС, УСН — в зависимости от системы налогообложенияКнопка Дт/Кт в документе, оборотно-сальдовая ведомость
ЗУП 3.1Движения по регистрам начислений, удержаний, взносов, НДФЛ и кадровым даннымРасчётные листки, своды по зарплате, кадровые отчёты
УТ 11Движения по регистрам остатков товаров, расчётов с клиентами и поставщиками, продажОтчёты по остаткам, ведомость по расчётам

Несколько особенностей, о которых стоит помнить:

  • ЗУП 3.1 не ведёт бухгалтерский учёт. Проводки по зарплате готовит документ «Отражение зарплаты в бухучёте», а затем данные переносятся в бухгалтерскую программу. Если исправить начисление прошлого месяца, программа зарегистрирует перерасчёт, и он попадёт в следующее начисление.
  • УТ 11 часто работает с заказами. У заказа клиента есть статусы, и от статуса зависит, какие движения он создаёт: например, резервирование товара. Сам по себе заказ не уменьшает остаток на складе — это делает документ отгрузки.
  • Бухгалтерия 3.0 зависит от учётной политики. Один и тот же документ при разных настройках организации даёт разный набор проводок. После изменения учётной политики задним числом документы периода нужно перепровести.

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

Можно ли провести документ будущей датой?
Да, платформа это позволяет. Движения появятся с датой документа, и в отчётах на текущую дату их не будет до наступления этого дня.
Почему после перепроведения изменились суммы в старом документе?
Документ пересчитал движения по текущим данным: остаткам, курсам, себестоимости. Если раньше поступление было позже по времени или его поправили, списание получилось другим.
Удаляются ли движения, если документ пометить на удаление?
Да. Установка пометки удаления на проведённый документ автоматически отменяет проведение. Сам документ пропадёт из базы только после удаления помеченных объектов.
Как найти все непроведённые документы?
В журнале или списке документов установите отбор по колонке «Проведён» со значением «Нет». В Бухгалтерии 3.0 удобно смотреть «Журнал операций» в разделе Операции.
Что безопаснее при исправлении: отменить проведение или просто перепровести?
Результат одинаковый: старые движения заменятся новыми. Отмена проведения полезна, когда документ надо временно исключить из учёта, пока уточняются данные.