Консоль запросов с возможностью сравнения результатов нескольких запросов между собой.


Консоль запросов, позволяющая сохранять результат одного запроса и сравнение его с результатом другого запроса.

         Суть обработки довольно проста, результат запроса (который должен выводиться только в виде списка) по кнопке «Сравнение таблиц/Выгрузить таблицу» выгружается в табицу значений, значения всех колонок приводятся к типу строка и далее полученная таблица сохраняется в xml файл. По кнопке «Сравнение таблиц/Загрузить и сравнить таблицу»: указывается ранее сохраненный файл, в списке значений отображаются все колонки запроса, необходимо проставить галки напротив полей по которым будет производится синхронизация, остальные колонки будут сравниваться как строковые значения. После сравнения выводится таблица отличий, в которой могут быть 3 типа отличий: Нет в текущей таблице, нет в загружаемой таблице, отличаются колонки (при отличии в колонках красным жирным шрифтом выделяются отличающиеся значения). Поля сравниваемых запросов обязательно должны совпадать по наименованию и их количеству. Так же существует возможность сравнить ссылочные поля по ГУИДу, если поставить соотвествующую галку в форме сохранения/загрузки файла, то вместо всех колонок ссылочного типа будут выгружены их уникальные идентификаторы, а дальше все сравнивается как строки, галку нужно ставить как при сохранении таблицы в файл, так и при загрузке.

         Замечания: Обработка была написана на основе консоли запросов для 8.0, сравнение таблиц производится простым перебором строк (подозреваю не самый оптимальный способ :), но искать и отлаживать алгоритмы на тот момент времени небыло, а переделывать сейчас не охота, да и необходимости не возникало); Остальные обработки для 8.1. и 8.2.(толстый клиент) — это просто конвертнутые версии обработки для 8.0. Как мне кажеться потенциал этой обработки довольно обширный, т.к. она позволяет сравнивать не конкретные метаданные, а запросы, которыми можно вытащить практически любую информацию из базы, она не привязана к конфигурации и можно сравивать данные между УТ и БП,  8.0 и 8.1. Пригодится, как мне кажется, программистам или администарторм 1С (я использую ее, допустим, для отладки различных обменов, сравнения копий баз, сравнений остатков между различными конфигурациями и т.д.).

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

        Это моя первая публикация принимается конструкцивная критика в адрес оформления/описания :).

2 Comments

  1. eugen91

    Должна быть крайне удобной в использовании. спасибо

    Reply
  2. davdykin

    Пожалуйста, не скажу что пользуюсь каждый день, но частенько сильно выручает :))

    Reply

Leave a Comment

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