Как перенести отдельный объект метаданных в другую конфигурацию 1С без выгрузки всей базы?

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

В процессе разработки в среде 1С:Предприятие часто возникает ситуация, когда необходимо передать коллеге или клиенту всего один созданный объект — например, новый Справочник или Документ. Если основная конфигурация весит сотни мегабайт, а интернет-соединение оставляет желать лучшего, выгрузка полного файла конфигурации (.cf) становится нецелесообразной. В этой статье мы подробно разберем несколько эффективных методов «точечного» переноса метаданных, проанализируем их преимущества и возможные сложности.

Метод 1. Использование промежуточной пустой базы

Этот способ считается классическим и наиболее надежным для большинства версий платформы 1С. Рассмотрим алгоритм действий по шагам:

  1. Создадим на исходном компьютере новую пустую базу данных без конфигурации.
  2. В исходной рабочей базе найдем нужный нам объект (например, Справочник.Номенклатура), выделим его и нажмем Ctrl+C (или выберем пункт «Копировать» в контекстном меню).
  3. Перейдем в дерево метаданных пустой базы и нажмем Ctrl+V. Платформа перенесет объект со всеми его реквизитами, формами и модулями.
  4. Важно: Если объект ссылается на другие типы данных, которых нет в пустой базе, они могут быть заменены на тип ЛюбаяСсылка или удалены. Поэтому убедимся, что все зависимости также скопированы или тип реквизитов упрощен.
  5. Сохраним конфигурацию пустой базы и выгрузим файл .cf. Его размер будет минимальным, так как он содержит только один объект.
  6. На целевом компьютере откроем рабочую конфигурацию и воспользуемся функцией Конфигурация — Сравнить, объединить с конфигурацией из файла, выбрав наш маленький файл.

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

Метод 2. Перенос через внешнюю обработку (.epf)

Если нам нужно перенести объект быстро и без создания баз, можно воспользоваться механизмом внешних обработок. Разберем, как это работает:

Создадим новую внешнюю обработку через меню Файл — Новый — Внешняя обработка. В окне редактирования обработки найдем разделы, соответствующие метаданным. Хотя мы не можем вставить справочник напрямую в «состав» обработки, мы можем временно использовать ее как контейнер для переноса кода и форм.

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

  1. Скопируем объект метаданных.
  2. Создадим новую конфигурацию (как в методе 1), но сохраним ее не как .cf, а попробуем воспользоваться временным хранилищем объекта.

Нюанс с формами: При копировании объектов часто «отваливаются» связи на формах. Проверим в целевой базе, что ПутьКДанным для всех элементов управления на форме указывает на правильные реквизиты нового объекта.

Метод 3. Выгрузка конфигурации в файлы (XML)

Современные версии платформы 1С 8.3 предоставляют мощный инструмент для работы с исходными кодами в текстовом формате. Это идеальный вариант для передачи через слабые каналы связи. Рассмотрим этот процесс подробнее:

  1. В меню выберем пункт Конфигурация — Выгрузить конфигурацию в файлы.
  2. Укажем пустую папку. Платформа создаст иерархическую структуру, где каждый объект метаданных представлен в виде XML-файлов и модулей .bsl.
  3. Найдем в папке каталог нужного нам объекта. Например: Catalogs/ИмяНашегоСправочника.
  4. Заархивируем только эту папку. Ее размер будет составлять всего несколько килобайт.
  5. На целевом компьютере также выполним (в пустой базе) команду Загрузить конфигурацию из файлов или воспользуемся сравнением/объединением, выбрав папку с XML-файлами.

Этот метод позволяет увидеть «внутренности» объекта и передать только изменения, что крайне удобно для систем контроля версий. Для автоматизации этого процесса подойдёт обработка для частичной выгрузки конфигурации в файлы.

Метод 4. Специализированные утилиты для буфера обмена

Существует продвинутый способ передачи данных буфера обмена Windows в виде файла. Рассмотрим ситуацию: когда вы нажимаете Ctrl+C на объекте метаданных, 1С помещает в буфер данные в особом бинарном формате. Простая вставка в текстовый файл не сработает.

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

  1. Установим утилиту CLCL на обоих компьютерах.
  2. В конфигураторе-источнике скопируем объект.
  3. В программе CLCL увидим новый элемент в списке. Сохраним этот элемент буфера в файл с расширением .clcl.
  4. Передадим этот файл на другой компьютер.
  5. Откроем файл в CLCL на целевой машине, добавив его в список доступных для вставки.
  6. В целевом конфигураторе нажмем Ctrl+V. Платформа воспримет данные из буфера так, будто объект был скопирован в этом же сеансе.

Этот метод является самым «хакерским», но при этом самым быстрым, так как не требует никаких промежуточных конфигураций или выгрузок XML.

Метод 5. Использование 1C:EDT (Enterprise Development Tools)

Если вы идете в ногу со временем и используете EDT на базе Eclipse, задача упрощается до предела. Проанализируем структуру проекта в EDT:

Вся конфигурация в EDT изначально хранится как проект в файловой системе. Каждый справочник — это отдельная папка. Чтобы передать объект:

  1. Найдем папку объекта в файловой системе (в каталоге src/ вашего проекта).
  2. Скопируем ее и передадим любым удобным способом.
  3. В целевом проекте EDT просто вставим папку в соответствующую директорию.
  4. EDT автоматически обнаружит новый ресурс и предложит импортировать его в проект.

Важные технические нюансы (GUID и зависимости)

При использовании любого из вышеперечисленных методов необходимо помнить о «подводных камнях». Разберем их, чтобы избежать ошибок:

Подводя итог, можно сказать: для быстрой передачи небольшого объекта по слабому каналу связи оптимальным является Метод 3 (XML) или Метод 4 (CLCL). Если же важна простота и отсутствие стороннего софта — используйте Метод 1 (Промежуточная база). Мы надеемся, что эти инструкции помогут вам эффективно решать задачи по разработке и поддержке систем 1С.

← На главную