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

При обновлении релиза конфигурации УТ появилась ошибка "Ошибка формата потока".

21.03.2025    667    Gummi_pr    10    

5

Обновление 1С Программист Платформа 1С v8.3 1С:ERP. Управление холдингом Абонемент ($m)

Описан практический пример обновления через копию конфигурации 1С:ERP. Управление холдингом с версии 3.2.6.6 на версию 3.2.6.7, который можно применять на других конфигурациях и версиях.

10 стартмани

18.02.2025    815    PetrovAnton    6    

5

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

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

10 стартмани

18.02.2025    718    5    kalyaka    0    

7

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

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

1 стартмани

17.02.2025    349    0    slavik27    0    

3

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

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

2 стартмани

06.02.2025    1964    16    XilDen    26    

35

Групповая разработка (Git, хранилище) Обновление 1С Программист Платформа 1С v8.3 Россия Бесплатно (free)

Внедряем проверку новых версий прямо в расширение. Оповещайте о новых версиях и показывайте пользователям список изменений. Для разработчиков, которые хотят сэкономить время и повысить лояльность клиентов!

05.02.2025    2071    Nonik    10    

17