Вы находитесь на странице: 1из 4

Модуль 14.

Типы данных, определенные на уровне платформы.


Примитивные типы данных — Строка, Число, Дата, Булево.
Универсальные коллекции значений – Массив, Структура, СписокЗначений.
Также в платформе реализованы специфические типы данных, реализующие
ту или иную функциональность прикладных решений: ТекстовыйДокумент,
ТабличныйДокумент, ХранилищеЗначения, ПостроительЗапроса.

Типы данных, образуемые в прикладном решении.


На уровне платформы поддерживается несколько классов (шаблонов)
прикладных объектов. Например, можно перечислить такие классы
прикладных объектов как Справочники, Документы, Регистры сведений,
Перечисления, Планы видов характеристик и пр.
Для каждого класса прикладных объектов определена соответствующая ему
базовая функциональность: типы таблиц базы данных, которые должны быть
созданы для хранения данных, типовые формы, типовые объекты языка,
наборы прав и пр.

Подробнее про универсальные коллекции значений.


Универсальные коллекции значений – данные составного типа,
напоминающие массивы: одномерные либо многомерные, с заголовками
полей либо без.
Массив – многомерный объект.
Пример создания одномерного массива:

НовыйМассив = Новый Массив;


НовыйМассив.Добавить("Первый элемент");
НовыйМассив.Добавить("Второй элемент");
НовыйМассив.Добавить("Третий элемент");

Пример создания двумерного массива:

Массив = Новый Массив(3, 2);


Массив[0][0] = "Первая строка, первый столбец ";
Массив[0][1] = " Первая строка, второй столбец ";
Массив[1][0] = "Вторая строка, первый столбец";
Массив[1][1] = "Вторая строка, второй столбец ";
Массив[2][0] = "Третья строка, первый столбец";
Массив[2][1] = "Третья строка, второй столбец";

Массив может применяться для решения самых разных задач. Например, с


помощью массива можно передать в запрос список элементов для отбора.

Запрос = Новый Запрос;


Запрос.Текст =
"ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(, Склады В (&СписокСкладов))
КАК ТоварыНаСкладахОстатки";

СписокСкладовМассив = Новый Массив;


СписокСкладовМассив.Добавить(Справочники.Склады.Оптовый);
СписокСкладовМассив.Добавить(Справочники.Склады.Розничный);

//Выбрать остатки только по перечисленным в массиве складам.


Запрос.УстановитьПараметр("СписокСкладов", СписокСкладовМассив);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Структура – одномерный объект, имеющий заголовки полей (ключи).

Таблица значений – многомерный объект, имеющий ключи.

Пример создания:

Стр = Новый Структура;


Стр.Вставить("ИД","1");
Стр.Вставить("Имя",Справочники.Номенклатура.НайтиПоНаименованию("Лопата"));
Стр.Вставить("Штрихкод","10101010");
Стр.Вставить("ВидНоменклатуры",Перечисления.ВидыНоменклатуры.Товар);

Структура прежде использовалась в модуле № 9 для хранения сведений о


внешней обработке:

Сведения = Новый Структура ();


Сведения.Вставить("Наименование", "РеквизитыКонтрагента");
Сведения.Вставить("Назначение",СписокНазначений);
Сведения.Вставить("Информация","Это наша обработка");
Сведения.Вставить("Вид","ПечатнаяФорма");
Сведения.Вставить("Версия", "V 1.0");
Сведения.Вставить("БезопасныйРежим",Ложь);
Сведения.Вставить("Команды", СписокКоманд);
Таблица значений – многомерный объект с ключами.

Пример создания.

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("ИД");
ТЗ.Колонки.Добавить("Имя");
ТЗ.Колонки.Добавить("Штрихкод");

Строка = Таб.Добавить();
Строка.ИД = "1";
Строка.Имя = Справочники.Номенклатура.НайтиПоНаименованию("Лопата");
Строка.Штрихкод = "10101010";

Строка = Таб.Добавить();
Строка.ИД = "2";
Строка.Имя = Справочники.Номенклатура.НайтиПоНаименованию("Топор");
Строка.Штрихкод = "20202020";

Таблицу значений можно получить, использовав метод Выгрузить() для


результата запроса.

Запрос = Новый Запрос;


Запрос.Текст =
"ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки КАК
ТоварыНаСкладахОстатки";
РезультатЗапроса = Запрос.Выполнить();
ТЗ = РезультатЗапроса.Выгрузить();

Вам также может понравиться