|
v7: Почему срабатывает условие?
| ☑ |
0
andryus
05.02.12
✎
20:00
|
Есть код в процедуре ПриЗаписи документа
Если (ЛицевойСчет.ТипСчета<>Перечисление.ВидыЛицевыхСчетов.ДляПредпринимательской) ИЛИ (ЛицевойСчет.ТипСчета<>Перечисление.ВидыЛицевыхСчетов.ДляСубсидий) Тогда
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если ПустоеЗначение(Контрагент)=1 Тогда
Предупреждение("В строке: "+НомерСтроки+" не выбран контрагент. Документ не проведен");
СтатусВозврата(0);
Возврат;
КонецЕсли;
Если ПустоеЗначение(Договор)=1 Тогда
Предупреждение("В строке: "+НомерСтроки+" не выбран договор. Документ не проведен");
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Почему срабатывает условие, когда на самом деле в документе выбрано значение по которому ЛицевойСчет.ТипСчета=Перечисление.ВидыЛицевыхСчетов.ДляПредпринимательской
?? Помогите
|
|
1
aleks-id
05.02.12
✎
20:02
|
потому что срабатывает условие ЛицевойСчет.ТипСчета<>Перечисление.ВидыЛицевыхСчетов.ДляСубсидий
|
|
2
Любоч
05.02.12
✎
20:03
|
В условии ИЛИ замени на И
|
|
3
aleks-id
05.02.12
✎
20:03
|
тьфу ты
потому что срабатывает ЛицевойСчет.ТипСчета<>Перечисление.ВидыЛицевыхСчетов.ДляПредпринимательской
|
|
4
1Сергей
06.02.12
✎
08:50
|
Такое условие всегда будет срабатывать, какой бы тип счета ни был
|
|
5
andrewks
06.02.12
✎
08:56
|
((Автор<>Двоечник) ИЛИ (Автор<>Отличник)) тождественно равно ИСТИНА
|
|
6
trad
06.02.12
✎
09:07
|
по правилам Булевой алгебры выражение
(ТипСчета<>ДляПредпринимательской) ИЛИ (ТипСчета<>ДляСубсидий)
можно преобразовать в
НЕ((ТипСчета=ДляПредпринимательской) И (ТипСчета=ДляСубсидий))
ТипСчета одновременно не может принимать два значение (если конечно это не квантовая бухгалтерия), тогда всегда будет НЕ(Ложь) = Истина
|
|
7
babayzver
06.02.12
✎
12:36
|
(0) Просто измени ИЛИ на И
|
|