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

20.02.23

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

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

Файлы

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

Наименование Скачано Купить файл
diff1C
.exe 5,97Mb
17 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Исходники: 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)

Как быстро починить обновление при ошибках в данных без использования внешних обработок.

13.10.2025    2476    VetalDV    7    

7

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

При обновлении конфигураций ЕРП/КА/УТ типовыми обновлениями можно получить ошибку  Превышен максимальный расход памяти сервера за один вызов". С чем это связано? Рассмотрим исправление этой ошибки.

18.08.2025    3507    iolko    10    

19

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

Внешняя обработка "Запуск процедур обновления" предназначена для запуска процедур обновления в типовых конфигурациях, а также в конфигурациях, где поддерживается типовой механизм обновления по подсистемам. Это может быть полезно тем, кто разрабатывает и поддерживает свои подсистемы на базе типового механизма. Тестировщики, разработчики.

1 стартмани

16.07.2025    1198    8    lastpioneer    0    

9

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

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

02.07.2025    5347    1c-izh    9    

13

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

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

1 стартмани

01.07.2025    2989    vladimir_iclsoft    1    

22

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

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

18.06.2025    4660    1c-izh    14    

12

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

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

04.06.2025    4576    1c-izh    13    

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 40 20.02.23 20:22 Сейчас в теме
(3) Дважды измененное может не содержать ваших изменений, это могут быть следы обновления с предыдущих типовых или "частичные обновления", когда в старую типовую добавляются куски новой, чтобы по-быстрому решить текущую проблему.

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

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