Diff&Merge - менеджер генерации кода модулей расширений 1С: авто-префиксы &ИзменениеИКонтроль

02.06.26

Разработка - Инструментарий разработчика

Автоматический генератор кода для расширений 1С. Инструмент берет на себя всю рутину по переносу доработок: отслеживает удаленные, измененные и новые методы, автоматически навешивает префиксы, формирует корректные директивы #Удаление/#Вставка и фильтрует закомментированный код. Никаких кривых блоков и пустых строк внутри директив — только чистый, готовый к вставке в конфигуратор код. Скачайте и попробуйте на своих модулях! Внутри публикации — подробный разбор алгоритма и примеры работы.

Файлы

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

Наименование Скачано Купить файл
Diff&Merge - генератор кода модулей расширений 1С: авто-префиксы &ИзменениеИКонтроль
.epf 20,63Kb
2 2 500 руб. Купить

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

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

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

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

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

Генератор расширений 1С: Умный Diff-перенос кода без мусора и ручной работы

Устали вручную оборачивать измененный код в `#Вставка` / `#Удаление`? Бесит мусор из пустых строк и кривое сравнение стандартными средствами?

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

Кому и зачем это нужно?

Инструмент создан для разработчиков, которые:

  • Переносят доработки из конфигураций-кастомов в расширения.
  • Обновляют свои расширения после изменения типового кода.
  •  Хотят получить чистый, читаемый код расширений без лишнего шума.
  •  Ценят свое время и не хотят тратить часы на механическое расставление директив `#Удаление` и `#Вставка`.

Главные фишки обработки

1. Алгоритм Patience Diff вместо топорного сравнения
Забудьте о "рваном" сравнении строк. В основе лежит алгоритм Patience Diff (тот же, что использует Git). Он находит уникальные якоря (неповторяющиеся строки) и строит по ним логическую структуру изменений. Результат — осмысленные блоки вставок и удалений, а не хаотичные куски кода.

2. Умная работа с директивами и пустыми строками
Стандартные средства сравнения часто засовывают пустые строки в `#Удаление` или `#Вставка`. Это визуальный мусор! Обработка:
Не удаляет пустые строки (они не несут смысла в `#Удаление`, засоряя код).
Вытаскивает пустые строки за пределы директив, сохраняя "вентиляцию" и отступы в теле процедуры такими, как вы их задумали.

3. Интеллектуальная фильтрация закомментированного кода
Часто при доработках старый код не удаляют, а комментируют `//`. Обработка распознает это! Если строка в `#Вставке` — это просто закомментированная строка из `#Удаления`, инструмент не будет плодить бессмысленные блоки, он элегантно обработает такую ситуацию.

4. Автоматическое навешивание префиксов
Забыли добавить префикс `Расш1_` к новому методу? Теперь это не ваша проблема. Инструмент автоматически:
Добавляет префикс ко всем новым процедурам и функциям.
Добавляет префикс в сигнатуры измененных методов (для `&ИзменениеИКонтроль`).

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

 

Как это работает?

Логика генерации проста и безотказна:
1.  Метод удален? → Генерируется метод `&Вместо` с пустым телом и префиксом.
2.  Метод изменен? → Генерируется метод `&ИзменениеИКонтроль`, внутри которого оригинальный код оборачивается в `#Удаление`, а ваш новый — в `#Вставка`.
3.  Метод добавлен? → Генерируется полная копия метода с автоматическим добавлением префикса в имя.

Пример использования

1. Вставляете текст исходного (типового) модуля.
2. Вставляете текст измененного (вашего) модуля.
3. Указываете префикс расширения (по умолчанию `Расш1_`).
4. Жмете одну кнопку.
5. Копируете готовый, красивый код прямо в расширение конфигуратора!

Поставщик

#Область ПрограммныйИнтерфейс

Процедура ПодготовитьДанныеДляПечати(ПараметрыПечати) Экспорт
    
    ПараметрыПечати.ДатаНачала = НачалоМесяца(ТекущаяДата());
    ПараметрыПечати.ДатаОкончания = КонецМесяца(ТекущаяДата());
    ПараметрыПечати.Организация = ПолучитьОрганизациюПоУмолчанию();
    ПараметрыПечати.Ответственный = ПолучитьТекущегоПользователя();
    
КонецПроцедуры

Функция ПолучитьСуммуДокумента(ДокументСсылка) Экспорт
    
    Сумма = ДокументСсылка.СуммаДокумента;
    Возврат Сумма;
    
КонецФункции

Процедура УдалитьСтарыеДанные() Экспорт
    
    УдалитьВременныеФайлы();
    ОчиститьКэшПользователя();
    
КонецПроцедуры

#КонецОбласти

Измененный код

#Область ПрограммныйИнтерфейс

Процедура ПодготовитьДанныеДляПечати(ПараметрыПечати) Экспорт
    
    ПараметрыПечати.ДатаНачала = НачалоМесяца(ТекущаяДата());
    //ПараметрыПечати.ДатаОкончания = КонецМесяца(ТекущаяДата()); Убрали конец месяца
    ПараметрыПечати.ДатаОкончания = КонецГода(ТекущаяДата()); // Теперь до конца года
    ПараметрыПечати.Организация = ПолучитьОрганизациюПоУмолчанию();
    ПараметрыПечати.Ответственный = ПолучитьТекущегоПользователя();
    ПараметрыПечати.Подразделение = ПолучитьТекущееПодразделение(); // Добавили строку
    
КонецПроцедуры

Функция ПолучитьСуммуДокумента(ДокументСсылка) Экспорт
    
    Сумма = ДокументСсылка.СуммаДокумента;
    
    // Добавили вентиляцию и новый расчет
    Сумма = Сумма * 1.2; // НДС
    
    Возврат Сумма;
    
КонецФункции

// Процедуру УдалитьСтарыеДанные() полностью удалили

Процедура НоваяПроцедураДляРасширения() Экспорт
    Сообщить("Привет из расширения!");
КонецПроцедуры

#КонецОбласти

 

Результат обработки

&Вместо("УдалитьСтарыеДанные")
Процедура Расш1_УдалитьСтарыеДанные()
    // Метод удален в расширении
КонецПроцедуры

&ИзменениеИКонтроль("ПолучитьСуммуДокумента")
Функция Расш1_ПолучитьСуммуДокумента(ДокументСсылка) Экспорт

    Сумма = ДокументСсылка.СуммаДокумента;

#Вставка
    // Добавили вентиляцию и новый расчет
    Сумма = Сумма * 1.2; // НДС
#КонецВставки

    Возврат Сумма;

КонецФункции

&ИзменениеИКонтроль("ПодготовитьДанныеДляПечати")
Процедура Расш1_ПодготовитьДанныеДляПечати(ПараметрыПечати) Экспорт

    ПараметрыПечати.ДатаНачала = НачалоМесяца(ТекущаяДата());
#Удаление
    ПараметрыПечати.ДатаОкончания = КонецМесяца(ТекущаяДата());
#КонецУдаления
#Вставка
    ПараметрыПечати.ДатаОкончания = КонецГода(ТекущаяДата()); // Теперь до конца года
#КонецВставки
    ПараметрыПечати.Организация = ПолучитьОрганизациюПоУмолчанию();
    ПараметрыПечати.Ответственный = ПолучитьТекущегоПользователя();
#Вставка
    ПараметрыПечати.Подразделение = ПолучитьТекущееПодразделение(); // Добавили строку
#КонецВставки

КонецПроцедуры

Процедура Расш1_НоваяПроцедураДляРасширения() Экспорт
    Сообщить("Привет из расширения!");
КонецПроцедуры

 

Экономия

Перенос модуля на 1000 строк вручную занимает от 30 минут до часа нервной работы. С этой обработкой — 10 секунд. Инструмент окупает себя после первого же переноса, избавляя вас от выгорания при монотонной раскраске кода.

Также будут полезны другие инструменты сравнения:

1 Детальное сравнение табличных документов с визуальной подсветкой и разбором по ячейкам

Сравнение XML документов

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.12.218
  • Управление торговлей, редакция 11, релизы 11.5.27.45

Вступайте в нашу телеграмм-группу Инфостарт

Расширение перенос доработок Diff Patience Diff сравнение кода &ИзменениеИКонтроль &Вместо #Вставка #Удаление генератор кода автоматизация разработки мерж парсер модулей префикс расширения рефакторинг обработка 1С

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    69845    364    170    

316

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    260665    1350    421    

1170

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    38659    107    46    

122

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    56834    114    32    

126

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4001    13    1    

18

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    25574    93    46    

102

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

В крупных внедрениях 1С типовая почти всегда дополнена расширениями, а конфигуратор показывает их раздельно. «Поиск ссылок на объект» в ERP — минуты ожидания, и даже после него неясно: типовое поведение, дополнение из расширения или переопределённый обработчик. Analyzer 1C — веб-инструмент, который парсит выгрузку (основную плюс все расширения) и собирает единый граф знаний в ArangoDB. Любой межсущностный запрос — за доли секунды. Внутри: — Сквозные пометки «Доб.» / «Заимств.» / переопределения во всём UI — Импакт-анализ через подписки, регламентные задания и переопределения — Анализ запросов BSL: кто читает и пишет объект — модули, формы, СКД — Роли: матрица «роль × объект × право», RLS, программные РольДоступна, PRIV — Конструктор профилей, граф функций, обработчики обновления, XDTO, функциональные опции — Мгновенный поиск по конфигурации Разворачивается за минуту через Docker, без интернета. Любая 1С:Предприятие 8.3+.

12200 руб.

17.04.2026    6550    28    31    

43

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки. 1.3.11 Доработан механизм контекстной подсказки по метаданным

9500 руб.

17.05.2024    53337    185    63    

217
Для отправки сообщения требуется регистрация/авторизация