Примитивные типы значений 1С

Примитивные типы в 1С

Физически информация в памяти компьютера хранится в виде нулей и единиц (двоичном виде). Но двоичное представление данных и методы их обработки не очень удобны для восприятия, как для разработчиков, так и для пользователей. Поэтому в компьютерных системах существуют различные способы работы с данными и их представления.

Различие способов работы с данными определяется множеством программ (текстовые редакторы, табличные редакторы, графические редакторы и т.д.). В системе 1С:Предприятие 8 для обеспечения такого механизма программа хранит в памяти компьютера не только данные, но и информацию о том, как с этими данными работать.

Тип значения - это информация о способе ввода и представлении вводимого элемента данных (значения).

Виды примитивных типов 1С (неделимых на другие типы):

  • СТРОКА;
  • ЧИСЛО;
  • ДАТА;
  • БУЛЕВО;
  • НЕОПРЕДЕЛЕНО;
  • NULL;
  • ТИП.

В системе 1С можно работать с данными:

  1. программно (для большинства примитивных типов предусмотрена возможность использования литералов, т.е. указание значения соответствующего типа непосредственно в исходном тексте);
  2. интерактивно.

Типизация переменных во встроенном языке 1С:Предприятие не жесткая, так как:

  1. тип переменной определяется ее значением (переменная в разных местах модуля может содержать значения разных типов);
  2. неявным определением переменной является ее первое упоминание в левой части оператора присваивания (объявление переменной возможно как в явном виде, например, Перем Счетчик, так и в неявном, в левой части оператора присваивания, например, Счетчик = 0).

Работа в 1С со строковыми значениями

Значения типа СТРОКА содержат строку произвольной длины с возможностью одновременного использования слов на разных языках, что реализуется форматом текста Unicode.

Любая строка рассматривается как набор символов с определенны порядковым индексом, начиная с 1.

Правила определения значений типа СТРОКА:

  1. Значение строкового типа в алгоритме определяется набором символов, заключенным в двойные кавычки: "Текст".
  2. Для определения кавычки (") в строковом значении необходимо задавать двойную кавычку (""): """Текст"""
  3. Многострочные значения в алгоритме могут задаваться двумя способами:
    • Между фрагментами текста, представляющими отдельные строки многострочной строки, не должно встречаться никаких символов, за исключением: пробелов, символов перевода строки и строк комментариев (допускается использование комментариев в строке с текстом).
      Пример кода

      [свернуть]

    • Многострочное значение задается с использованием символа | (вертикальная черта) (в данном варианте допускается использование строк комментариев, но только в отдельных строках).
      Пример кода

      [свернуть]

Длина реквизитов строкового типа:

  1. в общем случае - следует использовать переменную длину строки (свойство Допустимая длина = Переменная) и при этом указывать максимально допустимую длину строки:
    • для полного наименования контрагента - 250 символов;
    • для имени файла – 260 символов;
    • полное имя физического лица – 100 символов и т.п.
  2. Допустимая длина = Фиксированная только в тех случаях, когда необходимо иметь гарантию, что строка имеет определенную длину (за счет автоматического дополнения концевыми пробелами).

В тех случаях, когда максимальная длина строки заранее известна (например, ИНН физического лица - 12 символов, ОГРНИП и т.п.), следует указывать ее в свойстве Длина (или Длина наименования для стандартного реквизита Наименование). 

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

Подробнее...

Работа в 1С с числовыми значениями

Значением типа ЧИСЛО в 1С может быть представлено любое десятичное число.

Правила определения значений типа ЧИСЛО:

  1. При определении значения в алгоритмах в качестве разделителя целой и дробной части  числа используется точка.
  2. Для определения отрицательного значения перед значением пишется знак минуса.
  3. Для числовых значений, хранящихся в памяти компьютера, разрядность (размер) не ограничена.

Работа в 1С с датой и временем

Значение типа ДАТА всегда содержит дату и время.

Значение даты, заданное в одинарных кавычках '...' (вида 'ГГГГММДДччммсс'), называется литералом типа Дата.

Правила определения значений типа ДАТА:

  1. Значение даты и времени определяется в диапазоне:
    • от: 01 января 0001 года 0 часов 0 минут 0 секунд (литерал - 00010101 или 00010101000000)
    • до: 31 декабря 9999 года 23 часа 59 минут 59 секунд (для некоторых прикладных решений - 3999 года).
  2. Значение представляет собой набор цифр, заключенных в одинарные кавычки вида 'ГГГГММДДччммсс', где:
    • ГГГГ – четыре цифры года;
    • MM – две цифры месяца;
    • ДД – две цифры дня;
    • чч – две цифры часа (в 24-часовом формате);
    • мм – две цифры минут;
    • сс – две цифры секунд.
  3. Для удобства восприятия в литерале допускается использование различных разделителей, например, "/", "\", "-", ":", " ":

В системе 1С:Предприятие 8 возможно определение литерала без времени. В таком случае значение времени в памяти будет: 0 часов 0 минут 0 секунд.

Для определения значения только для времени необходимо указывать значение даты в литерале 00010101 и необходимое время.

Квант значения типа ДАТА равен секунде, соответственно, если "Переменная1" имеет тип Дата и значение, равное 1 марта 2005 года, то значение выражения (Переменная1+20) будет равно 1 марта 2005 г 00 ч 00 мин 20 сек.

Примеры

 

[свернуть]

Работа в 1С со значениями типа БУЛЕВО

Значения типа БУЛЕВО могут иметь только значения "Истина" или "Ложь", задаваемые соответствующими литералами.

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

Правила определения значений типа БУЛЕВО:

  1. Значения могут определяться как русскоязычными литералами (Истина, Ложь), так и англоязычными (True , False).
  2. Инвертировать значение типа БУЛЕВО допускается с помощью оператора НЕ.

Работа в 1С со значениями НЕОПРЕДЕЛЕНО, NULL И ТИП

Для значения НЕОПРЕДЕЛЕНО

Значение типа НЕОПРЕДЕЛЕНО означает пустое значение с незаданным типом в памяти компьютера (например, при объявлении переменной без её инициализации). Интерактивно данное значение представлено пустой строкой.

Правила определения значений типа НЕОПРЕДЕЛЕНО:

  • Значение может определяться как русскоязычным литералом (Неопределено), так и англоязычным (Undefined).
Пример

[свернуть]

Для значения NULL

Значение типа NULL означает пустое значение с незаданным типом в базе данных.

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

Интерактивно данное значение представлено пустой строкой. На практике встречается в выборке результата запроса там, где не удалось подобрать подходящее значение:

  1. при внешнем соединении таблиц, в тех строках, для которых не нашлось соответствия во второй таблице, будет возвращен NULL;
  2. если у справочника, по которому строится выборка, задан реквизит, доступный только для элемента, и недоступный для группы, и этот реквизит выбирается - то для строк по группам будет возвращен NULL;
  3. если происходит обращение через точку к реквизиту объекта, и этот объект удален из базы (битая ссылка) - то в колонке реквизиты будет возвращен NULL.

Правила определения значений типа NULL:

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

Для значения ТИП

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

Правила определения значений типа ТИП:

Данный тип не имеет литералов и возвращается функциями встроенного языка "ТипЗнч" и "Тип".

Пример

[свернуть]

Преобразование примитивных типов в 1С

1С пытается выполнить операции в соответствии с типом первого операнда:

 

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.