Назначение и краткая характеристика встроенного языка
Вид материала | Документы |
- Библиотека филолога и. Р. Гальперин очерки по стилистике английского языка, 6420.74kb.
- Библиотека филолога и. Р. Гальперин очерки по стилистике английского языка, 6400.27kb.
- 1 Краткая характеристика лесничества, 3556kb.
- П. П. Грицая ст. Солдатской публичный доклад, 739.97kb.
- Перечень примерных вопросов к итоговой аттестациии, 168.63kb.
- Инструкция по установке замка капота Defentime. Назначение изделия, 97.28kb.
- Отчёт по курсовой работе на тему «Лабораторный практикум по изучению языка структурированных, 1960.59kb.
- Учебное пособие Москва 2007 Содержание Лекция № Принцип действия лазеров, классификация, 799.05kb.
- Концепция бухгалтерского учета в рыночной экономике России. Характеристика бухгалтерской, 67.42kb.
- Календарно-тематическое планирование по русскому языку в 10 классе, 91.18kb.
Пример исходного текста программного модуля
Перем ФлагПроводки; // Флаг проведения Документа Перем ФлагИзменения; // Флаг изменения Документа //———————————————————————————————————————————————— Функция КонтрольОстатка() // Функция возвращает текущее значение остатка товара на складе Ост = Регистр.ОстаткиТоваров.Остаток(Склад, Товар,"ОстатокТовара"); Возврат Ост; КонецФункции //———————————————————————————————————————————————— Процедура УстФлагИзм() ФлагИзменения = 1; КонецПроцедуры //———————————————————————————————————————————————— Процедура ВводНового() // предопределенная процедура, вызываемая при вводе нового документа // установим дату Документа ДатаДок = РабочаяДата(); // установим реквизиты Документа (по умолчанию) ТипНакладной =Перечисление.ТипыНакладных.Перемещение; Фирма = Константа.ДефФирма; Склад = Константа.ДефСклад; СкладПолучатель =Константа.ДефСклад; КонецПроцедуры //———————————————————————————————————————————————— ПроцедураВыходноеСообщение() // процедура, которую мы будем вызывать при нажатии кнопки "ОК" Если (ФлагПроводки = 1) И (ФлагИзменения = 1)Тогда Предупреждение("Проведенный Документ были изменен! При |сохранении обязательно проведите Документ снова!"); КонецЕсли; КонецПроцедуры //———————————————————————————————————————————————— //При входе в Форму запомним промежуточные переменные ФлагПроводки= Проведен(); ФлагИзменения= 0;
=======================================================================
Объявление переменных
В языке переменные не обязательно объявлять в явном виде. Неявным определением переменной является первое ее появление в левой части оператора присваивания. Возможно также явное объявление переменной при помощи оператора Перем. Тип переменной определяется типом присвоенного ей значения. Не допускается использование в выражениях переменных с неопределенным значением (то есть переменных, которым никогда не присваивалось значения).
Переменные могут объединяться в массивы. В данной реализации программы предусмотрены только одномерные массивы.
Оператор объявления переменной
Синтаксис:
Перем <Имя_переменной> [[<Размерность>]] [Экспорт];
Параметры
-
<Имя_переменной>
Имя переменной.
[<Размерность>]
Необязательная числовая константа (записывается в квадратных скобках), указывается только в том случае, если объявляется массив и должна представляться в виде положительного целого числа.
Экспорт
Необязательное ключевое слово Экспорт указывает, что данная переменная станет доступна для других модулей. Использование данного ключевого слова имеет смысл только в глобальном программном модуле.
Пример:
Перем Очень_Нужная_Переменная;
Перем Массив_Для_Хранения[10];
Область использования переменной
Область использования переменных зависит от места их определения в конфигурации задачи. Существует три области, в которых можно объявить переменные:
В разделе определения переменных глобального программного модуля. Если переменные определены с ключевым словом Экспорт (см. оператор Перем), то это будут глобальные переменные. В разделе определения переменных модуля. Это переменные модуля. В процедуре или функции. Это локальные переменные.
Глобальные переменные доступны для использования в исполняемых операторах, выражениях, в любой процедуре и функции любого программного модуля конфигурации задачи.
Переменные модуля доступны для использования в исполняемых операторах, выражениях, в любой процедуре и функции того программного модуля, в пределах которого они объявлены.
Локальные переменные доступны в пределах той процедуры или функции, в которой они объявлены.
Если переменная определена как глобальная переменная, то она видна из всех процедур и функций любого программного модуля конфигурации задачи. Если же переменная определена внутри процедуры, то её областью видимости является данная процедура или функция. Таким образом, если две переменные с одинаковыми именами используются в двух различных процедурах модуля, и имя этой переменной не упоминается как глобальная переменная, то это две различные переменные, локальные для процедур. Если же переменная определена как глобальная переменная, то любое использование имени этой переменной будет приводить к обращению к одной и той же переменной.
Единственный способ создать для процедуры локальную переменную с именем, совпадающим с именем переменной, определенной как глобальная переменная — это объявить ее явно при помощи оператора Перем.
Выражения и оператор присваивания
Выражения
Выражение — это математическая или логическая формула, по которой вычисляется значение. Выражения состоят из констант, переменных и функций, связанных символами логических и/или арифметических операций.
Арифметические операции
В языке определены следующие виды арифметических операций:
| сложение | (Оп1 + Оп2) | | |
---|---|---|---|---|
| вычитание | (Оп1 - Оп2) | | |
| умножение | (Оп1 * Оп2) | | |
| деление | (Оп1 / Оп2) | | |
| остаток от деления | (Оп1 % Оп2) | | |
| унарный минус | (-Оп1) | | |
Сложение определено для следующих типов операндов: | Число + Число | |||
| Дата + Число (к дате прибавляется число дней) | |||
Вычитание определено для следующих типов операндов: | Число – Число | |||
| Дата – Число (от даты отнимается число дней) | |||
| Дата – Дата (результатом является число дней между датами) | |||
Умножение: | Число * Число | |||
Деление: | Число / Число | |||
Остаток от деления: | Число % Число |
Замечание. При выполнении операции % (остаток от деления) оба операнда операции округляются до целого значения.
Операция конкатенации
Операция конкатенации ("+") используется для того, чтобы присоединить одну строку к другой. Длина результирующей строки равна сумме длин соединяемых строк. В случае несовпадения типа данных второго или последующих операндов со строковым типом, их значение преобразуется к строковому типу в соответствии с правилами преобразования типов.
Пример:
Для того, чтобы удалить ненужные пробелы, используются системные функции СокрЛ и СокрП.
ФИО = СокрП(Фамилия) + " " + СокрП(Имя) + " " + СокрП(Отчество);
Логические операции
Логическая операция сравнивает операнды и вырабатывает логическое значение: «истина» или «ложь». Существует два вида логических операций: операции сравнения и булевы операции. В операциях сравнения сравниваются два значения. Булевы операции выполняются над логическими значениями, реализуя булеву алгебру. Символы булевых операций могут комбинироваться, образуя составные операции.
Операции сравнения: В языке определены следующие виды операций сравнения:
АгрегатныйТип=АгрегатныйТип
АгрегатныйТип<>АгрегатныйТип
больше (Оп1 > Оп2)
больше или равно (Оп1 >= Оп2)
равно (Оп1 = Оп2)
не равно (Оп1 <> Оп2)
меньше (Оп1 < Оп2)
Булевы операции:
В языке определены следующие виды булевых операций:
-
И или AND
конъюнкция (булево И)
ИЛИ или OR
дизъюнкция (булево ИЛИ)
НЕ или NOT
логическое отрицание (булево отрицание НЕ)
Числовые константы
Константа числового типа представляется в виде: [‘+’| ‘-’]{‘0’|’1’|’2’|’3’|’4’|’5’|’6’|’7’|’8’|’9’}[.{‘0’|’1’|’2’|’3’|’4’|’5’|’6’|’7’|’8’|’9’}] Пример: 0 123 -15 +24.110.245 Константы даты Дата задается в формате 'ДД.ММ.ГГ' или 'ДД.ММ.ГГГГ' (дата заключается в одиночные кавычки). Неопределенная дата задается как'00.00.00'. Пример: '12.04.95' '01.01.1996'
Строковые константы Константа строкового типа представляется как любаяпо следовательность символов, заключенных в двойные кавычки.
Пример: "Ура!заработала" "Это самая правильная строка" " " Кроме того, допускаются «многострочные» строковые константы.В исходном тексте многострочные константы могут задаваться двумя способами:
Первый вариант: В данном случаемежду фрагментами, представляющими отдельные строки многострочной константы, недолжно встречаться никаких символов, за исключением пробелов, переводов строкии строк комментариев.
Пример:
Стр= "Первая строка" // пример строковойконстанты "Втораястрока" "Третьястрока";
Второй вариант: В данном примерезначение константы полностью идентично предыдущему примеру. Отличие заключаетсяв том, что каждая отдельная составляющая не замыкается кавычками, а на каждойпоследующей строке помещен символ переноса строки "|". В этом вариантекомментарии между открывающей и закрывающей кавычками не допускаются.
Пример: Стр= "Первая строка |Вторая строка |Третья строка"; Строковые выражения Строковые выражения могут использоваться в качестве параметров методов, процедур и функций, либо в правой части оператора присваивания. Строковым выражением может быть отдельная строка или сложное сочетание строковых констант, функций и операций. То, что выражение является строковым, определяется по первому операнду. В случае несовпадения типа второго и последующих операндов со строковым типом, их значения преобразуются к требуемому типу в соответствии с правилами преобразования типов. Чтобы указать, что выражение является строковым, можно, например, начинать его с пустой строки символов " ". Пример: Стр= СокрП("Фамилия" + ", " + Имя + ", " + " отчество"); Стр1= "" + Докум.Цена + Валюта.СокрНаим;