4. Описание встроенного языка
4.2. Объявление переменных, выражения циклы

  

План:

1. Имена переменных, процедур и функций

2. Типы значений и типы данных

 

1. Имена переменных, процедур и функций


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


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


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


Структуру программного модуля можно подразделить на следующие разделы:

- раздел определения переменных;

- раздел процедур и функций;

- раздел основной программы.


В конкретном программном модуле любой из разделов может отсутствовать.


Раздел определения переменных размещается от начала текста модуля до первого оператора Процедура или оператора Функция или любого исполняемого оператора. В этом разделе могут находиться только операторы объявления переменных Перем.


Раздел процедур и функций размещается от первого оператора Процедура или оператора Функция до любого исполняемого оператора вне тела описания процедур или функций.


Раздел основной программы размещается от первого исполняемого оператора вне тела процедур или функций до конца модуля. В этом разделе могут находиться только исполняемые операторы. Раздел основной программы исполняется в момент инициализации модуля. Обычно в разделе основной программы имеет смысл размещать операторы инициализации переменных какими-либо конкретными значениями, которые необходимо провести до первого вызова любой из процедур или функций модуля.


Объявление переменных


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


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


Если переменную модуля объявить с ключевым словом Экспорт, то она будет видна вне модуля. Экспортируемые переменные модуля приложения называются глобальными переменными, потому что они доступны в любом месте программы (кроме общих модулей). Чем меньше в вашей программе будет глобальных переменных, тем лучше.


Примеры:

//явное объявление переменной модуля или процедуры или функции

Перем Итог;

//экспортируемая переменная модуля

Перем Количество Экспорт;

//неявное объявление переменных (при первом присвоении значения)

ном = 0;


 

2. Типы значений и типы данных


Прикладное решение 1С:Предприятия оперирует различными величинами: числами, символами, объектами. каждая величина имеет тип. Тип величины определяет возможные значения и набор определенных для них операций.


Существуют типы, определенные на уровне системы, и типы, создаваемые в конкретном прикладном решении. Например, на уровне системы определены примитивные типы, такие как Строка, Число, Булево и т. д. Также на уровне системы определены и другие типы, которые могут быть использованы в прикладном решении, например универсальные коллекции значений (Массив, Структура, СписокЗначений), общие типы (ТекстовыйДокумент, ТабличныйДокумент, ПостроительОтчета, АнализДанных) и др.


Переменные встроенного языка 1С:Предприятия не типизированы. (Это значит, что тип переменной определяется типом того значения, которое хранится в переменной в данный момент.) Таким образом, в произвольные моменты работы прикладного решения переменная может иметь различные типы значения.


Данные 1С:Предприятия существуют в оперативной памяти компьютера, где они содержатся в объектах встроенного языка, и в базе данных, где осуществляется долговременное хранение этих данных.


База данных представляет собой совокупность некоторого количества таблиц, создаваемых в соответствии со структурой метаданных прикладного решения. Таблицы базы данных состоят из полей, и для каждого поля обязательно должен быть указан тип значений, которые могут храниться в этом поле. По этой причине все объекты метаданных, которые «отвечают» за создание тех или иных полей в базе данных, должны иметь совершенно определенный тип. Такими объектами являются, например, реквизиты, измерения, ресурсы и т. д.


Для того чтобы указать тип объекта метаданных, «отвечающего» за создание того или иного поля базы данных, в системе 1С:Предприятие используются не типы значений, а более сложное понятие - тип данных.


Такой подход позволяет изолировать разработчика от конкретного хранилища данных и сделать работу с данными значительно более гибкой.


Отличие типа данных от типа значения заключается в том, что тип данных является характеристикой, которая может содержать описание как одного, так и нескольких типов значений. В результате у разработчика имеется возможность:


- уточнения некоторых примитивных типов значений. Например, можно указать, что реквизит Количество будет содержать не просто числовые значения, а неотрицательные числовые значения с количеством разрядов не более 15 и дробной частью из 3 разрядов;


- указания одновременно нескольких возможных типов значений. Например, можно указать, что реквизит Сделка может содержать ссылку как на счет, выставленный покупателю, так и на счет, выставленный поставщику. В результате в реквизите Сделка смогут одновременно храниться как значения одного, так и другого типа. При этом тип данных этого реквизита будет всегда одним и тем же, но тип значения этого реквизита в каждый Конкретный момент времени будет определяться типом значения, которое в нем хранится.


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

 

Типы значений

 

Примитивные типы:

- Число (представление десятичных чисел. В тексте программного модуля конкретное значение задается набором цифр с возможным указанием дробной части через точку.);

 

Число         Литерал

234             234

654,34         654.34

 

Пример Установки формата в поле ввода на форме, ЭлементыФормы.ПолеВвода.Формат = "ЧН=’- - -’”;

Операции со значениями типа Число логические операции: >, >=, =,<>,<,<= и арифметические операции +, -, *, /, % (остаток от деления), -Число (унарный минус, изменения знака числа).

 

- Строка (представление символьной информации. В тексте программного модуля конкретное значение задается набором символов, заключённых в двойные кавычки. Если нужно задать символ ("), то записывается две двойные кавычки подряд.);

 

Строка                  Литерал

Слово                 "Слово”

фирма "Свет”       "фирма ””Свет”””

 

Указание многострочных литералов осуществляется с использованием «|» или с заключением каждой новой строки в отдельные двойные кавычки.

 

Операции со значениями типа Строка логические операции: >, >=, =,<>,<,<= и операции конкатенации +.

 

- Дата (представление значения даты и времени с точностью до секунды. В тексте программного модуля конкретное значение задается последовательностью цифр, заключённых в одинарные кавычки.);

 

Дата                                   Литерал

ДД.ММ.ГГГГ чч:мм:сс       ‘ГГГГММДДччммсс’

19.03.2003 17:20:15        ‘20030319172015’

19.03.2003 00:00:00        ‘20030319’

19.03.2003 17:20:15        ‘2003-03-19 17:20:15’

19.03.2003 17:20:15        ‘2003/03/19-17/20/15’

 

Пример Установки формата в поле ввода на форме,

ЭлементыФормы.ПолеВводаДатаИВремя.Формат

= "ДП=’19.03.2003 00:00:00’";

Операции со значениями типа Дата - логические операции: >, >=, =,<>,<,<= и арифметические операции.

 

Операция       Операнды            Результат

Сложение       Дата + Число       Дата, увеличенная на количество секунд

Вычитание      Дата - Дата           Число, соответствующее разнице между двумя датами, измеренной в секундах

Вычитание      Дата - Число        Дата, уменьшенная на количество секунд

        

- Булево (представление логических величин. В тексте программного модуля конкретное значение может быть истинным или ложным);

 

Значение    Литерал

Истина        Истина или True

Ложь          Ложь или False

 

Операции со значениями типа Булево - операции сравнения: >, >=, =,<>,<,<= и Булевы операции.

 

Операция      Операнды                  Результат

И                  Булево И Булево       Истина, если оба операнда имеют значение Истина. В остальных случаях Ложь.

ИЛИ              Булево ИЛИ Булево   Ложь, если оба операнда имеют значение Ложь. В остальных случаях Истина.

НЕ                НЕ Булево                 Истина, если значение операнда Ложь. В противном случае Истина.

        

- Неопределено. Значение типа Неопределено применяется при необходимости использовать «пустое значение», не принадлежащее ни к одному другому типу данных, определённых в прикладном решении. Тип Неопределено имеет одно единственное значение - Неопределено. Это значение используется, например, как значение составного типа по умолчанию. Литерал во встроенном языке тот же (Неопределено).

Операции со значениями типа Неопределено - операции сравнения на равенство и неравенство со значениями других типов.

 

- Null. Имеет единственное значение Null. Это значение используется системой для обозначения отсутствующего значения при работе с базой данных. Оно может использоваться, например, при соединении нескольких таблиц в запросах, когда для одной из соединяемых таблиц нет записей в другой таблице, удовлетворяющих указанным условиям. Другой пример, когда у элемента иерархического справочника имеется реквизит, для которого свойство Использование установлено в значение ДляЭлемента. Тогда для группы это поле (соответствующее реквизиту) будет иметь значение Null.


Пример,

Выборка = Справочники.Номенклатура.Выбрать();

Пока Выборка.Следующий() Цикл

     Если Выборка.ЭтоГруппа Тогда

          Префикс = "Группа: ";

     Иначе

          Префикс = "Элемент: ";

     КонецЕсли;

Сообщить (Префикс + СокрЛП(Выборка.Наименование) +

", тип артикула: " + ТипЗнч(Выборка.Артикул));

КонецЦикла;

//Тогда вместо ТипЗнч будет Null для группы, или Строка, Число и др. для элемента.

Операции со значениями типа Null - операции сравнения на равенство и неравенство со значениями других типов.

 

- Тип. Используется для идентификации различных типов значений и их сравнения.


Значения этого типа возвращаются двумя системными функциями: Тип() и ТипЗнч(). Основное различие этих функций в том, что в качестве параметра для  функции Тип() передаётся значение некоторого типа, а для ТипЗнч() – конкретное значение некоторого типа.


Пример,

Сообщить ("Использование Тип() " + Тип("Число"));

Сообщить ("Использование ТипЗнч() " + ТипЗнч(45));

//Результат один и тот же, Число.

 

Операции со значениями типа Тип - операции сравнения на равенство и неравенство со значениями других типов.

ПОИСК
МОЯ КНОПКА
Контакты
МБОУ "Лицей им.Атякшева"

628260 г. Югорск, ул. Ленина 24,
ХМАО-Югра, Тюменская область
Телефон: 8 (34675)2-48-30
Факс: 8 (34675)2-48-30



89222596815 nady_er@mail.ru
Карта
sample map