Документ не проводится из-за незаполненных полей: поиск причины и исправление в 1С 8.3
Содержание
Ошибка проверки заполненности в 1С означает одно: у объекта пусто поле, которое конфигурация считает обязательным, поэтому платформа отменила проведение или запись. Чтобы убрать ошибку, откройте окно сообщений, дважды щёлкните по строке — курсор встанет на проблемное поле — и заполните его. Если поля на форме не видно, его скрыли настройки, и сначала нужно вернуть его на экран.
Сложнее, когда таких документов сотни: после обмена с другой базой, загрузки из файла или группового перепроведения. Тогда контроль заполненности срабатывает массово, а исправлять документы по одному долго. Для этих случаев ниже есть способы найти все проблемные объекты разом и заполнить их без ручного перебора.
Откуда берётся контроль заполненности и когда он срабатывает
Проверку заполнения выполняет сама платформа 1С:Предприятие 8.3. Разработчик конфигурации отмечает обязательные реквизиты свойством «Проверка заполнения: Выдавать ошибку» и может дописать свои правила в обработчике ОбработкаПроверкиЗаполнения модуля объекта.
Когда проверка запускается:
- 📄 Документ — при проведении. Простая запись без проведения (кнопка «Записать») обязательные поля не проверяет. Поэтому непроведённый документ с пустыми полями может спокойно лежать в базе месяцами.
- 📚 Справочник — при записи из формы. Элемент, созданный обработкой или обменом, может оказаться без обязательных реквизитов.
- 🔁 Обмен данными — при загрузке объекты пишутся в режиме обмена, проверка заполнения пропускается. Ошибка вылезает позже, при проведении уже в вашей базе.
- ⚙️ Обработки и групповое перепроведение — проверка срабатывает при проведении каждого документа, и отказ по одному из них попадает в протокол обработки.
Типичные тексты в окне сообщений:
Поле "Контрагент" не заполненоПоле "Склад" не заполненоНе заполнена колонка "Счет учета" в строке 3 списка "Товары"Не удалось провести "Реализация (акт, накладная, УПД) 00БП-000125 от 14.03"
Первые три строки называют поле, вторая половина сообщения — документ, который из-за него не провёлся. Поле — причина, отказ проведения — следствие.
Почему поле оказалось пустым: пять частых причин
Сообщение говорит, какое поле пустое, но не говорит, почему. От причины зависит способ исправления.
- Поле просто не заполнили. Самый частый и самый простой случай: документ создали копированием или из пустой формы, пропустили реквизит.
- Поле скрыто на форме. Реквизит обязательный, но элемент формы выключен пользовательской настройкой или функциональной опцией. Пользователь не видит, что заполнять.
- Значение удалили. Склад, договор или статья затрат были помечены на удаление и удалены. В документе на их месте осталась пустая или битая ссылка
<Объект не найден>. - Данные пришли из другой базы. Обмен или загрузка из Excel создали документ без части реквизитов: в источнике такого поля нет или правила обмена его не переносят.
- Изменились настройки учёта. После обновления релиза или включения новой учётной функции реквизит стал обязательным. Старые документы, проведённые раньше без него, при перепроведении начинают отказывать.
Если ошибка появилась у десятков документов одновременно и сразу после обновления конфигурации или обмена — ищите причину в пунктах 4 и 5, а не в ошибках пользователей.
Где искать подробности: окно сообщений, журнал регистрации, протокол обмена
Окно сообщений
При интерактивном проведении ошибки выводятся в нижней части формы документа. Двойной щелчок по строке переводит курсор на поле или строку табличной части. Если окно закрыли, проведите документ ещё раз — сообщения появятся снова.
Журнал регистрации
Сам по себе отказ из-за пустого поля в журнал регистрации обычно не пишется: это нормальная реакция программы, а не сбой. Но фоновые задания, обмены и групповые обработки фиксируют ошибки там.
Откройте Администрирование → Обслуживание → Журнал регистрации и поставьте отбор:
- Уровень — «Ошибка» и «Предупреждение»;
- Период — время запуска обмена или обработки;
- Событие — события обмена данными или выполнения фонового задания.
В колонке «Данные» будет ссылка на документ, в комментарии — текст отказа. Двойной щелчок по ссылке открывает сам документ.
Протокол синхронизации
Если документы пришли через синхронизацию данных, откройте Администрирование → Синхронизация данных. В форме синхронизации есть список предупреждений: там собираются документы, которые загрузились, но не провелись. По каждой строке видно имя документа и причину. Именно здесь удобнее всего начинать разбор после обмена.
Регламентные задания и проверки ведения учёта
В типовых конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) кроме проверки при проведении есть фоновый контроль. Он выполняется регламентными заданиями и проверяет уже записанные данные: битые ссылки, пустые обязательные реквизиты, отсутствующие предопределённые элементы.
Найденные проблемы отображаются в формах объектов и списков как пометка о проблеме учёта, с расшифровкой по щелчку. Запустить проверку вручную можно из группы Администрирование → Обслуживание → Корректировка данных — состав команд в этой группе зависит от релиза конфигурации.
Чтобы управлять самими заданиями:
- Откройте
Администрирование → Обслуживание → Регламентные и фоновые задания. - На вкладке «Регламентные задания» найдите задание контроля учёта или обмена данными.
- Проверьте флажок «Включено» и расписание.
- На вкладке «Фоновые задания» посмотрите последние запуски: состояние «Завершено аварийно» и текст ошибки.
Не выключайте регламентное задание только ради того, чтобы исчезли пометки о проблемах. Ошибки в данных останутся и всплывут при закрытии месяца или сдаче отчётности.
В клиент-серверной базе задания выполняются только если в консоли кластера для базы не стоит запрет регламентных заданий. В файловой базе они идут, пока открыт хотя бы один сеанс.
Ошибки заполненности в распределённой базе (РИБ) и при обмене
В распределённой информационной базе узлы обмениваются изменениями объектов. При загрузке объект записывается в режиме обмена: платформа не проверяет заполнение и не выполняет обычные обработчики. Это сделано намеренно — иначе обмен остановился бы на первом же неполном документе.
Из-за этого возникают характерные ситуации:
- 🌐 Ссылки пришли раньше объектов. Документ уже в узле, а контрагент или договор ещё нет. Пока справочник не придёт следующим пакетом, в поле будет
<Объект не найден>. - 🧩 Разные настройки в узлах. В периферийной базе включена опция, которой нет в центральной, или наоборот. Документ проходит контроль в одном узле и отказывает в другом.
- ⏳ Отложенное проведение. После загрузки документы проводятся отдельным шагом. Если проведение отказало, документ остаётся непроведённым и попадает в предупреждения синхронизации.
- 🔀 Изменение одного документа в двух узлах. Побеждает версия по правилам приоритета, и она может оказаться неполной.
Порядок разбора в РИБ:
- Выполните синхронизацию ещё раз в обе стороны. Часто недостающие справочники просто доезжают следующим сеансом.
- Откройте список предупреждений синхронизации и отфильтруйте документы с отказом проведения.
- Исправляйте данные в том узле, где документ создан. Исправление в другом узле при следующем обмене может быть перезаписано.
- После исправления выполните синхронизацию, чтобы изменения ушли в остальные узлы.
- Проведите документы повторно — вручную или групповым перепроведением за период.
Если обмен идёт через правила конвертации с другой конфигурацией (например, УТ 11 → БП 3.0), часть реквизитов при переносе может не заполняться. Проверьте, какие поля заполняет обмен, и задайте значения по умолчанию в настройках синхронизации.
Как исправить проблемные документы: от одного до сотни
Один-два документа
- Откройте документ и нажмите «Провести».
- В окне сообщений дважды щёлкните по первой строке.
- Заполните поле и повторите проведение — до исчезновения всех сообщений.
Если поле скрыто, нажмите Ещё → Изменить форму, найдите элемент в дереве и поставьте флажок видимости. Если реквизит связан с учётной функцией, проще включить её в Главное → Настройки → Функциональность (БП 3.0) или в разделе настроек нужной конфигурации.
Десятки документов с одним пустым полем
Используйте обработку Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов:
- Выберите тип документа, например «Реализация (акт, накладная, УПД)».
- Установите отбор: нужное поле — «Не заполнено», период — нужный.
- Укажите новое значение реквизита.
- Нажмите «Изменить реквизиты» и посмотрите итог обработки.
Перед групповым изменением в рабочей базе сделайте резервную копию: обработка меняет все отобранные документы сразу, отменить её одной кнопкой нельзя.
Найти все документы с пустым полем запросом
Если нужно сначала оценить масштаб, выполните запрос в консоли запросов (внешняя обработка или режим с правами администратора). Пример для реализаций без склада:
ВЫБРАТЬ
Реал.Ссылка КАК Документ,
Реал.Дата КАК Дата,
Реал.Проведен КАК Проведен
ИЗ
Документ.РеализацияТоваровУслуг КАК Реал
ГДЕ
Реал.Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
И НЕ Реал.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
Дата
Результат покажет, сколько документов затронуто и за какие периоды. Для услуг склад может законно отсутствовать, поэтому проверяйте содержимое документа, прежде чем ставить значение массово.
Перепровести после исправления
В БП 3.0 используйте Операции → Закрытие периода → Групповое перепроведение документов. Укажите период, запустите обработку и посмотрите протокол: документы, которые снова отказали, будут перечислены с причиной.
Перепроведение за закрытый период меняет движения и может сдвинуть сданную отчётность. Делайте его, когда пользователи не работают в базе, и только за периоды, которые вы готовы пересчитать.
Битые ссылки массово
Если в документах много ссылок <Объект не найден>, поможет режим «Тестирование и исправление» в конфигураторе с вариантом создания объектов вместо битых ссылок. Режим требует монопольного доступа: все пользователи должны выйти из базы, запускайте его после резервной копии. Созданные объекты-заглушки потом нужно заполнить или заменить на реальные значения.
Когда проверку нужно ослабить
Иногда обязательность поля противоречит вашей практике: например, конфигурация требует реквизит, который в вашей организации не ведётся. Править типовую конфигурацию не стоит — это осложнит обновления. Программист может сделать расширение и убрать реквизит из списка проверяемых:
&Перед("ОбработкаПроверкиЗаполнения")
Процедура Расш_ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Индекс = ПроверяемыеРеквизиты.Найти("Склад");
Если Индекс <> Неопределено Тогда
ПроверяемыеРеквизиты.Удалить(Индекс);
КонецЕсли;
КонецПроцедуры
Это крайняя мера. Пустое поле может ломать формирование движений, отчёты и обмен, поэтому сначала проверьте на копии базы, что документ проводится корректно и даёт правильные проводки.
Как не допускать ошибок заполненности
Большинство массовых отказов можно предотвратить настройкой, а не исправлением задним числом.
- ✅ Заполните значения по умолчанию. В настройках пользователя укажите основную организацию, склад, подразделение. Новые документы получат их автоматически.
- ✅ Удаляйте объекты только через «Удаление помеченных». Обработка проверяет ссылки и не даст удалить склад, который используется в документах.
- ✅ Проверяйте обмен на тестовом пакете. После изменения правил или настроек синхронизации прогоните один обмен и посмотрите список предупреждений, прежде чем включать расписание.
- ✅ Читайте описание изменений релиза. Если в новой версии реквизит стал обязательным, заполните его в старых документах до перепроведения.
- ✅ Не держите непроведённые документы. Раз в месяц фильтруйте журналы по признаку «Проведен — нет»: такие документы чаще всего и скрывают пустые поля.
- ✅ Следите за регламентными заданиями. Аварийное завершение задания контроля или обмена — сигнал, что ошибки накапливаются.