Конвертация расширения cfe в конфигурацию сf руками

0. wtlz 151 18.03.20 10:10 Сейчас в теме
Как быстро преобразовать расширение в конфигурацию (для дальнейшего переноса в основную конфигурацию, например).

Перейти к публикации

artbear; cprit; yurikmellon; +3 Ответить
Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. VKislitsin 18.03.20 10:21 Сейчас в теме
Отличный лайфхак! Нравятся мне такие подходы.
TeMochkiN; Mails79; echo77; NoRazum; gubanoff; pavelpribytkin96; pm74; +7 Ответить
2. Torin 244 18.03.20 10:51 Сейчас в теме
Зачетно! Однозначно + ...А из cf в cfe изыскания не проводили?
JohnyDeath; pavelpribytkin96; CyberCerber; +3 Ответить
3. wtlz 151 18.03.20 10:54 Сейчас в теме
(2) ещё нет, но скорее всего добавление того, что нужно вырезать поможет и в обратную сторону
4. Torin 244 18.03.20 10:55 Сейчас в теме
(3) Буду ждать ваших изысканий в этом направлении
5. for_sale 800 18.03.20 15:08 Сейчас в теме
6. Vladimir Litvinenko 2362 18.03.20 15:24 Сейчас в теме
Интересное решение, спасибо! Хотелось бы конечно более подробного примера с тем, что делать дальше и какие подводные камни могут возникнуть, если вдруг Вы встречались с ними.

Если расширение полностью независимо от основной конфигурации, то судя по всему проблем не будет. Но вот сейчас попробовал объединить с cf-файлом, полученным описанным способом, в котором были заимствованные из основной конфигурации формы. Добавлены элементы не программно - через дизайнер форм. При сравнении система предложила загрузить такое свойство как "Сохраняемая форма" )) Объединение форм с приоритетом основной конфигурации всё равно приводит к замещению формы и все элементы из неё пропадают. Видимо какие-то внутренние свойства этому способствуют - пока подробнее не разбирал.

Для объединения модулей и реквизитов решение очевидно подходит.
Ещё один аргумент в пользу программного изменения форм даже в расширениях конфигурации ))
Darklight; байт; awk; +3 Ответить
7. CyberCerber 574 18.03.20 16:02 Сейчас в теме
Я, может, пропустил в тексте, но этот подход работает только для новых объектов в расширении?
Как написал Владимир выше, проблемы с расширенными формами. А что будет, если в расширении добавили реквизит к объекту основной конфы? Или изменили существующий реквизит? Ну и много подобных примеров.
12. wtlz 151 18.03.20 22:41 Сейчас в теме
(7) для новых объектов работает точно.
Постараюсь описать добавление, изменение реквизитов в следующей редакции статьи)
21. CyberCerber 574 19.03.20 17:25 Сейчас в теме
(12) Спасибо
И еще про превращение cf -> cfe. Мне это даже интересней.
8. pm74 176 18.03.20 16:10 Сейчас в теме
(0) присоединяюсь к вопросу в [7] ,
а в целом статья зачетная плюс вам в карму
9. cprit 348 18.03.20 19:01 Сейчас в теме
предлагаю рассмотреть реализацию подобного функционала на oscript
https://github.com/best-tech/cfe2cf
Vladimir Litvinenko; VKislitsin; wtlz; +3 Ответить
10. Vladimir Litvinenko 2362 18.03.20 20:30 Сейчас в теме
(9) Спасибо! Там кстати не производится замена на пустые строки следующего текста

<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
<NamePrefix>ПР_</NamePrefix>

Интересно, на OneSript написали потому что действительно в каком-то случае часто эту операцию приходится выполнять?
15. cprit 348 19.03.20 09:35 Сейчас в теме
(10)
Спасибо! Там кстати не производится замена на пустые строки следующего текста


Надо будет поправить и им пул реквест скинуть




(10)
Интересно, на OneSript написали потому что действительно в каком-то случае часто эту операцию приходится выполнять?

удобно если делаешь автоматическую сборку. Я использую с нескольких проектах в Jenkins-е
11. wtlz 151 18.03.20 22:12 Сейчас в теме
(9) спасибо, обязательно дополню статью примером!
13. tormozit 5912 19.03.20 07:05 Сейчас в теме
Отчего же не сделал внешнюю обработку для автоматизации процесса?
ИР например умеет делать обратную операцию автоматически - преобразует свою конфигурацию в расширение.
mvxyz; acanta; +2 Ответить
16. wtlz 151 19.03.20 09:40 Сейчас в теме
(13) спасибо за коммент насчёт ИР - не знал, добавлю позже в содержание.
Обработку не писал, ибо не настолько часто делаю эту операцию. А как выяснилось из (9), инструмент уже написан :)
18. байт 49 19.03.20 13:49 Сейчас в теме
(13) А где там, в какой версии? Не могу найти.
19. tormozit 5912 19.03.20 14:23 Сейчас в теме
(18) На странице описания расширения указано
Выпуск из чистой подсистемы
Откройте на платформе 8.3.10.2375+ в любой другой базе с подсистемой через интерфейсную панель общую форму "Выпуск варианта Расширение"
Укажите в "Каталоге выпуска", куда помещать выпускаемый файл
Закройте конфигуратор этой базы
Нажмите Выполнить
20. байт 49 19.03.20 14:40 Сейчас в теме
14. байт 49 19.03.20 08:43 Сейчас в теме
Молодец, взял на заметку спасибо.
17. Darklight 22 19.03.20 09:49 Сейчас в теме
Идея хорошая. Статья не очень (хотелось бы подробнее). Сделайте лучше обработку по автоматизации данного процесса конвертации (коли компания 1С сама не в силах предложить такой сервис в платформе, ну или внешней типовой обработкой хотя бы).
Я, вот , всегда для расширений делаю и cf файлы для поставки с вместе с ними. Но приходится делать это вручную - перенося метаданные. Была бы автоматизация - было бы куда проще
22. wtlz 151 20.03.20 19:12 Сейчас в теме
(17) спасибо за отзыв. Расскажите, что именно хотелось бы рассмотреть подробнее?
И, в свете существования инструмента на 1script, действительно ли нужна обработка?
23. Darklight 22 20.03.20 20:00 Сейчас в теме
(22)Подробнее - про процесс сравнения - для чего это вообще надо. Что надо искать и что менять. В идеале - тут не должно быть сравнения - тут должны быть инструкции - вот открываем xml файл конфигурации от cfe - правим там такие-то строчки (конкретные) - сохраняем - получаем конфигурацию для сf.
А вот отдельно написать - что делать - если прямая инструкция по модификации не помогла (хотя насколько я знаю, загрузка конфигураций из xml достаточно терпима - если загружать xml немного не в том формате, что ожидается - особенно если он просто более младшей версии). Вот тогда, уже и сравнение нужно - но нужно написать на что обращать внимание и что переносить.
И как я написал, лучше через обработкой автоматизировать (включая выгрузку загрузку xml и даже формирование cf/cfe). Как автоматический вариант - просто вносящий известные (для версии обработки) правки. Так и аналитический вариант - когда обработка сама выгрузит в xml и cfe и пустую конфигурацию cf текущей версии платформы - сама сравнит и сама внесёт изменения и обратно загрузит.
Так и ручной вариант - когда обработка покажет те изменения что ей известны (или проанализированы в сравнении) - а пользователем уже сам окончательно примет решения что править по правилам обработки а что вручную
24. user1382578 23.03.20 12:02 Сейчас в теме
Попробуйте через конвертор поработать
25. wtlz 151 23.03.20 12:04 Сейчас в теме
(24) уточните, пожалуйста, какой конвертор? и ссылку на него, если есть, пожалуйста
27. wtlz 151 25.03.20 08:49 Сейчас в теме
(26) спасибо, и уже подсказали в (9)
28. check2 125 25.03.20 22:26 Сейчас в теме
А ещё правильнее и проще для этого использовать EDT, в особенности если есть импортированные и перепаянные УФ. Просто берёте и сравниваете / объединяете проект конфигурации и расширения... Правда, если в расширении есть обычные формы ( не знаю возможно ли это? Я сам не пробовал) EDT будет бессилен.
29. Drivingblind 127 23.07.20 07:37 Сейчас в теме
Подскажите, кто сталкивался с такой ошибкой? Сохраняю расширение в cf, но при попытке обновить конфигурацию БД (иногда просто при попытке сохранить), выпадает эта ошибка. Платформа 8.3.16.1063.
Так и должно быть или я делаю что-то не так?
Прикрепленные файлы:
Оставьте свое сообщение
Вопросы с вознаграждением