Разработка в 1С 8.0



Код:


Процедура ПередЗаписью(Отказ)

 

Если ЭтоГруппа = Ложь И ЕдиницаИзмерения.Пустая()Тогда 

Сообщить("Не указана основная ед. измерения!");  

Отказ = Истина;  

КонецЕсли;

 

КонецПроцедуры 

Обратите внимание, что реквизит ЕдиницаИзмерения определен только для элементов справочника Номенклатура, поэтому сначала проверяется, что записывается именно элемент, а не группа (условие «ЭтоГруппа = Ложь»).  

 

Также заметьте, что вторая часть условия в операторе Если не выполняется, если первое условие не выполнено. Это происходит, потому, что, как уже говорилось в главе Встроенный язык, в 1С:Предприятии 8.0 применяется сокращенное вычисление условий. Если после вычисления части составного условия уже можно определить результат всего условия, то остальная часть условия не вычисляется. Если бы в нашем примере для группы вычислялась вторая часть условия, то выдавалась бы ошибка, поскольку реквизит ЕдиницаИзмерения для групп не определен.  

 




Содержание  Назад  Вперед