ATTACHDATASET

Материал из GB wiki
Перейти к: навигация, поиск

Позволяет подключать данные из отчетов. В результате выполнения функции запускается процедура с заданными параметрами, в датасете результатов ищется запись с заданным значением ключевого поля, а в качестве результата возвращается значение из указанного поля. Если в качестве результата указано поле с сущностью fmAmount или fmQuantity, то производится суммирование для всех записей с данным значением ключевого поля. Если записей с данным значением ключевого поля не найдено - функция вернет NULL.

Синтаксис

ATTACHDATASET (Имя процедуры,Имя или описание датасета параметров,Искомое значение,Имя ключевого поля,Имя результирующего поля)

Аргументы

Имя процедуры
строка, являющаяся названием хранимой процедуры Interbase.
Имя или описание датасета параметров
строка (или ассоциативный массив), являющаяся именем (или описанием) датасета. Можно использовать имя стандартного датасета электронной формы, либо созданного функцией CreateDataSet. Также можно вместо имени задать описание в том же формате что и для функции CreateDataSet
Искомое значение
значение произвольного типа, с которым сравнивается при поиске ключевое поле.
Имя ключевого поля
строка, являющаяся именем поля, в котором ищется искомое значение.
Имя результирующего поля
строка, являющаяся именем поля, значение которого возвращается в качестве результата.

Тип результата

Значение произвольного типа.

Примеры

Предположим, существует отчет "товар в пути", которому соответствует процедура ARTICULS_INTOUR, которая использует входной параметр IArticuls и возвращает поля Articul и Quantity. Тогда колонку "Товар в пути" можно подключить в любой товарный отчет (при условии, что его входной параметр называется так же). ServerParams - название стандартного датасета параметров в отчетах ГБ.
ATTACHDATASET ("ARTICULS_INTOUR", "ServerParams", Articul, "Articul", "Quantity")
Если параметры подключаемого отчета не совпадают с параметрами базового, то датасет параметров нужно предварительно создать при помощи функции CREATEDATASET, либо передать его в виде описания.