Пост

Скрытый тип "ОсновнойЭлементФормы"


В 1С есть много всякого скрытого и недокументированного. Небольшой примерчик - тип “ОсновнойЭлементФормы”.

В управляемой форме есть свойство “ТекущийЭлемент”. По синтаксис-помощнику оно имеет составной тип из разного вида элементов (скрин1).

Но на самом деле, иногда там может оказаться нечто особенное. “ОсновнойЭлементФормы”.

Его нет в справке. Гугл находит только несколько жалоб программистов на его появление. И вот это обсуждение на партнерском форуме (скрин2)

Выглядит он странно. Похож толи на саму форму, толи на какую-то группу, но при этом не имеет некоторых свойств. Например, “Имя” и “Элементы” (скрин3). Из-за чего какой-то код, который на это не рассчитан, может упасть в ошибку.

Если попытаться проверить его тип, то возвращается “Макет формы” (скрин4).

Самый простой способ его получить - создать обработку с формой, на которой не будет элементов. У такой формы текущий элемент будет обсуждаемого типа. Но иногда он возникает из-за игр с ограничением доступности элементов. Когда платформа считает, что “текущим” нельзя назначить ни один элемент. Тогда в свойство попадает наш полтергейст. Потому что пустым свойство быть не может)

Авторский пост защищен лицензией CC BY 4.0 .