При разработке и доработке управляемых форм в среде 1С:Предприятие 8.3 разработчики нередко сталкиваются с ситуацией: новый реквизит создан, перетянут в дерево элементов формы, однако в пользовательском режиме добавленное поле упорно отсутствует на экране. Разберем по шагам все возможные причины такого поведения платформы и составим четкий алгоритм диагностики.
Проанализируем базовую, но самую распространенную причину: изменения вносятся не в ту форму, которая фактически открывается в пользовательском режиме.
ОсновнаяФорма или назначение форм в разделе «Формы».ОткрытьФорму() с явным указанием пути к другой альтернативной форме.Рассмотрим свойства самого элемента и всей иерархии его родителей в дереве элементов формы:
Видимость и ПользовательскаяВидимость. В свойстве ПользовательскаяВидимость флаги должны быть установлены для всех ролей или для текущей роли пользователя.Страница) или в группу с типом ОбычнаяГруппа, убедимся, что у родительской группы также включены Видимость и ПользовательскаяВидимость.ТекущаяСтраница).Сворачиваемая, проверим, не находится ли она в свернутом состоянии по умолчанию.Платформа «1С:Предприятие» сохраняет индивидуальные настройки внешнего вида форм для каждого пользователя в системном хранилище. Эти настройки имеют более высокий приоритет, чем конфигурация.
Если ранее форма уже открывалась и настраивалась, добавленный в конфигураторе элемент может быть автоматически скрыт в интерфейсе конкретного пользователя. Выполним сброс настроек:
Платформа автоматически управляет доступностью и видимостью элементов интерфейса на основании прав и функциональных опций:
ФункциональныеОпции). Если опция отключена в настройках программы, связанный с ней реквизит целиком скрывается из интерфейса.Проанализируем программное управление видимостью. Поле может скрываться кодом в момент инициализации формы:
ПриСозданииНаСервере, ПриЧтенииНаСервере, ПриОткрытии.
Элементы.ИмяЭлемента.Видимость = Ложь;
Элементы.ИмяЭлемента.Доступность = Ложь;
ПриСозданииНаСервере.Рассмотрим технические свойства самого элемента управления:
ПутьКДанным и указывает ли оно на существующий реквизит формы или реквизит объекта (например, Объект.ИмяРеквизита).РастягиватьПоГоризонтали = Ложь), элемент может визуально сжаться до неразличимого размера.Если все настройки проверены, но поле по-прежнему не появилось, выполним базовые регламентные действия разработчика:
F7 или выполнено меню «Конфигурация» → «Обновить конфигурацию базы данных»).%AppData%\1C\1cv8 и %LocalAppData%\1C\1cv8 либо перерегистрацией информационной базы в списке запуска).