Все об 1С8 - просто и доступно

Добавить в Избранное  Сделать Стартовой  Написать письмо

Главная Статьи Вопрос-ответ Экспресс-справочник Гостевая книга
Статьи по 1С

Типы данных 1С и примеры работы с ними

Зачем нужные разные типы данных, написано много. И здесь не место для этой лекции. Эта статья больше будет похожа на справочник - подсказку, как сделать. В качестве примера будет приведено программное создание таблицы значений с колонками разных типов данных. Сначала в примере будут примитивные типы данных, далее составные. И программное размещение этой таблицы на управляемой форме.
Итак, создаем таблицу.

ТЗ = Новый ТаблицаЗначений;

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

ТЗ.Колонки.Добавить("ПримерЦелогоЧисла", Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(15,0)));
ТЗ.Колонки.Добавить("ПримерДесятичногоЧисла", Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(10,3)));
ТЗ.Колонки.Добавить("ПримерДатыТолькоДата", Новый ОписаниеТипов("Дата",,,,, Новый КвалификаторыДаты(ЧастиДаты.Дата)));
ТЗ.Колонки.Добавить("ПримерДатыДатаИВремя", Новый ОписаниеТипов("Дата",,,,, Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя)));
ТЗ.Колонки.Добавить("ПримерСтрокиБезОграниченияДлины");
ТЗ.Колонки.Добавить("ПримерСтрокиСОграничениемДлины", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(200)));

Это так называемые примитивные типы. Но бывает, что нужно дать возможность указать данные в колонке нескольких типов. В этом случае на помощь приходят массивы. Сначала в массив помещаются требуемые типы данных, затем этот массив указывается в качестве источника типов данных для нужной колонки таблицы значений.
	МассивТиповДанных = Новый Массив;
	МассивТиповДанных.Добавить("Строка");
	МассивТиповДанных.Добавить("Булево");
	МассивТиповДанных.Добавить("Число");	
	
	ТЗ.Колонки.Добавить("ПримерСоставногоТипа", Новый ОписаниеТипов(МассивТиповДанных));
	
	ТЗ.Колонки.Добавить("ПримерСправочника", 	Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"));
	ТЗ.Колонки.Добавить("ПримерДокумента", 		Новый ОписаниеТипов("ДокументСсылка.УстановкаЦенНоменклатуры"));

Материал дополняется.