QUERYPARAMS — различия между версиями
Материал из GB wiki
Andrew (обсуждение | вклад) |
Alexey (обсуждение | вклад) |
||
| (не показаны 2 промежуточные версии 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> | ||
| + | |||
}} | }} | ||
| Строка 23: | Строка 29: | ||
Синтаксис: | Синтаксис: | ||
QueryParams(`Grid=MyDs`) | QueryParams(`Grid=MyDs`) | ||
| − | |||
Замечания: | Замечания: | ||
| Строка 30: | Строка 35: | ||
<pre> | <pre> | ||
| − | + | `Grid=MyDs,String['aaa']=aaa,GridParams:__AutoGridMyDs='"RequiredLayout=|""reason"",""-100"",""Причина""|;|""NewField1[Тест,]=1+2"",""-40"",""Тест!""|"'`, `Заголовок` | |
| + | </pre> | ||
| + | |||
| + | <pre> | ||
| + | CreateDataSet( `dsUID`,[`UID,S` : 1/0] ), | ||
| + | QueryParams( | ||
| + | `Grid=dsUID` | ||
| + | + `,GridParams:__AutoGriddsUID='"RequiredColumns=|""UID"",""-240"",""UID документа""|;|""GB$Ordering"",""0""|"'`, | ||
| + | `Список UID для импорта` | ||
| + | ) | ||
| + | <pre> | ||
Заметим, что двойные кавычки в настройке таблицы удваиваются. | Заметим, что двойные кавычки в настройке таблицы удваиваются. | ||
Для разбивки заголовка колонок на несколько строк следует использовать управляющую комбинацию #13#10 | Для разбивки заголовка колонок на несколько строк следует использовать управляющую комбинацию #13#10 | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Текущая версия на 09:51, 24 июня 2025
Предлагает пользователю форму для ввода параметров. Возвращает "истина", если пользователь нажал в предложенной форме кнопку "Принять", и "ложь" в противном случае. Введенные пользователем параметры сохраняются в переменных.
Синтаксис
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"",""Тест!""|"'`, `Заголовок`
CreateDataSet( `dsUID`,[`UID,S` : 1/0] ), QueryParams( `Grid=dsUID` + `,GridParams:__AutoGriddsUID='"RequiredColumns=|""UID"",""-240"",""UID документа""|;|""GB$Ordering"",""0""|"'`, `Список UID для импорта` ) <pre> Заметим, что двойные кавычки в настройке таблицы удваиваются. Для разбивки заголовка колонок на несколько строк следует использовать управляющую комбинацию #13#10