Инструкция по переносу объектов из расширения Cfe в основную конфигурацию Cf.

29.10.23

База данных - Обновление 1С

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

Инструкция по переносу объектов из расширения Cfe в основную конфигурацию Cf.

 

Аннотация:

Широко разрекламированная кампания 1с по развитию расширений привела к тому, что разработчики погнались за мнимым удобством обновлений и вместо гармоничного развития продукта рождается калека.

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

 - Справочник «Сделки» в основной конфигурации, часть реквизитов в «расширение1»

- Документ «Счет» в основной конфигурации, в «расширение1» добавлен реквизит паспорт, в «расширение2» добавлен реквизит номенклатура.

- Регистры накопления могли быть в основной конфигурации, а регистраторы в нескольких расширениях.

В чем подвох:

                - Отладка и так достаточно сложна, а при такой разработке становится практически невозможной.

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

 

  1. Готовим файл CFE

Выгружаем расширение в Файлы.

Удаляем из файла Configuration.xml строки:

<ConfigurationExtensionPurpose>AddOn</ConfigurationExtensionPurpose>

<ObjectBelonging>Adopted</ObjectBelonging>

<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>

<NamePrefix>ПР_</NamePrefix>

 Остальные объекты обрабатываем через Total Commander

Выделяем группы/папки которые будем обрабатывать. Тут, как говорится, на ваше усмотрение.

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

 

Примерная таблица папок:

//AccumulationRegisters

Catalogs

ChartsOfCharacteristicTypes

CommandGroups

CommonCommands

CommonPictures

Constants

DataProcessors

Documents

Enums

//InformationRegisters

Languages

Reports

Roles

StyleItems

 

 

 

Выводим на панель

 

 

В результатах поиска выделяем все и перетаскиваем в Нотепад ++

 

 

Делаем замену во всех открытых файлах строки:

<ObjectBelonging>Adopted</ObjectBelonging> на пустую строку.

 

 

Выдаст вопрос: сохранить? - отвечаем да для всех.

  1. Делаем загрузку из файлов в пустую конфигурацию и сохраняем cf-ник.

Внимание! Если при загрузке перенос не прошел, то устраняем в расширении причину ошибки и проводим шаги 1- 4 повторно.

Пример ошибки:

 

 

  1. Объединение с рабочей конфигурацией.

1 Разворачиваем копию с рабочей базы.

2 УДАЛЯЕМ РАСШИРЕНИЕ. Если этого сразу не сделать, будут проблемы с применением объединения. И придется по новой восстанавливать базу и делать сравнение/объединение.

 

 

3 Объединяем рабочую конфигурацию с конфигурацией, полученной из расширения

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

Внимание! Если в результате у вас не получились УСТАНОВИТЬ СООТВЕТСТВИЕ по всем объектам, заимствованным в расширение, то после объединения вы можете получить в реквизите тип «строка». См пример ниже. Найти ошибку получится только когда пользователи начнут работать и у них вдруг полезут ошибки.

Пример ошибки:

 

 

4 Проверяем, что у документов присутствуют все регистры в движениях, добавляем.

 

 

  1. Исправление текстов модулей

Внимание! Обязательно пройдитесь по переносимым документам и проверьте, что в процедуре «ПередЗаписью» в модулях объектов есть строка:

                Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли;

Если при переносе вы переносите частично заимствованные объекты и у вас в расширении были директивы «#Вместо», «#Перед», «#После», то проверьте и удалите директиву: «ПродолжитьВызов».

После сравнения и объединения еще раз открываем расширение и проходим по модулям объектов, присутствующих в расширении, и переносим коды процедур модуля «перед записью, «обработка проведения», «заполнение объекта», которые были добавлены в расширение.

 

  1. Проверка Команд

Внимание! Был случай, когда пропали параметры команды. Требуется пройтись по расширению и проверить, что параметры команды после переноса заполнены.

 

 

  1. Перенос данных Справочников, документов, независимых регистров сведений

Для переноса используем обработку: Выгрузка и загрузка данных XML. (Я использую одну из обработок с Инфостарта с добавленным отбором).

Из копии, в которой присутствует переносимое расширение, начинаем выгрузку/загрузку.

Идем по порядку, сначала выгружаем справочники, документы, регистры.

Если при загрузке увидели ошибку, то заходим в конфигуратор и выстраиваем порядок реквизитов так же, как в выгружаемом xml файле. Это касается реквизитов и табличных частей.

 

 

 

Настройки при выгрузке через обработку:

Важно! Отключить отметки выгружать при необходимости.

 

 

Получили ошибку, добавляем регистраторы, которые потеряли при сравнении объединении:

 

 

 

  1. Выгрузка регистров накопления

Вообще это исключительная ситуация, т.к.  после переноса всех документов регистры должны совпадать.  Поэтому если вы видите несовпадения регистров – ищите, что вы не перенесли.  

  1. Сверка данных

Для сверки делаем запросы по всем справочникам, документам, регистрам, которые участвуют в расширении. Обращаем внимание на регистры, которые были изменены в процессе удаления расширения.

 

 

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

Инструкция расширения Cfe объединение перенос разработка

См. также

Обновление 1С Рефакторинг и качество кода 1С v8.3 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 1С:Документооборот Россия Абонемент ($m)

Представляю вашему вниманию конфигурацию "Проверка конфигураций", которая позволяет проверять любые конфигурации и расширения на наличие ошибок, связанных с вызовом экспортных функций и процедур общих модулей и модулей менеджеров объектов. Проверяются ошибки: 1) Метод объекта не обнаружен 2) Недостаточно фактических параметров. 3) Слишком много фактических параметров. Рекомендуется выполнять при подготовке обновлений.

10 стартмани

17.10.2025    3621    15    Suker86    9    

17

Обновление 1С Программист 1С v8.3 Бесплатно (free)

Как быстро починить обновление при ошибках в данных без использования внешних обработок.

13.10.2025    3235    VetalDV    7    

8

Обновление 1С Программист 1С v8.3 Бесплатно (free)

При обновлении конфигураций ЕРП/КА/УТ типовыми обновлениями можно получить ошибку  Превышен максимальный расход памяти сервера за один вызов". С чем это связано? Рассмотрим исправление этой ошибки.

18.08.2025    3756    iolko    10    

19

Обновление 1С Системный администратор Программист 1С v8.3 Россия Абонемент ($m)

Внешняя обработка "Запуск процедур обновления" предназначена для запуска процедур обновления в типовых конфигурациях, а также в конфигурациях, где поддерживается типовой механизм обновления по подсистемам. Это может быть полезно тем, кто разрабатывает и поддерживает свои подсистемы на базе типового механизма. Тестировщики, разработчики.

1 стартмани

16.07.2025    1293    8    lastpioneer    0    

9

Рефакторинг и качество кода Обновление 1С Программист 1С v8.3 Бесплатно (free)

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

02.07.2025    5581    1c-izh    9    

13

DevOps и автоматизация разработки Обновление 1С Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

Продолжаем делиться опытом ICL SOFT – в этой статье рассказываем о сложном обновлении сильно доработанной конфигурации "1С:ERP Управление холдингом с версии 3.1.8.15" до актуальной версии редакции 3.2. Публикации о сложных обновлениях, которые можно найти в открытых источниках, содержат мало подробной информации об использованных инструментах и решениях. Часто в них отсутствует информация о том, что находится под капотом этих решений. Будем рады, если наша статья окажется полезной

1 стартмани

01.07.2025    3261    vladimir_iclsoft    1    

22