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

20.02.23

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
diff1C
.exe 5,97Mb
17
17 Скачать (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С Программист 1C:ERP Бесплатно (free)

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

29.04.2025    1166    krasnoshchekovpavel    6    

14

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

Методика, описанная в статье, выработана при переезде с 1С:ДО 2.1 на 1С:ДО 3.0. Может также применяться при переходе с 1С:УПП на 1C:ERP, 1C:ERP на 1C:ERP УХ и т. п. Учтены все необходимые доработки при переезде на новую конфигурацию и предупреждены возможные ошибки.

21.04.2025    1138    PROSTO-1C    4    

4

Обновление 1С Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1C:ERP Абонемент ($m)

Внешняя обработка для обновления расширений и дополнительных обработок 1С из GitHub. Поддерживает как публичные, так и приватные репозитории, фильтрацию релизов по версии конфигурации, скачивание .cfe, .epf, .erf.

1 стартмани

15.04.2025    1594    5    Aleksandr    0    

21

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

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

1 стартмани

02.04.2025    716    3    DoubleT    8    

5

Обновление 1С Linux Системный администратор Программист Бесплатно (free)

Пошаговая инструкция для обновления платформы 1С на сервере Linux Debian.

28.03.2025    1194    California_Dreaming    2    

5

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

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

21.03.2025    1197    Gummi_pr    10    

7

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

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

10 стартмани

18.02.2025    1110    PetrovAnton    6    

5

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

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

10 стартмани

18.02.2025    1089    5    kalyaka    0    

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

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

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