Категория
Информатика
Тип
реферат
Страницы
39 стр.
Дата
13.03.2013
Формат файла
.rtf — Rich Text Format (Wordpad)
Архив
201556.zip — 28.86 kb
  • vychislenie-logicheskix-vyrazhenij-v-operatorax-vstroennogo-jazyka_201556_1.rtf — 242.36 Kb
  • Readme_docus.me.txt — 125 Bytes
Оцените работу
Хорошо  или  Плохо


Текст работы

Вычисление логических
выражений в операторах встроенного языка

В
условных операторах и операторах цикла встроенного языка системы 1С:Предприятие
для определения последовательности выполняемых действий используются логические
выражения. Логическим выражением может быть элементарное логическое выражение
(сравнение двух значений) или более сложные конструкции полученные из
элементарных логических выражений при помощи логических операций И/ИЛИ/НЕ.

Логические
выражения могут быть весьма сложными и изощренными. И здесь у разработчика
конфигурации может возникнуть сложности, связанные с неправильным пониманием
правил вычисления логических выражений. Рассмотрим пример.

Предположим,
имеется процедура, предназначенная для обработки некоторого реквизита
справочника или документа. Тип данного реквизита не определен, а процедура
может вызываться для любого значения реквизита вне зависимости от его типа.
Процедура может иметь вид:

Процедура
Обработать(Об)

Если
(ТипЗначенияСтр(Об) = "Справочник") И (Об.Вид() = "Товары")
Тогда

//
Некоторые действия

КонецЕсли;

...

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

Если
в качестве значения параметра, передаваемого в данную процедуру, будет
фигурировать элемент справочника любого вида, то процедура будет работать
нормально, но если в качестве параметра будет передано значение типа
"Число" или "Дата", то выполнение процедуры будет аварийно
завершено. В логическом выражении, используемом в операторе 'Если' только
составляющая ТипЗначенияСтр(Об) = "Справочник" будет корректно
функционировать независимо от типа передаваемого параметра, а составляющая
Об.Вид() = "Товары" сможет нормально работать только в том случае, если
в качестве параметра в процедуру передано значение агрегатного типа и для
данного агрегатного типа определен метод Вид(). Дело в том, что при вычислении
логических выражений встроенный язык системы 1С:Предприятие 7.х сначала
вычисляет элементарные логические выражения (операции сравнения), а затем
производит вычисление логического выражения в целом (операции И/ИЛИ/НЕ).



Ваше мнение



CAPTCHA