Инструкция по переносу объектов из расширения 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 Бесплатно (free)

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

02.07.2025    465    1c-izh    2    

7

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

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

1 стартмани

01.07.2025    636    vladimir_iclsoft    1    

14

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

Тестовая база обновлена через все ключевые релизы, всё протестировано, остатки сведены, вы готовы обновить «боевую» базу, но…по замерам для этого потребуется целая неделя, а у вас есть всего пара выходных. Знакомая ситуация? Расскажем, как увеличить скорость отработки промежуточных конфигураций!

18.06.2025    1737    1c-izh    12    

8

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

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

04.06.2025    3041    1c-izh    11    

16

Обновление 1С 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

Добавление в Справочник "Статьи затрат" отсутствующих предопределённых элементов.

1 стартмани

23.05.2025    389    0    qrw    0    

0

БСП (Библиотека стандартных подсистем) Обновление 1С Программист 1C:ERP Бесплатно (free)

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

29.04.2025    2261    krasnoshchekovpavel    7    

18

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

Методика, описанная в статье, выработана при переезде с 1С:ДО 2.1 на 1С:ДО 3.0. Может также применяться при переходе с 1С:УПП на 1C:ERP, 1C:ERP на 1C:ERP УХ и т. п. Учтены все необходимые доработки при переезде на новую конфигурацию и предупреждены возможные ошибки.

21.04.2025    2524    PROSTO-1C    4    

4

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

Внешняя обработка для обновления расширений и дополнительных обработок 1С из GitHub. Поддерживает как публичные, так и приватные репозитории, фильтрацию релизов по версии конфигурации, скачивание .cfe, .epf, .erf.

1 стартмани

15.04.2025    1972    7    Aleksandr    0    

21