Имя: Пароль:
1C
1С v8
ограничения типа
0 In-Vin
 
28.03.14
13:06
меняю ограничения типов в поле формы,
Элемент.ОграничениеТипа = Новый ОписаниеТипов(ТипыЗначений);
а как подгрузить/изменить квалификаторы? В ТипыЗначений они есть, а в Элемент.ОграничениеТипа не появляются
1 In-Vin
 
28.03.14
13:07
Элемент.ОграничениеТипа.КвалификаторыЧисла = ТипыЗначений[0].КвалификаторыЧисла; не прокатывает, т.к. поле объекта недоступно для записи.
2 butterbean
 
28.03.14
13:09
как-то так:
Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла,10,2)
3 Кир Пластелинин
 
28.03.14
13:10
что мешает все сразу прописать в 'ОписаниеТипов'?
4 In-Vin
 
28.03.14
13:11
а как-то более культурно, прямо из массива?
5 Apokalipsec
 
28.03.14
13:12
(4) Добавь в свой массив ТипыЗначений.Добавить()...
6 In-Vin
 
28.03.14
13:13
(4)->(2)
7 Кир Пластелинин
 
28.03.14
13:13
вот тебе пример из СП
ОписаниеТипов (TypeDescription)
Свойства:

КвалификаторыДаты (DateQualifiers)
КвалификаторыДвоичныхДанных (BinaryDataQualifiers)
КвалификаторыСтроки (StringQualifiers)
КвалификаторыЧисла (NumberQualifiers)

Методы:

ПривестиЗначение (AdjustValue)
СодержитТип (ContainsType)
Типы (Types)

Конструкторы:

На основании объекта ОписаниеТипов
На основании типов и квалификаторов

Описание:

Представляет собой объект для управления допустимыми типами значений. В основном предназначен для присвоения в качестве значений соответствующим свойствам других объектов. Набор допустимых типов и квалификаторы примитивных типов задаются при создании объекта.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Сериализуется. Данный объект может быть сериализован в/из XML. Может использоваться в реквизитах управляемой формы. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/core}. Имя типа XDTO: TypeDescription
Пример:

// Создание описателя типов для таблицы значений
КЧ = Новый КвалификаторыЧисла(12,2);
КС = Новый КвалификаторыСтроки(20);
Массив = Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
Массив.Очистить();
Массив.Добавить(Тип("Число"));
ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);

// Создание таблицы значений
ТаблицаЗначений = Новый ТаблицаЗначений;
// добавим в таблицу значений три колонки
ТаблицаЗначений.Колонки.Добавить("Отдел",ОписаниеТиповС,"Отдел",20);
ТаблицаЗначений.Колонки.Добавить("Сотрудник",ОписаниеТиповС,
        "Фамилия сотрудника",20);
ТаблицаЗначений.Колонки.Добавить("Оклад",ОписаниеТиповЧ,"Оклад",10);
8 In-Vin
 
28.03.14
14:09
Всем спасибо.
Оказывается, что если требуется описать тип число с квалификатором, вместо массива необходимо использовать описание в формате строка.
Ошибка? Это не ошибка, это системная функция.