При обновлении конфигурации «1С:Управление торговлей 11» (в частности, на релизах линейки 11.5) пользователи и специалисты сталкиваются с визуальным изменением в документе Реализация услуг и прочих активов. В табличной части Доходы появляется колонка Предмет аренды (ПредметАренды), которая подчеркнута красным пунктиром как обязательное для заполнения поле. При этом требование подсвечивается даже в тех случаях, когда в договоре выбран неарендный компонент, а сама операция отражает рядовую реализацию услуг, никак не связанную с арендой.
Рассмотрим подробнее, почему появился этот реквизит, какую функциональность он несет, почему программа позволяет проводить документ пустым и как убрать смущающую пользователей подсветку.
Появление этой аналитики связано с архитектурой типовых решений фирмы «1С». Конфигурации «1С:ERP Управление предприятием», «1С:Комплексная автоматизация» и «1С:Управление торговлей» развиваются на базе единой библиотеки и общей кодовой базы метаданных.
Разберем экономический смысл реквизита ПредметАренды:
Несмотря на то, что в «1С:Управление торговлей» отсутствуют многие подсистемы регламентированного учета и внеоборотных активов по ФСБУ 25/2018, общие реквизиты документов реализации присутствуют в структуре конфигурации для унификации с ERP-системами.
Проанализируем ситуацию с технической точки зрения платформы «1С:Предприятие 8.3». Наблюдаемое поведение обусловлено рассинхронизацией статических настроек формы/метаданных и динамической серверной проверки:
АвтоОтметкаНезаполненного или ОтметкаНезаполненного). Платформа на клиенте автоматически отмечает пустую ячейку красным пунктиром, информируя пользователя об обязательном реквизите.ОбработкаПроверкиЗаполнения.Посмотрим на пример кода в модуле документа, который отключает системную ошибку:
// В процедуре ОбработкаПроверкиЗаполнения модуля объекта
НепроверяемыеРеквизиты.Добавить("Доходы.ПредметАренды");
Разработчики типовой конфигурации программно помещают реквизит Доходы.ПредметАренды в коллекцию НепроверяемыеРеквизиты. Это отменяет платформенную блокировку проведения для пустых значений. Однако добавление в этот список на сервере не отключает клиентскую подсветку незаполненного поля на самой форме документа.
Выясним причину спокойствия: такое поведение формы является исключительно косметическим нюансом. Оно не приводит к сбоям при расчете себестоимости, проведении документов или процедуре закрытия месяца. В зависимости от задач организации можно применить один из следующих подходов:
Если пользователи проинформированы о том, что красное подчеркивание в данном документе носит информационный характер и не мешает проведению, никаких дополнительных доработок делать не требуется. Документ можно спокойно записывать с незаполненным полем ПредметАренды.
Если организация вовсе не занимается арендными операциями, чтобы колонка не отвлекала менеджеров, ее можно скрыть стандартными средствами интерфейса:
Данную настройку можно сохранить для конкретного пользователя или распространить на других пользователей через меню администрирования настроек.
Если необходимо централизованно убрать вводящее в заблуждение подчеркивание для всех пользователей без снятия конфигурации с поддержки, можно использовать расширение. Для этого переопределим визуальное свойство элемента при открытии формы:
&Вместо("ПриСозданииНаСервере")
Процедура Расш_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПродолжитьВызов(Отказ, СтандартнаяОбработка);
// Снимаем визуальную подсветку обязательности поля
Если Элементы.Найти("ДоходыПредметАренды") <> Неопределено Тогда
Элементы.ДоходыПредметАренды.ОтметкаНезаполненного = Ложь;
Элементы.ДоходыПредметАренды.АвтоОтметкаНезаполненного = Ложь;
КонецЕсли;
КонецПроцедуры
Также при необходимости в расширении можно программно управлять видимостью реквизита в зависимости от того, выбран ли в документе арендный или неарендный договор.