|
Программное добавление колонки дерева значений в расширении | ☑ | ||
---|---|---|---|---|
0
dimm7310
26.01.24
✎
14:33
|
На форме обработки есть дерево значений ЗаданияНаПеревозкуПланируемые (реквизит формы)
Нужно добавить колонку для ДЗ ДЗ = ДанныеФормыВЗначение(ЗаданияНаПеревозкуПланируемые, Тип("ДеревоЗначений")); ДЗ.Колонки.Добавить("НомерРаспоряжения", Новый ОписаниеТипов("Строка")); ЗначениеВДанныеФормы(ДЗ, ЗаданияНаПеревозкуПланируемые); МассивДобавляемыхРекизитов = Новый Массив; МассивДобавляемыхРекизитов.Добавить(Новый РеквизитФормы("НомерРаспоряжения",Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(11)),"ЗаданияНаПеревозкуПланируемые.НомерРаспоряжения","Номер Распоряжения")); ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРекизитов); НовыйЭлемент = Этаформа.Элементы.Вставить("НомерРаспоряжения",Тип("ПолеФормы"),ЭтаФорма.Элементы.РаспоряженияНаДоставку); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "НомерРаспоряжения"; НовыйЭлемент = Этаформа.Элементы.Вставить("НомерРаспоряжения",Тип("ПолеФормы"),ЭтаФорма.Элементы.РаспоряженияНаДоставку); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "НомерРаспоряжения"; Получаю ошибку : "Недопустимый путь к реквизиту. Путь: "ЗаданияНаПеревозкуПланируемые.НомерРаспоряжения"" Что не так ? |
|||
1
dimm7310
26.01.24
✎
14:36
|
" НовыйЭлемент = Этаформа.Элементы.Вставить("НомерРаспоряжения",Тип("ПолеФормы"),ЭтаФорма.Элементы.РаспоряженияНаДоставку);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "НомерРаспоряжения";" - это в фрагмент в коде один, скопировалось в окно сообщения дважды |
|||
2
Волшебник
26.01.24
✎
14:38
|
РеквизитФормы (FormAttribute)
конструктор по умолчанию Путь к создаваемому реквизиту. Не включает имя реквизита. |
|||
3
dimm7310
26.01.24
✎
14:47
|
(2) Спасибо, исправил, но получил другую ошибку
ДЗ = ДанныеФормыВЗначение(ЗаданияНаПеревозкуПланируемые, Тип("ДеревоЗначений")); ДЗ.Колонки.Добавить("НомерРаспоряжения", Новый ОписаниеТипов("Строка")); ЗначениеВДанныеФормы(ДЗ, ЗаданияНаПеревозкуПланируемые); МассивДобавляемыхРекизитов = Новый Массив; МассивДобавляемыхРекизитов.Добавить(Новый РеквизитФормы("аНомерРаспоряжения",Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(11)),"ЗаданияНаПеревозкуПланируемые","Номер Распоряжения")); ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРекизитов); НовыйЭлемент = Этаформа.Элементы.Вставить("аНомерРаспоряжения",Тип("ПолеФормы"),ЭтаФорма.Элементы.РаспоряженияНаДоставку); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "аНомерРаспоряжения"; Ошибка Недопустимое значение: НовыйЭлемент.ПутьКДанным = "аНомерРаспоряжения"; |
|||
4
Волшебник
26.01.24
✎
14:49
|
(3) Вы что там курите?
|
|||
5
dimm7310
26.01.24
✎
14:51
|
(4) видимо туплю под вечер пятницы. Ткните пжл где не правильно
|
|||
6
dimm7310
26.01.24
✎
15:04
|
вернее: как правильно указать НовыйЭлемент.ПутьКДанным = "аНомерРаспоряжения";
|
|||
7
dimm7310
26.01.24
✎
15:15
|
ДЗ = ДанныеФормыВЗначение(ЗаданияНаПеревозкуПланируемые, Тип("ДеревоЗначений"));
ДЗ.Колонки.Добавить("аНомерРаспоряжения", Новый ОписаниеТипов("Строка")); ЗначениеВДанныеФормы(ДЗ, ЗаданияНаПеревозкуПланируемые); МассивДобавляемыхРекизитов = Новый Массив; МассивДобавляемыхРекизитов.Добавить(Новый РеквизитФормы("аНомерРаспоряжения",Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(11)),"ЗаданияНаПеревозкуПланируемые","Номер Распоряжения")); ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРекизитов); НовыйЭлемент = Этаформа.Элементы.Вставить("аНомерРаспоряжения",Тип("ПолеФормы"),ЭтаФорма.Элементы.РаспоряженияНаДоставку); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "аНомерРаспоряжения"; Ошибка Недопустимое значение: НовыйЭлемент.ПутьКДанным = "аНомерРаспоряжения"; |
|||
8
vicof
26.01.24
✎
15:22
|
НовыйЭлемент.ПутьКДанным = "ЗаданияНаПеревозкуПланируемые.аНомерРаспоряжения"
|
|||
9
dimm7310
26.01.24
✎
15:26
|
вопрос снят, Спасибо Волшебник
|
|||
10
dimm7310
26.01.24
✎
15:27
|
(8) Спасибо, да. Хотя я так пробовал перед этим, только реквизит тогда назывался НомерРаспоряжения (без "а"), когда переименовал везде аНомерРаспоряжения и прописал ПутьКДанным = "ЗаданияНаПеревозкуПланируемые.аНомерРаспоряжения" - заработало
|
|||
11
Волшебник
26.01.24
✎
15:44
|
// ДанныеФормы в ДеревоЗначений ДЗ = ДанныеФормыВЗначение(Контрагенты, Тип("ДеревоЗначений")); // колонка дерева значений Если ДЗ.Колонки.Найти("ИНН") = Неопределено Тогда ДЗ.Колонки.Добавить("ИНН", Новый ОписаниеТипов("Строка")); КонецЕсли; // реквизит формы, связанный с колонкой НовыеРеквизиты = Новый Массив; ТипСтрока = Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(10)); ОписаниеРеквизитаИНН = Новый РеквизитФормы("ИНН",ТипСтрока,"Контрагенты","ИНН"); НовыеРеквизиты.Добавить(ОписаниеРеквизитаИНН); ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты); // элемент формы типа "Поле", связанный с реквизитом формы ПолеИНН = Элементы.Вставить("ИНН", Тип("ПолеФормы"), ЭтаФорма.Элементы.Контрагенты); ПолеИНН.Вид = ВидПоляФормы.ПолеВвода; ПолеИНН.ПутьКДанным = "Контрагенты.ИНН"; ПолеИНН.Заголовок = "ИНН"; // строка дерева значений НовСтрока = ДЗ.Строки.Добавить(); НовСтрока.Код = "1"; НовСтрока.Наименование = "Ромашка"; НовСтрока.ИНН = "1234567890"; // ДеревоЗначений в ДанныеФормы ЗначениеВДанныеФормы(ДЗ, Контрагенты); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |