|
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
|
автору в копилку:
ЗЫ: скачать может любой
|
|
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
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший