|
Программное изменение динамического списка | ☑ | ||
---|---|---|---|---|
0
Wefast
04.08.23
✎
12:04
|
УФ.
На форме есть динамический список. Хочу добавить в него 1 поле и вывести его на форму. Пишу: Процедура ПриСозданииНасервере(отказ, стандартнаяобработка) МойДинСписок.ТекстЗапроса = МойНовыйЗапрос(); НовКолонка = Элементы.Вставить("НовоеПоле",Тип("ПолеФормы"), Элементы.ДинСписок, Элементы.СуществующееПолеНаФорме) НовКолонка.ПутьКДанным = "МойДинСписок.НовоеПоле"; КонецПроцедуры На строке НовКолонка.ПутьКДанным = "МойДинСписок.НовоеПоле"; падает с ошибкой "Недопустимое значение" |
|||
1
Garykom
04.08.23
✎
12:24
|
>НовКолонка.ПутьКДанным = "МойДинСписок.НовоеПоле";
уверен что "МойДинСписок"? |
|||
2
Garykom
04.08.23
✎
12:27
|
||||
3
Gucci76
04.08.23
✎
13:06
|
А текст запроса разве не надо изменять?
В ЗУП есть доработка динсписка для справочника сотрудников. Посмотрите как там реализовано. |
|||
4
Garykom
04.08.23
✎
13:13
|
(3) текст запроса он изменил
но накой то хрен написал НовКолонка.ПутьКДанным = "МойДинСписок.НовоеПоле"; вместо НовКолонка.ПутьКДанным = "Список.НовоеПоле"; мог бы сам догадаться по аналоги и с программным добавлением элементов формы для объектов, там "Объект.НовоеПоле" |
|||
5
Wefast
04.08.23
✎
13:38
|
Да, пример то писал от руки, поэтому опечатки могут быть.
Не помогло по ссылке В итоге такой код: &НаСервере Процедура ZUP_ПриСозданииНаСервереПеред(Отказ, СтандартнаяОбработка) Список.ТекстЗапроса = НовыйТекстЗапросаДинамическогоСпискаСписок(); Список.КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.Полное); НовЭлемент = ЭтаФорма.Элементы.Вставить("Премия", Тип("ПолеФормы"), Элементы.Список, Элементы.СписокФОТ); НовЭлемент.Вид = ВидПоляФормы.ПолеНадписи; НовЭлемент.ПутьКДанным = "Список.Премия"; НовЭлемент.Заголовок = "Премия"; КонецПроцедуры https://forum.infostart.ru/forum9/topic187815/?ysclid=lkwg5u3c5n382289636 - тут пишут, что у ДинСписка должна стоять галка "Использовать всегда". Попробую, но теряется тогда весь смысл, я не хотел править что либо на форме. В отладке в Список.КомпоновщикНастроек.Поля - нет моего поля. Думаю может в этом еще дело. |
|||
6
Гипервизор
04.08.23
✎
13:41
|
(3) Ну если надо , например, вывести реквизит ссылки, которая и так есть в запросе ДС, так зачем править запрос? ПутьКДанным = "Список.Ссылка.Реквизит" и готово.
|
|||
7
Wefast
04.08.23
✎
13:43
|
(6) нет, добавлено левое соединение с другим источником и вывод поля из этого источника.
|
|||
8
Garykom
04.08.23
✎
13:57
|
||||
9
Wefast
04.08.23
✎
14:26
|
В общем если поставить у дин списка галочку "Автозаполнение доступных полей" то работает такой вариант:
Список.ТекстЗапроса = НовыйТекстЗапросаДинамическогоСпискаСписок(); НовЭлемент = ЭтаФорма.Элементы.Вставить("Премия", Тип("ПолеФормы"), Элементы.Список, Элементы.СписокФОТ); НовЭлемент.Вид = ВидПоляФормы.ПолеНадписи; Надо будет поискать как это обойти |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |