Сценарное сравнение данных (версия 1.1.2)








Прикладное решение Сценарное сравнение данных (ССД) предназначено для автоматизации процесса поиска расхождений в данных.

Ядром решения является обработка Консоль сравнения данных (КСД). Консоль сама по себе позволяет в один момент времени провести только одно сравнение между данными из двух источников по заданным пользователям правилам. Текущее же прикладное решение позволяет вручную либо с помощью механизма регламентных заданий выполнить цепочку операций сравнения с уведомлением о результате сравнения по заданным пользователем каналам связи.

Возможно сравнение данных, полученных из следующих источников:

  • информационные  базы  1С  (через  COM,  а  также  текущая  информационная  база,  если конфигурацию ССД объединить с конфигурацией рабочей базы);
  • базы  данных  SQL  (Microsoft  SQL  Server,  PostgreSQL  и  др.,  для  которых  есть  подходящий драйвер);
  • файлы формата CSV/TXT/DBF/XLS/XML.

Алгоритм работы с прикладным решением:

  1. Формирование списка всех возможных «точек контроля» (неудачный термин, но пока я не придумал более подходящий) в учетных системах (или файлах), равенство данных в которых важно для  компании  (остатки  и  обороты  на  р/с,  остатки  и  обороты  дебиторской  и  кредиторской задолженности, синхронизируемые документы и элементы справочников и т.д).
  2. Создание для каждой «точки контроля» одной или нескольких операций сравнения данных с  помощью Консоли сравнения данных (например,  для  контроля  поиска  расхождений остатков  по  остаткам  на  расчетных  счетах    между  данными  торговли  и  бухгалтерии,  как минимум, нужна операция (1) для сравнения, собственно, остатков, затем операция (2) сравнения суммы оборотов за последние Х дней как ближайший кандидат на расхождение, затем операция (3) сравнения суммы оборотов по дням за эти же Х дней для выявления дня (вместо дней можно, взять любую другу подходящую под данную ситуацию аналитику или несколько аналитик (регистратор, номер расчетного счета и т.д.) по выбору пользователя).
  3. Настройка  всех  возможных  комбинаций  вариантов  передачи  сообщений  (запись  в  файл, запись в журнал регистрации, отправка по электропочте, отправка в корпоративный чат  MyChat) и событий, инициирующих отправку сообщения (совпадение данных, расхождение данных, ошибка) (например, при любых ошибках сообщение должно быть записано в файл и журнал регистрации, а также отправлено на электронную почту и в чат техническому специалисту, при расхождении данных в одних «точках контроля» – отправка сообщения на электронную почту ответственным сотрудникам  и  запись  расхождений  в  файл,  при  расхождении  в  других  –  отправка  и  только техническому специалисту и запись расхождений в файл и т.д.).
  4. Создание сценария для каждой или нескольких «точек контроля», в котором будет указана последовательность и условия выполнения операций сравнения (например, для поиска расхождения остатков  на  р/с  необходимо  определить,  имеет  ли  место  факт  расхождения  (чтобы  не сравнивать сразу обороты, что отнимет больше ресурсов у сервера, чем получение остатков) с помощью операции (1), в случае расхождения с помощью операции (2) необходимо определить, есть ли  расхождения  в  сумме  оборотов  за  последние  Х  дней/месяцев,  если  есть  расхождения,  то  с помощью  операции  (3)  будет  найден  день  (или  другая  аналитика),  в  котором  возникли расхождения,  а  если  за  последние  Х  дней  расхождений  в  суммах  не  найдено,  то  требуется повторить операции (2) и (3) для предыдущего/следующего периода и т.д.).
  5. Логическая  группировка  сценариев  по  времени  и  частоте  выполнения  в  зависимости  от загрузки  сервера,  времени  работы  пользователей  и  др.,  создание  для  каждой  группы  сценариев отдельного регламентного задания.

Требуется версия платформы 8.3.6.1977.

Буду благодарен, если напишете о найденном баге на sertakov [а] list.ru, в личку или в комментариях.

P.S. Благодарю пользователя Alxby за возможность использовать его библиотеки для работы с графической схемой.

P.P.S. Благодарю пользователей starik-2005 и kosmo0 за конструктивные диалоги в комментариях к Консоли сравнения данных, подтолкнувшие меня к написанию конфигурации ССД.

4 Comments

  1. sertak

    Актуальная инструкция к конфигурации доступна здесь.

    Reply ↓
  2. sertak

    Версия 1.1.2:

    обновлены отчеты и обработки до последних версий;

    режим совместимости изменен на 8.3.6.

    Reply ↓
  3. kosmo0

    Опять укажу потенциальную граблю. Если сравнение идет ТОЛЬКО по представлению, то в некоторых случая возможны ошибки. Было дело пришлось менять какой-то документ по зарплате и персоналу. Что-то в табличной части менял/добавлял руками. По итогу сравнивал с движениями этого же документа до изменений — изменений не было (вроде как). Сам удивляюсь, как заметил что в одной строке «Иванов Иван Иваныч» ранее был из справочника ФизЛицо, а я поставил из справочника Сотрудники. То есть тип столбца в документе включал эти оба справочника. И по представлению нельзя определить из какого справочника элемент.

    Reply ↓
  4. sertak

    (3) Пользователь, использующий инструмент, САМ выбирает ключи. Можно сделать составной, указав тип во втором столбце ключа, можно вытянуть GUID, да что фантазия позволит, то и можно.

    И обсуждать такие темы удобнее напрямую в публикации с самой обработкой КСД: https://infostart.ru/public/581794/, а текущая публикация — это инструмент для автоматического выполнения уже заполненной обработки КСД.

    Reply ↓

Leave a Comment

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