Так уж вышло, что за время работы в сфере ИТ - вот уже более 15 лет - я трудился в основном в крупных компаниях федерального масштаба, где информационная система состоит из большого количества различных БД как типовых так и существенно измененных (порой до неузнаваемости) конфигураций 1С. Как правило, базы в подобных системах имеют внушительный размер и связаны между собой непростой сетью всевозможных обменов при высокой степени нагрузки и большом количестве пользователей. В описанных условиях, и это мое глубокое убеждение, невозможно построить качественную работоспособную систему без прямой работы с данными в том или ином виде. Переубедить меня в этом не удастся никому - не пытайтесь. Я никого не агитирую за масштабное использование SQL при построении алгоритмов Вашей информационной системы, использование методов прямого доступа к данным - исключительно вынужденная мера, когда все типовые способы 1С уже себя исчерпали.
В рамках публикации предлагаю демонстрационную конфигурацию 1С, которая содержит объекты:
- общий модуль "РаботаСSQL" с необходимым набором функций для работы с запросами SQL:
- Служебные справочники "БазыДанных" и "ТаблицыХраненияДанных" для хранения параметров подключения и имен сверяемых объектов.
- Обработка "СверкаСправочников" для демонстрации метода сверки. Представленной обработкой производится только сверка по основным служебным реквизитам "Ссылка, Код, Наименование" в различных вариациях.
Ограничения:
- Для работы с демо-конфигурацией необходимы административные права и знание параметров доступа к серверу SQL, на котором расположены сверяемые базы.
- Сверяемые базы должны находиться на одном сервере SQL. Создание и использование связанных серверов в представленном наборе функций не реализовано.
- В сверяемых справочниках должны обязательно присутствовать реквизиты "Код" и "Наименование".
- Конфигурация не получает структуру хранения данных сверяемых объектов. Внутренние имена таблиц необходимо получить другими средствами, к примеру набором ИР:
Подсистема "Инструменты разработчика" v4.79, автору низкий поклон - настоящий МАСТЕР.
Инструкция по работе с Конфигурацией.
Возможны 2 варианта работы: подключение к произвольному серверу и работа со справочниками, в которых зарегистрированы параметры подключения и имена сверяемых объектов.
1. Работа со справочниками:
- Зарегистрируйте параметры подключения к сверяемым базам в справочнике "БазыДанных":
- Зарегистрируйте соответствие имен сверяемых объектов в справочнике "ТаблицыХраненияДанных":
- Обновите списки выбора баз и справочников командой "Обновить списки выбора":
- Заполните поля сверяемых объектов и выполните команду "Выполнить сверку":
- Результат сверки отобразится на соответствующих вкладках панели результата:
2. Вариант подключения к произвольному серверу.
- Переключите режим работы на "Подключение к произвольным базам":
- При необходимости подключения к серверу, отличному от предыдущего, выполните команду "Обновить списки выбора".
- На 1 вкладке объекта "DataLinks" выберите поставщика OLE DB для SQL Server:
- На 2 вкладке укажите параметры подключения:
После подключения списки баз и справочников автоматически заполнятся внутренними именами СУБД.
- Заполните поля сверяемых объектов и выполните команду "Выполнить сверку" подобно предыдущему варианту сверки:
- Результат:
Выполняемый запрос отображается на вкладке "Запрос сверки":
Заключение.
Подобным образом можно производить быструю сверку документов одновременно в нескольких базах, к примеру, для поиска документов с расхождением по сумме. Или просто получить какие либо итоговые данные из регистров нескольких баз для сводного отчета.
Всем удачи!