Предлагаемый инструмент можно использовать для сверки и синхронизации данных между управленческой и регламентированной базами, когда обмен реализован с помощью своих уникальных правил, написанных по технологии КД2.0. С его помощью можно выгружать, загружать, сравнивать и корректировать данные в базе приемнике.
Первый запуск
Для того, чтобы обработка начала сопоставлять данные, необходимо:
- На закладке «Настройки» перейти во вкладку «Подключение» и задать там параметры COM-соединения с базой-источником (путь к базе, имя пользователя и пароль). Нажать на кнопку «Проверить подключение» и убедиться, что база-источник доступна.
- Вернуться на закладку «Настройка правил обмена» и указать здесь файл правил обмена, созданный с помощью конфигурации «Конвертация данных 2.0» (подразумевается, что этот файл у вас уже есть).
- Нажать кнопку «Сгенерировать настройки соответствия», дождаться, когда обработка заполнит список правил выгрузки, и отметить флажками, какие из них будут использоваться в обработке. Записать сформированные настройки.
- Нажать кнопку «Сформировать запросы для текущей и внешней базы».
- Перейти на закладку «Настройка запросов для сверки» и убедиться, что по каждому правилу выгрузки для текущей и внешней базы были сгенерированы запросы сравнения (для правил выгрузки вида «Произвольный алгоритм» автоматическая генерация не производится).
После этого можно переключаться на вкладку «Синхронизация» и начинать пользоваться обработкой - сверять существующие объекты и загружать недостающие.
Данные из базы-источника выгружаются по COM с помощью обработки «Универсальный обмен данными XML» - соответственно, она должна быть встроена и в конфигурацию-источник и в конфигурацию-приемник.
Особенности автоматической генерации запросов для сопоставления
- Для правил выгрузки вида «Произвольный алгоритм» автоматическая генерация не производится
- При генерации запроса для правил выгрузки документов создаются обязательные параметры «Организация», «НачПериода» и «КонПериода», задающие отборы по периоду и организации.
- В общем случае для запроса сравнения генерируются поля, соответствующие полям поиска в правилах обмена. Такого сравнения достаточно, чтобы увидеть наличие или отсутствие объекта.
- Для правил выгрузки документов дополнительно в запросе сравнения генерируются поля «Контрагент»* и «Сумма документа» (в случае наличия у документа таких реквизитов) - чтобы иметь возможность сравнения по этим показателям.
- Сравнение объектов производится «один в один». Для реализации более сложного сопоставления или для возможности синхронизации данных по правилам вида «Произвольный алгоритм», а также для анализа отличий в разрезе дополнительных полей необходима помощь специалиста, который умеет писать запросы.
*Поскольку сопоставление контрагентов обычно производится по ИНН, то при генерации запроса для описания поля «Контрагент» используется его дочернее поле Контрагент.ИНН (Контрагент.ИНН КАК Контрагент). При выводе в табличное поле «Синхронизации» значение ИНН преобразуется в ссылку на контрагента базы-приемника, имеющего этот ИНН.
То же самое предусмотрено для вывода детальных записей, содержащих элементы справочника Номенклатура (актуально только для самостоятельно написанного запроса): если поле Номенклатура задано ее кодом (Номенклатура.Код КАК Номенклатура), то сопоставление производится по коду, а в табличное поле выводится представление этой номенклатуры из базы-приемника.
Техническая реализация сравнения данных
При необходимости, в автоматически сгенерированные запросы можно внести изменения - добавить дополнительные поля сравнения, детализацию по табличным частям и т.д.
Например, для получения отличий в детальных записях можно модифицировать запрос, добавив в него информацию по табличным частям объекта с последующим получением итогов по ссылке.
Это позволит добиться «многоуровневого» вывода отличий:
- в основное табличное поле будут выводиться различия на уровне самого объекта,
- в подчиненное табличное поле - различия в табличной части.
Сопоставление результатов запросов производится с помощью реквизитов соответствия, заданных в таблице «Настройки соответствия». Эта таблица генерируется автоматически на основании полей поиска правил обмена. При необходимости реквизиты соответствия можно корректировать.
Назначение параметров выгрузки данных производится в соответствующем диалоговом окне на вкладке «Настройки».
Некоторые параметры выгрузки пользователь может назначать в пользовательском режиме на вкладке «Синхронизация».
Для того, чтобы это стало возможно, нужно отметить эти параметры для выбранного правила выгрузки в качестве связанных параметров.
В обработку заложена возможность отладки результатов запросов с их последующим сравнением с помощью автоматизированного вызова диалога «Файл - Сравнить файлы».
Можно сравнивать результаты запросов по всем правилам выгрузки или только выбранные.
Преимущества для пользователя
С точки зрения пользователя обработка отвечает следующим требованиям:
- Стабильная работа
- Контроль достоверности перенесенных данных
- Наглядность сравнения отличий
- Приемлемая скорость вывода сопоставляемой информации
- Пользовательские фильтры (по организациям, периодам, контрагентам)
- Возможность произвести загрузку только отобранных объектов.
- Возможность разделения загрузки объектов по функциональным участкам за счет работы пользователей под своими учетными записями
- Не используются промежуточные файлы данных (для загрузки используются временные файлы)
- Удобный интерфейс:
- Скрываемая панель выбора правил выгрузки;
- Наглядные отборы, сортировка;
- Цветовая индикация сравниваемых данных;
- Выделение цветом и шрифтом отличий;
- Подсчет сумм, строк.
- Возможность вывести на печать список отобранных в обработке объектов
- В случае обнаружения ошибочного отражения операции в БУ, возможность прямо из интерфейса обработки пометить объект на удаление
- Возможность пометить выбранные объекты, как «Проверенные», чтобы, используя фильтр «Только непроверенные», сосредоточиться на анализе остальных отличий.
Преимущества для разработчика
С точки зрения разработчика этот инструмент содержит:
- Автоматическую генерацию запросов для выбранных правил выгрузки
- Интеграцию запросов непосредственно в интерфейс обработки для возможности их изменения и отладки.
- Возможность контроля и сравнения результатов запросов на стадии отладки.
Обработка универсальна, не имеет «завязки» на конкретную конфигурацию. Работает на управляемых формах, использует методы платформы, появившиеся в версии 8.3.6.
Использованные источники
- //infostart.ru/public/297045/ - как базовая идея
- Функциональность закладки «Сверка результатов запросов» взята на публикации //infostart.ru/public/544800/ (также используется идея «программного сравнения» файлов в тонком клиенте из обработки //infostart.ru/public/292916/ )
- Реализация сравнения результатов запросов построена на методе сравнения таблиц значений, описанном в //infostart.ru/public/326983/
- Для загрузки только отобранных документов используется способ, описанный в //infostart.ru/public/86109/
- Визуализация наложенного на ТЧ отбора реализована при помощи приема из оформления отчетов в УНФ.