Альтернативное сравнение конфигураций

17.03.13

База данных - Инструменты администратора БД

Скрипт на Lua, показывающий отличия между двумя отчетами по конфигурациям. Работает из командной строки. Принимает файлы в кодировках ANSI и UTF-8 with BOM.

Кроме того скрипт позволяет просто отсортировать файлы, чтобы затем сравнить их вашей любимой утилитой сравнения (например WinMerge)

Скачать файлы

Наименование Файл Версия Размер
diff_conf.lua
.lua 3,48Kb
15
.lua 3,48Kb 15 Скачать

 С помощью этого скрипта можно сравнить два отчета по конфигурациям, и получить результат в следующем виде:

diff_conf

стрелка "-->" показывает что объект присутствует только во втором файле

Результат содержит только отличия. Исходный порядок объектов игнорируется.

Отчет по конфигурации можно получить так:

conf_report

ВНИМАНИЕ! Отчет по умолчанию сохраняется в кодировке UTF-16.

Скрипт принимает в качестве аргументов два файла в кодировке ANSI или UTF-8 with BOM.
При этом кодировка второго файла должна быть как у первого.

diff_conf.lua conf_rep1.txt conf_rep2.txt

Результат будет выведен в консоль.

Можно перенаправить вывод в файл:

diff_conf.lua conf_rep1.txt conf_rep2.txt > conf1_vs_conf2.txt

Если указан только один файл, то скрипт отсортирует его с учетом структуры и выведет результат в консоль:

diff_conf.lua conf_rep.txt

Как и в первом случае, вывод можно перенаправить в файл:

diff_conf.lua conf_rep.txt > conf_rep_sorted.txt

Отсортированные файлы можно сравнить например с помощью WinMerge:

WinMerge

Вызов без аргументов выведет на экран краткую справку:

Usage: diff_conf.lua first_file [second_file] [> result_file]

Examples:
c:\>diff_conf.lua conf.txt
c:\>diff_conf.lua conf.txt > conf_sorted.txt
c:\>diff_conf.lua conf1.txt conf2.txt
c:\>diff_conf.lua conf1.txt conf2.txt > conf1_vs_conf2.txt

Дистрибутив Lua для windows можно скачать по этой ссылке: http://code.google.com/p/luaforwindows/downloads/list


См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

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

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2980    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3543    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177757    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

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

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27383    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61320    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

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

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11746    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    31111    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10986    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ilov_boris 163 12.12.12 12:03 Сейчас в теме
Перезалил скрипт. Поправлена незначительная ошибка при выводе в консоль.
2. CaSH_2004 372 19.01.13 18:35 Сейчас в теме
А область применения такого труда? Или это курсовая работа или изучения возможностей Lua?
3. ilov_boris 163 19.01.13 18:56 Сейчас в теме
(2) Какого труда? O_o
Этот скрипт позволяет быстро, просто и наглядно сравнить две конфигурации. Причем это сравнение не на столько детальное как встроенный в платформу механизм. Не показываются отличия в модулях, формах и изменение порядка объектов. Но при этом хорошо видно изменение типов реквизитов, состава регистраторов и т.д. Ценность этой утилиты поймут те, кому приходилось обновлять УПП с большим количеством правок (когда отчет о сравнении >= 100000 строк). Тем кто хорошо понимает и умеет пользоваться 3-way merge, встроенным в платформу, утилита может быть просто средством контроля, что ничего не "слетело" при обновлении.
Лично мне очень помогает при обновлении конфигураций. Раньше у меня была обработка для этих целей, но она очень медленно работала (2-3 мин.) А этот скрипт да - побочный продукт ковыряния Lua :)
5. CaSH_2004 372 20.01.13 19:49 Сейчас в теме
(3)
Ценность этой утилиты поймут те, кому приходилось обновлять УПП с большим количеством правок

Наверное. Специфические задачи порождают специфические решения. Не сталкивался с таким количеством изменений тем более в УПП поэтому не могу судить. Но почему Lua? Вроде VB мог бы тоже справиться и он более распространен.
Я когда-то делал на Lua отчет для торговой программы Агент+ на смартфоне, но даже не знаю, а как без этой программы кто его выполняет - код то не компилируемый.
6. ilov_boris 163 20.01.13 19:59 Сейчас в теме
(5) CaSH_2004, Lua очень простой и в то же время очень мощный язык. Для написания маленьких утилит лучше имхо ничего нет. Работает везде Win, Lin, Mac, Android. К нему есть огромное количество различных библиотек.
Есть хорошая сборка под windows:
http://code.google.com/p/luaforwindows/

Интерпретатор Lua нужно устанавливать, да (есть еще jit-компилятор). Но я думаю что это очень маленькая плата за такие возможности.
Можете кстати посмотреть еще тему на форуме про Lua:
http://oberspace.dyndns.org/index.php/topic,366.0.html
7. CaSH_2004 372 20.01.13 20:09 Сейчас в теме
(6)Коротко и ясно - спасибо. Нужно будет подумать, как-то привык на 1С + VBScript, к тому же он встраивается в 1С, интересно, а Lua можно использовать в 1С? Типа: Новый Com...
VB кстати шифруется, но вообще удобно что открытые исходники.
А есть ли аналоги Lua для столь универсальной работы в разных ОС? Да и как можно работать в разных ОС если там разная архитектура? АПИ всякие, функции, и прочее? То что "цикл" или "условие" будут идентичны то понятно, но в остальном то смысл пропадает. Преимущества только в том что работаешь с одним языком, но это тоже немаловажно. Хотя я не представляю себе программиста который вынужден работать и там и там, это редкие спецы, проще все же найти область где работа с одной ОС, а то они же еще и меняются, то что работало вчера не работает сегодня, а если ОС 2 или 3 то вообще вешаться можно
9. ilov_boris 163 20.01.13 20:17 Сейчас в теме
"АПИ всякие, функции, и прочее"
(7) CaSH_2004, если хочется независимый скрипт, то конечно и библиотеки нужно выбирать кроссплатформенные. От этого никуда не денешься :)
4. ilov_boris 163 20.01.13 19:29 Сейчас в теме
(2) CaSH_2004, если интересует, то скрипт "родился" здесь:
http://oberspace.dyndns.org/index.php/topic,392.0.html
8. ilov_boris 163 20.01.13 20:13 Сейчас в теме
Для 1С77 народ делал компоненту для интеграции с Lua:
http://code.google.com/p/v7lua/

У меня в планах сделать то же самое для 1С8. Пока просто времени на это нет.
10. CaSH_2004 372 20.01.13 20:26 Сейчас в теме
(8)Занятная штука, сколько изучал ВК ни разу не сталкивался - спасибо, для коллекции качну, хотя практической надобности пока не вижу. А есть примеры чего народ натворил использую эту ВК?
(9)И я про то же.
11. ilov_boris 163 20.01.13 20:35 Сейчас в теме
"А есть примеры чего народ натворил использую эту ВК?"
(10) CaSH_2004, я в нее особо не вникал так как работаю только с 1С8. Я только проверил что она работает и успокоился :)

А примеры использования... Ну например к Lua есть библиотека LuaInterface. Она позволяет использовать в скриптах библиотеки .NET

Если установите Lua for windows по ссылке, которую я давал, то можете посмотреть примеры:
c:\Program Files (x86)\Lua\5.1\examples\LuaInterface\
Примеры запускаются двойным щелчком на скрипте.
12. ilov_boris 163 20.01.13 20:38 Сейчас в теме
Еще есть например библиотека LPEG от автора Lua. Это вроде регулярных выражений, только проще и мощнее.
13. CratosX 112 10.08.13 22:57 Сейчас в теме
Пользуюсь Total Commander. Выделяю 2 файла, в меню Файл - сравнить по содержимому (Ctrl+F)
Прикрепленные файлы:
14. madmpro 43 18.10.13 17:21 Сейчас в теме
(13) CratosX, Аналогично. Для 3-х и более версий пользуюсь Notepad++ с примочкой Compare.
15. ilov_boris 163 18.10.13 22:34 Сейчас в теме
(13) CratosX, рад за вас. Только к чему вы это поведали?
16. CratosX 112 18.10.13 23:09 Сейчас в теме
(15) не увидел цельной последовательности действий, которые приведут к лучшему результату (скорость или качество обновления). Можете его ещё раз озвучить?
17. ilov_boris 163 19.10.13 20:00 Сейчас в теме
(16) CratosX, сложно увидеть в статье то, что она не описывает. Это просто отчет о сравнении. Альтернативный отчет, который более нагляден в некоторых моментах чем стандартный.
18. CratosX 112 20.10.13 01:05 Сейчас в теме
(17) ах да, так вот к чему я в (13) - это ещё один альтернативный способ. Только и всего
19. ilov_boris 163 20.10.13 01:44 Сейчас в теме
(18) CratosX, в самом начале статьи написано:
"Кроме того скрипт позволяет просто отсортировать файлы, чтобы затем сравнить их вашей любимой утилитой сравнения (например WinMerge)"

Вместо WinMerge хоть Total Commander, хоть любая другая утилита.
Оставьте свое сообщение