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

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

В процессе разработки и сопровождения конфигураций на платформе 1С:Предприятие 8.3 программисты часто сталкиваются с неожиданным поведением визуального редактора. Одна из наиболее неприятных ситуаций — когда при открытии формы документа или справочника, созданного непосредственно в расширении, дерево реквизитов оказывается абсолютно пустым. При этом в режиме «1С:Предприятие» все работает штатно, данные отображаются, а пользователи не замечают проблем. Рассмотрим подробнее, почему это происходит и как вернуть привычную рабочую среду в Конфигуратор.

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

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

Эта проблема носит визуальный характер и специфична именно для стандартного Конфигуратора. Суть бага заключается в некорректном взаимодействии механизмов отрисовки метаданных расширения с визуальным редактором управляемых форм. Важно понимать, что физически реквизиты никуда не исчезли — они присутствуют в файле расширения и корректно интерпретируются сервером и клиентом в режиме выполнения. Ошибка «ломает» только инструмент разработки.

Разберем по шагам, какие именно условия приводят к возникновению бага:

  1. Используется платформа определенных релизов (ветки 8.3.26 и 8.3.27).
  2. Объект метаданных (например, Документ или Справочник) был создан именно в расширении, а не заимствован из основной конфигурации.
  3. Вы пытаетесь редактировать форму этого объекта через визуальный конструктор.

Анализируем проблемные и исправленные версии платформы

Для эффективного решения задачи нам необходимо точно знать, на каких релизах проблема проявляется, а на каких она уже устранена. Посмотрим на статистику из официальных источников и баг-трекера (bugboard):

Проблемные релизы:

Исправленные релизы:

Единственным гарантированным способом устранения проблемы является переход на релизы, где разработчики 1С внесли соответствующие правки в код платформы:

Способ 1: Обновление платформы (рекомендуемое решение)

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

  1. Завершите работу всех пользователей и конфигураторов.
  2. Выполните резервное копирование информационной базы (на всякий случай, хотя ошибка и визуальная).
  3. Установите исправленный релиз (например, 8.3.27.1936).
  4. В настройках запуска 1С (окно выбора баз) убедитесь, что для вашей базы указана конкретная версия платформы или установлена автоматическая загрузка последней установленной.
  5. Зайдите в Конфигуратор расширения и проверьте форму — дерево реквизитов объекта должно восстановиться.

Способ 2: Использование EDT (Enterprise Development Tools)

Если по каким-то причинам (например, из-за жестких корпоративных стандартов или требований совместимости) вы не можете обновить платформу прямо сейчас, рассмотрим альтернативный вариант. Среда разработки 1C:EDT построена на базе Eclipse и использует принципиально иные механизмы работы с метаданными и визуализации интерфейсов.

Выясним преимущества этого метода:

Способ 3: Обходные пути в текущем Конфигураторе

Если вам нужно внести мелкие правки здесь и сейчас, не меняя платформу и не устанавливая EDT, попробуем решить задачу «вслепую». Хотя дерево реквизитов справа (в окне состава данных) пустое, мы все еще можем управлять составом элементов формы.

Рассмотрим пошагово тактику «ручного» добавления элементов:

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

Проанализируем программный метод создания элементов:

Если визуальный редактор совсем не поддается, можно создавать элементы управления динамически. Это полностью исключает зависимость от багов отрисовки Конфигуратора. Воспользуемся процедурой ПриСозданииНаСервере в модуле формы расширения:


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

Дополнительные симптомы, на которые стоит обратить внимание

Работа на нестабильных релизах платформы (таких как 8.3.27.1859) может сопровождаться и другими трудностями. Разберем их, чтобы вы были готовы:

Подведем итог: если вы обнаружили, что в расширении пропали реквизиты формы, не паникуйте — ваши данные в сохранности. Это лишь временные трудности визуализации. Оптимальный путь — переход на исправленный релиз 8.3.27.1936 или 8.3.26.1215. В качестве временной меры используйте ручное прописывание ПутьКДанным или среду EDT.

← На главную