наверх
Свободные IT публикации
логин:
пароль:

Сверка справочников в разных базах одним запросом [1133]


[8] AdminITD - 2019-03-11 13:41:44



V81, V82, V83, Обычное приложение

Вступление


Так уж вышло, что за время работы в сфере ИТ - вот уже более 15 лет - я трудился в основном в крупных компаниях федерального масштаба, где информационная система состоит из большого количества различных БД как типовых так и существенно измененных (порой до неузнаваемости) конфигураций 1С. Как правило, базы в подобных системах имеют внушительный размер и связаны между собой непростой сетью всевозможных обменов при высокой степени нагрузки и большом количестве пользователей. В описанных условиях, и это мое глубокое убеждение, невозможно построить качественную работоспособную систему без прямой работы с данными в том или ином виде. Переубедить меня в этом не удастся никому - не пытайтесь. Я никого не агитирую за масштабное использование SQL при построении алгоритмов Вашей информационной системы, использование методов прямого доступа к данным - исключительно вынужденная мера, когда все типовые способы 1С уже себя исчерпали.

Состав конфигурации


В рамках публикации предлагаю демонстрационную конфигурацию 1С, которая содержит объекты:
  • Общий модуль "РаботаСSQL" с необходимым набором функций для работы с запросами SQL
  • Служебные справочники "БазыДанных" и "ТаблицыХраненияДанных" для хранения параметров подключения и имен сверяемых объектов.
  • Обработка "СверкаСправочников" для демонстрации метода сверки. Представленной обработкой производится только сверка по основным служебным реквизитам "Ссылка, Код, Наименование" в различных вариациях.

Ограничения

  • Для работы с демо-конфигурацией необходимы административные права и знание параметров доступа к серверу SQL, на котором расположены сверяемые базы.
  • Сверяемые базы должны находиться на одном сервере SQL. Создание и использование связанных серверов в представленном наборе функций не реализовано.
  • В сверяемых справочниках должны обязательно присутствовать реквизиты "Код" и "Наименование".
  • Конфигурация не получает структуру хранения данных сверяемых объектов. Внутренние имена таблиц необходимо получить другими средствами, к примеру набором ИР:
 - Подсистема "Инструменты разработчика" v4.79

Инструкция по работе с Конфигурацией.


Возможны 2 варианта работы: подключение к произвольному серверу и работа со справочниками, в которых зарегистрированы параметры подключения и имена сверяемых объектов.
1. Работа со справочниками:
- Зарегистрируйте параметры подключения к сверяемым базам в справочнике "БазыДанных":

- Зарегистрируйте соответствие имен сверяемых объектов в справочнике "ТаблицыХраненияДанных":

- Обновите списки выбора баз и справочников командой "Обновить списки выбора":

- Заполните поля сверяемых объектов и выполните команду "Выполнить сверку":

- Результат сверки отобразится на соответствующих вкладках панели результата:

2. Вариант подключения к произвольному серверу.
- Переключите режим работы на "Подключение к произвольным базам":

- При необходимости подключения к серверу, отличному от предыдущего, выполните команду "Обновить списки выбора".
- На 1 вкладке объекта "DataLinks" выберите поставщика OLE DB для SQL Server:

- На 2 вкладке укажите параметры подключения:

После подключения списки баз и справочников автоматически заполнятся внутренними именами СУБД.
- Заполните поля сверяемых объектов и выполните команду "Выполнить сверку" подобно предыдущему варианту сверки:

- Результат:

Выполняемый запрос отображается на вкладке "Запрос сверки":

Заключение


Подобным образом можно производить быструю сверку документов одновременно в нескольких базах, к примеру, для поиска документов с расхождением по сумме. Или просто получить какие либо итоговые данные из регистров нескольких баз для сводного отчета.

● Файлы для скачивания:

для получения доступа требуется авторизация размер: 41.0 кб, скачиваний: 21. cодержимое архива: СверкаСправочников.cf - 50,5 кб.

● Комментарии:

Для добавления комментария необходима авторизация.

Нет комментариев