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

Парамент запроса пуст, значит - любое его значение

Автор bolobol, 13 сен 2011, 19:41

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

bolobol

Здравствуйте!

Часто в текстах с запросами в стандартных конфигураций встречаются похожие конструкции:

...ГДЕ ЗарплатаКВыплатеОрганизаций.Организация = &Организация...
Если Организация.Пустая() Тогда
  Запрос.Текст= СтрЗаменить(Запрос.Текст, "ГДЕ ЗарплатаКВыплатеОрганизаций.Организация = &Организация", "");


т.е. Если Организация в отборе не указана, то убрать её и из текста условий.
Вопрос: Чем это может быть объяснено, т.к. небольшие изменения в условии запроса - выведут из строя весь запрос алгоритмом замены или не произойдёт сама замена, т.к. между "ГДЕ" и "Зарпла..." может появиться " И ".

Почему не целесообразней использовать следующую конструкцию или её аналог:

ГДЕ (&Организация = &ПустаяОрганизация ИЛИ ЗарплатаКВыплатеОрганизаций.Организация = &Организация)
Запрос.УстановитьПараметр("ПустаяОрганизация", Справочники.Организации.ПустаяСсылка());
Запрос.УстановитьПараметр("Организация", Организация);


Как убрать параметр ПустаяОрганизация и задать это прямо в тексте запроса?

А может есть ещё более изящные конструкции, типа:

ГДЕ 1=1
Если НЕ Организация.Пустая() Тогда
  Запрос.Текст= СтрЗаменить(Запрос.Текст, "1=1", "ЗарплатаКВыплатеОрганизаций.Организация = &Организация");


Dethmontt

Ты сам то хоть одупляешь чо написал?
Какая нах пустая ссылка???
Запрос возвращает результат либо по всем организациям в т.ч. и пустая ссылка, либо по конкретной организации!
А как это написать дело вообще третье, кому как удобно писать тот так и пишет!!!!
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

bolobol

Цитата: Dethmontt от 13 сен 2011, 19:59
Ты сам то хоть одупляешь чо написал?
Какая нах пустая ссылка???
Запрос возвращает результат либо по всем организациям в т.ч. и пустая ссылка, либо по конкретной организации!
А как это написать дело вообще третье, кому как удобно писать тот так и пишет!!!!

По-моему, Вы не поняли вопроса.

Dethmontt

Цитата: bolobol от 13 сен 2011, 19:41

ГДЕ (&Организация = &ПустаяОрганизация ИЛИ ЗарплатаКВыплатеОрганизаций.Организация = &Организация)
Запрос.УстановитьПараметр("ПустаяОрганизация", Справочники.Организации.ПустаяСсылка());
Запрос.УстановитьПараметр("Организация", Организация);

а это что?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

bolobol


Теги:

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

Рейтинг@Mail.ru

Поиск