Имя: Пароль:
1C
1С v8
что выдаст запрос если в условии Поле в (&список) параметр "Список" будет пустым
0 Serega103
 
19.09.14
10:51
Собственно что выдаст я уже увидел, не выдает ничего.
Задача такая если запрос к таблице документов. на форме есть поле с типом "ЭтотСамыйДокумент", так вот хотелось бы чтобы чтобы если поле заполнено то отбор в запросе шел по этому документу, если нет, то по всем.
Че то я туплю похоже, переработал на СКД))
подскажите пожалуйста в чем тут загвоздка?
1 sergey198
 
19.09.14
10:53
(0) так добавь текст к запросу:
еслт значениезаполнено(твойДок) Тогда
текстзапроса = текстзапроса +
|твое условие;
конецесли;
2 Serega103
 
19.09.14
10:55
Этот способ я хотел применить в крайнем случае. Просто не люблю почему то такую конструкцию, так как потом конструктор запроса неудобно вызывать.
3 Жан Пердежон
 
19.09.14
10:56
ИЛИ &ЭтотСамыйДокумент = Значение(Документы.ТипЭтогоСамогоДокумента.ПустаяСсылка)
4 Timon1405
 
19.09.14
10:56
выбрать
*

Где &Условие

////
Запрос.Текст = СтрЗаменить(Запрос.Текст,"&Условие",?значениезаполнено(твойДок,"Док.Ссылка= &ДокВФорме,ИСТИНА"));

тогда не будет проблем с конструктором
5 Maxus43
 
19.09.14
10:56
(3) а тама пустой список, а не пустая ссылка...
6 Жан Пердежон
 
19.09.14
10:56
+очепятку сам исправь
7 Serega103
 
19.09.14
10:56
Если бы запрос был к справочнику. было бы проще там можно применить конструкцию в иерархии, а с документом такое не прокатывает.
8 Maxus43
 
19.09.14
10:57
я обычно пишу
ГДЕ
Реквизит В (&Тралала) ИЛИ &ПоВсем

доп параметр конечно, но без вреда конструктору
9 Жан Пердежон
 
19.09.14
10:58
(5) где это сказано?)
10 Maxus43
 
19.09.14
10:59
(9) в сабже)
11 Serega103
 
19.09.14
10:59
(3),(8),(4) Спасибо, хорошие варианты, сейчас какой нибудь применю.
12 Жан Пердежон
 
19.09.14
11:00
(10) там только названия переменных
13 samozvanec
 
19.09.14
11:09
(8) а не правильнее ли сначала ПоВсем потом ИЛИ Тралала? ведь при выполнении первого второе не проверяется, не?
14 Maxus43
 
19.09.14
11:10
(13) имхо монопесуально
15 samozvanec
 
19.09.14
11:19
(14) ну типа не проверять на вхождение в список, так же реще будет?
16 Maxus43
 
19.09.14
11:24
(15) список же пустой...
Насчет ИЛИ я не уверен, знаю что "И" не обрабатывается, после первого Ложь. Это зависит от платформы и СУБД... то что ты видишь что не надо проверять - далеко не факт у СУБД
17 samozvanec
 
19.09.14
11:25
(16) ИЛИ после первого Истина тоже, я сомневался, работает ли это в запросах. про СУБД логично.
18 DrZombi
 
гуру
19.09.14
12:07
(0) Нечего не даст, т.е. Даст Пустой отчет :)
19 DrZombi
 
гуру
19.09.14
12:08
(0) >>> если нет, то по всем.

Семерошник... Ты попиши сперва на Прямых запросах SQL.
Поймешь, что да как :)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший