Документ не проводится из-за незаполненных полей: поиск причины и исправление в 1С 8.3

· 10 мин

Содержание

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

Сложнее, когда таких документов сотни: после обмена с другой базой, загрузки из файла или группового перепроведения. Тогда контроль заполненности срабатывает массово, а исправлять документы по одному долго. Для этих случаев ниже есть способы найти все проблемные объекты разом и заполнить их без ручного перебора.

Откуда берётся контроль заполненности и когда он срабатывает

Проверку заполнения выполняет сама платформа 1С:Предприятие 8.3. Разработчик конфигурации отмечает обязательные реквизиты свойством «Проверка заполнения: Выдавать ошибку» и может дописать свои правила в обработчике ОбработкаПроверкиЗаполнения модуля объекта.

Когда проверка запускается:

  • 📄 Документ — при проведении. Простая запись без проведения (кнопка «Записать») обязательные поля не проверяет. Поэтому непроведённый документ с пустыми полями может спокойно лежать в базе месяцами.
  • 📚 Справочник — при записи из формы. Элемент, созданный обработкой или обменом, может оказаться без обязательных реквизитов.
  • 🔁 Обмен данными — при загрузке объекты пишутся в режиме обмена, проверка заполнения пропускается. Ошибка вылезает позже, при проведении уже в вашей базе.
  • ⚙️ Обработки и групповое перепроведение — проверка срабатывает при проведении каждого документа, и отказ по одному из них попадает в протокол обработки.

Типичные тексты в окне сообщений:

  • Поле "Контрагент" не заполнено
  • Поле "Склад" не заполнено
  • Не заполнена колонка "Счет учета" в строке 3 списка "Товары"
  • Не удалось провести "Реализация (акт, накладная, УПД) 00БП-000125 от 14.03"

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

Почему поле оказалось пустым: пять частых причин

Сообщение говорит, какое поле пустое, но не говорит, почему. От причины зависит способ исправления.

  1. Поле просто не заполнили. Самый частый и самый простой случай: документ создали копированием или из пустой формы, пропустили реквизит.
  2. Поле скрыто на форме. Реквизит обязательный, но элемент формы выключен пользовательской настройкой или функциональной опцией. Пользователь не видит, что заполнять.
  3. Значение удалили. Склад, договор или статья затрат были помечены на удаление и удалены. В документе на их месте осталась пустая или битая ссылка <Объект не найден>.
  4. Данные пришли из другой базы. Обмен или загрузка из Excel создали документ без части реквизитов: в источнике такого поля нет или правила обмена его не переносят.
  5. Изменились настройки учёта. После обновления релиза или включения новой учётной функции реквизит стал обязательным. Старые документы, проведённые раньше без него, при перепроведении начинают отказывать.

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

Где искать подробности: окно сообщений, журнал регистрации, протокол обмена

Окно сообщений

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

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

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

Откройте Администрирование → Обслуживание → Журнал регистрации и поставьте отбор:

  • Уровень — «Ошибка» и «Предупреждение»;
  • Период — время запуска обмена или обработки;
  • Событие — события обмена данными или выполнения фонового задания.

В колонке «Данные» будет ссылка на документ, в комментарии — текст отказа. Двойной щелчок по ссылке открывает сам документ.

Протокол синхронизации

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

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

Регламентные задания и проверки ведения учёта

В типовых конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) кроме проверки при проведении есть фоновый контроль. Он выполняется регламентными заданиями и проверяет уже записанные данные: битые ссылки, пустые обязательные реквизиты, отсутствующие предопределённые элементы.

Найденные проблемы отображаются в формах объектов и списков как пометка о проблеме учёта, с расшифровкой по щелчку. Запустить проверку вручную можно из группы Администрирование → Обслуживание → Корректировка данных — состав команд в этой группе зависит от релиза конфигурации.

Чтобы управлять самими заданиями:

  1. Откройте Администрирование → Обслуживание → Регламентные и фоновые задания.
  2. На вкладке «Регламентные задания» найдите задание контроля учёта или обмена данными.
  3. Проверьте флажок «Включено» и расписание.
  4. На вкладке «Фоновые задания» посмотрите последние запуски: состояние «Завершено аварийно» и текст ошибки.

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

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

Ошибки заполненности в распределённой базе (РИБ) и при обмене

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

Из-за этого возникают характерные ситуации:

  • 🌐 Ссылки пришли раньше объектов. Документ уже в узле, а контрагент или договор ещё нет. Пока справочник не придёт следующим пакетом, в поле будет <Объект не найден>.
  • 🧩 Разные настройки в узлах. В периферийной базе включена опция, которой нет в центральной, или наоборот. Документ проходит контроль в одном узле и отказывает в другом.
  • ⏳ Отложенное проведение. После загрузки документы проводятся отдельным шагом. Если проведение отказало, документ остаётся непроведённым и попадает в предупреждения синхронизации.
  • 🔀 Изменение одного документа в двух узлах. Побеждает версия по правилам приоритета, и она может оказаться неполной.

Порядок разбора в РИБ:

  1. Выполните синхронизацию ещё раз в обе стороны. Часто недостающие справочники просто доезжают следующим сеансом.
  2. Откройте список предупреждений синхронизации и отфильтруйте документы с отказом проведения.
  3. Исправляйте данные в том узле, где документ создан. Исправление в другом узле при следующем обмене может быть перезаписано.
  4. После исправления выполните синхронизацию, чтобы изменения ушли в остальные узлы.
  5. Проведите документы повторно — вручную или групповым перепроведением за период.

Если обмен идёт через правила конвертации с другой конфигурацией (например, УТ 11 → БП 3.0), часть реквизитов при переносе может не заполняться. Проверьте, какие поля заполняет обмен, и задайте значения по умолчанию в настройках синхронизации.

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

Один-два документа

  1. Откройте документ и нажмите «Провести».
  2. В окне сообщений дважды щёлкните по первой строке.
  3. Заполните поле и повторите проведение — до исчезновения всех сообщений.

Если поле скрыто, нажмите Ещё → Изменить форму, найдите элемент в дереве и поставьте флажок видимости. Если реквизит связан с учётной функцией, проще включить её в Главное → Настройки → Функциональность (БП 3.0) или в разделе настроек нужной конфигурации.

Десятки документов с одним пустым полем

Используйте обработку Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов:

  1. Выберите тип документа, например «Реализация (акт, накладная, УПД)».
  2. Установите отбор: нужное поле — «Не заполнено», период — нужный.
  3. Укажите новое значение реквизита.
  4. Нажмите «Изменить реквизиты» и посмотрите итог обработки.

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

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

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

ВЫБРАТЬ
    Реал.Ссылка КАК Документ,
    Реал.Дата КАК Дата,
    Реал.Проведен КАК Проведен
ИЗ
    Документ.РеализацияТоваровУслуг КАК Реал
ГДЕ
    Реал.Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
    И НЕ Реал.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
    Дата

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

Перепровести после исправления

В БП 3.0 используйте Операции → Закрытие периода → Групповое перепроведение документов. Укажите период, запустите обработку и посмотрите протокол: документы, которые снова отказали, будут перечислены с причиной.

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

Битые ссылки массово

Если в документах много ссылок <Объект не найден>, поможет режим «Тестирование и исправление» в конфигураторе с вариантом создания объектов вместо битых ссылок. Режим требует монопольного доступа: все пользователи должны выйти из базы, запускайте его после резервной копии. Созданные объекты-заглушки потом нужно заполнить или заменить на реальные значения.

Когда проверку нужно ослабить

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

&Перед("ОбработкаПроверкиЗаполнения")
Процедура Расш_ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    Индекс = ПроверяемыеРеквизиты.Найти("Склад");
    Если Индекс <> Неопределено Тогда
        ПроверяемыеРеквизиты.Удалить(Индекс);
    КонецЕсли;
КонецПроцедуры

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

Как не допускать ошибок заполненности

Большинство массовых отказов можно предотвратить настройкой, а не исправлением задним числом.

  • ✅ Заполните значения по умолчанию. В настройках пользователя укажите основную организацию, склад, подразделение. Новые документы получат их автоматически.
  • ✅ Удаляйте объекты только через «Удаление помеченных». Обработка проверяет ссылки и не даст удалить склад, который используется в документах.
  • ✅ Проверяйте обмен на тестовом пакете. После изменения правил или настроек синхронизации прогоните один обмен и посмотрите список предупреждений, прежде чем включать расписание.
  • ✅ Читайте описание изменений релиза. Если в новой версии реквизит стал обязательным, заполните его в старых документах до перепроведения.
  • ✅ Не держите непроведённые документы. Раз в месяц фильтруйте журналы по признаку «Проведен — нет»: такие документы чаще всего и скрывают пустые поля.
  • ✅ Следите за регламентными заданиями. Аварийное завершение задания контроля или обмена — сигнал, что ошибки накапливаются.
Перед массовым перепроведением
Выполнено: 0 / 5

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

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