|
Почему не добавляется колонка в таблицу значений на форме? | ☑ | ||
---|---|---|---|---|
0
Хосе
17.08.15
✎
18:02
|
ТЗ = ДанныеФормыВЗначение(УточнениеНоменклатуры, Тип("ТаблицаЗначений"));
ТЗ.Колонки.Добавить("_СерияНаименование"); ЗначениеВДанныеФормы(ТЗ, УточнениеНоменклатуры); НСтр = УточнениеНоменклатуры.Добавить(); НСтр._СерияНаименование = "222"; Выдает ошибку на последней строчке, такой колонки нет. |
|||
1
Nuobu
17.08.15
✎
18:03
|
(0) На форме надо было создать колонку.
|
|||
2
Nuobu
17.08.15
✎
18:04
|
(0) ЗначениеВДанныеФормы(ТЗ, УточнениеНоменклатуры);
Оно в этой строке твою колонку проигнорировало, будто ты сделал УтонченныеДанные.Загрузить(ТЗ); |
|||
3
Кокос
17.08.15
✎
18:06
|
(0) вот что я накопал в свое время
//считываем первую строку и генерируем колонки МассивТипаВыбора = Новый Массив; МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений")); ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора); МассивРеквизитов = Новый Массив; МассивРеквизитов.Добавить(Новый РеквизитФормы("Таблица", ОписаниеТипаВыбора, "", "ТЗН")); Столбцы = ПолучитьИзВременногоХранилища(ПолучитьСписокКолонок()); Если Столбцы.Количество() = 0 Тогда Возврат; КонецЕсли; Счк = 0; ТЗ = Новый ТаблицаЗначений; Для Счк = 0 По Столбцы.Количество()-1 Цикл НоваяКолонка = ТЗ.Колонки.Добавить(Столбцы[Счк].Значение.Реквизит); КонецЦикла; Для Каждого Колонка Из ТЗ.Колонки Цикл МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения,"Таблица")); КонецЦикла; ИзменитьРеквизиты(МассивРеквизитов); ТаблицаПолейВыбора = Элементы.Добавить("ТЗН", Тип("ТаблицаФормы")); ТаблицаПолейВыбора.ПутьКДанным = "Таблица"; ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список; |
|||
4
Кокос
17.08.15
✎
18:15
|
Для Каждого Колонка Из ТЗ.Колонки Цикл
НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ТаблицаПолейВыбора); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "Таблица." + Колонка.Имя; КонецЦикла; Для Каждого Колонка Из ТЗ.Колонки Цикл НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ТаблицаПолейВыбора); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "Таблица." + Колонка.Имя; КонецЦикла; |
|||
5
Хосе
18.08.15
✎
12:07
|
Гм, разобрался, нужно просто добавлять как новые рекизиты формы, если таблица с реквизитами прописана на закладке "Реквизиты".
ДобавляемыеРеквизиты = Новый Массив(); ОписаниеТиповДляРеквизита = Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(150, ДопустимаяДлина.Переменная)); РеквизитТаблицы = Новый РеквизитФормы("_СерияНаименование", ОписаниеТиповДляРеквизита, "УточнениеНоменклатуры"); ДобавляемыеРеквизиты.Добавить(РеквизитТаблицы); ИзменитьРеквизиты(ДобавляемыеРеквизиты); ОписаниеТиповДляРеквизита = Новый ОписаниеТипов("Дата",,,Новый КвалификаторыДаты(ЧастиДаты.Дата)); РеквизитТаблицы = Новый РеквизитФормы("_ГоденДо", ОписаниеТиповДляРеквизита, "УточнениеНоменклатуры"); ДобавляемыеРеквизиты.Добавить(РеквизитТаблицы); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |