Платформа: 8.3 (8.3.8.2322)
Конфигурация: самописная, на упрравляемых формах
Задача в целом:
Нужно прочитать csv-файл, вывести его в на форму таблицей (тут все норм: в серверной процедуре считываю построчно файл, формирую ТЗ, создаю программно реквизит формы и элементы формы - ТаблицуФормы передаю в реквизит формы ТЗ ... Все хорошо работает). Потом пользователь должен указать в кокой колонке этой таблицы что находится (напимер: Код - Колонка1, наименование- Колонка 2... и т.д. и т.п.) csv-файлы разные, разной структуры (для этого пользователь и указывает, что в какой колонке находится)
На форме создаю нужные рекфизиты (код, наименование...) размешаю на форме элементы управления - поле ввода. Теперь для этих елементов нужно задать (программно) СписокВыбора (перечислить все колонки из полученной таблицы). Для этого создал реквизит формы с типом СписокЗначений, в него и загоняю перечень всех колонок в той же серверной процедуре, где и формирую саму таблицу:
ЭтаФорма.СписокВыбораКолонок.Очистить();
Для Каждого Колонка Из ТЗПрочитано.Колонки Цикл
МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "ТаблицаПрочитано"));
ЭтаФорма.СписокВыбораКолонок.Добавить(Колонка.Имя);
КонецЦикла;
А теперь собственно сам вопрос:
Где (в каком обработчике) или как задать задать элементам (код, наименование...) СписокВыбора?
Если это делаю это присерно так:
Элементы.Код.СписокВыбора.Очистить();
ДЛя Каждого ЭлементСписка Из СписокВыбораКолонок Цикл
Элементы.Код.СписокВыбора.Добавить(ЭлементСписка);
КонецЦикла;
в той же серверной процедуре, или в клиентской, из которой вызывается серверная, (после вызова серверной) то в режиме предприятия нарываюсь на ошибку:
И даже моя таблица на форму не выводится.
Если для элемента управления выбираю КнопкуВыпадающегоСписка, и либо ставлю либо не ставлю "галку" в Режим выбораИзСписка И Содаю обработчик события НачалоВыбораИзСписка с кодом уже приведенным выше (но повторюсь):
Элементы.Код.СписокВыбора.Очистить();
ДЛя Каждого ЭлементСписка Из СписокВыбораКолонок Цикл
Элементы.Код.СписокВыбора.Добавить(ЭлементСписка);
КонецЦикла;
то в этот боработчик даже не заходит...
Если же ставлю КнопкуВыбора и отмечаю РежимВыбораИзСписка вобработчике НачалоВыбора пишу тот же код, то список формируется, но значение не выбирается (в пое ввода остается пустота)
Если снять РежимВыбораиИзСписка, то в обработчик заходит, но ни список, ни, само-собой, значение не отображаются
А если выбрать и КнопкуВыбора и КнопкуВыбораИзСписка, то: Сначала по КнопкеВыбора получаем список, а потом по КнопкеВыбораИзСписка выбираем нужное значение (Но это же БРЕД! Это ж какой догадливый пользователь должен быть, чтоб разгадать такой ребус?)
Подскажите, знающие люди, что я делаю не так?
P.S.: Спасибо всем, у кого хватило терпения дочитать до конца. И Еще большее спасибо, тем кто раскажет/покажет, где я заблуждаюсь
И еще: после того как добился спискавыбора и выбранного значения, при нажатии на кнопку, которая запускает процедуру прочтения файла - вылазит та же ошибка (см. выше). А тут уже что не так?
Еще раз всем (заранее) огромное спасибо за помощь
В теорії, теорія і практика нерроздільні. На практиці це не так.
Yoggi Berra