Имя: Пароль:
1C
 
Условие в запросе
0 Pilot
 
18.10.04
08:11
Подскажите такая проблема: хочу чтоб от от того выбрано ли условие или нет условие в запросе добавлялось
   Если (Ном1.Выбран()=1)И(Ном1.ЭтоГруппа()=0) Тогда
       ТекстЗапроса=ТекстЗапроса+"
       |Условие (НомЗ=Ном1);";
   ИначеЕсли Контр.ЭтоГруппа()=1 Тогда
       ТекстЗапроса=ТекстЗапроса+"
       |Условие (НомЗ в Ном1);";
   КонецЕсли;

   Если (Ном2.Выбран()=1)И(Ном2.ЭтоГруппа()=0) Тогда
       ТекстЗапроса=ТекстЗапроса+"
             |Условие (НомЗ=Ном2);";
   ИначеЕсли Контр.ЭтоГруппа()=1 Тогда
       ТекстЗапроса=ТекстЗапроса+"
           |Условие (НомЗ в Ном2);";
   КонецЕсли;
Как сделать чтобвторое условие делалось не как "И", а как "ИЛИ"
1 Пролд
 
18.10.04
08:22
Заведи переменную ТекстУсловия
и корячь ее сзади:
ТекстУсловия=ТекстУсловия+" И (Найти(Адрес,"""Бердичев""")=1)";

Потом ТекстЗапроса = ТекстЗапроса+ТекстУсловия;
2 Pilot
 
18.10.04
09:03
Вот здесь тоже ругается может я чего не понял, но тогда как задается услвоие или в запросе?
       |Условие (НомЗ=Ном1) ИЛИ (НомЗ=Ном2)";
3 laeg
 
18.10.04
09:05
(2)
 |Условие ((НомЗ=Ном1) ИЛИ (НомЗ=Ном2));

Вот так будет правильней
4 Pilot
 
18.10.04
09:22
Всем спасибо все получилось Вот как надо:
   Если (Ном1.Выбран()=1)И(Ном1.ЭтоГруппа()=0) Тогда
       ТекстЗапроса=ТекстЗапроса+"
       |Условие ((НомЗ=Ном1)";
   ИначеЕсли Ном1.ЭтоГруппа()=1 Тогда
       ТекстЗапроса=ТекстЗапроса+"
       |Условие ((НомЗ в Ном1)";
   КонецЕсли;
   Если (Ном2.Выбран()=1)И(Ном2.ЭтоГруппа()=0) Тогда
       ТекстЗапроса=ТекстЗапроса+" или (НомЗ=Ном2)";
   ИначеЕсли Ном2.ЭтоГруппа()=1 Тогда
       ТекстЗапроса=ТекстЗапроса+" или (НомЗ в Ном2)";
   КонецЕсли;

   Если (Ном3.Выбран()=1)И(Ном3.ЭтоГруппа()=0) Тогда
       ТекстЗапроса=ТекстЗапроса+"или (НомЗ=Ном3)";
   ИначеЕсли Ном3.ЭтоГруппа()=1 Тогда
       ТекстЗапроса=ТекстЗапроса+"или (НомЗ в Ном3)";
   КонецЕсли;

   Если (Ном4.Выбран()=1)И(Ном4.ЭтоГруппа()=0) Тогда
       ТекстЗапроса=ТекстЗапроса+"или (НомЗ=Ном4)";
   ИначеЕсли Ном4.ЭтоГруппа()=1 Тогда
       ТекстЗапроса=ТекстЗапроса+"или (НомЗ в Ном4)";
   КонецЕсли;
   ТекстЗапроса=ТекстЗапроса+");
   |"//}}Запрос
   ;
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.