![]() |
|
Программный вывод ТаблицыЗначений на форму. | ☑ | ||
---|---|---|---|---|
0
Vasya1c
23.10.19
✎
11:26
|
Здравствуйте, помогите разобраться, пытаюсь вывести таблицу значений на форму обработки программно, реквизита ТЗ нет на форме
ИмяТаблицыЗн="План"; МассивДобавляемыхРеквизитов = Новый Массив; МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(ИмяТаблицыЗн, Новый ОписаниеТипов("ТаблицаЗначений"))); МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Контрагент", Новый ОписаниеТипов("Строка",Новый КвалификаторыСтроки(100)),ИмяТаблицыЗн , "Контрагент")); ТаблицаФормы = Элементы.Добавить(ИмяТаблицыЗн, Тип("ТаблицаФормы")); ТаблицаФормы.ПутьКДанным = ИмяТаблицыЗн; ТаблицаФормы.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; ЗначениеВРеквизитФормы(ТаблицаЗначений, ИмяТаблицыЗн); Вылетает ошибка, Недопустимое значение параметра (параметр номер '2') {ВнешняяОбработка.ПолучитьФайлЭкселя.Форма.Форма.Форма(187)}: ЗначениеВРеквизитФормы(ТаблицаЗначений, ИмяТаблицыЗн); |
|||
1
ДенисЧ
23.10.19
✎
11:27
|
А нет ли у тебя на форме уже реквизита с таким именем?
|
|||
2
Franchiser
гуру
23.10.19
✎
11:33
|
где ИзменитьРеквизиты ?
|
|||
3
Vasya1c
23.10.19
✎
11:36
|
(1)Реквизита с таким именем нет.
(2) процедура большая я часть выложил сюда,на самом деле так ИмяТаблицыЗн="План"; МассивДобавляемыхРеквизитов = Новый Массив; МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(ИмяТаблицыЗн, Новый ОписаниеТипов("ТаблицаЗначений"))); МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Контрагент", Новый ОписаниеТипов("Строка",Новый КвалификаторыСтроки(100)),ИмяТаблицыЗн , "Контрагент")); ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); ТаблицаФормы = Элементы.Добавить(ИмяТаблицыЗн, Тип("ТаблицаФормы")); ТаблицаФормы.ПутьКДанным = ИмяТаблицыЗн; ТаблицаФормы.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; ЗначениеВРеквизитФормы(ТаблицаЗначений, ИмяТаблицыЗн); |
|||
4
Vasya1c
23.10.19
✎
11:38
|
На самом деле , пример из учебника практически, но что то не работает.
|
|||
5
Андрюха
23.10.19
✎
11:40
|
СоздатьКолонки
|
|||
6
Franchiser
гуру
23.10.19
✎
11:41
|
Если реквизит создаешь программно, то обращение к нему возможно как правило только через "ЭтоФорма".
ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); |
|||
7
hhhh
23.10.19
✎
11:42
|
(4) ну может таблицы разные. Для ЗначениеВРеквизитФормы всё должно совпадать, типы колонок и их количество и всё остальное.
Например, Контрагент - действтельно в другой таблице тоже строка длиной 100? |
|||
8
Vasya1c
23.10.19
✎
11:57
|
Парни благодарю, действительно в тз типы не совпадают.
Т3111= Новый ТаблицаЗначений(); Т3111.Колонки.Добавить("Контрагент",Новый ОписаниеТипов("Строка")); Новаястрока=Т3111.Добавить(); Новаястрока.Контрагент = "Леопольд"; ЗначениеВРеквизитФормы(Т3111, ИмяТаблицыЗн); Вот так без ошибки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |