Перейти к содержимому

6.12 Какие функции отсутствуют во встроенном языке "1С:Предприятие 8"

Telegram → Просто о платформе 1С

❓ 6.12 Какие функции отсутствуют во встроенном языке “1С:Предприятие 8”


В вопросе 6.5 мы говорили о динамической типизации встроенного языка.

Здесь посмотрим на примитивные (базовые) типы

Во встроенном языке есть следующие примитивные типы:

Число · Строка · Дата · Булево · Неопределено · NULL · Тип

Их описание можно найти в Синтакс-помощнике вместе с функциями, предназначенными для работы с соответствующими значениями.

Синтакс-помощник

Синтакс-помощник.Процедуры и функции примитивные типы

Хранит: десятичное число.

Для чисел определены обычные арифметические операции:

+ - * /

Литералы:

Количество = 10;
Отклонение = -5.25;

ℹ️
Литерал — фиксированное значение, которое напрямую записывается в коде.


Хранит: последовательность символов Unicode произвольной длины.
Cимволы закодированы в формате UTF-16

Литерал строки заключается в двойные кавычки:

Наименование = "Монета";

ℹ️
Unicode задаёт символу уникальный код (кодовую точку).

Принято записывать в шестнадцатеричном виде U+XXXX

A → U+0041.
😊 → U+1F60A

Строки 1С представлены в кодировке UTF-16.

ℹ️
UTF-16 формат кодирования кодовых точек Unicode, в котором используются 16-битные единицы кодирования.

Для символов, кодовая точка которых не может быть представлена одной 16-битной единицей кодирования, используется суррогатная пара.

Например:

😊 → U+1F60A
UTF-16:
D83D DE0A
В десятичном виде:
55357 56842

В 1С такой символ можно получить так:

Смайл = Символ(55357) + Символ(56842);

Тип имеет два значения:

Истина
Ложь

Хранит одновременно дату и время с точностью до секунды.

Литерал даты записывается в одинарных кавычках:

Момент = '20260901104525';

Формат:

ГГГГММДДччммсс

Год, месяц и день должны присутствовать. Временную часть можно не задавать:

ДатаДня = '20260901';

Для читаемости допускаются разделители:

Момент = '2026-09-01 10:45:25';

Дату можно создать и из отдельных компонентов:

Момент = Дата(2026, 9, 1, 10, 45, 25);

Важно: отдельного примитивного типа Время во встроенном языке нет.

Часы, минуты и секунды являются частью значения типа Дата.


Используется как специальное значение, когда значение ещё отсутствует. А также значение по умолчанию для составного типа.

Например:

Перем Значение;

После объявления переменная имеет значение:

Неопределено

NULL обозначает отсутствующее значение при работе с данными.

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

Литерал:

NULL

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

Например:

ТипСтроки = Тип("Строка");
ТипЗначения = ТипЗнч("Текст");

ТипЧто представляет
ЧислоЧисловое значение
СтрокаСтрока Unicode
ДатаДату и время
БулевоИстина / Ложь
НеопределеноСпециальное пустое значение
NULLОтсутствующее значение при работе с данными
ТипИдентифицирует тип значения

Для значений типов Число, Строка и Дата во встроенном языке предусмотрены свои функции работы с ними.

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