|
Работа в 1С 5
Сложение определено для следующих типов операндов: Число + Число Дата + Число (к дате прибавляется число дней) Вычитание определено для следующих типов операндов: Число – Число Дата – Число (от даты отнимается число дней) Дата – Дата (результатом является число дней между датами) Умножение: Число * Число Деление: Число / Число Остаток от деления: Число % Число Замечание. При выполнении операции % (остаток от деления) оба операнда операции округляются до целого значения.
Операция конкатенации
Операция конкатенации ("+") используется для того, чтобы присоединить одну строку к другой. Длина результирующей строки равна сумме длин соединяемых строк. В случае несовпадения типа данных второго или последующих операндов со строковым типом, их значение преобразуется к строковому типу в соответствии с правилами преобразования типов. Пример: ФИО="Иванов"+"Иван"+"Иванович"; Логические операции Логическая операция сравнивает операнды и вырабатывает логическое значение: «истина» или «ложь». Существует два вида логических операций: операции сравнения и булевы операции. В операциях сравнения сравниваются два значения. Булевы операции выполняются над логическими значениями, реализуя булеву алгебру. Символы булевых операций могут комбинироваться, образуя составные операции. Операции сравнения В языке определены следующие виды операций сравнения: Больше (Оп1 > Оп2) больше или равно (Оп1 >= Оп2) равно (Оп1 = Оп2) не равно (Оп1 <> Оп2) меньше (Оп1 < Оп2) меньше или равно (Оп1 <= Оп2) Операции сравнения определены для следующих типов операндов: Больше Число > Число Строка > Строка Дата > Дата Больше или равно: Число >= Число Строка >= Строка Дата >= Дата Меньше: Число < Число Строка < Строка Дата < Дата Меньше или равно: Число <= Число Строка <= Строка Дата <= Дата Равно: Число = Число Строка = Строка Дата = Дата АгрегатныйТип = АгрегатныйТип Не равно: Число <> Число Строка <> Строка Дата <> Дата АгрегатныйТип <> АгрегатныйТип Булевы операции В языке определены следующие виды булевых операций: И или AND – конъюнкция (булево И) ИЛИ или OR – дизъюнкция (булево ИЛИ) НЕ или NOT – логическое отрицание (булево отрицание НЕ) Выражения Выражение – это математическая или логическая формула, по которой вычисляется значение. Математическое выражение может стоять справа от знака равенства в операторах присваивания, быть параметром процедур или функций, индексом массива переменных. Логическое выражение может быть условием в управляющих операторах Если, Пока, Для. Выражения состоят из констант, переменных и функций, связанных символами логических и/или арифметических операций. Информацию о стандартных функциях базовых типов можно получить в Синтаксис–Помощнике (рисунок 2.2.1).
Рисунок 2.2.1
Строковые выражения могут использоваться в качестве параметров методов, процедур и функций, либо в правой части оператора присваивания. Строковым выражением может быть отдельная строка или сложное сочетание строковых констант, функций и операций. То, что выражение является строковым, определяется по первому операнду. В случае несовпадения типа второго и последующих операндов со строковым типом, их значения преобразуются к требуемому типу в соответствии с правилами преобразования типов. Чтобы указать, что выражение является строковым, можно, например, начинать его с пустой строки символов "". Пример: Стр = СокрП("Фамилия" + ", " + Имя + ", " + " отчество"); Стр1 = "" + Докум.Цена + Валюта.СокрНаим; Логические выражения В логических выражениях происходит вычисление логического значения (истина/ложь). Обычно логические выражения используются в управляющих операторах, в которых на основании результата логического выражения определяется дальнейшая последовательность выполнения программы. Логические выражения вычисляются слева направо. Для того, чтобы избежать неоднозначности и управлять последовательностью операндов, следует применять круглые скобки. Уровни старшинства логических операций: Уровень 1 операнды, заключенные в скобки Уровень 2 NOT Уровень 3 AND Уровень 4 OR Пример: Стр = "Угадал!"; а = ВвестиСтроку(Стр, "Назови пароль!", 15); Если (а=1) И ((Стр = "пароль") ИЛИ (Стр = "Пароль")) Тогда
КонецЕсли; Оператор присваивания Синтаксис: <Назначение> = <Источник>; Параметры: В качестве <Назначения> может выступать простая переменная, элемент массива, атрибут агрегатного типа данных (который допускает запись). Элемент массива задается как Имя_массива[Индексное_выражение]. <Источник> - выражение. Описание: Оператор присваивания (символ "=") означает присваивание значения <Источник> переменной, обозначенной как <Назначение>. Пример: А = В; Стр1 = "777"; ДатаДок = '14.04.96'; Обращаем внимание, что в конце каждого оператора ставится точка с запятой. 2.3 Управляющие операторы Оператор условия (аналогичен оператору IF в Паскале) Синтаксис: Если <Логическое_выражение1> Тогда
[ИначеЕсли <Логическое_выражение2> Тогда]
[Иначе]
КонецЕсли; Части оператора, заключенные в квадратные скобки, могут отсутствовать. Сами квадратные скобки в программе не пишутся. Оператор может содержать любое количество групп операторов, возглавляемых конструкциями ИначеЕсли … Тогда. Обратите внимание, что операторы смещены «вглубь» оператора. Это делается для того, чтобы визуально выделить каждую часть оператора Если. Оператор работает следующим образом: если результатом <Логическое_выражение1> является истина выполнятся последовательность операторов операторы1 и начинают выполняться операторы стоящие за КонецЕсли. Логическое выражение <Логическое_выражение2> вычисляется только тогда, когда условия в Если и всех предшествующих ИначеЕсли оказались ложными. Операторы, следующие за ключевым словом Иначе выполняются, если результаты логических выражений в конструкции Если и всех предшествующих конструкциях ИначеЕсли оказались ложными. КонецЕсли – ключевое слово, которое завершает структуру оператора условного выполнения. Пример: Если a=1 Тогда
ИначеЕсли a=2 Тогда
ИначеЕсли a=3 Тогда
Иначе
КонецЕсли; Цикл с предусловием (аналогичен оператору While … Do в Паскале) Синтаксис: Пока <Логическое_выражение> Цикл
КонецЦикла; Цикл работает следующим образом: операторы, следующие за ключевым словом Цикл, выполняются, пока результатом <Логическое_выражение> является истина. Оператор цикла Пока предназначен для циклического повторения операторов, находящиеся внутри конструкции Цикл … КонецЦикла. Цикл выполняется пока логическое выражение – истина. Условие выполнения цикла всегда проверяется вначале, перед выполнением цикла. Пример: a=1; Пока (a<10) Цикл
КонецЦикла;
Цикл со счетчиком (аналогичен оператору For в Паскале) Синтаксис: Для <Имя_переменной> = <Выражение1> По <Выражение2> Цикл
КонецЦикла; Параметры: <Имя_переменной> – идентификатор переменной (счетчика цикла), значение которой автоматически увеличивается при каждом повторении цикла. <Выражение 1> – числовое выражение, которое задает начальное значение, присваиваемое счетчику цикла при первом проходе цикла. <Выражение 2> – максимальное значение счетчика цикла. Когда переменная <Имя_переменной> становится больше чем <Выражение2>, выполнение оператора цикла прекращается. Величина приращения счетчика при каждом выполнении цикла равна 1. Операторы следующие за ключевым словом Цикл выполняются, пока значение переменной <Имя_переменной> меньше значения <Выражение2>. Оператор цикла Для предназначен для циклического повторения операторов, находящиеся внутри конструкции Цикл ... КонецЦикла. Перед началом выполнения цикла значение <Выражение1> присваивается переменной <Имя_переменной>. Значение <Имя_переменной> автоматически увеличивается при каждом проходе цикла. Цикл выполняется пока значение переменной <Имя_переменной> меньше или равно значению <Выражение2>. Величина приращения счетчика при каждом выполнении цикла равна 1. Условие выполнения цикла всегда проверяется вначале, перед выполнением цикла. Пример: Для i = 1 по 10 Цикл
КонецЦикла; Продолжить (аналогичен оператору Continue в Паскале) Синтаксис: Продолжить; Описание: Передает управление в начало цикла. Оператор Продолжить немедленно передает управление в начало цикла, где производится вычисление и проверка условий выполнения цикла. Оператор Продолжить может использоваться только внутри конструкций операторов цикла Пока и Для. Пример: Для i = 1 По 10 Цикл
КонецЦикла; Прервать (аналогичен оператору Break в Паскале) Синтаксис: Прервать; Прерывает выполнение цикла. Оператор Прервать приводит к немедленному прекращению выполнения цикла и передает управление первому оператору, следующему за конструкцией оператора Пока или Для. Оператор Прервать может использоваться только внутри конструкций операторов цикла Пока и Для. Пример: Для i = 1 По 20 Цикл
КонецЦикла; Возврат Синтаксис: Возврат [<Выражение>]; Параметры: <Выражение> – выражение, значение которого содержит результат обращения к функции. Этот параметр обязателен для оператора Возврат в теле описания функции, но может не использоваться в процедуре. Описание: Оператор Возврат завершает выполнение процедуры или функции и передает управление в вызвавшую точку программы. Оператор Возврат обязателен в функции и необязателен в процедуре. Если в процедуре не используется оператор Возврат, то его неявное выполнение происходит вслед за последним исполняемым оператором процедуры. Данный оператор может применяться только в теле описания процедуры или функции, причем <Выражение> может задаваться только в случае использования оператора в контексте функции. Пример: Функция ДеньНедели(Номер)
КонецФункции Попытка Синтаксис: Попытка
Исключение
КонецПопытки; Параметры: Некоторые действия – исполняемый оператор или последовательность таких операторов. Обработка исключительной ситуации – исполняемый оператор или последовательность операторов, которые обрабатывают исключительную ситуацию. Описание: Оператор Попытка управляет выполнением программы, основываясь на возникающие при выполнении модуля ошибочные (исключительные) ситуации и определяет обработку этих ситуаций. В качестве ошибочных (исключительных) ситуаций воспринимаются ошибки времени выполнения модуля. Не предусмотрено определяемых пользователем исключений. Если при выполнении последовательности операторов <Некоторые действия> произошла ошибка времени выполнения (деление на 0, извлечение корня из отрицательного числа и т.д.), то выполнение оператора, вызвавшего ошибку прерывается и управление передается на первый оператор последовательности операторов <Обработка исключительной ситуации>. После выполнения последовательности операторов <Обработка исключительной ситуации> управление передается на следующий за ключевым словом КонецПопытки оператор. Если же последовательность <Некоторые действия> выполнилась без ошибок, то последовательность операторов <Обработка исключительной ситуации> будет пропущена и управление также будет продолжено с оператора, следующего за ключевым словом КонецПопытки. |
Loading
|