Имя: Пароль:
1C
1С v8
комбинированный тип в таблице значений
0 andron81_81
 
13.02.19
09:48
у меня у одной из колонок таблицы значений может иметь комбинированный тип. но один из типов число, да число не простое, а вот такое :
Новый КвалификаторыЧисла(25,5);

остальные типы это ссылки на справочники :
ПеречислениеСсылка.БЗ_ТипДетали,СправочникСсылка.БЗ_ВариантыВыбора.

так вот бракуется вот так :

КЧ25_5 = Новый КвалификаторыЧисла(25,5);
Тип_КЧ25_5 = Новый ОписаниеТипов( Новый КвалификаторыЧисла(25,5));
ТЗРеквизитыЗаказа.Колонки.Добавить("Значение"     , Новый ОписаниеТипов("ПеречислениеСсылка.БЗ_ТипДетали,СправочникСсылка.БЗ_ВариантыВыбора,Строка,Тип_КЧ25_5"));

и вот так :

КЧ25_5 = Новый КвалификаторыЧисла(25,5);
ТЗРеквизитыЗаказа.Колонки.Добавить("Значение"     , Новый ОписаниеТипов("ПеречислениеСсылка.БЗ_ТипДетали,СправочникСсылка.БЗ_ВариантыВыбора,Строка,КЧ25_5);

как быть ?
1 breezee
 
13.02.19
09:53
(0) Что не работает?
2 ДенисЧ
 
13.02.19
09:55
Через массив же. В СП написано
3 andron81_81
 
13.02.19
09:58
(1) ругает, что так нельзя.
вот так можно :
ТЗРеквизитыЗаказа.Колонки.Добавить("Значение"     , Новый ОписаниеТипов("ПеречислениеСсылка.БЗ_ТипДетали,СправочникСсылка.БЗ_ВариантыВыбора,Строка,число"));

а так нельзя :
ТЗРеквизитыЗаказа.Колонки.Добавить("Значение"     , Новый ОписаниеТипов("ПеречислениеСсылка.БЗ_ТипДетали,СправочникСсылка.БЗ_ВариантыВыбора,Строка,Тип_КЧ25_5"));
4 andron81_81
 
13.02.19
09:59
(2) было бы лучше если бы Вы без аббревиатур дилетанту писали.
5 ДенисЧ
 
13.02.19
10:00
(4) Дарю магическую ссылку https://www.forum.mista.ru/rules.php#dict
6 andron81_81
 
13.02.19
10:03
(5) ок. попробую через массив. отпишусь
7 СтепаDS
 
13.02.19
10:14
(5) Что ж задаром то?
8 andron81_81
 
13.02.19
10:23
(5) если указываю вот так :

ТЗРеквизитыЗаказа.Колонки.Добавить("МоеПоле"     , Новый ОписаниеТипов("ПеречислениеСсылка.БЗ_ТипДетали,СправочникСсылка.БЗ_ВариантыВыбора,Строка,число"));

числовые значения какой длины могут сохраняться ?
(у меня все значения , даже очень большой длины как до запятой , так и после отрабатывают и ничего не обрезается)
9 Мимохожий Однако
 
13.02.19
10:24
Из СП
Пример:

// Создание описателя типов для таблицы значений

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

// Создание таблицы значений

ТаблицаЗначений = Новый ТаблицаЗначений;
// добавим в таблицу значений три колонки

ТаблицаЗначений.Колонки.Добавить("Отдел",ОписаниеТиповС,"Отдел",20);
ТаблицаЗначений.Колонки.Добавить("Сотрудник",ОписаниеТиповС,
        "Фамилия сотрудника",20);
ТаблицаЗначений.Колонки.Добавить("Оклад",ОписаниеТиповЧ,"Оклад",10);
Независимо от того, куда вы едете — это в гору и против ветра!