2.3.2. Создание выборок¶
CreateFormEx
и DoLookUpEx
2.3.2.1. Указание отображения выборки¶
В методах CreateForm
, CreateFormEx
, DoLookUp
и DoLookUpEx
можно
указывать выборку и отображение в формате <Выборка>.<Отображение>.
<pascal>
CreateForm('', 'SEL_RPT_Report.List', fcfMDI);
<pascal>
Если при вызове CreateFormEx
или DoLookUpEx
были указаны два разных
отображения: CreateFormEx(*, ‘SEL_RPT_Report.List’, fcfMDI,
[‘Representation’, ‘TabVisible’,’ExParam1’] ,[‘RoList’, 0,
‘Значение’]); то будет использовано отображение, указанное после имени
выборки.
2.3.2.2. Передача значений параметров фильтров¶
Реализована возможность передачи свойств атрибутов выборки и свойств
атрибутов фильтра через параметры методов CreateFormEx
и DoLookUpEx
.
Значения свойств атрибутов, переданные в скриптовые методы,
перекрывают значения свойств атрибутов, загруженных в метаданных.
Таким образом, через параметры можно указать видимость,
редактируемость и т.д. атрибута. Свойства атрибутов задаются в формате
“<имя атрибута>.<имя свойства атрибута>” или “<имя параметра
фильтра>.<имя свойства параметра>”.
<pascal>
DoLookUpEx(''
, 'SEL_ExTransmitProperty.List'
, ['sCaption'], [], [], false
, ['filter$Flt_Attr1', 'filter$Flt_Attr1.ReadOnly', 'filter$Flt_Attr2.Visible', 'sSystemName.ReadOnly', 'dDate.Visible']
, ['Значение параметра', 1, 0, 1, 0]
);
</pascal>
Для атрибутов выборки могут быть переданы значения любых свойств. Для
параметров фильтра - только значения свойств “Visible” и “ReadOnly”.
При этом, значения параметров фильтров, для которых был выставлен флаг
“ReadOnly”, не будут сбрасываться при вызове ResetFilter
. Ранее
имелась возможность в качестве параметров Ex-вызова передать значения
параметров фильтрации. Это открывало большие возможности по
предустановки значений фильтров согласно требованиям к открываемому
для выбора окну. Однако в полной мере использовать эти возможности не
удавалось, т.к. пользователь всегда мог изменить условие фильтрации
или сбросить фильтр.
Данный механизм позволяет более гибко управлять свойствами атрибутов и параметров стандартного фильтра. Теперь не нужно создавать отдельные отображения для специфических выборов. Обычный список может стать по-настоящему универсальным, обладая возможностью инвариантного использования.
2.3.2.3. Открытие выборки в новом окне¶
Чтобы гарантировано открыть выборку в новом окне, нужно передать параметр “CreatingMode” со значением “CreateNewForm”.
<pascal>
CreateFormEx('', 'SEL_RPT_Report.List', fcfMDI, ['CreatingMode'], ['CreateNewForm']);
<pascal>