|
Как загрузить таблицу значений в реквизит формы с типом таблица значений ? |
☑ |
0
budnik
14.08.13
✎
16:31
|
Выполняем разные запросы и грузим их таблицу значений
Проблема в том ,таблица загружаемая меняет структуру и
надо очистить таблицу в которую загружаем перед следущей
загрузкой.
&НаСервере
Процедура ЗагрузкаТЗвТП(ИмяТП,ТЗ)
МассивУдоляемыхРеквизитов = Новый Массив;
Для Каждого Колонка Из ПолучитьРеквизиты(ИмяТП) Цикл
Если Колонка.Имя="П" Тогда
Иначе
МассивУдоляемыхРеквизитов.Добавить(ИмяТП+"."+Колонка.Имя);
КонецЕсли;
КонецЦикла;
ИзменитьРеквизиты(,МассивУдоляемыхРеквизитов);
МассивДобавляемыхРеквизитов = Новый Массив;
Для Каждого Колонка Из ТЗ.Колонки Цикл
РеквизитФормы = Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, ИмяТП, Колонка.Имя);
МассивДобавляемыхРеквизитов.Добавить(РеквизитФормы);
КонецЦикла;
// пакетное создание и удаление колонок в РЕКВИЗИТЕ ФОРМЫ "ДанныеТаблицы" (тип Таблица Значений)
ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);
// создаем элементы
Для Каждого Колонка Из ТЗ.Колонки Цикл
Элемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), Элементы[ИмяТП]);
Элемент.Вид = ВидПоляФормы.ПолеВвода;
Элемент.ПутьКДанным = ИмяТП+"." + Колонка.Имя;
КонецЦикла;
ЭтаФорма[ИмяТП].Загрузить(ТЗ);
КонецПроцедуры
|
|
1
almar
14.08.13
✎
16:35
|
Ничего не понял, есть же ЗначениеВРеквизитФормы
|
|
2
ПТР
14.08.13
✎
19:35
|
(0) Все примерно так, но последняя строка от лукавого.
Ближе к истине: Форма.ЗначениеВРеквизитФормы(ТЗ,ИмяРеквизитаФормы)
|
|
3
budnik
19.08.13
✎
11:07
|
(2)
ЭтаФорма[ИмяТП].Загрузить(ТЗ); работает при первой загрузке
ЭтаФорма.ЗначениеВРеквизитФормы(ТЗ,ИмяТП); не работает.
|
|
4
Defender aka LINN
19.08.13
✎
11:08
|
(0) У метода "ИзменитьРеквизиты" ДВА параметра, есличо
|
|
5
olegves
19.08.13
✎
11:15
|
(0) а разве не быстрее обход результата запроса в цикле и заполнение Таблицы на форме?
|
|
6
budnik
19.08.13
✎
11:32
|
(5) со скоростью нет проблем.
Второй раз заполнить табличное поле заполнить не могу.
|
|
7
budnik
19.08.13
✎
11:36
|
(5)При повторной загрузке
Ошибка при вызове метода контекста (Добавить)
Элемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), Элементы[ИмяТП]);
по причине:
Недопустимое значение параметров
Ответить «« Действия
|
|
8
Defender aka LINN
19.08.13
✎
11:45
|
(6) А удалять добавленное в первый раз кто будет?
|
|