Проведение документа в 1С: что происходит после нажатия

· 9 мин

Содержание

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

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

Что именно происходит при проведении

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

Порядок такой:

  1. Выполняется проверка заполнения: обязательные реквизиты, табличные части, согласованность полей.
  2. Документ записывается в базу под текущим номером и датой.
  3. Старые движения этого документа удаляются, если он проводился раньше.
  4. Код проведения читает данные документа и формирует новые движения.
  5. Движения записываются в регистры, документу присваивается признак «проведён».

Пункт 3 важен: при повторном проведении движения не накапливаются, а пересоздаются целиком. Поэтому перепроводить документ можно без страха задвоить остатки.

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

Проведение превращает строки документа в записи регистров. Тип регистра зависит от того, что учитывается:

РегистрЧто хранитПример
Накопления (остатки)Количество и суммы с остатком на датуТовары на складах
Накопления (обороты)Только обороты за периодПродажи
СведенийЗначения на дату или без неёКурсы валют, цены
БухгалтерииПроводки по планам счетовДебет 41.01, кредит 60.01
РасчётаНачисления и удержанияЗарплата в ЗУП

Один документ может писать в несколько регистров сразу. Поступление товаров увеличивает остаток на складе, создаёт проводки по счетам учёта и НДС, меняет задолженность перед поставщиком.

Как посмотреть, что сформировалось

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

Если документ не проведён, движений у него нет. Эта команда покажет пустой список — это нормально.

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

Провести, записать, провести и закрыть

В форме документа обычно три кнопки, и работают они по-разному.

  • ✅ Провести — записывает и проводит, форма остаётся открытой. Удобно, когда нужно сразу посмотреть движения.
  • 💾 Записать — сохраняет документ без движений. Подходит для черновика и для случая, когда данных ещё не хватает.
  • 🚪 Провести и закрыть — то же проведение, затем закрытие формы и возврат в журнал.

Запись без проведения нужна не только для черновиков. Документ можно подготовить заранее, например поступление, которое ещё не пришло, а провести в день фактического получения. До этого момента остатки остаются прежними.

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

Режимы проведения в конфигурациях

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

Что проверяется до проведения

Контроль делится на несколько уровней.

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

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

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

Права пользователя. У пользователя может быть право записывать документ, но не проводить его. Тогда кнопка проведения вернёт ошибку доступа.

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

Как отличить проведённый документ в журнале

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

СостояниеДвиженияВлияет на учётКак выглядит в списке
ПроведёнЕстьДаЗначок с галочкой
Записан, не проведёнНетНетОбычный значок
Помечен на удалениеНет, если был непроведёнНетЗначок с крестом

Пометка на удаление не означает удаление. Помеченный документ остаётся в базе до процедуры «Удаление помеченных объектов». Если он был проведён, пометка сама по себе движения не отменяет — это отдельная история, о ней ниже.

В журнале можно отобрать документы по состоянию: отбор по полю «Проведён» оставит только нужные строки. Это самый быстрый способ найти «забытые» непроведённые документы за период.

Отмена проведения и исправление

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

После отмены с документом можно работать: исправить сумму, поменять склад, сменить контрагента, а затем провести снова.

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

  1. Проверьте, не закрыт ли период для изменений.
  2. Отмените проведение, если нужно править суммы или состав.
  3. Внесите изменения.
  4. Проведите документ заново и откройте движения: убедитесь, что проводки соответствуют ожиданиям.

Если документ уже попал в регламентированную отчётность или период закрыт, правка задним числом чревата расхождениями. В таком случае вносят изменения текущим периодом корректирующим документом, а не переписывают историю.

Помеченный на удаление и проведённый

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

Типичные ошибки проведения

Когда проведение не проходит, программа выдаёт сообщение с причиной. Главные случаи.

  • ⛔ Не заполнено обязательное поле. Решение: заполнить поле, указанное в сообщении.
  • ⛔ Не хватает товара на складе. Проверьте дату документа, партию и склад. Часто виноват непроведённый приход, который стоит позже по времени.
  • ⛔ Нет договора или счёта учёта. Заполните договор контрагента, проверьте счета в справочнике номенклатуры или в настройках.
  • ⛔ Период закрыт. Попросите администратора изменить дату запрета, если исправление согласовано.
  • ⛔ Нет прав. Нужна роль, разрешающая проведение документов данного вида.
Диагностика: выберите симптом

Что внутри: обработка проведения в модуле документа

Для разработчика и внимательного администратора полезно знать устройство. У каждого вида документа в конфигурации есть модуль объекта с процедурой обработки проведения. Именно в ней описано, какие движения создавать.

Упрощённо процедура делает три вещи:

  1. Читает реквизиты шапки и строки табличной части.
  2. Для каждой строки добавляет запись в набор движений нужного регистра: Движения.ИмяРегистра.Добавить().
  3. Заполняет поля записи (период, номенклатура, склад, количество, сумма) и записывает набор.

Пока записи не добавлены и набор не записан, регистр не меняется. Если в процессе возникла ошибка или сработал Отказ = Истина, транзакция откатывается, и пользователь видит сообщение, а данные остаются прежними.

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

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

Скорость и производительность проведения

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

Что замедляет проведение:

  • 📦 Большая табличная часть: время растёт с числом строк.
  • 🔗 Длинные цепочки пересчёта партионного учёта после изменения старых документов.
  • 🔒 Блокировки: другой пользователь проводит документы по тому же товару, и приходится ждать.
  • 🗄️ Нагрузка на сервер в часы пиковой работы.

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

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

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

Прежде чем провести документ
Выполнено: 0 / 5

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

Можно ли провести документ без записи?
Нет. Платформа сама записывает документ в начале проведения. Отдельно нажимать «Записать» перед «Провести» не нужно.
Что будет, если нажать «Провести» дважды?
Старые движения удалятся, новые сформируются заново. Задвоения не будет: проведение документа идемпотентно.
Почему проведённый документ не виден в отчёте?
Проверьте дату документа и период отчёта, организацию в отборе и то, что документ не помечен на удаление. Для некоторых отчётов нужно также обновить формирование.
Чем проведение отличается от утверждения или согласования?
Проведение формирует движения в учёте. Согласование — бизнес-процесс, он может требовать подписей, но на регистры сам по себе не влияет.
Можно ли удалить проведённый документ?
Сначала отмените проведение, затем пометьте документ на удаление и выполните «Удаление помеченных объектов». При закрытом периоде действие заблокируется.
Нужно ли перепроводить документы после обновления релиза?
Только если в описании обновления написано, что логика проведения изменилась, и разработчик рекомендует перепроведение. Автоматически программа этого не делает.