QUERYPARAMS — различия между версиями
Bars (обсуждение | вклад) |
Andrew (обсуждение | вклад) |
||
(не показано 5 промежуточных версий 2 участников) | |||
Строка 12: | Строка 12: | ||
}} | }} | ||
|Результат=Логическое значение. | |Результат=Логическое значение. | ||
− | |Пример= | + | |Пример=Если пользователь ввел требуемые параметры и нажал "Принять", то в переменных :MyStock и :MyString сохранятся введенные параметры: |
− | + | QueryParams("Stock['Склад']=MyStock,String['Строка']=MyString") | |
+ | <br> | ||
+ | Ввод пароля, который отображается "звёздочками": | ||
+ | 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> | ||
+ | |||
}} | }} | ||
Строка 20: | Строка 29: | ||
Синтаксис: | Синтаксис: | ||
QueryParams(`Grid=MyDs`) | QueryParams(`Grid=MyDs`) | ||
+ | |||
Замечания: | Замечания: | ||
Строка 26: | Строка 36: | ||
<pre> | <pre> | ||
− | + | `Grid=MyDs,String['aaa']=aaa,GridParams:__AutoGridMyDs='"RequiredLayout=|""reason"",""-100"",""Причина""|;|""NewField1[Тест,]=1+2"",""-40"",""Тест!""|"'`, `Заголовок` | |
− | |||
− | |||
</pre> | </pre> | ||
Заметим, что двойные кавычки в настройке таблицы удваиваются. | Заметим, что двойные кавычки в настройке таблицы удваиваются. | ||
+ | Для разбивки заголовка колонок на несколько строк следует использовать управляющую комбинацию #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