Как видно, запрос в ERP усложнился, из-за того, что требуемые атрибуты контрагентов разделены в ERP по двум справочникам: "Контрагенты" и "Партнеры".
Примечание: Важно, что все запросы SQL получать транслятором нужно именно в рабочей базе. Это нужно чтобы совпадали имена таблиц и реквизитов на уровне СУБД.Пример:
База-копия, развернутая из архива рабочей базы, изначально имеет совпадающие имена таблиц и полей СУБД. Но если, например, добавляем в хранилище новый реквизит справочника "Договоры" и подтягиваем изменения в обе базы, то реквизит в рамках конфигуратора 1С имеет одинаковое 1С-имя в обоих базах (очевидно), а вот в рамках СУБД получает в соответствие поля с различными именами. В следствие чего запрос SQL, работающий на базе-копии и обращающийся к полям базы-копии в своем тексте, выполниться с ошибкой в рабочей базе, где аналогичный реквизит 1С соответствует полю СУБД с иным именем.
Делаем описание в виде таблицыИмя СУБД | Имя 1С | Маркер № таб, № поля | Маркер УПП |
dbo._Reference392 | Справочник.Контрагенты | ERP_1 | UPP_1 |
T1._IDRRef | Ссылка | ERP_1_1 | UPP_1_1 |
T1._Description | Наименование | ERP_1_2 | UPP_1_2 |
T1._Fld64962 | ИНН | ERP_1_3 | UPP_1_3 |
T1._Fld64967 | КПП | ERP_1_4 | UPP_1_4 |
T1._Fld64971RRef | ЮрФизЛицо | ERP_1_5 | UPP_1_5 |
dbo._Reference533 | Справочник.Партнеры | ERP_2 |
|
T2._Fld68618 | Покупатель | ERP_2_1 | UPP_1_6 |
T2._Fld68620 | Поставщик | ERP_2_1 | UPP_1_7 |
T2._Fld68615RRef | Регион | ERP_2_1 | UPP_1_8 |
Запросы 1С и SQL, полученные для ERP, также сохраняем в общий документ, который затем пойдет на передачу интегратору QlikView.
Новый запрос SQL для QlikView фиксируем в виде:
SELECT T1._IDRRef, T1._Description, T1._Fld64962, T1._Fld64967, T1._Fld64971RRef, T2._Fld68618, T2._Fld68620, T2._Fld68615RRef FROM dbo._Reference392 T1 LEFT OUTER JOIN dbo._Reference533 T2 ON (T1._Fld64970RRef = T2._IDRRef)