Содержание:
1. Классификация различных типов данных
3. Пример типов данных, создаваемых в конкретнoм прикладнoм решении
1. Классификация различных типов данных
В системе «1С:Предприятие» используются различные типы данных информации. Тип данных программы 1С конкретного значения помогает правильно интерпретировать системе «1С:Предприятие» что именно это за значение, в каком виде его хранить и представлять пользователю.
Система по каждому значению в базе хранит не только информацию о самом значении, но и описание типа данных этого значения.
При классификации видов типов данных можно выделить две принципиальные группы.
1-ю группу образуют типы, которые присутствуют в каждом прикладном решении, от стандартных простых типов до более сложных конструкций, которые изначально определены на уровне платформы. Кстати, при необходимости написания универсального кода, использование различных типов данных этой группы не вызовет ошибок и исключений в другой конфигурации.
2-я группа – типы данных (строка, массив), которые могут присутствовать только в конкретной конфигурации.
На платформенном уровне прописаны только общие правила их создания, созданные общие классы (шаблоны). Сами же типы «появляются» в конфигурации благодаря разработчику и формируются им самим при конфигурировании прикладного решения.
2. Основные типы данных
1) Простые (примитивные) типы
Это стандартные базовые основные типы данных, односоставные по своей структуре. Они характерны, практически, для любого языка программирования. Это – «Булево», «Число», «Строка», «Дата» (см. рис.1).
Рис.1 Простые (примитивные) типы в содержании СП
Для создания значения типа из данной группы в коде следует указать литерал конкретного типа. «Истина»/ «Ложь» для логического типа, 0,1,2,… для числа и проч.
СтроковаяПерем = «Строка 1» + « » + «Строка 2»;
Также к примитивным типам можно отнести ещё 3 особых характеристики типа данных.
- «Тип». Значения этого типа служат для идентификации типа конкретного значения. По сути, значениями и являются сами типы данных. Литералы отсутствуют. Используются только встроенные функции ТипЗнч() и Тип().
Если ТипЗнч(ПерСклад) = Тип("СправочникСсылка.Склады") Тогда …
- «Неопределено». Имеет только одно значение, собственно – «Неопределено». Полям, имеющим составной тип, оно присваивается по умолчанию.
Например, у некоторого справочника есть реквизит «Контрагент», который может принимать значения нескольких типов: «СправочникСсылка.Покупатели» и «СправочникСсылка.Поставщики». Пока не задано конкретное значение реквизит будет иметь тип Неопределено. Система еще «не знает» - какой из возможных типов будет присвоен значению реквизита. Также, значение этого типа используется и в других случаях для обозначения неуказанного значения.
- «NULL». «NULL» можно увидеть в результате запроса из таблиц БД. Значение типа NULL означает, что значение выборки отсутствует. Пример типа данных, если необходимо соединить две табл. ЛЕВЫМ СОЕДИНЕНИЕМ, а в правой таблице есть строки, по которым не удовлетворяется условие соединения. Тогда, по данным строкам в итог попадут значения из левой таблицы и NULL, вместо отсутствующих значений из правой.
2) Универсальные коллекции значений
Являются уже более сложными по своей структуре. Значения с типом данных информации из этой группы могут хранить и обрабатывать коллекции, наборы значений. Они не могут быть использованы для хранения данных в базе, (данные хранятся в оперативной памяти), т.к. предназначены для обработки данных в коде. Это – тип данных Массив, Структура ТаблицаЗначений и проч.
Рис.2 Универсальные коллекции значений в СП
Для обхода значений коллекции используются специальные конструкции – циклы (Для Каждого …, Пока …, … и проч.). Для инициализации значения–коллекции необходимо использовать оператор (конструктор) Новый.
3) Общие типы
Общие типы можно также назвать общими объектами встроенного языка. Эти объекты могут использоваться для очень широкого круга именно прикладных задач, и они не связаны с бизнес-логикой самой конфигурации. К ним относится Табличный документ, Картинка, COM-объект и проч. (см. рис. 3).
Рис.3 Раздел «Общие объекты» в Синтакс-Помощнике
Значения типов этой группы также являются более сложными по структуре, в сравнении с примитивными типами, т.к. являются коллекцией (совокупностью) свойств этих прикладных объектов. Поэтому, каждое новое значение справедливо назвать экземпляром объекта. Новый экземпляр создается, также, конструктором Новый.
4) Интерфейсные типы
Обеспечивают визуальное (интерфейсное) взаимодействие конфигурации с пользователем. По большей части, использование типов данных, позволяет программно управлять работой форм и манипулировать их элементами управления (см. рис. 4).
Рис.4 Интерфейсные oбъекты в СП
3. Пример типов данных, создаваемых в конкретнoм прикладнoм решении
Как уже сказано выше, в конфигурации могут присутствовать основные типы данных, присутствующие только в данном решении.
Причем, они будут «полноценными» в том смысле, что весь функционал платформы по работе с типами данных будет полностью поддерживаться точно так же, как и с типами, которые присутствуют по умолчанию.
Эти типы можно также называть прикладными типами или прикладными объектами (см. рис. 5). Такое название проистекает от того, что появление новых типов непосредственно связано с прикладными объектами конфигурации.
Точнее, эти типы создаются в прикладном решении в момент добавления разработчиком очередного объекта конфигурации. Те объекты, добавление которых образует новые типы, называются типообразующими.
В «1С-Предприятии» содержится несколькo классoв (шаблонов) прикладных объектов, но использовать их сами по себе разработчик не может. Такими классами являются, например, Справочники, Документы, РегистрыНакопления, и т.д. В дереве объектoв конфигурации эти классы являются узлами (см. Рис. 6).
Для каждого класса (шаблона) определен некий базовый функционал: общая структура таблиц БД, которые будут созданы для хранения данных, шаблоны типoвых фoрм, наборы прав доступа и проч.
Рис. 5 Прикладн. объекты в СП
Т.о., когда разработчик в дереве объектов конфигурации добавляет новый объект, в данной терминологии можно сказать, что он создает экземпляр соответствующего класса, и этот экземпляр наследует функциональность данного класса.
Например, при добавлении нового справочника «Клиенты», создается экземпляр класса «Справочники», наследующий свойства данного класса. При этом, у разработчика появляется возможность использовать в своей конфигурации новые типы данных, автоматически созданные системой:
· «CправочникМенеджер.Клиенты»,
· «CправочникОбъект.Клиенты»,
· «CправочникCсылка.Клиенты»,
· «CправочникВыборка.Клиенты»,
· «CправочникCписок.Клиенты».
Изначально определена только общая «схема» рассматриваемых типов, правила формирования новых oбъектoв (см. рис. 6).
После того, как разработчик присвоит имя объекту конфигурации и сформирует структуру его реквизитов и ТЧ (при наличии таковых в этом классе) будет сформировано и имя типа данных, сoстав его свойств и метoдов.
Например, разработчик создаёт справочник «Детали» и добавляет ему два реквизита: «Производитель» и «Гарантийный срок». Также добавляет табличную часть «Комплектующие». Значит, у созданного системой типа «СправочникОбъект.Товары» добавиться свойство Поставщик и свойство Срок хранения. Тоже и с табличной частью.
СпрСсылка = Справочники.Товары.НайтиПоНаименованию(«Двигатель»);
СпрОбъект = СпрСсылка.ПолучитьОбъект();
СпрОбъект.Производитель = Справочники.Производители.НайтиПоНаименованию(«АО Моторный Завод»);
СпрОбъект.ГарантийныйСрок = 36;
СпрОбъект.Записать();
Рис. 6. Классы объектов конфигурации в дереве объектов
Рис. 7. Общая структура описания прикладного типа в Синтакс-Помощнике
Специалист компании «Кодерлайн»
Марина Анапольская






