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

17.03.13

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

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
diff_conf.lua
.lua 3,48Kb
15
15 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

8400 руб.

20.08.2024    14449    109    46    

108

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

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

15000 руб.

10.11.2023    11931    45    29    

67

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

18000 руб.

06.12.2023    10714    47    8    

78

SALE! %

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

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

4800 3840 руб.

14.01.2013    191311    1153    0    

920

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

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

14400 руб.

29.04.2020    33854    108    152    

75

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

3600 руб.

06.02.2017    32663    145    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73759    629    45    

88

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

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10174    10    4    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ilov_boris 164 12.12.12 12:03 Сейчас в теме
Перезалил скрипт. Поправлена незначительная ошибка при выводе в консоль.
2. CaSH_2004 373 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 373 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 373 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 373 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 114 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 114 18.10.13 23:09 Сейчас в теме
(15) не увидел цельной последовательности действий, которые приведут к лучшему результату (скорость или качество обновления). Можете его ещё раз озвучить?
17. ilov_boris 164 19.10.13 20:00 Сейчас в теме
(16) CratosX, сложно увидеть в статье то, что она не описывает. Это просто отчет о сравнении. Альтернативный отчет, который более нагляден в некоторых моментах чем стандартный.
18. CratosX 114 20.10.13 01:05 Сейчас в теме
(17) ах да, так вот к чему я в (13) - это ещё один альтернативный способ. Только и всего
19. ilov_boris 164 20.10.13 01:44 Сейчас в теме
(18) CratosX, в самом начале статьи написано:
"Кроме того скрипт позволяет просто отсортировать файлы, чтобы затем сравнить их вашей любимой утилитой сравнения (например WinMerge)"

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