Довольно часто разработчики сталкиваются с нестандартным поведением конфигуратора 1С:Предприятие 8.3 при работе с разными типами интерфейсов. Представим рабочую ситуацию: мы открываем внешнюю обработку, которая изначально была создана с использованием обычных форм (ОФ). Открываем мы ее в конфигураторе современной типовой базы, например, в 1С:ЗУП 3.1 или 1С:Бухгалтерия 3.0 (так называемом УФ-конфигураторе). Наша цель — добавить к этой обработке управляемую форму (УФ), чтобы ее можно было комфортно использовать в современном интерфейсе. Однако при попытке добавить новую форму мы обнаруживаем, что платформа блокирует эту возможность, а нужные поля недоступны.
Приходится открывать конфигуратор старой базы (например, 1С:УПП или 1С:УТ 10.3), добавлять форму там, а затем возвращаться. Почему платформа накладывает такие ограничения и как мы можем их обойти прямо на месте? Разберем эту ситуацию по шагам и рассмотрим несколько надежных способов решения проблемы.
Ограничение не является программной ошибкой или жестким запретом самой платформы. Это следствие фильтрации интерфейса конфигуратора, которая зависит от контекста открытой базы данных. Проанализируем основные факторы, влияющие на это поведение:
ОсновнойРежимЗапуска. Если там установлено значение «Управляемое приложение», платформа считает приоритетными именно управляемые формы. Если при этом запрещено использование обычных форм, возникает конфликт контекстов при редактировании старых внешних обработок.Первый и самый правильный способ решения проблемы заключается в изменении глобальных параметров отображения конфигуратора. Выполним следующие шаги:
После включения этих флажков конфигуратор начнет корректно отображать элементы управления для обоих типов форм. Теперь при добавлении новой формы в обработку вы сможете выбрать нужный вам тип.
Важный нюанс: иногда эти флажки могут программно сбрасываться или игнорироваться платформой, если в свойствах самой конфигурации жестко задан запрет на использование обычных форм. Если данный метод не сработал, перейдем ко второму варианту.
Этот способ отлично работает, когда предыдущие настройки не помогли из-за жестких ограничений текущей конфигурации базы данных. Мы временно «обманем» конфигуратор. Рассмотрим алгоритм действий:
ОсновнойРежимЗапуска.Существует еще один быстрый способ обойти ограничения визуального помощника создания форм. Платформа иногда блокирует именно окно конструктора («Создать новую форму...»), но позволяет добавить объект вручную.
Мы выяснили, что невозможность добавить управляемую форму к обработке с ОФ в современных базах — это не баг платформы 1С:Предприятие, а особенность настройки интерфейса разработки. Конфигуратор адаптирует свои инструменты под ту конфигурацию, которая в данный момент открыта. Применяя настройку параметров через меню «Сервис» или временно меняя свойства корневого объекта конфигурации, мы легко можем расширить возможности конфигуратора и работать с обеими технологиями построения пользовательского интерфейса одновременно.