Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 03:35

Установить значение параметра в запросе

Автор Dirijabl, 28 фев 2016, 23:51

0 Пользователей и 1 гость просматривают эту тему.

Dirijabl

Доброго времени суток! Вопрос довольно простой: как правильно установить значение параметра в запросе:
Запрос.УстановитьПараметр("Свойство", [Здесь нужно отобрать по Наименованию Дополнительного реквизита/свойства]) УТ 11.2

vitasw

У вас проблема с установкой параметра или с его(параметра) нахождением?

sveta C

Покажу на примере установки параметра Даты

1. добавить реквизит в отчет в группу "реквизиты" в окне конфигурации
2. добавить на форму главное меню/форма/размещение данных
3. в модуле формы прописать типа
  Запрос.УстановитьПараметр("НачДата",НачДата);
(расположить строго рядом с текстом Запрос.Текст ="ВЫБРАТЬ можно на строчку выше (перед) или на строчку ниже (после))
4. но при этом в тексте самого запроса прописать название данного параметра со знаком "&"
| Продажи.Период = &НачДата

Agromon

Цитата: sveta C от 01 мар 2016, 15:33
Покажу на примере установки параметра Даты
...

Слишком много лишнего.

1. На обычных формах ниженаписанный текст может располагаться где угодно, на управляемых только в процедурах(функциях) выполняемых на сервере.


Запрос = новый Запрос;
Запрос.Текст = "Выбрать ... из Документы.МоиДокументы где Дата>&ОтДаты";
Запрос.УстановитьПараметр("ОтДаты",Дата(2016,1,1,0,0,0));
РезЗапроса = Запрос.Выполнить();


Никаких дополнительных реквизитов размещать не нужно.

Порядок про строка выше/ниже тоже не важен. Установка параметра должна происходить между инициализацией запроса и его выполнением.
Можно выполнить один запрос для нескольких параметров.

Например,


Запрос = новый Запрос;
Запрос.Текст = "Выбрать ... из Документы.МоиДокументы где Дата>&ОтДаты";
Запрос.УстановитьПараметр("ОтДаты",Дата(2016,1,1,0,0,0));
РезЗапроса = Запрос.Выполнить();

Запрос.УстановитьПараметр("ОтДаты",Дата(2016,2,1,0,0,0));
РезЗапросаДва = Запрос.Выполнить();



Хотя в этому случае лучше пакетный запрос.


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск