diff1C - помощник обновления модифицированных конфигураций (exe)

20.02.23

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

Расширение возможностей сравнения/объединения конфигураций: 1. Когда база была обновлена криво, и "дважды измененные" работают плохо. Автоматически применяет изменения, если в модуле нет комментариев доработки (типа //+). 2. Когда требуется прикрутить P4Merge к двухстороннему сравнению/объединению (включая расширения).

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
diff1C
.exe 5,97Mb
15
15 Скачать (1 SM) Купить за 1 850 руб.

Исходники: https://github.com/tetraren/diff1C

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

Поддерживает как трехсторонее, так и двухстороннее объединение.

 

Суть работы:

Идея очень проста. Предполагается, что все доработки оформлены комментариями с отметкой разработчика. Примерно так

 

 

Программа анализирует, есть такие комментарии в коде модуля, и если нет - просто использует режим "взять из файла". Если есть - запускается PMerge с возможностью выбрать, какие изменения нужны.

Таким образом большинство модулей объединяется автоматически, а там, где нужен ручной контроль - он остается под вашим контролем в полной мере. 

Попутно пишется лог, где можно посмотреть, какие решения были приняты программой (путь к логу указывается в командной строке).

Настройка:

Зайти в конфигуратор -> Сервис -> Параметры -> Сравнение/объединение -> Добавить

Объединение двух файлов:

-keywords "//#,//+" -exe .\P4Merge\p4merge.exe -log .\diff1c.log -tbase %baseCfgTitle -tnew %secondCfgTitle -base %baseCfg -new %secondCfg -merge %merged

Трехстороннее объединение:

-keywords "//#,//+" -exe .\P4Merge\p4merge.exe -log .\diff1c.log -tbase %baseCfgTitle -tnew %secondCfgTitle -told %oldVendorCfgTitle -old %oldVendorCfg -base %baseCfg -new %secondCfg -merge %merged

 

Должно получиться примерно так:

 

 

В приведенных примерах выше (просто как пример) программа ищет комментарии //# и //+, лог пишет в diff1c.log в папке программы, PMerge расположен в подпапке .\P4Merge

Естественно, текущему пользователю должна быть доступна запись в каталог расположения лог-файла.

P4Merge можно скачать тут https://www.perforce.com/downloads/visual-merge-tool

Полный комплект (с P4Merge, не требует установки) - тут: https://github.com/tetraren/diff1C/releases/tag/v1.0.0

Протестировано на 1С:ERP.Управление холдингом 3.1.10.8 (сильно доработанной, естественно).

обновление типовых

См. также

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

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

21.03.2025    873    Gummi_pr    10    

6

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

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

10 стартмани

18.02.2025    855    PetrovAnton    6    

5

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

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

10 стартмани

18.02.2025    741    5    kalyaka    0    

7

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

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

1 стартмани

17.02.2025    357    0    slavik27    0    

3

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

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

2 стартмани

06.02.2025    2007    16    XilDen    26    

35

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

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

05.02.2025    2158    Nonik    10    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. EvgenAlKuznetsov 20.02.23 17:12 Сейчас в теме
Или я что то не догоняю или автор придумал то, что уже заложено в штатный функционал - перенос изменений через расширения (&ИзменениеИКонтроль + KDiff). Я таким методом вернул "под замок" изменённую БП и ЗУП, изменения вывел в расширение и теперь поддерживать в актуальном состоянии гораздо проще.
2. v8_088 20.02.23 17:57 Сейчас в теме
(1) Не все конфы поддерживают расширения.
Например на обычных формах перенеси ;)
3. partizand 140 20.02.23 20:09 Сейчас в теме
Непонятно, чем это отличается от "дважды изменённых"?
4. tetraren 37 20.02.23 20:22 Сейчас в теме
(3) Дважды измененное может не содержать ваших изменений, это могут быть следы обновления с предыдущих типовых или "частичные обновления", когда в старую типовую добавляются куски новой, чтобы по-быстрому решить текущую проблему.

Вообще, при обновлении криво обновленной ранее конфы - очень актуально. Ради этого и делалось изначально, к слову.

Ну и бонусом - использовать P4Merge на двухстороннем сравнении (т.к. из коробки он умеет только трехстороннее). Забавно, но эту фичу куда чаще использую, чем трехстороннее. Удобно накатывать свои изменения там, где еще и другие активно правят - изменений куча, но важны только те, где есть твои комменты. Программа в этом помогает.
5. zabaluev 465 06.03.24 16:12 Сейчас в теме
Вещь интересная, большинство не оценят, т.к. не в теме.
Но иногда срабатывает странно или я не разобрался.
Например после обновления, после проверки возможности применения расширения, появляются предупреждения "Восстановить соответствие с методом конфигурации". Если нажать на сообщение, то в случае конфликта появляется окно для устранения конфликта. Выбираю вариант разрешения, все срабатывает правильно. А иногда, в случае отсутствия конфликта все делается автоматически, но в результате выкидываются все вставки и удаления. Т.е. приводит код процедуры к коду конфигурации, выкинув все корректировки.
Оставьте свое сообщение