- •Лекция №8. Константы и переменные. Справочники. Свойства справочников.
- •Объекты и типы данных
- •Буквальные константы
- •Системные константы
- •Переменные числовые, символьные и даты
- •Переменные диалога (реквизиты формы)
- •Работа со справочниками
- •Контекст работы со справочниками
- •Контрольные вопросы
- •Литература
Лекция №8. Константы и переменные. Справочники. Свойства справочников.
Объекты и типы данных
Буквальные константы
Системные константы
Переменные числовые, символьные и даты
Переменные диалога (реквизиты формы)
Работа со справочниками
Контекст работы со справочниками
Объекты и типы данных
Объекты данных:
буквальные константы;
системные константы (не путать с определенными в конфигурации системы константами.
переменные модуля и диалога.
Объекты данных могут иметь следующие типы:
числовой;
символьный;
дата;
агрегатный.
В документации по языку не оговариваются:
Максимально возможная длина символьного объекта данных.
Диапазон задания числовых значений, а также максимально допустимая точность представления числовых данных. О допустимой точности задания числовых данных можно судить по следующим примерам.
Например:
Сообщить(Лог(2.5)); // 0.91629073187415 (14 знаков после запятой)
Сообщить(Лог(5.0)); // 1.6094379124341 (13 знаков после запятой)
Сообщить(1.0/Лог(1.01)); // 100.499170807131365574 (18 знаков после запятой)
Сообщить(2 / 3); // 0.66666666666666666667 (20 знаков после запятой)
Буквальные константы
Буквальные константы (далее - просто константы) числового типа - это вещественные числа с точкой или без точки, со знаком или без него, например:
-2.34, 2 , +2.0, .25 // Нуль перед десятичной точкой можно опустить
Константа символьного типа - последовательность символов, обрамленная двойными кавычками, например
"Это строка"
или
"" // Это константа нулевой длины
Если необходимо двойную кавычку включить в состав символьной константы, то кавычку нужно повторить дважды, например процедура
Сообщить("""Константа, которая начинается и завершается двойными кавычками""");
напечатает в окне сообщений следующий текст:
"Константа, которая начинается и завершается двойными кавычками"
Длинная символьная константа - текст, расположенный на двух или более строках, записывается либо с использованием знака продолжения - вертикальной черты, проставляемой в начале строки продолжения константы, например
стрЗ = "Это длинная символьная константа, поскольку она размещается не на одной,| а на трех строчках";
либо как последовательность однострочных констант, например
стрЗ = "Это длинная символьная константа,"
" поскольку она размещается не на одной,"
" а на трех строчках";
В таком тексте сохраняются символы конца строки. Длинную константу без символов конца строки на двух или более строчках записать нельзя. Заметим, что в виде подобных текстов нередко составляются запросы к базам данных.
Константы типа Дата, если год представляется в виде двух чисел, - это последовательность из трех пар чисел, обрамленных одинарными кавычками и разделенных точками. Формат даты -'ДД.ММ.ГГ', где ДД - число месяца, ММ - номер месяца, ГГ - две последние цифры в номере года. Например:
'03.11.01' // 3 ноября 2001 г.
Год в константе типа Дата можно задать полностью:
'03.11.1942' // 3 ноября 1942 г.
Если в представлении константы типа Дата год задается двумя цифрами, то при интерпретации даты используется значение года начала рабочего столетия, которое задается на закладке Общие в окне Настройка параметров системы, появляющемся в 1С:Предприятии после выбора пунктов меню Сервис - Параметры (рисунок 1).
Рисунок 1 Задание параметров, относящихся к датам
Так, если в представлении константы типа Дата используются две цифры, то если они меньше или равны последних двух цифр года начала рабочего столетия (в нашем случае он равен 1941), то дата относится к нынешнему веку, в противном случае к прошедшему. Например:
'03.11.1942' // 3 ноября 1942 г.
'03.11.42' // Так же 3 ноября 1942 г.
'03.11.41' // Это 3 ноября 2041 г.
Убедимся в этом визуально, активизировав кнопку 4 (рисунок 1), сохранив новую настройку и запустив обработку, содержащую два следующих сообщения:
Сообщить('03.11.42'); // Напечатает 03.11.1942
Сообщить('03.11.41'); // Напечатает 03.11.2041
Используя 4 цифры в представлении даты, можно задать любую дату от Рождества Христова, например
'01.01.0001' // 1января 1г.
Константу с датой до Рождества Христова задать нельзя.
Если константа задает несуществующую дату, то она воспринимается как пустое значение, например
Сообщить(ПустоеЗначение('33.12.01')); //Напечатает 1 (нет такой даты)
Сообщить('33.12.01'); //Напечатает . .
Сообщить(ПустоеЗначение('23.12.01')); //Напечатает 0 (верная дата)
