Выгрузка метаданных в файлы

20.04.26

Разработка - Инструментарий разработчика

Внешняя обработка для частичной выгрузки конфигурации в файлы.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Выгрузка метаданных в файлы
.epf 39,18Kb ver:1.1
4 3 400 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

Мне периодически в своей работе приходится анализировать закрытые модули. Чтобы получить нужные метаданные в виде некоторого бинарного представления (закрытые модули с байт-кодом) или текстового представления (открытые модули или описания форм и прочее) приходится писать длинную команду для консоли, копипастить наименования нужных мне объектов из дерева метаданных, вспоминать, как называются типы метаданных и т.п. действия. Понял, что устал этим заниматься и решил это немного автоматизировать. В итоге это переросло в интерактивный инструмент.

 

 

Сначала хотел накидать минимальный ГУЙ для создания команды, но увлёкся, и получилось ~9 сотен строк кода. При открытии обработки строится ПОЛНОЕ дерево метаданных (как в конфигураторе). [Абсолютно Полное дерево метаданных см. в моём Информере] Флажками отмечаете те метаданные, которые хотите выгрузить. Указываете папку для дампов (выгружаемых файлов), и координаты базы и учётку. Текущую платформу (а также остальную инфу для подключения) можно заполнить на основе текущей открытой базы. Затем жмём кнопку "Выгрузить". При этом конфигуратор отмеченной базы должен быть закрыт, т.к. выполняемая команда будет сама запускать конфигуратор для выполнения частичной выгрузки.

Если нужно выгрузить метаданные непосредственно самой конфигурации (с модулями управляемого приложения и т.п.), то надо по корню дерева нажать ПКМ и выбрать "Выгрузить корень".

 

 

В обработке реализовано много всяких мелких фич, таких как рекурсивные взвод флагов от родителя вниз по иерархии,

 

 

сброс всех флагов по соответствующему пункту контекстного меню.

 

 

По нажатию крестика на поле "Платформа" значение установится в дефолтное положение - стартер платформы. Справа взведётся соответствующий флаг, указывающий, что используется именно стартер. Для виндового стартера можно указать разрядность платформы.

 

 

И ещё всякие проверки, например, что папка дампов должна быть доступна на запись, а при выборе каталога с файловой базой в нём должен содержаться файл "1Cv8.1CD" .

Дерево метаданных строится с учётом содержащихся в базе всех активных расширений. Объект, присутствующий только в расширении, выделяется серым фоном, а в столбце "Расширение" будет отображено его местоположение.

 

 

По ПКМ на объекте из расширения можно запустить выгрузку только единственного объекта из расширения.

 

 

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

 

 

Т.е. выгружать объекты из конфигурации и из одного расширения придётся в два этапа.

Если нужно выгрузить все метаданные из конкретного расширения, то отмечаем в дереве метаданных корень (отметятся ВСЕ объекты), и после начала выгрузки надо ответить на вопрос, выбрав нужное вам расширение.

Если в дереве метаданных ничего НЕ отметить, то выгрузка пройдёт по всем метаданным, аналогично выгрузке конфигурации в файлы, запускаемой из конфигуратора.

Вроде бы больше ничего не забыл рассказать про обработку )

Если всё подытожить, то получается, что если вы выгружаете раз-в-никогда, то вам эта обработка не нужна, написать 1 команду в консоли не составит труда, а если вы часто частично выгружаете данные из разных конфигураций, то эта обработка сэкономит вам часы времени, как экономит мне.

Ну а молодые разработчики могут подчерпнуть из обработки примеры работы с красивым и функциональным деревом значений, работой с метаданными, получением информации о текущей базе данных и прочие возможности.

Кстати, работает данная обработка и на Windows, и на Linux. Протестировано на платформах 8.3.27.1989 и 8.3.24.1761 соответственно. Работает на ЛЮБОЙ конфигурации, т.к. не использует БСП. В обработке используется асинхронность, поэтому будет работать с платформы 8.3.18+ . А если убрать Асинх и Ждать, то будет работать с платформы 8.3.10+

P.S. Если выгружать закрытые модули в файлы (неважно, через конфигуратор или данной обработкой), то скомпилированный байт-код выгружается в контейнерный файл 1с - это бинарный формат, распаковать (но НЕ декомпилировать) который можно моим ВанПакером.

Помимо этого, я создаю различные другие инструменты, некоторые можете найти в моём профиле. Пытаюсь их все поддерживать и актуализировать по мере возможности.

Мой GitHub здесь

 

Обновление от 20.04.26 - Версия 1.1 : Если расширений больше десятка, то вместо вопроса выводится список значений, т.к. платформа НЕ может отобразить более 10 кнопок в форме вопроса. Добавлена вкладка для ручного указания списка выгружаемых объектов и поле для имени расширения (если его оставить пустым, то выгрузка будет производиться из основной конфы).

 

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.466

Вступайте в нашу телеграмм-группу Инфостарт

выгрузка в файлы частичная выгрузка bsl xml метаданные конфигурация

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    65155    345    169    

302

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    254561    1402    421    

1153

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22570 руб.

06.10.2023    37162    97    40    

117

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

15250 руб.

25.08.2025    50610    98    29    

114

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    24671    93    42    

101

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    51858    181    63    

213

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

5000 руб.

25.02.2026    2969    11    1    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Tarlich 96 20.04.26 12:49 Сейчас в теме
Прошу подсказать (просто не приходилось) как и где ЭТО помогает в работе ? можно ли обратно из имеющих файлов собрать конфигурацию ? у меня были случаи что необходимо было с веба забрать базу не типовую, админ которой потерялся на всегда .... как то может помочь ?
2. SerVer1C 1070 20.04.26 12:59 Сейчас в теме
(1) Посмотрите на скриншот. Обработка выполняет такую же выгрузку, но НЕ всех объектов метаданных, а только тех, которые вы указали.
Где можно применять: для выгрузки объектов и дальнейшего помещения их в ГИТ. Для анализа выбранных модулей. Я, лично, таким образом выгружаю закрытые модули, а потом их декомпилирую анализирую.
Прикрепленные файлы:
6. Alxby 1147 20.04.26 17:14 Сейчас в теме
(1) Я использовал подобную выгрузку одновременно с загрузкой. Быстро перенести из одной конфигурации в другую несколько обработок/отчетов/макетов, не выгружая всю конфигурацию - бесценно!
SerVer1C; +1 Ответить
11. Vasvas05 27 20.04.26 18:20 Сейчас в теме
(1)
Прошу подсказать (просто не приходилось) как и где ЭТО помогает в работе ? можно ли обратно из имеющих файлов собрать конфигурацию ? у меня были случаи что необходимо было с веба забрать базу не типовую, админ которой потерялся на всегда .... как то может помочь ?


могу предположить, чтобы не тянуть весь cf, а только измененные, если нет гита, может еще чтобы анализировать "куски"
3. ZhokhovM 707 20.04.26 17:08 Сейчас в теме
На картинке *.CFU, точно не *.CFE?
5. SerVer1C 1070 20.04.26 17:13 Сейчас в теме
(3) Да, CFE, спс за замечание
4. Alxby 1147 20.04.26 17:10 Сейчас в теме
Плюс. Не увидел в статье, но востребовано (по крайней мере, я когда-то реализовывал в своем CI/CD): выгрузка по выбранным подсистемам. Если этого нет - вот тема для следующей версии. Да и не мешало бы рассказать как в списке выгружаемых объектов указать, что надо выгрузить только свойства конфигурации ;).
SerVer1C; +1 Ответить
7. SerVer1C 1070 20.04.26 17:16 Сейчас в теме
(4)
надо выгрузить только свойства конфигурации

Если нужно выгрузить метаданные непосредственно самой конфигурации (с модулями управляемого приложения и т.п.), то надо по корню дерева нажать ПКМ и выбрать "Выгрузить корень".

Если вы не про эти свойства, то уточните.
8. Alxby 1147 20.04.26 17:18 Сейчас в теме
(7) Я про последний скриншот в статье, судя по всему там выгружаемые объекты указываются текстом
9. SerVer1C 1070 20.04.26 17:26 Сейчас в теме
(8) Да, на вкладке "Сторонняя конфигурация" список объектов можно заполнить вручную - это сделано для того, если выгрузка будет производиться из конфигурации, которая только что была загружена в пустую базу и не запускалась (т.к. для первого запуска потребовалось бы производить много лишних действий по заполнению первоначальных значений), а на вкладке "Текущая конфигурация" - можно отметить объекты в дереве конфигурации, если выгрузка будет производиться из текущей конфы. В след. версии добавлю заполнение дерева по конфигурационному файлу.
10. Alxby 1147 20.04.26 17:35 Сейчас в теме
(9) Для чего сделана выгрузка со списком объектов - понятно. Я не знаю какая технология используется в этой обработке, но я в свое время долго возился с проблемой - какое имя объекта надо указать, чтобы выгрузить и проанализировать только свойства конфигурации, например ее версию. Поэтому я и написал, что такая информация в статье была бы полезна.
Для отправки сообщения требуется регистрация/авторизация