Простые типы
4 мин
Типы
Тип определяет допустимые значения и набор операций, которые можно выполнять над принадлежащими ему значениями.
К простым или примитивным типам относятся:
- Число
- Строка
- Дата
- Булево
- Неопределено
- Null
- Тип
Рассмотрим подробнее каждый из них:
1. Число
В типе Число может быть любое десятичное число.
Например:
КоличествоСтрок = 10;
КоличествоСтрок = -1;
В качестве разделителя используется точка:
Сумма = 100.05;
С числами можно выполнять любые арифметические операции:
Сумма = 1 + 2;
Произведение = 4 * 10;
Частное = 100 / 10;
ОстатокДеления = 7 % 2;
УнарныйМинус = - Сумма;
Допустимая разрядность числа - 32 знака. Поэтому лучше не использовать 1С для очень точных вычислений.
2. Строка
Типом строка является строка произвольной длины.
Набор символов заключенный в двойные кавычки называется Литералом строкового типа.
Например:
"Владимир";
Для определения переменной типа строка, можно присвоить переменной литерал строкового типа:
Имя = "Владимир";
ПустаяСтрока = "";
В строковых литералах допустимы переносы строки, таким образом создаются многострочные строки
Перенос можем осуществлять двумя способами:
1. Используя "|":
МногострочнаяСтрока = "Это
|многострочная
|строка";
2. Записывая строковые литералы подряд:
МногострочнаяСтрока = "Это" "многострочная" "строка";
МногострочнаяСтрока = "Это"
"многострочная"
"строка";
Чаще используется "|", для удобства его набора можно воспользоваться alt-кодом:
alt + 124 это символ "|" (зажимаем alt и набираем 124)
Кроме того полезно знать и другие:
-
alt + 60 "<"
-
alt + 62 ">"
-
alt + 38 "&"
-
alt + 39 одинарные кавычки
Строки имеют формат Unicode - набор символов, в котором каждому символу равен числовой код. Другими словами, каждому символу строки соответствует некоторое число.
Например:
Символ(123)
; // это "{"
И обратно:
КодСимвола("{"); // это "123"
3. Дата
В типе Дата содержатся даты с временем начиная с 01.01.0001 года.
Когда данные с типом дата хранятся в базе - точность до секунды, когда в переменной - до ста микросекунд.
Литералом типа даты называется строка цифр, в одинарных кавычках вида 'ГГГГММДДччммсс', где обязательно должны быть:
- ГГГГ - цифры года
- ММ - месяца
- дд - даты
не обязательно (если отсутствуют, то равны 0):
- чч - цифры часа
- мм - минут
- сс - секунд
если между заданными цифрами будут другие символы, то они будут игнорироваться
Примеры:
'20240102' // 02.01.2024 0:00:00
'2025.12.01 19:56:04' // 01.12.2025 19:56:04
'70251201195604' // 01.12.7025 19:56:0
4. Булево
В типе булево значения могут быть только Истина или Ложь (Литералы типа булева). Используются в логических выражениях
На естественном языке логическое выражение выглядит так:
Если прочитал про тип булево, тогда сказать "Я знаю что это за тип"
На встроенном языке:
Если ПрочиталПроТипБулево Тогда
Сообщить("Я знаю, что это за тип");
КонецЕсли;
ПрочиталПроТипБулево - переменная типа булево в значении Истина
5. Неопределено и Null
Неопределено и Null имеют соответствующие типы и используются в специальных случаях, а не в качестве «пустых» значений. Буквально «пустое» значение отсутствует в 1С:Предприятии 8.
Однако для понимания проще представлять их именно «пустыми». Пустые значения других типов для числа - 0, для строки - "", для даты - '00010101'.
Рассмотрим, в каких ситуациях получаются Неопределено и Null.
Типы могут быть составными, например, число и строка. Как мы знаем, пустое значение для числа - 0, для строки - "", но когда тип составной, не всегда известно, какое должно быть значение, поэтому используется «Неопределено». В случае, если переменной не присваивали значение, то ее значение тоже будет «Неопределено».
Значение Null можем получить при соединении таблиц в запросе или как реквизит иерархического справочника, когда соответствующие значения отсутствуют.
Таким образом:
- Отсутствующее значение - Null
- Значение не известного типа - Неопределено
Отличия:
- Нельзя присвоить переменной значение Null, а Неопределено можно
ИНН = Неопределено;
- Это логично в Null значения нет, а Неопределено - это уже значение, но еще не известно какого типа
- Со значение Null нельзя сравнивать, а с Неопределено можно.
6. Тип
Еще один интересный тип, используется для определения и сравнения типов.
Чтобы понять какой тип значения имеет переменная используется ТипЗнч(<Значение>).
ИНН = 987654321098;
ПредставлениеТипа = ТипЗнч(ИНН);
Сообщить(ПредставлениеТипа); // Число
ИНН = "987654321098";
ПредставлениеТипа = ТипЗнч(ИНН);
Сообщить(ПредставлениеТипа); // Строка
Чтобы создать конкретный тип используется Тип()
ТипИНН = Тип("Число");
Сообщить(ТипИНН); // Число
Комбинация Тип() и ТипЗнч(<Значение>) используется для определения типа
ИНН = 987654321098;
Если ТипЗнч(ИНН) = Тип("Число") Тогда
Сообщить("ИНН числового типа");
Иначе
Сообщить("ИНН строкового типа");
КонецЕсли;
sasha7304@mail.ru
Надо зажимать правый alt
eldarmingaliev
sasha7304@mail.ru, Видимо это зависит от настроек конкретной клавиатуры, или операционной системы. Но у меня работает только левый