ATTACHDATASET
Позволяет подключать данные из отчетов. В результате выполнения функции запускается процедура с заданными параметрами, в датасете результатов ищется запись с заданным значением ключевого поля, а в качестве результата возвращается значение из указанного поля. Если в качестве результата указано поле с сущностью fmAmount или fmQuantity, то производится суммирование для всех записей с данным значением ключевого поля. Если записей с данным значением ключевого поля не найдено - функция вернет NULL.
Синтаксис
ATTACHDATASET (Имя процедуры,Имя или описание датасета параметров,Искомое значение,Имя ключевого поля,Имя результирующего поля)
Аргументы
- Имя процедуры
- строка, являющаяся названием хранимой процедуры Interbase.
- Имя или описание датасета параметров
- строка, являющаяся именем датасета активной электронной формы. Можно использовать имя стандартного датасета электронной формы, либо созданного функцией CreateDataSet. Также можно вместо имени задать описание в том же формате что и для функции CreateDataSet
- Искомое значение
- значение произвольного типа, с которым сравнивается при поиске ключевое поле.
- Имя ключевого поля
- строка, являющаяся именем поля, в котором ищется искомое значение.
- Имя результирующего поля
- строка, являющаяся именем поля, значение которого возвращается в качестве результата.
Тип результата
- Значение произвольного типа.
Примеры
Предположим, существует отчет "товар в пути", которому соответствует процедура ARTICULS_INTOUR, которая использует входной параметр IArticuls и возвращает поля Articul и Quantity. Тогда колонку "Товар в пути" можно подключить в любой товарный отчет (при условии, что его входной параметр называется так же). ServerParams - название стандартного датасета параметров в отчетах ГБ.
ATTACHDATASET ("ARTICULS_INTOUR", "ServerParams", Articul, "Articul", "Quantity")
Если параметры подключаемого отчета не совпадают с параметрами базового, то датасет параметров нужно предварительно создать при помощи функции CREATEDATASET, либо передать его в виде описания.