Почему в УТ 11 реквизит «Предмет аренды» подсвечивается обязательным, но документ проводится без него?

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

При обновлении конфигурации «1С:Управление торговлей 11» (в частности, на релизах линейки 11.5) пользователи и специалисты сталкиваются с визуальным изменением в документе Реализация услуг и прочих активов. В табличной части Доходы появляется колонка Предмет аренды (ПредметАренды), которая подчеркнута красным пунктиром как обязательное для заполнения поле. При этом требование подсвечивается даже в тех случаях, когда в договоре выбран неарендный компонент, а сама операция отражает рядовую реализацию услуг, никак не связанную с арендой.

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

Назначение реквизита «Предмет аренды»

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

Разберем экономический смысл реквизита ПредметАренды:

  1. Учет субаренды: реквизит предназначен для индивидуализации арендованного имущества. Если организация выступает арендатором некоторого объекта и затем передает его (или его часть) конечному субарендатору, возникает доход от субаренды.
  2. Детализация финансового результата: привязка строки реализации к конкретному предмету аренды позволяет «окрасить» выручку и сопоставить ее с расходами на аренду этого же объекта, сформировав достоверную аналитику в управленческом учете.

Несмотря на то, что в «1С:Управление торговлей» отсутствуют многие подсистемы регламентированного учета и внеоборотных активов по ФСБУ 25/2018, общие реквизиты документов реализации присутствуют в структуре конфигурации для унификации с ERP-системами.

Почему поле светится красным, но документ проводится?

Проанализируем ситуацию с технической точки зрения платформы «1С:Предприятие 8.3». Наблюдаемое поведение обусловлено рассинхронизацией статических настроек формы/метаданных и динамической серверной проверки:

  1. Визуальный слой: в свойствах реквизита на уровне метаданных или в свойствах элемента формы установлено требование проверки (например, флаг АвтоОтметкаНезаполненного или ОтметкаНезаполненного). Платформа на клиенте автоматически отмечает пустую ячейку красным пунктиром, информируя пользователя об обязательном реквизите.
  2. Серверная валидация: при попытке записи или проведения управление передается в модуль объекта в процедуру-обработчик ОбработкаПроверкиЗаполнения.

Посмотрим на пример кода в модуле документа, который отключает системную ошибку:


// В процедуре ОбработкаПроверкиЗаполнения модуля объекта
НепроверяемыеРеквизиты.Добавить("Доходы.ПредметАренды");

Разработчики типовой конфигурации программно помещают реквизит Доходы.ПредметАренды в коллекцию НепроверяемыеРеквизиты. Это отменяет платформенную блокировку проведения для пустых значений. Однако добавление в этот список на сервере не отключает клиентскую подсветку незаполненного поля на самой форме документа.

Варианты действий и способы решения

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

Вариант 1. Оставить поведение по умолчанию

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

Вариант 2. Пользовательская настройка формы без доработок

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

  1. В документе реализации нажать кнопку Еще в правом верхнем углу и выбрать команду Изменить форму...
  2. В дереве элементов найти группу табличной части Доходы.
  3. Найти строку Предмет аренды и снять с нее флажок видимости.
  4. Нажать ОК для применения настроек.

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

Вариант 3. Исправление через расширение конфигурации

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


&Вместо("ПриСозданииНаСервере")
Процедура Расш_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ПродолжитьВызов(Отказ, СтандартнаяОбработка);
    
    // Снимаем визуальную подсветку обязательности поля
    Если Элементы.Найти("ДоходыПредметАренды") <> Неопределено Тогда
        Элементы.ДоходыПредметАренды.ОтметкаНезаполненного = Ложь;
        Элементы.ДоходыПредметАренды.АвтоОтметкаНезаполненного = Ложь;
    КонецЕсли;
КонецПроцедуры

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

← На главную