Сравниваем быстро. Или OpenSource наше все.

Сравниваем быстро. Или OpenSource наше все.

По ходу работы рано или поздно каждый из программистов 1с сталкивается с такой проблемой как обновление «нестандартных» конфигураций.  Эта проблема также известна как «ручное» обновление. Особенно тяжело приходится тем , кто работает с расчетными подсистемами и боками в 1с. По своему опыту хоть и небольшому (примерно 2 года) эти участки являются наиболее часто меняемыми. В этой публикации я изложу свой вариант облегчения проблемы. Итак начнем.

Как в «Очумелых ручках» нам понядобяться:

1. Программа Notepad++. Взять ее можно здесь http://notepad-plus-plus.org/

2. Плагин Compare. Взять здесь http://sourceforge.net/projects/npp-compare/

3. После скачивания и установки программы плагин помещаем в папку plugins установленной программы.

4. Запускаем программу.

Дальнейший алгоритм действий такой. При сравнении и объединении конфигураций в 1с мы можем узнать какие именно модули изменились. Берем два нужных нам модуля: один из «нашей» конфигурации, второй из «ихней конфигурации».

Полностью копируем тексты модулей которые мы сравниваем втекстовые файлы. Например: модульнаш.txt и модульих.txt

Открываем оба файла в notepad++ и выбираем меню плагины—>Compare—>Compare

Результат вы можете видеть на картинке.

В навигационной панели наглядно видня стркутура изменения.

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

надеюсь моя статья была полезна.

18 Comments

  1. Uncore

    (0) А почему для этого не используете типовой функционал сравнения при сравнении/объединении с файлом конфигурации? По-моему там гораздо удобнее сравнивать даже сильно дописанные модули. Ведь особенно когда их много, будет очень неудобно сохранять их в текстовые файлы и сравнивать.

    Кстати, для сравнения текстовых файлов можно также использовать «Файл-сравнить файлы» в 1С.

    Reply
  2. Поручик

    (0) WinMerge или KDiff3 или CodeCompare ужо не канают? Насчет CodeCompare может и соглашусь, 20 метров чересчур, но остальные нормально справляются с кириллицей.

    Reply
  3. Поручик

    (1) Да неудобный он нифига. Сам при сравнении и объединении текстов Winmerge использую.

    Reply
  4. Uncore

    (3) В принципе, всегда хватало. Указанный Winmerge не пробовал, попробую для сравнения.

    Reply
  5. BalVlad

    Использую WinMerge Portable. Удобно и всегда с собой (на флешке). Брал здесь

    Reply
  6. mdmdvd

    У каждого свои вкусы. Спасибо за информацию. Мне просто так нагляднее.

    Reply
  7. mdmdvd

    Кроме того еще и как вариант бэкапа. в слчуае неправильного слияния.

    Reply
  8. davdykin

    О вкусах конечно не спорят, но преимущества данного метода мне непонятны. Во-первых при обновлении через механизм «Поддержка/обновить» можно сравнить, что изменено в вашей конфигурации, а что изменено в конфигурации поставщика. Во-вторых можно посмотреть изменения по процедурам и функциям, что на мой взгляд удобней, чем просматривать изменения всего модуля. В третьих и самое вкусное это частичное обновление модулей, т.е. можно указать какие процедуры из модуля обновлять а какие нет.

    Reply
  9. mdmdvd

    (8) davdykin,Это точно у каждого свои предпочтения. Что было здесь наглядно продемонстрировано)

    Reply
  10. pumbaE

    (8) Добавьте в параметры процедуры/функции или же пробел после запятой и сравнение по процедурам и функциям слетает.

    Результат слияния вы не сможете получить.

    Поддержка/обновить — это хорошо, только вот что делать если у нас не 3-х сторонние сравнение…

    (0) пользуюсь kdiff , notepad++ был бы интересен при поддержки раскраски для 1С текстов.

    Reply
  11. AlexO

    Ерунда.

    Я давным-давно для сравнения текстов пользуюсь Total Com — так мне не нужны даже спецпрограммы для сравнения, у меня «все под рукой» и так.

    А писать статью..

    Автор, написал бы лучше тогда, чем одна программа удобнее другой.

    А не просто открытие «я сравниваю два текста!» 🙂

    Reply
  12. AlexO

    + (11 ) Запросы сравниваются «на раз», т.к. изначально текстовые.

    Е-мое, ну давайте «под вывеской 1С» напишем, как включать компьютер…

    Reply
  13. mdmdvd

    Спасибо за идею. Следующую статью напишу о программах для сравнения. Соберу все что здесь перечислено и устрою своеобразный обзор.

    Reply
  14. mdmdvd

    (12) AlexO, Статья была написана с прицелом для начинающих программистов, которые впервые сталкиваются с познанием запросов. Особенно запросов написанных 1С. Я когда первый раз увидел зарплатные запросы в 1С был мягко говоря удивлен их «грандиозностью».

    Reply
  15. q_i

    + в WinMerge не нужно ничего сохранять ни в какие текстовые файлы. достаточно просто скопировать+вставить тексты в левое и правое окошки и нажать F5. дополнительный бонус — возможность сравнения файлов Excel/Word.

    единственный, на мой взгляд, нед

    Reply
  16. muryginds

    (15) q_i, Ваша правда. Но работы уже ведутся https://bitbucket.org/grimmdp/winmerge/wiki/Home

    Reply
  17. dyak84

    Хорошая разработка. Потребовалось сравнить и объединить два родственных общих модуля со своими наработками с совершенно разных конфигураций. Идея и интересная и бесплатная одновременно. Стидно что раньшн до такого не додумался. Автору спасибо так держать.

    Reply
  18. gep

    Kdiff3

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *