Почему в 1С 8.3.27.1859 в конфигураторе не видны реквизиты объектов в расширении и как это исправить?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При переходе на свежие релизы платформы 1С разработчики часто сталкиваются с неожиданным поведением системы. Чтобы минимизировать риски, многие используют статический анализатор кода проектов для проверки файлов CF и CFE. Однако одной из наиболее серьезных проблем в версии 8.3.27.1859 стала невозможность полноценной работы с формами в расширениях конфигурации. Рассмотрим подробнее, почему это происходит и какие существуют пути решения данной проблемы.

Суть проблемы и визуальные проявления

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

  1. В дереве данных формы (правая панель редактора) основной реквизит Объект отображается без значка «плюс».
  2. Невозможно развернуть структуру объекта, чтобы увидеть его реквизиты или табличные части.
  3. Интерактивное перетаскивание полей на форму становится невозможным.
  4. При попытке изменить свойства уже существующих элементов формы могут «слетать» пути к данным.

Важно отметить, что в режиме Предприятие всё отображается корректно, а проблема локализована именно в среде разработки.

Выясним причину: официальная ошибка платформы

Разберем природу этого сбоя. Данное поведение не является следствием неправильной настройки прав или повреждения кэша. Это официально зарегистрированная ошибка платформы под номером 60027315. Баг связан с механизмом отрисовки метаданных в ветках 8.3.27 и частично перенесен в 8.3.26. Конфигуратор попросту «теряет» связь между формой и метаданными собственного объекта расширения в визуальном редакторе.

Способ 1. Откат на стабильную версию платформы (Рекомендуемый)

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

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

Способ 2. Программное создание элементов формы

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

Рассмотрим пример программного добавления поля на форму:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    // Программное создание поля ввода для реквизита "Наименование"
    ИмяРеквизита = "Объект.Наименование";
    НовыйЭлемент = Элементы.Добавить("НаименованиеПрограммно", Тип("ПолеФормы"), ЭтаФорма);
    НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    НовыйЭлемент.ПутьКДанным = ИмяРеквизита;
    
КонецПроцедуры

Этот метод позволяет обойти визуальный баг Конфигуратора, однако он усложняет разработку, так как вы не видите результат до запуска приложения.

Способ 3. Манипуляции с XML и внешними объектами

Проанализируем еще один технический прием. Вы можете настроить форму во внешнем файле, а затем перенести её в расширение. Если же вам требуется оперативно подправить настройки интерфейса без постоянных перезапусков, можно использовать редактор форм в режиме предприятия, который позволяет менять свойства элементов «на лету» прямо в пользовательском режиме — для этого подойдёт редактор объектов и форм в режиме предприятия.

Резюме: на текущий момент самым эффективным решением остается ожидание исправления в будущих сборках (ориентировочно 8.3.27.19xx) или использование проверенной версии 8.3.27.1786.

← На главную