При разработке в расширениях 1С мы часто сталкиваемся с тем, что механизм заимствования объектов не всегда позволяет быстро перенести весь состав перечисления. Если в вашем Перечисление содержатся сотни значений (например, ХозяйственныеОперации в КА 2.5), ручное добавление каждого элемента становится утомительным. Рассмотрим, как эффективно решить эту задачу и организовать работу с такими данными.
Важно понимать, что в современном Конфигураторе отсутствует штатная кнопка «Добавить все подчиненные объекты» для расширений. Это архитектурное решение разработчиков 1С, направленное на соблюдение принципа минимально необходимого состава расширения. Принудительное включение всех элементов перечисления может привести к избыточности кода, конфликтам при обновлении основной конфигурации и снижению производительности среды разработки. Однако, если задача требует наличия значений для корректной работы конструктора запросов, мы можем использовать следующие подходы.
Этот метод подходит для опытных разработчиков, знакомых со структурой выгрузки конфигурации. Суть заключается в прямом копировании идентификаторов (GUID) в файловой системе.
GUID значений из основной конфигурации в соответствующие файлы расширения.Этот способ позволяет «обмануть» Конфигуратор и принудительно расширить состав объекта, не совершая сотен кликов мышью.
Если цель добавления всех значений — удобная работа с конструктором запросов, попробуйте изменить подход к разработке:
Таким образом, вы сохраняете комфорт разработки, не «засоряя» метаданные расширения ненужными объектами, которые потребуют поддержки при каждом обновлении основной конфигурации.
Вместо того чтобы копировать сотни значений, проанализируйте, действительно ли они все нужны в расширении:
Параметры сеанса или Константы для хранения списка избранных значений, если вам нужен динамический отбор.ПредопределенныеЗначения, например: ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ИмяЗначения"). Это позволит избежать прямой зависимости от состава метаданных расширения в тексте запроса.Помните, что массовое добавление объектов в расширение замедляет работу Конфигуратора. Каждый раз, когда вы открываете дерево метаданных, платформа тратит ресурсы на сопоставление заимствованных объектов с основной конфигурацией. Оставляйте в расширении только те элементы, которые вы планируете изменять или на которые планируете ссылаться непосредственно в коде расширения. Использование внешних обработок для «черновой» разработки запросов остается наиболее предпочтительным и безопасным методом с точки зрения чистоты кода.