|
УФ. ТЗ в РеквизитФормы и обратно. Теряется ТипЗначения колонки | ☑ | ||
---|---|---|---|---|
0
palpetrovich
07.08.21
✎
09:34
|
ТЗ до:
// ТЗ.Колонки.Карточка.ТипЗначения Строка, Null // ТЗ.Колонки.Товар.ТипЗначения.КвалификаторыСтроки.Длина 10 ЗначениеВРеквизитФормы(ТЗ, "ТаблицаДанных"); ТЗ = РеквизитФормыВЗначение("ТаблицаДанных"); // или ТЗ = ТаблицаДанных.Выгрузить() - результат тот же ТЗ после: // ТЗ.Колонки.Карточка.ТипЗначения (пусто) // ТЗ.Колонки.Товар.ТипЗначения.КвалификаторыСтроки.Длина 0 Это можно победить? |
|||
1
palpetrovich
07.08.21
✎
09:37
|
+(0)
колонки ТаблицаДанных формирую так, ТипЗначения судя по отладчику устанавливается МассивРеквизитов.Очистить(); Для Каждого Колонка ИЗ ТЗ.Колонки Цикл МассивТипов = Новый Массив; МассивТипов.Добавить(Колонка.ТипЗначения); НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), "ТаблицаДанных"); МассивРеквизитов.Добавить(НоваяКолонка); КонецЦикла; ИзменитьРеквизиты(МассивРеквизитов); |
|||
2
palpetrovich
07.08.21
✎
10:03
|
+(0) семерочное УстановитьПараметрыКолонки порешало-бы проблемку ...эх :(
|
|||
3
palpetrovich
07.08.21
✎
10:13
|
+(0) жертва копи пасте )
// ТЗ.Колонки.Товар.ТипЗначения.КвалификаторыСтроки.Длина читать как // ТЗ.Колонки.Карточка.ТипЗначения.КвалификаторыСтроки.Длина |
|||
4
acht
07.08.21
✎
11:04
|
(1) > ТипЗначения судя по отладчику устанавливается
Во что он устанавливается-то? > МассивТипов.Добавить(Колонка.ТипЗначения); Здесь ты запихиваешь в массив значение типа ОписаниеТипов, а не Тип, который ожидает конструктор ОписаниеТипов > НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), "ТаблицаДанных"); А здесь ты создаешь описание типа из странного массива и с неявным указанием КвалификаторыСтроки.Длина = 0. КвалификаторыСтроки ж оно к описанию типа относятся, не к Тип("Строка") |
|||
5
palpetrovich
07.08.21
✎
11:13
|
(4) спасибо, попробую.
Не знаю правда когда, админы базу забрали на обновление :) |
|||
6
palpetrovich
07.08.21
✎
13:20
|
(4) Я немного сомневался, ведь в Новый ОписаниеТипов(МассивТипов) - МассивТипов тип ОписаниеТипов со всем содержимым, но сработало. Спасибо
Для Каждого Колонка ИЗ ТаблицаРезультат.Колонки Цикл КЧ = Новый КвалификаторыЧисла(Колонка.ТипЗначения.КвалификаторыЧисла.Разрядность, Колонка.ТипЗначения.КвалификаторыЧисла.РазрядностьДробнойЧасти); КС = Новый КвалификаторыСтроки(Колонка.ТипЗначения.КвалификаторыСтроки.Длина); МассивТипов = Новый Массив; Если Колонка.ТипЗначения.СодержитТип(Тип("Строка")) Тогда МассивТипов.Добавить(Тип("Строка")); ОписаниеТиповС = Новый ОписаниеТипов(МассивТипов, , КС); НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, ОписаниеТиповС, "ТаблицаДанных"); ИначеЕсли Колонка.ТипЗначения.СодержитТип(Тип("Число")) Тогда МассивТипов.Добавить(Тип("Число")); ОписаниеТиповЧ = Новый ОписаниеТипов(МассивТипов, , КЧ); НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, ОписаниеТиповЧ, "ТаблицаДанных"); Иначе МассивТипов.Добавить(Колонка.ТипЗначения); НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), "ТаблицаДанных"); КонецЕсли; МассивРеквизитов.Добавить(НоваяКолонка); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |