Каталог решений - Универсальная сверка данных между разными базами 1С через веб-сервис

Универсальная сверка данных между разными базами 1С через веб-сервис

Универсальная сверка данных между разными базами 1С через веб-сервис

В наличии

Сверяем данные. Механизм был создан для проверки корректности проведённой свёртки базы, хотелось сравнить свёрнутую облегчённую базу, где были удалены старые данные и введены остатки — с копией до работ. Базы большие, копия находилась на другом сервере, поэтому пришлось организовать сверку и сравнение данных по сети (через SOAP-вебсервис).

Категория:

Описание

Суть

Вашему вниманию представляется механизм сравнения данных в различных базах 1С, расположенных на разных серверах (можно и на одном, конечно) через веб-сервис. Тестировалось в том числе и на больших объёмах данных. 

Цель

Основная цель разработки — сверить данные после свёртки баз/обрезки старых периодов. Создавалось сразу после методики быстрого удаления данных. Также можно использовать в любых других целях, когда нужно сравнить данные в разных базах. И неважно расположены они на одном сервере или на разных, имеют одну конфигурацию или разные, работают на одной платформе или разных — главное, чтоб одна из этих баз была доступна для второй через веб-сервер. Второй необходимый компонент — запросы, которыми Вы планируете сверять данные. То есть обработка не сверяет ВСЕ подряд данные в базе. А просто позволяет выполнить запрос в удалённой базе, потом в текущей базе, и сравнить результат. Примеры запросов в обработке приводятся, по образу и подобию можете добавить любые другие.

Требования

  1. В случае CF должна подойти любая 8.3
  2. В случае расширения — для добавления справочника нужна будет 8.3.11
  3. Из-за добавления справочника — потребуется монопольное (нединамическое) обновление. Если по каким-то причинам Вам неудобно добавлять справочник с параметрами подключения и хотелось бы например добавить разработку в свою базу без завершения сеансов пользователей — дайте мне знать любым способом, пожалуйста (в личку, либо в комментариях), оперативно сделаю вариант без справочника.

Устройство механизма

  1. Справочник для хранения параметров подключения к веб-сервису
  2. Веб-сервис для выполнения запросов, упаковки, сжатия и выдачи результата (в базе А)
  3. Обработка для обращения к веб-сервису (из базы Б) и сверки результатов запросов обеих баз
  4. Бантики
    1. Подсистема для удобства установки через CF и отделения объектов подсистемы в конфигураторе
    2. Стиль для приятного отображения

Варианты установки

  1. Механизм представляется в виде расширения. Так как расширение добавляет новые метаданные (справочник), то потребуется режим совместимости не ниже 8.3.11
  2. Для случаев, когда режим совместимости ниже 8.3.11 либо Вы по каким-то причинам не хотите подключать расширение, а планируете встроить разработку в основную конфигурацию — приводится альтернатива в виде CF

Оба варианта идут в одном архиве

 

Порядок установки в качестве расширения

  1. Подключаете расширение в обеих сверяемых базах
  2. В одной из баз запускаете Конфигуратор с правами администратора и публикуете веб-сервис, используя галку "Публиковать Web-сервисы расширений по умолчанию" (см скриншот)

Порядок установки через CF

  1. В обеих сверяемых базах делаем в Конфигураторе "Сравнить, объединить в конфигурацией из файла…", указываем скачанный CF, и делаем "Отметить по подсистемам из файла" 
  2. В одной из баз запускаете Конфигуратор с правами администратора и публикуете новый веб-сервис с префиксом "свд_" 

 

Подготовка и запуск

  1. Собираем ссылку на WSDL как http://имясервера/имяпубликации/ws/svd_unilink.1cws?wsdl
    где имясервера — говорит само за себя, если компьютер тот же — можно заменить на localhost,
    а имяпубликации — первый параметр с той же картинки, важно: чувствителен к регистру!
  2. Открываем ссылку в браузере, если получаем XML после ввода логина/пароля в базу — значит публикация прошла успешно!
  3. Идём во вторую базу, и заполняем справочник "Параметры подключения..", в качестве адреса указываем ссылку из прошлого пункта, логин, пароль в базу и порт (если он нестандартный) 
  4. Пишем запросы, их лучше заранее подготовить в консоли запросов. Примеры под кнопкой "Заполнить запросы", как вариант: можно добавить в конфигураторе новые пункты под Ваши цели
  5. Открываем обработку "Выполнить произвольный запрос.."
    1. Выбираем параметры подключения (из п.3)
    2. Заполняем тексты запросов любым способом
    3. Указываем период (любые другие параметры можно аналогично Периоду добавить в Конфигураторе самостоятельно)
    4. Нажимаем большую кнопку
    5. Ожидаем выполнения запросов, передачи данных и сверки результатов
    6. Анализируем разницы (если они есть), но это уже другая история

Особенности использования

  1. Если в выходных полях запроса используются ссылки, а не только простые типы — обязательно нужно поставить галку "Упаковывать в хранилище"
  2. Работает на данный момент только на обычных формах

 

В качестве бонуса

 

has been added to your cart:
Оформление заказа