Главная » 1С Предприятие » ВЫРАЖЕНИЯ И ОПЕРАЦИИ

0

2.6.1.  ВЫРАЖЕНИЯ

Выражение это  формула, по  которой вычисляется значение.

В  выражении   1С   могут   присутствовать  операнды  разных   типов   (при   наличии в выражении  с несколькими  операндами  операнда агрегатного типа  данных  этот  опе ранд  воспринимается  как  пустое  значение).   Тип  выражения  определяется типом  его результата.  Тип  результата   выражения  (или  его  подвыражения)   определяется  типом его  первого  операнда или первого  заключенного в  круглые  скобки  подвыражения.  Например (выражения располагаются в правых частях  операторов присваивания):

а =

б = 2 + 5 * а;

1.4;

//

//1.4

числовое выражение из одного операнда Числовое выражение, возвращающее число 9

в    =  2   +  "   1   -я  строка";

//

Числовое   выражение,   возвращающее    число   3

г = "Строка  и символ " + 2;

//

Символьное выражение, возвращающее строку

// "Строка и символ 2"

д = 2 + ‘21.12.01’;

//

Числовое выражение, возвращающее число 2452267

е = ‘21.12.01’ + 2;

ж = (2 * "2-я строка")  + 1;

//

//

Выражение типа Дата, возвращающее дату 23.12.01

Числовое выражение, возвращающее число 5

Из   примеров  видно,  что  порядок  вычисления выражения  таков:   первоначально по первому  операнду   определяется  тип  выражения;   затем   выполняется  вычисление выражения  с  учетом  круглых  скобок и  приоритета  выполнения  операций,  при  этом значения  операндов, имеющих тип,  отличный  от типа выражения (или  вычисляемого в данный момент  подвыражения),  преобразовываются в значения, тип которых  совпадает с типом выражения. Например, переменная з в операторе

з = "Результат = " + 4 / "2-я строка";

получит  символьный  тип и  значение,  равное  "Результат  = 2".  Действительно,  операция / имеет более  высокий приоритет, чем операция +, поэтому прежде будет вычислено  подвыражение  4/"2-я строка", которое, судя по  его первому операнду, является числовым и  поэтому вернет число 2.  Далее  это  число будет  преобразовано в  строку  "2", которая объединится со строкой "Результат  = ".

Результатом выражения  будет  пустое  значение,  если  первый  операнд  выражения

имеет пустое  значение. Например:

перем  а;

//

Объявляем  скалярную переменную а

б = 2 + а;

//

Вернет 2

в  = а + 2;

//

Вернет  пустое значение

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

табл = СоздатьОбъект("Таблица");

а = табл + 2;

//

Вернет  пустое значение

б = табл;

//

Типы переменных б и табл совпадают

Выражение  называется  логическим,  если  в  нем  есть  хотя  бы  одна  операция  отношения или логическая операция.  Например:

2.5 /1.33  > 0

//Вернет

1

(а = 5) и (б = 2)

//

Вернет 0, если, например, а = 1

Логические  выражения  употребляются  в   управляющих  конструкциях  языка,   например

если 2.5 /1.33  > 0 тогда Сообщить("Да");  -

иначе

Сообщить("Нет"); конецЕсли;

Замечания:

1.      Логические выражения  отличаются  от  иных,  например  числовых,  выражений   1С тем, что  их нельзя  использовать в  правой  части  оператора присваивания  или в  качестве  фактических  параметров   процедур,  функций   и   методов.   Так,   ошибочен оператор

флаг = (а = 5) и (б = 2);           //      Ошибка! В правой части оператора присваивания

// размещено логическое выражение

Этот  недостаток создает  определенные неудобства при  записи  программ.

2.       Тип  данных   выражения  возвращают  функции  ТипЗначения   и   ТипЗначенияСтр.

Первая  возвращает  число,  по  которому  определяется  тип  данных   ее  параметра, вторая имя типа данных  параметра. Например:

а =1.2;

Сообщить(ТипЗначения(а));               //         Напечатает  1

Сообщить(ТипЗначенияСтр(а));            //       Напечатает Число сСотр  = СоздатьОбъект("Справочник.Сотрудники"); Сообщить(ТипЗначенияСтр(сСотр));        //    Напечатает Справочник

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии