Почему не отображается поле «Статус» в реализации товаров и услуг и как исправить ошибку его заполнения?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В конфигурациях «1С:Управление торговлей 11», «1С:ERP» и «1С:Комплексная автоматизация» пользователи и разработчики нередко сталкиваются с ситуацией, когда документ Реализация товаров и услуг не проводится с ошибкой «Поле "Статус" не заполнено», однако на самой управляемой форме документа реквизит Статус отсутствует. Разберем по шагам причины такого поведения платформы, проанализируем влияние интеграционных механизмов и рассмотрим способы решения проблемы.

1. Проверка глобальных функциональных опций

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

Проверим включение настройки в программе:

  1. Перейдем в раздел «НСИ и администрирование» (или «Администрирование»).
  2. Откроем пункт «Настройка НСИ и разделов» → «Продажи».
  3. Развернем подраздел «Оптовые продажи».
  4. Убедимся, что установлен флаг «Статусы реализаций товаров и услуг».

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

2. Сброс пользовательских настроек формы

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

  1. Откроем документ Реализация товаров и услуг.
  2. Нажмем кнопку «Еще» (в правом верхнем углу формы) → «Изменить форму...».
  3. В открывшемся окне редактора формы нажмем «Еще» → «Установить стандартные настройки».
  4. Нажмем «Применить» или «ОК».

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

3. Анализ условий видимости: хозяйственные операции и складские ордера

Отображение поля Статус в коде управляемой формы зависит не только от функциональной опции, но и от контекста документа:

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

4. Ошибка заполнения статуса при программном обмене (1С-Битрикс)

Наиболее распространенный сценарий возникновения ошибки — загрузка документов из внешних систем и интернет-магазинов (например, через модуль обмена с 1С-Битрикс). При интерактивном создании документа в интерфейсе 1С обработчики формы автоматически подставляют первичное значение статуса (например, Перечисления.СтатусыРеализацийТоваровУслуг.КОтгрузке). Однако при программном создании документов через обмен данные записываются в объект напрямую в фоновом режиме, минуя события формы.

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

Рассмотрим способы устранения проблемы при интеграции:

  1. Настройка соответствия реквизитов в модуле обмена: перейдем в настройки интеграции с сайтом (раздел «1С-Битрикс» или настройки узла обмена), откроем параметры загрузки документов и сопоставим статусы заказов/отгрузок интернет-магазина с перечислением СтатусыРеализацийТоваровУслуг в 1С.
  2. Задание значения по умолчанию: в правилах загрузки модуля обмена укажем статус по умолчанию для новых документов реализации, если отгрузка на сайте еще находится в промежуточном состоянии.
  3. Разделение этапов обмена: настроим выгрузку так, чтобы до фактической комплектации загружались только документы Заказ клиента, а документ реализации создавался менеджером в 1С либо загружался с сайта только после подтверждения факта отгрузки.

5. Программное заполнение статуса через расширение конфигурации

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


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

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

← На главную