В языке поддерживаются следующие базовые типы данных:
· числовой;
· строковый;
· дата.
Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции.
Строковым типом может задаваться любая последовательность символов, в том числе и пустая.
Типом дата может представляться любая корректная дата.
Правила преобразования типов данных
В процессе работы модуля или вычисления выражений может возникнуть необходимость в преобразовании типов данных отдельных значений. Для базовых типов определены следующие правила преобразования:
Число -> Строка
Если число не имеет форматных установок, то его строковым представлением является полное представление числа в формате с фиксированной точкой.
Дата -> Строка
Дата преобразованная к строковому типу имеет вид ДД.ММ.ГГ, где ГГ — две цифры года, ММ — числовое обозначение месяца (01, ..., 12), ДД — день месяца.
Строка -> Число
Строка преобразуется в число пока это возможно. Получившееся число считается результатом преобразования. (Например, строка "1.22 Glass" будет преобразована к числу 1.22). Если в начале строки не имеется ничего, что могло бы быть проинтерпретировано как число, то результат равен 0.
Дата -> Число
Результатом данного преобразования является численное представление даты.
Строка -> Дата
Если в начале строки содержится что-то, что может быть проинтерпретировано как строковое представление даты в виде ДД.ММ.ГГ, где ГГ — две цифры года, ММ — числовое обозначение месяца (01, ..., 12), ДД — день месяца, то будет произведено соответствующее преобразование. В противном случае значение даты будет нулевым.
Число -> Дата
Делается попытка взять целую часть Числа и проинтерпретировать как численное представление даты. Если число отрицательно, то итогом является нулевая дата.
Агрегатные типы данных
Агрегатные типы данных — это специализированные типы данных системы 1С:Предприятие, суть которых — отражение объектов предметной области и способ работы с ними.
Работа с агрегатными типами данных имеет существенные отличия от работы с обычными базовыми типами данных. Конкретные значения существующих агрегатных типов данных могут быть определены в программном модуле двумя способами:
· некоторые значения заранее известны в программном модуле из его глобального и локального контекста;
· другие значения могут быть определены с помощью системной функции СоздатьОбъект, которой в качестве параметра передается строка с именем агрегатного типа данных, созданного в конфигураторе.
Каждый агрегатный тип данных, как правило, имеет набор атрибутов и методов.
Атрибуты по свойствам напоминают переменные, т. е. им можно присваивать или читать их значения.
Методы — это те действия, которые может выполнять агрегатный тип данных. Методы могут иметь или не иметь возвращаемое значение. Если метод имеет возвращаемое значение, то он может размещаться в правой части оператора присваивания, в выражениях, в описании фактических параметров других вызываемых методов, процедур или функций.
Замечание. В тексте программного модуля вызов любого метода можно записывать отдельным оператором программы (как вызов процедуры) даже в том случае, если метод имеет возвращаемое значение. Другими словами, в языке допускается игнорировать возвращаемое значение.
Замечание. Работа с агрегатными типами данных языка напоминает работу с объектными типами в Visual Basic. Атрибуты агрегатного типа данных — аналогичны свойствам объектного типа в Visual Basic. Методы — аналогичны методам объектного типа в VisualBasic.
Замечание. При конфигурировании агрегатных типов данных, например Справочников, Документов, Регистров и т. п. не рекомендуется использовать в качестве идентификаторов создаваемых рекизитов существующие термины названий атрибутов и методов объектов.
Типичная последовательность работы с объектом агрегатного типа данных выглядит следующим образом:
· с помощью функции СоздатьОбъект создается объект агрегатного типа данных, и какой-либо переменной присваивается ссылка на него;
· объект позиционируется на нужном элементе данных;
· производятся различные манипуляции с объектом агрегатного типа данных через вызовы методов и обращения к его атрибутам.
· в случае, если объект агрегатного типа данных больше не нужен, он может быть отсоединен от переменной посредством переприсваивания переменной какого-либо значения базового типа (например, числа 0). Отсоединение объекта выполнять не обязательно.
Пример:
// Создаем объект типа "справочник.Сотрудники"
Сотр = СоздатьОбъект("Справочник.Сотрудники");
// Позиционируем созданный объект Сотр по известному наименованию
Сотр.НайтиПоНаименованию("Петров");
Если Сотр.Выбран() = 1 Тогда
// если сотрудник найден, отобразим его оклад
Предупреждение("Оклады" + Сотр.Оклад);
Иначе
Предупреждение("Петров не найден" + " !!!");
КонецЕсли;
// отсоединяем объект
Сотр=0;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua