Формирование отчета СКД по данным внешней базы
Ольга Пескова П.
19.05.2017
75 понравилось
361 просмотров

Формирование отчета СКД по данным внешней базы

Задача: В конфигурации «Управление торговлей 10.3» сформировать отчет «Ведомость по товарам на складах» на СКД, который бы собирал данные из текущей базу и внешней базы «Розница 1.0».

Создадим внешний отчет и откроем основную схему компоновки данных. Добавим «Набор данных – объединение». В объединение добавим «Набор данных – объект» и «Набор данных- запрос»

В «Наборе данных – запрос» создадим запрос: остатки и обороты регистра накопления «Товары на складах».

Для «Набора данных – объект» укажем имя объекта, содержащего данные: «ТоварыИзРозницы».

В таблице «Поля» опишем, значения, которые будем получать из внешней базы. Наименования должны совпадать с полями в «Наборе данных – запрос». Например, Номенклатура, Склад, КоличествоНачальныйОстаток, КоличествоПриход и др.

Для полей ссылочного типа укажем составной тип, состоящий из соответствующего справочника и строки.

Добавим ресурсы и создадим настройки.

Настройки подключения к внешней базе можно задавать, как реквизиты обработки. Или использовать справочник «Настройки обмена данными» и указать параметры в нем. Я буду использовать второй вариант. Разместим выбор элемента «Настроек обмена данными» на форме настроек.

Для кнопки «Проверить подключение» пропишем событие «Нажатие»:

Функция «СоздатьВнешнееСоединение» располагается в модуле объекта.

В модуле объекта пропишем процедуру ПриКомпоновкеРезультата:

Таблица товаров формируется функцией «ПолучитьТоварыИзРозницы». В этой функции создаем пустую таблицу значений, описывая типы колонок. Затем создаем внешнее соединение и проверяем, что оно корректно создано.

У вас есть вопрос, нужна помощь консультанта?

Оставьте номер телефона и мы перезвоним!

Создаем запрос, которым получим необходимые данные во внешней базе.

Все получаемые данные из внешней базы имеют тип COMОбъект. Поэтому, для того, чтобы вывести данные в отчет необходимо их преобразовать.

 

Таблицу товаров заполнили. Она будет передана в «Набор данных – объект».

Преобразование COMОбъектов происходит в функции «ПолучитьДанныеИзComОбъекта»:

Если полученный элемент есть в основной базе, то в таблицу помещается ссылка. Если элемента нет, то помещается строка с наименованием.

Если пользователь указал отбор в отчете, то имеет смысл использовать его при получении данных из внешней базы. Условия в запрос добавляются в процедуре «ПолучитьУсловияДляЗапроса».

Перебирая элементы отбора компоновки данных зададим условия запроса:

В параметрах передаются:

ЭлементОтбора – элемент отбора настройки компоновки данных

ТекстУсловия – условие, которое будет дописано в запрос

Запрос – запрос внешней базы

ИзмерениеСравнения – имя измерения, на которое будет наложено условие

НаименованиеСправочника – имя справочника во внешней базе, элементы которого будут переданы в виде параметра запроса.

 

Эта статья помогла вам?

Теги:

Комментарии ( 0 )

Оставить комментарий