|
|
|
Программное добавление колонки дерева значений в расширении | ☑ | ||
|---|---|---|---|---|
|
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";
// ДеревоЗначений в ДанныеФормы
ЗначениеВДанныеФормы(ДЗ, Контрагенты); |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |