Параметры принимают значения различных типов. При открытии отчета с типом отображения параметра «Раскрывающийся список справочника» из Fore необходимо проверять тип значения параметра для работы со значением элемента управления. В раскрывающемся списке элемента управления осуществляется как единичная отметка, так и множественная. Из-за неточного количества отмеченных элементов и несовпадения типов данных может возникнуть ошибка.
Рассмотрим пример открытия регламентного отчета на редактирование с проверкой типa значения параметра в виде массива.
Для выполнения примера предполагается наличие регламентного отчета, в котором добавлен параметр объекта с идентификаторм «ITEM» и отображением раскрывающегося списка справочника. Создайте обработчик событий в модуле Fore. Для события OnBeforeOpenReport, происходящего перед открытием регламентного отчета, добавьте проверку типа значения параметра. Подключите системные сборки: Metabase, Report.
Public Sub OnBeforeOpenReport(Report: IPrxReport; Var Cancel: Boolean);
Var
Rep: IMetabaseObjectInstance;
Value: IMetabaseObjectParamValue;
Begin
Rep := Report.MetabaseObjectInstance;
If Rep <> Null Then
Value := Rep.ParamValues.FindById("ITEM");
(Report.ActiveSheet As IPrxTable).TabSheet.CellValue(0, 0) :=
Value.IsArray ? "ARRAY!" : Value.Value;
End If;
End Sub OnBeforeOpenReport;
После выполнения примера, при открытии регламентного отчета, появится диалог с выбором параметра в списке заданного справочника:
В первой ячейке регламентного отчета будет отображаться значение выбранного параметра.
См. также: