Основные типы данных в языковые конструкции встроенного языка в 1С:Предприятие 8.х .
Вложение | Размер |
---|---|
типы данных | 16.23 КБ |
Типы данных в 1С:Предприятие 8.х
Перед тем как погрузится в языковые конструкции встроенного языка, мы должны познакомиться с основными типами данных. К счастью,:
У начинающих изучать платформу 1С возникают порой недоумение по поводу определения типов данных и возникающих всяких языковых нюансах. Эта первая статья вводная и посвящена примитивным типам данных 1С, их не так уж и много.
- Число. Под числами в 1С подразумеваются как целые, так и значения с плавающей запятой. Максимальная разрядность значения типа «число» может быть 32 знака, включая десятичную точку. Стоит также учитывать, что ограничение в 32 знака действует на числа, которые будут записываться в базу данных. Возможно объявлять переменную и присваивать в нее значение больше 32 знаков. Для числовых значений, которые хранятся в памяти, данное ограничение не действует. После объявления переменой типа «Число» ее значением будет 0.
- Строка. Как в любом другом языке программирования, в 1С реализованы все необходимые функции для манипулирования строками. Значения данного типа представлены в юникоде (Unicode). Длина переменных типа строка – не ограничена.
- Дата. Помимо самой даты значения данного типа содержат и время. Под временем подразумевается часы, минуты и секунды. Сразу после инициализации переменной типа «Дата» ей будет присвоено значение (дата) «01 января 0001 года 00 часов 00 минут 00 секунд».Это иногда вызывает раздражение, но со временем привыкаешь.
- Булево. Это и понятно, что переменные данного типа могут принимать лишь два значения: Истина, Ложь.
- Неопределено. Значения типа «неопределено» применяются в случаях, когда требуется указать пустое значение, не относящееся ни к какому другому типу данных. Например, нужно объявить переменную, которая потом будет где-нибудь использоваться. Можно присвоить ей значение вроде 0 или «» (т.е. пустая строка), но тем самым сразу устанавливаем для нее соответствующий тип (число или строка). А что если установка одного из этих типов в последствие может помешать? Вот в таких случаях можно использовать значение типа «неопределено». Стоит также заметить, что многие функции встроенного языка, в случае не успешного выполнения, в качестве результата возвращают значение данного типа. При описании своих функции рекомендуется руководствоваться тем же правилом.
- Null. Общий смысл у Null почти такой же, как и у «неопределено». Значения данного типа применяются для обозначения отсутствующего значения в базе данных. Чаще всего, получить значения данного типа можно при использовании языка запросов. Например, запрос в котором используется объединение таблиц. Допустим в одной из таблиц отсутствует значение, удовлетворяющее условию. В таком случае, на месте отсутствующего значения будет значение типа Null.
Со значением типа Null возможно столкнуться не только при работе с запросами. Например, значение типа Null принимают реквизиты, которые не используются объектом. Представим, что у нас есть иерархический справочник с реквизитом «количество». При создании данного реквизита, ему установили свойство «Использование» в значение «Для элемента». Если попробовать обратится к данному реквизиту для элемента справочника типа «группа», то его значением как раз будет Null.
- Тип. Данный тип применяется для определения имеющихся типов. Немного запутано звучит? Ok, попробую объяснить на примере. Представь, что перед тобой встала задача сравнить типы двух переменных. В коде это будет выглядеть примерно так:
Переменная1 = 123; //Поскольку мы присвоили число, значит тип переменной будет «число».
Переменная2 = «строка»; //Здесь мы присвоили строку, значит тип переменной будет строка.
Теперь тебе нужно на 100% убедиться, что переменная1 является числовой. Вот тут нам и пригодится тип «Тип» (забавно звучит), а также парочка вспомогательных функций. Пока не будет лезть в подробности. Просто взгляни и попробуй понять нижеприведенный пример:
Если (ТипЗнч(Переменная1) = Тип(«Число»)) Тогда
Сообщить(«Переменная1 является числовой!»);
Иначе
Сообщить(«Переменная1 НЕ является числовой :(»);
КонецЕсли;
В этом небольшом кусочке кода, я сначала получаю тип переменной при помощи функции «ТипЗнч()». Данная функция в качестве параметра принимает значение, тип которого требуется получить. В нашем случае это «Переменная1». Затем мне требуется получить значение типа «Тип», характеризующее тип «Число». Для этого во встроенном языке предусмотрена функция «Тип()». Она принимает всего лишь один аргумент – строковое представление имени типа. Раз нам требуется сравнить с типом «Число», то параметром для функции будет «Число».
Благодарю за помощь в написании статьи Игоря Антонова.
Городецкая роспись
Знакомимся с плотностью жидкостей
Андрей Усачев. Пятно (из книги "Умная собачка Соня")
Астрономический календарь. Ноябрь, 2018
Рукавичка