|
Как обновить измененное расширение поставщика? Hawk_1c, Franchiser, 2mugik, Dmitrii, Timon1405, Шаграм, Chameleon1980, BOOL, Новиков, Галахад, Доминошник, Михаил_, kir-g, alexxx961503, dedmoroz777, Niger1C, Prog_man, Климов Сергей, troyka, obs191, DeeK, shuhard, okmail, Бычье сердце, Seriy_Volk, X Leshiy, Ненавижу 1С, paramedic, JohnGilbert, program345, viraboy, Мультук, ДиВаH2, KJlag, San787, maxar, Смотрящий, Fragster, reg0303, yanikolay, trk415e76, Krendel, DrZombi, ГдеСобакаЗарыта, Builder, Волшебник, Толич, Greeen, Eiffil123, Джордж1, Прохожий, КонецЕсли
| ☑ | ||
|---|---|---|---|---|
|
0
program345
01.09.26
✎
11:42
|
Коллеги, доброго дня!
Заказчик просил внести изменения в типовое расширение Контур.Логистика. Изменений накопилось достаточно много. Иначе говоря, есть конфигурация расширения РасширениеКонтурЛогистика версии 1.20, я туда внес изменения, добавил подсистемы, изменил общие модули, формы документов. Сейчас вышло обновление 1.21 как мне провести трехстороннее сравнение/объединение старой версии(1.20), основной конфигурации(1.20 изменённой) и новой версии(1.21)? Руками то можно, но может есть более простой метод? |
|||
|
1
Гений 1С
гуру
01.09.26
✎
13:28
|
откатить, накатить новое, внести изменения.
|
|||
|
2
Толич
01.09.26
✎
13:36
|
Эээ... А как Вы обычные измененные типовые конфигурации обновляли? В чем разница принципиально?
|
|||
|
3
Ненавижу 1С
гуру
01.09.26
✎
13:41
|
(2) у расширения нет "конфигурации поставщика", поэтому нет и "трехстороннего" сравнения
|
|||
|
4
Timon1405
01.09.26
✎
13:42
|
(2) в том что *cfe из коробки не умеют в трехстороннее сравнение в отличие от *cf
|
|||
|
5
Толич
01.09.26
✎
13:46
|
(1) Там в расширении много хранимых данных, откатывать не вариант наверное.
Я в таких ситуациях в соседнем окне открываю сравнение двух версий конфигураций поставщика и переношу руками измененные нами объекты в своей конфигурации, не измененные записываю. Потом не измененные накатываю из новой конфигурации поставщика. Все зависит от конфигурации, но в 90% так делаю. Потом проверяешь все ли перенес. Получившуюся конфигурацию сравниваю с новой конфигурацией поставщика и в соседнем окне старую копию с старой конфигурацией поставщика. |
|||
|
6
JohnGilbert
01.09.26
✎
13:48
|
(0) Взять не доработанную 1.20, доработанную 1.20, недоработанную 1.21. Выгрузить в файлы, взять Kdiff3 (p4merge etc) написать скрипт, который прогонит это в трехстороннем режиме.
|
|||
|
7
Dmitrii
гуру
01.09.26
✎
13:49
|
(0) >> есть более простой метод?
По сути вопроса ответ - нет. Более простого метода не существует. О чём говорилось миллион раз фанатам расширений. Так что в трёх разных окнах запускам сравнение конфигураций расширений. типового 1.20 с доработанным 1.20 типовых 1.20 с 1.21 И ручками объединяем доработанное 1.20 с новым типовым 1.21. Единственное, о чём может не все знаю. Расширения можно сравнивать не в отдельных конфигураторах, а в одном. В конфигураторе в главном меню "Конфигурация" - "Сравнить конфигурации". Первая конфигурация - "Файл" и указываем файл расширения cfe. Вторая конфигурация - "Файл" и указываем второй файл расширения cfe. Убираем галку "Устанавливать соответствия по именам" и жмём Ок. |
|||
|
8
JohnGilbert
01.09.26
✎
14:08
|
(7) Фантастический изврат
|
|||
|
9
Dmitrii
гуру
01.09.26
✎
14:05
|
(8) KDiff хорош, для сравнения-объединения модулей.
Для сравнения форм и объектов наглядней контролировать всё в графическом виде. |
|||
|
10
JohnGilbert
01.09.26
✎
14:08
|
(9) Формы и объекты - те же xml, никакой разницы не будет.
|
|||
|
11
Franchiser
01.09.26
✎
14:10
|
||||
|
12
Dmitrii
гуру
01.09.26
✎
14:17
|
(10) >> Формы и объекты - те же xml
Я знаю. >> никакой разницы не будет. По факту да. Хотя вслепую я бы KDiff не доверился. Лично мне (если бы таким извращением занимался) было бы проще и надёжней всё сравнить глазами. Тут ещё важен аспект того - как типовое расширение дорабатывалось. Одно дело, если формы допиливались программно и основные доработки делались в дополнение и в виде своих объектов. И другое дело, если всё писалось по живому с переделкой вручную самих форм и переписыванием кода разработчиков на свой лад, без оглядки на необходимость потом обновляться. А ещё масштабы. Масштаб собственных доработок, масштаб изменений от вендора и масштаб их наложения друг на друга. Ну и вопрос привычки. |
|||
|
13
Dmitrii
гуру
01.09.26
✎
14:19
|
(11) >> Конвертация расширения cfe в cf
А смысл?... Создать cf-ник, сделать поставку, поставить на поддержку, поставку обновления, прикрутить доработки, а потом трёхсторонне сравнение запустить?... Ну такое.... |
|||
|
14
JohnGilbert
01.09.26
✎
14:23
|
(12) Тут соглашусь, делать надо как удобнее себе.
Если всё сделано по уму - свои объекты, врезки в типовые методы с вызовом своих методов из своих модулей, явное выделение комментариями всех врезок\доработок - KDiff3 обновит всё автоматом. Если расширение дорабатывалось на живую по типовому коду, без выделения комментариями, с добавлением методов в типовые модули, то собирать только в ручную. Я бы на месте автора типовое сравнение через Kdiff сделал в конфигураторе, уверен на час-два работы, вряд ли он там так перепилил, что собрать нельзя не напрягаясь. |
|||
|
15
program345
01.09.26
✎
14:25
|
(6) ты имеешь ввиду батничек такой:
@echo off
echo Starting three-way merge of extensions...
set BASE=C:\TEMP\Merge\Base
set CHANGES=C:\TEMP\Merge\Changes
set BASE2=C:\TEMP\Merge\Base2
set RESULT=C:\TEMP\Merge\Result
:: Проверка существования исходных папок
if not exist "%BASE%" (
echo Error: Base folder not found: %BASE%
pause
exit /b 1
)
if not exist "%CHANGES%" (
echo Error: Changes folder not found: %CHANGES%
pause
exit /b 1
)
if not exist "%BASE2%" (
echo Error: Base2 folder not found: %BASE2%
pause
exit /b 1
)
:: Создание папки для результата, если её нет
if not exist "%RESULT%" mkdir "%RESULT%"
echo Merging folders:
echo Base : %BASE%
echo Changes: %CHANGES%
echo Base2 : %BASE2%
echo Result : %RESULT%
:: Запуск KDiff3 с ключом --auto и явным указанием путей
"C:\Program Files\KDiff3\kdiff3.exe" --merge --auto "%BASE%" "%CHANGES%" "%BASE2%" -o "%RESULT%"
echo.
echo Merge completed. Check the Result folder.
pause
или что-то другое? |
|||
|
16
shuhard
01.09.26
✎
14:37
|
(0)с 21 релиза появилась подсистема по УФ, я в октября слезу с расширения
|
|||
|
17
Franchiser
01.09.26
✎
14:40
|
(13) если цель сделать трёхстороннее сравнение штатными средствами, то почему нет. Если свои доработки известны, то можно и двухсторонним обойтись сравнивая две пары конфигураций.
|
|||
|
18
JohnGilbert
01.09.26
✎
14:48
|
(15) Да, что-то подобное, по одной конфе бежим, берем имя папки, находим в двух других, рекурсивно прогоняем вложенные файлы через сравнение. В настройках сравнивалки только отключить подтверждение автоматического слияния, что бы ОК до позеленения не нажимать и почистить шум (не сравнивать пробелы, табы etc).
|
|||
|
19
Dmitrii
гуру
01.09.26
✎
15:57
|
(17) >> ... то почему нет
Ну не то чтобы категорическое "нет". Можно конечно сделать. Просто пипец, как муторно. Даже если доработки все делались через известное место и кривыми руками, ИМХО, проще запустить три сравнения файлов cfe. Чем так вот заморичиваться. Хотя... я сам чуть выше написал, что это вопрос привычки. Так что если не лень, то можно и так извратиться. |
|||
|
20
JohnGilbert
01.09.26
✎
15:58
|
(15) KDiff умеет и директории сравнивать, но не пробовал. Может и не нужно по имени папок, а достаточно сразу скопом сравнивать.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |