Имя: Пароль:
1C
1C 7.7
v7: Как правильно писать логическую формулу ИЛИ в 1С?
0 s-pc
 
03.04.12
15:46
===    
Если ПустаяСтрока (Поле_1)=1 Тогда
  Предупреждение ("Нет данных для сохранения!"); Иначе
  Процедура_1();
КонецЕсли;
===

Здесь все понятно. А вот если необходимо также проверять еще Поле_2 и Поле_3 на то же условие (ПустаяСтрока). Тогда как?

Ну короче, как сократить вот эту конструкцию?

===

Если ПустаяСтрока (Поле_1)=1 Тогда
  Предупреждение ("Нет данных для сохранения!");
ИначеЕсли  ПустаяСтрока (Поле_2)=1 Тогда
  Предупреждение ("Нет данных для сохранения!");
ИначеЕсли  ПустаяСтрока (Поле_3)=1 Тогда
  Предупреждение ("Нет данных для сохранения!");
КонецЕсли;

===
1 Ёпрст
 
03.04.12
15:53
Если ПустаяСтрока (Поле_1)+ПустаяСтрока (Поле_2)+ПустаяСтрока (Поле_3)>0 Тогда
  Предупреждение ("Нет данных для сохранения!");
КонецЕсли;
2 Внучок
 
03.04.12
15:58
Если (ПустаяСтрока(Поле_1)=1)ИЛИ(ПустаяСтрока(Поле2)=1)ИЛИ(ПустаяСтрока(Поле_3)=1)ИЛИ(ПустаяСтрока(Поле_4)=1)тогда.....
3 andrewks
 
03.04.12
15:58
Если ПустаяСтрока (Поле_1+Поле_2+Поле_3)>0 Тогда
  Предупреждение ("Нет данных для сохранения!");
КонецЕсли;
4 chief accountant
 
03.04.12
16:00
Так ИЛИ или И?
5 vinogradъ
 
03.04.12
16:00
(1)(2)(3) - это все хорошо, если бы у ТС в условии не было ИначеЕсли )
6 Ёпрст
 
03.04.12
16:01
(3) Это не совсем верно, если Поле1..N не строкового типа - болт
7 Ёпрст
 
03.04.12
16:01
(5) и чем же ?
8 andrewks
 
03.04.12
16:02
(6)

Если ПустаяСтрока (""+Поле_1+Поле_2+Поле_3)>0 Тогда
  Предупреждение ("Нет данных для сохранения!");
КонецЕсли;
9 Ёпрст
 
03.04.12
16:03
(8) ага
10 Ёпрст
 
03.04.12
16:04
автору в копилку:
http://infostart.ru/public/20190/

ЗЫ: скачать может любой
11 andrewks
 
03.04.12
16:05
если реквизитов ОЧЕНЬ много, а называются однообразно по типу как в сабже, можно через цикл+шаблон замутить
12 zavsom
 
03.04.12
16:07
?(ПустаяСтрока(Поле_1)=1, (?(ПустаяСтрока(Поле_2)=1, (?(ПустаяСтрока(Поле_3)=1, Предупреждение ("Нет данных для сохранения!");), Предупреждение ("Нет данных для сохранения!"); ) ,Предупреждение ("Нет данных для сохранения!"); );
13 zavsom
 
03.04.12
16:07
:))
14 viktor_vv
 
03.04.12
16:16
(8) А если там поле с пустой датой ? Не отработает.
15 andrewks
 
03.04.12
16:17
(14) ПустаяСтрока() тоже.  нужно ПустоеЗначение() юзать
16 Ёпрст
 
03.04.12
16:26
(15) Тоже будет болт:

ПустоеЗначение(""+'') = 0
ПустаяСтрока(""+'') = 0