QUERYPARAMS — различия между версиями
Andrew (обсуждение | вклад) |
Andrew (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 17: | Строка 17: | ||
Ввод пароля, который отображается "звёздочками": | Ввод пароля, который отображается "звёздочками": | ||
QueryParams(`String['Пароль']=pwd{Constraints='password=*'}`,`Ввод пароля`) | QueryParams(`String['Пароль']=pwd{Constraints='password=*'}`,`Ввод пароля`) | ||
+ | <br> | ||
+ | Зависимое поле | ||
+ | <pre> | ||
+ | QueryParams(`File['Файл']=FileName{Constraints='Ext=*.xlsx'},PriceList.ByNode(219)['Тип тарифа']=utType,PriceList['Опция тарифа']:Folder=utSubType{Constraints='Src=OpenDataSet( "PRICELISTS_LIST",[ "Node,I" : ifempty(?utType,-1) ],"dsR" ),dsR.$data;KeyField=Id;ListField=Id.Name;DependsOn=?utType'}`), | ||
+ | </pre> | ||
+ | |||
}} | }} | ||
Строка 30: | Строка 36: | ||
<pre> | <pre> | ||
− | + | `Grid=MyDs,String['aaa']=aaa,GridParams:__AutoGridMyDs='"RequiredLayout=|""reason"",""-100"",""Причина""|;|""NewField1[Тест,]=1+2"",""-40"",""Тест!""|"'`, `Заголовок` | |
+ | </pre> | ||
Заметим, что двойные кавычки в настройке таблицы удваиваются. | Заметим, что двойные кавычки в настройке таблицы удваиваются. | ||
Для разбивки заголовка колонок на несколько строк следует использовать управляющую комбинацию #13#10 | Для разбивки заголовка колонок на несколько строк следует использовать управляющую комбинацию #13#10 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Текущая версия на 09:59, 23 августа 2023
Предлагает пользователю форму для ввода параметров. Возвращает "истина", если пользователь нажал в предложенной форме кнопку "Принять", и "ложь" в противном случае. Введенные пользователем параметры сохраняются в переменных.
Синтаксис
QUERYPARAMS (Строка описания параметров,Заголовок окна)
Аргументы
- Строка описания параметров
- Строка, описывающая требуемые параметры. Формат тот же, что для описания параметров отчетов.
- Заголовок окна
- Строка, заголовок окна для ввода параметров.
Тип результата
- Логическое значение.
Примеры
Если пользователь ввел требуемые параметры и нажал "Принять", то в переменных :MyStock и :MyString сохранятся введенные параметры:
QueryParams("Stock['Склад']=MyStock,String['Строка']=MyString")
Ввод пароля, который отображается "звёздочками":
QueryParams(`String['Пароль']=pwd{Constraints='password=*'}`,`Ввод пароля`)
Зависимое поле
QueryParams(`File['Файл']=FileName{Constraints='Ext=*.xlsx'},PriceList.ByNode(219)['Тип тарифа']=utType,PriceList['Опция тарифа']:Folder=utSubType{Constraints='Src=OpenDataSet( "PRICELISTS_LIST",[ "Node,I" : ifempty(?utType,-1) ],"dsR" ),dsR.$data;KeyField=Id;ListField=Id.Name;DependsOn=?utType'}`),
Отображение таблиц
Специальный режим работы функции QUERYPARAMS - это отображение одного из датасетов текущей формы в виде таблицы. Синтаксис:
QueryParams(`Grid=MyDs`)
Замечания:
- поскольку таблица лежит в форме ввода параметров команды, а датасет в родительской, нельзя делать правила (изменять одни поля при изменении других, запрещать вставку и удаление)
- поскольку форма ввода параметров создается с одним и тем же именем, настройка таблицы в реестре хранится всего одна. Поэтому в случае использования QUERYPARAMS для отображения разных датасетов может потребоваться задавать настройку таблицы прямо в функции:
`Grid=MyDs,String['aaa']=aaa,GridParams:__AutoGridMyDs='"RequiredLayout=|""reason"",""-100"",""Причина""|;|""NewField1[Тест,]=1+2"",""-40"",""Тест!""|"'`, `Заголовок`
Заметим, что двойные кавычки в настройке таблицы удваиваются. Для разбивки заголовка колонок на несколько строк следует использовать управляющую комбинацию #13#10