При разработке в среде 1С:Предприятие 8.3 программисты часто сталкиваются с необходимостью кастомизации форм существующих справочников или документов через механизм расширений. Однако в определенных версиях платформы работа может быть полностью заблокирована из-за досадного визуального бага: в дереве реквизитов формы основной реквизит (чаще всего это Объект) перестает разворачиваться. У него пропадает иконка «плюс», и мы не можем получить доступ к его полям, табличным частям или стандартным реквизитам.
В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем конкретные версии платформы, подверженные ошибке, и выясним, какие существуют способы решения — от официального обновления до временных обходных путей.
Рассмотрим ситуацию глубже. Данная проблема не связана с настройками конкретной конфигурации или правами доступа. Это чисто техническая ошибка в коде самого Конфигуратора, которая была официально зарегистрирована фирмой «1С» под номером 60027315. Суть бага заключается в некорректной работе графического интерфейса дерева метаданных при взаимодействии с расширениями.
Проанализируем контекст появления ошибки. Разработчики платформы в ветке 8.3.27 внедряли масштабные оптимизации для ускорения работы с большими расширениями. Видимо, при переработке механизмов отрисовки узлов дерева данных формы был допущен просчет, из-за которого основной реквизит, заимствованный из основной конфигурации, теряет возможность иерархического раскрытия в интерфейсе расширения.
Для понимания масштабов проблемы нам необходимо проверить установленную версию платформы. На основе сообщений разработчиков и данных мониторинга ошибок можно составить четкую карту версий:
Объект в расширении.Разберем по шагам, что можно предпринять, если вы обнаружили этот баг в своей рабочей среде.
Самый надежный способ — это установка исправленной версии платформы. Поскольку ошибка локализована в самом исполняемом файле Конфигуратора, никакие манипуляции с кодом расширения не помогут на 100%. Мы рекомендуем выполнить переход на версию 8.3.27.1936 или более свежую. После обновления платформы дерево реквизитов снова станет интерактивным, и заветный «плюсик» вернется на свое место.
Если по каким-то причинам оперативное обновление платформы невозможно (например, из-за строгих регламентов предприятия), попробуем применить небольшую хитрость. В Конфигураторе над деревом реквизитов формы есть строка поиска.
Проделаем следующий эксперимент: введите в строку поиска полное имя вложенного реквизита, который вам нужен, например, Объект.Наименование или Объект.Дата. В многих случаях поисковый алгоритм принудительно разворачивает дерево, чтобы показать искомый элемент, даже если визуальный маркер раскрытия отсутствует. После этого вы сможете перетащить поле на форму.
Рассмотрим еще один метод взаимодействия с «замерзшим» реквизитом. Вместо того чтобы пытаться развернуть узел Объект, попробуйте захватить мышкой сам этот узел и перетащить его в левую часть окна — в дерево элементов формы.
Платформа предложит создать элементы управления для всех полей, входящих в состав объекта. Соглашаемся, после чего в дереве элементов формы появятся все нужные нам поля. Теперь мы можем просто удалить лишние элементы, оставив только те, которые планировали изменить или добавить в расширении. Это «грубый», но действенный метод обхода бага визуализации.
Если вам нужно добавить на форму расширения поле, которое уже есть на форме в основной конфигурации, воспользуемся классическим методом Ctrl+C / Ctrl+V.
Ctrl+C.Ctrl+V в дереве элементов формы.Связь с реквизитом (свойство ПутьКДанным) при таком копировании обычно сохраняется. Даже если вы не видите реквизит в правой части окна (в списке данных), элемент на форме будет успешно связан с данными объекта и будет корректно отображаться в режиме «1С:Предприятие».
Мы проанализировали специфический баг платформы 8.3.27.1859, который существенно осложняет жизнь разработчикам расширений. Несмотря на то что ошибка выглядит критичной, она затрагивает только визуальное представление в Конфигураторе.
Важные моменты для запоминания:
Помните, что расширения — это мощный инструмент, но их стабильность напрямую зависит от качества сборки платформы. Всегда старайтесь иметь под рукой дистрибутив «соседней» стабильной версии для быстрой проверки подобных странностей интерфейса.