Суть
Вашему вниманию представляется механизм сравнения данных в различных базах 1С, расположенных на разных серверах (можно и на одном, конечно) через веб-сервис. Тестировалось в том числе и на больших объёмах данных.
Цель
Основная цель разработки - сверить данные после свёртки баз/обрезки старых периодов. Создавалось сразу после методики быстрого удаления данных. Также можно использовать в любых других целях, когда нужно сравнить данные в разных базах. И неважно расположены они на одном сервере или на разных, имеют одну конфигурацию или разные, работают на одной платформе или разных - главное, чтоб одна из этих баз была доступна для второй через веб-сервер. Второй необходимый компонент - запросы, которыми Вы планируете сверять данные. То есть обработка не сверяет ВСЕ подряд данные в базе. А просто позволяет выполнить запрос в удалённой базе, потом в текущей базе, и сравнить результат. Примеры запросов в обработке приводятся, по образу и подобию можете добавить любые другие.
Требования
- В случае CF должна подойти любая 8.3
- В случае расширения - для добавления справочника нужна будет 8.3.11
- Из-за добавления справочника - потребуется монопольное (нединамическое) обновление. Если по каким-то причинам Вам неудобно добавлять справочник с параметрами подключения и хотелось бы например добавить разработку в свою базу без завершения сеансов пользователей - в архиве прилагается вариант в каталоге "Без справочника... ".
Устройство механизма
- Справочник для хранения параметров подключения к веб-сервису
- Веб-сервис для выполнения запросов, упаковки, сжатия и выдачи результата (в базе А)
- Обработка для обращения к веб-сервису (из базы Б) и сверки результатов запросов обеих баз
- Бантики
- Подсистема для удобства установки через CF и отделения объектов подсистемы в конфигураторе
- Стиль для приятного отображения
Варианты установки
- Механизм представляется в виде расширения. Так как расширение добавляет новые метаданные (справочник), то потребуется режим совместимости не ниже 8.3.11
- Для случаев, когда режим совместимости ниже 8.3.11 либо Вы по каким-то причинам не хотите подключать расширение, а планируете встроить разработку в основную конфигурацию - приводится альтернатива в виде CF
- [+] Добавлен вариант "Без справочника", чтоб можно было встроить расширение (либо объединить с CF) на "горячую" без монопольного обновления
Все варианты идут в одном архиве
Порядок установки в качестве расширения
- Подключаете расширение в обеих сверяемых базах
- В одной из баз запускаете Конфигуратор с правами администратора и публикуете веб-сервис, используя галку "Публиковать Web-сервисы расширений по умолчанию" (см скриншот)
Порядок установки через CF
- В обеих сверяемых базах делаем в Конфигураторе "Сравнить, объединить в конфигурацией из файла...", указываем скачанный CF, и делаем "Отметить по подсистемам из файла"
- В одной из баз запускаете Конфигуратор с правами администратора и публикуете новый веб-сервис с префиксом "свд_"
Подготовка и запуск
- Собираем ссылку на WSDL как http://имясервера/имяпубликации/ws/svd_unilink.1cws?wsdl
где имясервера - говорит само за себя, если компьютер тот же - можно заменить на localhost,
а имяпубликации - первый параметр с той же картинки, важно: чувствителен к регистру! - Открываем ссылку в браузере, если получаем XML после ввода логина/пароля в базу - значит публикация прошла успешно!
- Идём во вторую базу, и заполняем справочник "Параметры подключения..", в качестве адреса указываем ссылку из прошлого пункта, логин, пароль в базу и порт (если он нестандартный)
[либо сразу указываем все параметры подключения в обработке, если выбран вариант "Без справочника"] - Пишем запросы, их лучше заранее подготовить в консоли запросов. Примеры под кнопкой "Заполнить запросы", как вариант: можно добавить в конфигураторе новые пункты под Ваши цели
- Открываем обработку "Выполнить произвольный запрос.."
- Выбираем параметры подключения (из п.3)
- Заполняем тексты запросов любым способом
- Указываем период (любые другие параметры можно аналогично Периоду добавить в Конфигураторе самостоятельно)
- Нажимаем большую кнопку
- Ожидаем выполнения запросов, передачи данных и сверки результатов
- Анализируем разницы (если они есть), но это уже другая история
Особенности использования
- Если в выходных полях запроса используются ссылки, а не только простые типы - обязательно нужно поставить галку "Упаковывать в хранилище"
- Работает на данный момент только на обычных формах
В качестве бонуса
Вместо эпилога
Конструктивную критику, вопросы и пожелания - прошу в комментарии!
Здоровья вам, добра, любви и процветания!
Спасибо за внимание!
До свидания! (с)