Как избавиться от конструкций вида //{{MRG

09.12.18

Разработка - Рефакторинг и качество кода

Удаляем комментарии //{{MRG из кода.

Наверное, все сталкивались с большим количеством комментариев вида //{{MRG......//}}MRG, которые остаются при объединении конфигураций.

Иногда такие блоки полезны, но чаще они просто захламляют код. И хуже всего то, что они сильно мешают при следующих обновлениях релиза, попадая в фильтр "дважды измененные". (Ну конечно, эти строки же отличаются от строк в старой конфигурации поставщика!)

Для работы понадобится bash (Для Windows я использую Git Bash, можно скачать тут: https://gitforwindows.org/)

Итак, моё решение данной проблемы:

  1. Выгружаем конфигурацию в файлы (Конфигурация -> Выгрузить конфигурацию в файлы...)
  2. Выбираем пустую папку (например С:/MRGClear), нажимаем выполнить
  3. Запускаем Bash, выполняем код (прописать свой путь)
    for file in `grep -iRl "//..MRG" С:/MRGClear`; do awk -vORS= '{if(match($0, "^//")) print "<NewLine>"$0; else print "\n"$0;}' $file | perl -pe 's/<NewLine>\/\/..MRG.*\[ \<\-\> \]//g' |  perl -pe 's/<NewLine>/\n/g' | sed '1d' > $file; done
  4. Загружаем конфигурацию из файлов (Конфигурация -> Загрузить конфигурацию из файлов...)

Всё, все блоки с MRG пропали вместе со всем содержимым!

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

обновление объединение MRG

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

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

См. также

Инструментарий разработчика Рефакторинг и качество кода Программист 1С 8.3 1С 8.5 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Абонемент ($m)

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

2 стартмани

08.07.2026    402    4    NikolayMaerov    0    

4

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

На проекте сложного обновления 1С:ERP 2.4.14.181 до версии 2.5.22.106 нам было нужно уложить обновление в технологическое окно 48 часов (выходные). Исходный замер, с учетом промежуточных релизов 2.5.8.443, 2.5.12.270, 2.5.17.234, 2.5.22.106, показал требуемое время в 659 часов…

07.07.2026    2363    1c-izh    19    

19

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

Обновление ролей в расширении 1С отличается от аналогичного процесса в основной конфигурации. Ситуация осложняется, когда доработки вносятся не в «обычное», а в поставляемое расширение.

26.06.2026    825    1c-izh    3    

5

Рефакторинг и качество кода Программист Россия Бесплатно (free)

Code review в 1С часто превращается в спор вкусов: “мне не нравится”, “переделай”, “так не делают”. В статье разбираю другой подход: проверять не разработчика, а риск для системы. Показываю, как формулировать замечания без токсичности, где заканчивается личное предпочтение и начинается реальная проблема, почему ревью должно развивать разработчика, а не только исправлять код

24.06.2026    762    NikolayMaerov    4    

6

Нейросети Рефакторинг и качество кода Программист Бесплатно (free)

Показываем, как встроить ИИ-помощника в code review 1С без Git, SonarQube и EDT – только с Конфигуратором, RAG-контекстом и набором MCP-инструментов. Разбираем архитектуру решения на Open Web UI и OpenRouter, методику сравнения моделей по Precision, Recall, BonusRate и PenaltyRate, а также объясняем, почему контекст влияет на качество ревью сильнее, чем выбор самой модели. На реальных примерах показываем, какие ошибки ИИ находит хорошо, где все еще нужен архитектор и почему на старте пилота время ревью может не сократиться, а вырасти. В финале делимся метриками внедрения и выводами для команд, которые хотят повторить такой подход у себя.

17.06.2026    1026    NVyunova    1    

3

Нейросети Рефакторинг и качество кода Программист Бесплатно (free)

Кажется, что code-review с помощью искусственного интеллекта устроено просто: достаточно отправить код в LLM, задать промт и получить список замечаний. На практике такой подход быстро упирается в недетерминированность результата, неверную оценку критичности ошибок в 1С-коде и рекомендации, которые сложно отличить от полезных замечаний. Описываем гибридный подход к автокод-ревью: статический анализатор работает вместе с LLM, а база знаний из стандартов 1С превращается в набор машиночитаемых норм. Такая архитектура помогает снизить количество галлюцинаций, точнее определять критичность нарушений и постепенно развивать качество ревью через итеративное пополнение правил.

09.06.2026    1964    Repich    5    

9

Рефакторинг и качество кода Программист Бесплатно (free)

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

04.06.2026    1051    IgorVasilyev    29    

5

Инструментарий разработчика Рефакторинг и качество кода Программист 1С 8.3 Абонемент ($m)

MetaVision for 1C PRO — профессиональная версия статического анализатора и визуализатора кода. Загружает выгрузки конфигураций, расширения и внешние файлы, за секунды строит графы функций, находит уязвимости безопасности и подсвечивает проблемы производительности. В арсенале: визуализация логики в виде графов условий, циклов, транзакций и вызовов, статический аудит безопасности с поиском RCE, SSRF, COM-инъекций и паролей в коде, выявление запросов в циклах и вложенных блокировок, полнотекстовый поиск по всем модулям, встроенный редактор с конвертером запросов и автоформатированием, а также честная статистика по объектам и функциям. Главное новшество PRO — до пяти конфигураций одновременно с мгновенным переключением, наложение до пяти расширений как в конфигураторе, анализ внешних файлов в единой связке с основной конфигурацией и пять тем оформления. Инструмент для тех, кто ведёт несколько проектов параллельно и хочет видеть полную картину в одном окне — быстро, наглядно и безопасно.

7 стартмани

19.05.2026    3349    35    KHoroshulinAV    7    

13
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sansys 75 09.12.18 13:41 Сейчас в теме
Спасибо!!! Сегодня вычищу весь хлам и не только MRG )))
9. TerveRus 12.12.18 09:51 Сейчас в теме
(1) а еще можно заменить везде Истина на Ложь, вот будет веселуха))
NicolasCage; МСН; Dementor; DataReducer; +4 Ответить
2. script 128 09.12.18 20:22 Сейчас в теме
Блин, все гениальное - просто.
Я так понимаю аналогичный скрипт можно сделать и при помощи OneScript.
3. triviumfan 102 10.12.18 00:13 Сейчас в теме
Было: https://infostart.ru/public/269771/
Лично я не понимаю, зачем так объединять и потом проводить ревью, ведь можно сразу во время сравнения правильно (вручную) настроить объединение модуля.
1cNBL; Yakud3a; Dementor; SkyHunter; alest; oleg-x; for-elenak; d4rkmesa; +8 Ответить
4. webester 26 10.12.18 08:02 Сейчас в теме
Зачем это делать? Очень удобно после обновления найти все конфликты мержей и проконтролировать, что там именно то, что тебе нужно. или я чего-то не понял? Конечно удобнее как говорят в (3) не допустить конфликта, но если уж прошел, то сделать как надо вручную.
triviumfan; +1 Ответить
5. Sloth 402 10.12.18 10:17 Сейчас в теме
А зачем такой длинный "конвейер"? Почему нельзя было сразу тем же sed-ом сделать замену того что надо, без лишних вставок и обратных замен? На вскидку вот это
cat $file | sed 's/^\/\/[{}][{}]MRG.*//g' > $file

делает тоже самое, что вот это
awk -vORS= '{if(match($0, "^//")) print "<NewLine>"$0; else print "\n"$0;}' $file | perl -pe 's/<NewLine>\/\/..MRG.*\[ \<\-\> \]//g' |  perl -pe 's/<NewLine>/\n/g' | sed '1d' > $file;

Может я ошибаюсь, конечно ...
Свою ошибку понял ... Не идентично ...
6. Sloth 402 10.12.18 11:39 Сейчас в теме
(5) Вот так вроде оно
cat $file | perl -pe  's/(\/\/.*)\n/<nl>\1/' | perl -pe 's/^<nl>.*\](.*)/\1/; s/<nl>(.*)/\1\n/' > $file
kuleshov.x; +1 Ответить
7. kuleshov.x 106 10.12.18 12:44 Сейчас в теме
(6) Можно и так. Спасибо за дополнение
8. МимохожийОднако 142 12.12.18 08:19 Сейчас в теме
Колдунство Великое. )
10. SkyHunter 12.12.18 15:02 Сейчас в теме
В чём проблема сделать это стандартной глобальной заменой в конфигураторе?
11. VGHOST 168 12.12.18 20:42 Сейчас в теме
Офигеть!
Никак не ожидал что столько народа пользуется 1С-ным объединением модулей с нечитаемым шифром на выходе...
Еще на v7 посмотрел один раз на результат - и с тех пор ни разу не использовал.

Гораздо проще отмечать отдельные изменения, если их мало, и переносить руками.
А в сильно переработанных модулях без качественного трехстороннего сравнения вообще делать не чего. Имхо.
***
Слава великому Софтехно, что наконец осчастливил нас, убогих и грешных, опцией интеграции KDiff!
Больше не нужно корячиться с выгрузкой модулей, куда бы то ни было.
Аминь!
12. Aphanas 94 13.12.18 06:35 Сейчас в теме
Для объединения текстов использую Araxis Merge. Там настраивается всё, в т.ч. с помощью регулярных выражений. Объединение в 1С это что-то непонятное, проще уж копи-пастом.
Aleskey_K; VovkaPutin; +2 Ответить
13. Voladnas 13.12.18 11:55 Сейчас в теме
Мракобесие и джаз
Для отправки сообщения требуется регистрация/авторизация