|
Программная установка связей параметров выбора для новых колонок в УФ | ☑ | ||
---|---|---|---|---|
0
termos
29.08.14
✎
22:17
|
Здравствуйте, Уважаемые!
Входные данные: Платформа 8.3, УТ 11, управляемые формы, своя внешняя обработка с табличной частью в которой меняется количество колонок в зависимости от выводимых данных. Подскажите, пожалуйста, каким образом установить СвязиПараметровВыбора на некоторые вновь созданные колонки в Табличной Части моей внешней обработки. В принципе, с непосредственной установкой я разобрался, но интересует параметр ПутьКДанным передаваемый в конструктор СвязьПараметраВыбора. Возможно ли в нем указать ссылку на переменную, а не на реквизит обработки или формы обработки? Или всегда это должен быть объект метаданных? Если так, то как установить для каждой колонки свои связи параметра выбора? Ато получается следующее - я в процедуре ПриОткрытииНаСервере пробегаюсь и каждой нужной мне колонке устанавливаю свою связь, а по факту при прорисовке и выводе формы на экран платформа ставит на все изменяемые колонки последнее значение связи. Ниже код, которым пробегаюсь и устанавливаю связи. "ПВХ" в коде - это реквизит формы обработки. Количество колонок постоянно меняется в ТЧ. Итак, каким образом мне сделать для разных колонок разные связи. Надеюсь, что понятно изложил вопрос. Заранее благодарю. Для каждого Колонка Из НовыеКолонки Цикл НовыйЭлемент = Элементы.Добавить("СписокНоменклатуры"+Колонка.Имя,Тип("ПолеФормы"),Элементы.СписокНоменклатуры); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "Объект.СписокНоменклатуры."+Колонка.Имя; НовыйЭлемент.ТолькоПросмотр = Ложь; Отбор = Новый Структура; Отбор.Вставить("Колонка",Колонка.Имя); НайденнаяКолонка = СписокСвязей.НайтиСтроки(Отбор); Если НайденнаяКолонка.Количество()>0 Тогда ПВХ = НайденнаяКолонка[0].Связь; НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "ПВХ"); НовыйМассив = Новый Массив(); НовыйМассив.Добавить(НоваяСвязь); НовыеСвязи = Новый ФиксированныйМассив(НовыйМассив); Элементы["СписокНоменклатуры"+Колонка.Имя].СвязиПараметровВыбора = НовыеСвязи; КонецЕсли; КонецЦикла; |
|||
1
termos
31.08.14
✎
18:52
|
up
|
|||
2
termos
02.09.14
✎
00:00
|
подниму
|
|||
3
termos
02.09.14
✎
09:16
|
Никто не знает ответ?
|
|||
4
hhhh
02.09.14
✎
09:28
|
(3) ну тупо ПВХ = ведь реквизит формы, вы присваиваете
НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "ПВХ"); значит, во всех колонках будет одинаковая ПВХ. Которую последнюю присвоили. |
|||
5
termos
02.09.14
✎
09:32
|
Окей, а как правильно? Чтобы в каждой колонке своя стояла?
|
|||
6
olegves
02.09.14
✎
09:36
|
(0) а что за процедура ПриОткрытииНаСервере()?
среди предопределенных такой нет. Чем не устраивает ПриСозданииНаСервере()? Для каждого эл из НайденнаяКолонка Цикл - не пробовал? |
|||
7
termos
02.09.14
✎
10:03
|
(6) А чем поможет Для каждого эл из НайденнаяКолонка Цикл?
Связи устанавливаются на данный момент и работают, но т.к. ПутьКДанным ведет на один и тот же реквизит - во всех колонках СвязьПараметровВыбора одинаковая стоит (в этом проблема) и соответственно в пользовательском режиме во всех колонках один и тот же отбор стоит при выборе значения колонки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |