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

20.02.23

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

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

Файлы

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

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

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Исходники: 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С 8.3 Абонемент ($m)

Если обновление 1С уже падало с "Записи регистра сведений стали неуникальными", вы знаете, что платформа называет только первый такой регистр, и каждый следующий всплывает новым запуском обновления. Проверьте заранее: снимите слепок регистров в базе с новой конфигурацией и нажмите "Проверить" в рабочей. Обработка покажет все регистры сведений, где записи после обновления совпадут по измерениям, и сами группы таких записей: укороченная строка, меньше знаков после запятой, укрупнённая периодичность, убранный из составного тип. Удалённое измерение называет, но записи по нему не считает. Что разобрать не может, называет с причиной и в "дублей не найдено" не записывает. Только чтение, без доступа к таблицам СУБД.

10 стартмани

09.11.2026    200    0    nedomolkov.ivan    0    

3

Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.

03.11.2026    599    nedomolkov.ivan    12    

5

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

Вторая часть серии о переходе ERP 2.5 на 2.6. Я сравнил чистые выгрузки 2.5.27.88, 2.6.1.70 и 2.6.2.59 и выписал то, чего нет в официальных описаниях версий: какие экспортные методы удалены поимённо, какие документы больше нельзя создать и при каком условии, что переименовали без предупреждения. Из двенадцати механизмов, от которых отказывается 1С, к 2.6.2 удалены только два, а большая часть удалённого к ним не относится. Отдельно разбираю, почему перехватчики &ИзменениеИКонтроль ломаются на процедурах, где поменялся только английский текст, и почему доработки выгоднее готовить сразу под 2.6.2. Будет полезно разработчикам, которые сопровождают расширения и внешние обработки на ERP 2.5.27, и тем, кто планирует сроки перехода.

20.10.2026    974    lexatsch    6    

8

Обновление 1С Разработчик 1С 8.3 1С 8.5 Абонемент ($m)

Перед обновлением типовой конфигурации обработка читает код ваших доработок — внешних обработок, отчетов и расширений — и сверяет каждое обращение к конфигурации со старым и новым релизом. Результат — один отчет по всем доработкам: файл и строка, сам фрагмент кода и понятная причина («метод теперь принимает один параметр», «значение перечисления удалено», «перехватываемый метод не найден»). Исходники релизов и обработок можно подготовить прямо из обработки — пакетным запуском Конфигуратора.

3 стартмани

19.10.2026    331    1    InShallaH    0    

3

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

1С считает, что перейти с ERP 2.5 на 2.6 не сложнее, чем обновиться между версиями длительной поддержки, а обязательным переход станет не раньше 30 апреля 2027 года. Я решил проверить это заранее на нашей доработанной ERP 2.5.27, где есть два больших расширения и 517 внешних отчётов и обработок. Форма готовности нашла четыре механизма, которые надо перевести, а про код промолчала. Проверка применимости на чистой 2.6.1 выдала 478 проблем, и настоящих среди них меньше сотни. А сверка кода со словарём изменений нашла ещё 63 проблемы, которых проверка применимости вообще не видит. Часть из них не даст открыть модуль, остальные вылезут уже у пользователей. Рассказываю, как проверить применимость расширения к 2.6.1 без записи в базу, что ловит компилятор, что ломается чаще всего и чем это заменить.

16.10.2026    666    lexatsch    0    

3

Инструментарий разработчика Обновление 1С Разработчик 1С 8.3 Бесплатно (free)

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

29.09.2026    1202    140    nedomolkov.ivan    2    

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

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

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