Имя: Пароль:
1C
1C 7.7
v7: составное условие (может я что упустил)
0 Chameleon1980
 
17.03.18
15:24
привет всем
кусок условия:

(Конт.Вид()="РеализацияРозница") и (Найти(Врег(Контрагент.Наименование),"VISA")>0)

я так понял в 7.7 даже если первая часть условие ложь - вторая все-равно проверяется?

вроде видел такое обсуждение в далеких.

освежите кому не трудно.
спасибо.
1 NSSerg
 
17.03.18
15:46
Нет, если первое ложь, второе не проверяется.
Но кто мешает написать вот так -
Если (Конт.Вид()="РеализацияРозница") Тогда
  Если (Найти(Врег(Контрагент.Наименование),"VISA")>0) Тогда
...
2 NSSerg
 
17.03.18
15:47
Проверь элементарно
Если (1>2) и (0/0=5) Тогда
...
Выдаст ошибку деления на ноль - значит проверяется, не выдаст - значит нет.
3 NSSerg
 
17.03.18
15:49
Выдало ошибку, то есть проверяет второе условие.
То есть пиши как в (2)
4 Garykom
 
гуру
17.03.18
15:58
(3) Там прикол что обработка/вычисления условия лог выражения идет не последовательно а "как получится".
5 Cool_Profi
 
17.03.18
16:04
в 77 вычисляются все выражения
в 8 - по очереди
6 Chameleon1980
 
17.03.18
16:09
(5) вот и я про то-же
вроде как в 8 норм
7 Chameleon1980
 
17.03.18
16:12
а вообще условие типа:

Если ((Конт.Вид()="РеализацияРозница") и (Найти(Врег(Контрагент.Наименование),"VISA")>0) и (Конт.ДокОснование.Вид()="ЗаявкаПокупателя")) или
     (Конт.Вид()="ОтчетККМ") или
     ((Конт.Вид()="ЧекККМ") и (Конт.ДокОснование.Вид()="ЗаявкаПокупателя")) Тогда
8 Chameleon1980
 
17.03.18
16:13
мне не нужно было, чтобы это проверялось

(Найти(Врег(Контрагент.Наименование),"VISA")>0)
9 NSSerg
 
17.03.18
16:52
Если Конт.Вид()="РеализацияРозница" Тогда
  Наим="Visa";
Иначе
  Наим=Врег(Контрагент.Наименование);
КонецЕсли;
Если ((Конт.Вид()="РеализацияРозница") и (Найти(Наим,"VISA")>0) и (Конт.ДокОснование.Вид()="ЗаявкаПокупателя")) или
     (Конт.Вид()="ОтчетККМ") или
     ((Конт.Вид()="ЧекККМ") и (Конт.ДокОснование.Вид()="ЗаявкаПокупателя")) Тогда
10 Chameleon1980
 
17.03.18
17:01
у меня проблема просто, что иногда контра нет. немного не то, но я сделал просто перед условием:

Если глЕстьРеквизитШапки("Контрагент", Конт.Вид())=1 Тогда
    Контрагент=Конт.Контрагент;
Иначе
    Контрагент=ПолучитьПустоеЗначение("Справочник.Контрагенты");
КонецЕсли;
11 Chameleon1980
 
17.03.18
17:01
всем огромное спасибо
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан