helpf.pro
Регистрация
 0 
Распечатать

Как в запросе задать условие на параметр? Параметр может быть задан или нет, а запрос выполняется!

Код 1C v 8.х
 Запрос = Новый Запрос(" 
|ВЫБРАТЬ
| ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента,
| ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом,
| ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетовОстаток,
| ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Сделка
|ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(
| &Кон,
| ВЫБОР
| КОГДА &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
| ТОГДА ИСТИНА
| ИНАЧЕ Организация = &Организация
| КОНЕЦ
| И ВЫБОР
| КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА ИСТИНА
| ИНАЧЕ Контрагент = &Контрагент
| КОНЕЦ
| И Учет = ЗНАЧЕНИЕ(Перечисление.ВидыУчета.Общий)) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки
|ГДЕ
| ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
|
|УПОРЯДОЧИТЬ ПО
| ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата");
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Контрагент", ПолеВводаКонтрагент);

Результат = Запрос.Выполнить().Выбрать();

Пока Результат.Следующий() Цикл
Наименование = Результат.Наименование;
КонецЦикла;


Более грамотный вариант:
Код 1C v 8.х
 (Организация В ИЕРАРХИИ (&Организация) ИЛИ &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка))   


еще пример:
Код 1C v 8.х
     Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ДоговорыКонтрагентов.Ссылка
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| ВЫБОР
| КОГДА &Владелец ССЫЛКА Справочник.Контрагенты
| ТОГДА ДоговорыКонтрагентов.Владелец = &Владелец
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| И ВЫБОР
| КОГДА &Владелец ССЫЛКА Справочник.Контрагенты
| ТОГДА ДоговорыКонтрагентов.ВидДоговора = &ВидДоговора
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| И ДоговорыКонтрагентов.Наименование = &Наименование
| И ДоговорыКонтрагентов.Организация = &Организация";

Запрос.УстановитьПараметр("Владелец", Контрагент);
Запрос.УстановитьПараметр("Наименование", Наименование);
Запрос.УстановитьПараметр("ВидДоговора", ВидДоговора);
Запрос.УстановитьПараметр("Организация", Организация);

Результат = Запрос.Выполнить();
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 16641
 0 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 2
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код...
1C и Google Maps 12
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...
1C медленно работает по сети с базой на SQL Server 8
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для...
1C: Enterprise Development Tools 35
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 2
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 - получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р,...
Посмотреть все результаты поиска похожих
Комментарии
AndrewM
13.06.2012 20:15Комментарий: 3
AndrewM
А как сделать то же самое только с параметром типа Булево?
P.S.: вариант, предложенный ILM, выдаёт ошибку "не заполнен параметр".
ILM
22.03.2012 19:45Комментарий: 2
ILM
Проще надо быть
(ИСТИНА ИЛИ (Организация = &Организация)
И (ИСТИНА ИЛИ (Контрагент = &Контрагент)
McCoy
20.01.2012 11:59Комментарий: 1
McCoy
Ага, делал так. Сам догадался)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.