К статьям

Простые типы

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):

  • чч - цифры часа
  • мм - минут
  • сс - секунд

если между заданными цифрами будут другие символы, то они будут игнорироваться

Примеры:

'00010101' // 01.01.0001 0:00:00 
'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;

Если ТипЗнч(ИНН) = Тип("Число") Тогда

    Сообщить("ИНН числового типа");

Иначе

    Сообщить("ИНН строкового типа");

КонецЕсли;

Задачи на эту тему:

Рейтинг 1

Комментарии
  • sasha7304@mail.ru
    sasha7304@mail.ru

    Надо зажимать правый alt


    • eldarmingaliev
      eldarmingaliev

      sasha7304@mail.ru, Видимо это зависит от настроек конкретной клавиатуры, или операционной системы. Но у меня работает только левый