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

17.03.13

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

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

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

Файлы

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

Наименование Скачано Купить файл
diff_conf.lua
.lua 3,48Kb
15 2 500 руб. Купить

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

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

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

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

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С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

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

24900 руб.

20.08.2024    63683    333    162    

297

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

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

17000 руб.

10.11.2023    24310    92    42    

101

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

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

14640 руб.

29.04.2020    49162    134    159    

89

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 1С 8.3 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

21960 руб.

06.12.2023    21748    77    10    

110

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    44981    31    13    

49

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

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

5490 руб.

10.11.2015    65944    102    59    

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

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

У меня в планах сделать то же самое для 1С8. Пока просто времени на это нет.
10. CaSH_2004 375 20.01.13 20:26 Сейчас в теме
(8)Занятная штука, сколько изучал ВК ни разу не сталкивался - спасибо, для коллекции качну, хотя практической надобности пока не вижу. А есть примеры чего народ натворил использую эту ВК?
(9)И я про то же.
11. ilov_boris 164 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 164 20.01.13 20:38 Сейчас в теме
Еще есть например библиотека LPEG от автора Lua. Это вроде регулярных выражений, только проще и мощнее.
13. CratosX 116 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 164 18.10.13 22:34 Сейчас в теме
(13) CratosX, рад за вас. Только к чему вы это поведали?
16. CratosX 116 18.10.13 23:09 Сейчас в теме
(15) не увидел цельной последовательности действий, которые приведут к лучшему результату (скорость или качество обновления). Можете его ещё раз озвучить?
17. ilov_boris 164 19.10.13 20:00 Сейчас в теме
(16) CratosX, сложно увидеть в статье то, что она не описывает. Это просто отчет о сравнении. Альтернативный отчет, который более нагляден в некоторых моментах чем стандартный.
18. CratosX 116 20.10.13 01:05 Сейчас в теме
(17) ах да, так вот к чему я в (13) - это ещё один альтернативный способ. Только и всего
19. ilov_boris 164 20.10.13 01:44 Сейчас в теме
(18) CratosX, в самом начале статьи написано:
"Кроме того скрипт позволяет просто отсортировать файлы, чтобы затем сравнить их вашей любимой утилитой сравнения (например WinMerge)"

Вместо WinMerge хоть Total Commander, хоть любая другая утилита.
Для отправки сообщения требуется регистрация/авторизация