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