Платформа: 8.3 (8.3.8.2322)
Конфигурация: самописная, на упрравляемых формах
Задача в целом:
Нужно прочитать csv-файл, вывести его в на форму таблицей (тут все норм: в серверной процедуре считываю построчно файл, формирую ТЗ, создаю программно реквизит формы и элементы формы - ТаблицуФормы передаю в реквизит формы ТЗ ... Все хорошо работает). Потом пользователь должен указать в кокой колонке этой таблицы что находится (напимер: Код - Колонка1, наименование- Колонка 2... и т.д. и т.п.) csv-файлы разные, разной структуры (для этого пользователь и указывает, что в какой колонке находится)
На форме создаю нужные рекфизиты (код, наименование...) размешаю на форме элементы управления - поле ввода. Теперь для этих елементов нужно задать (программно) СписокВыбора (перечислить все колонки из полученной таблицы). Для этого создал реквизит формы с типом СписокЗначений, в него и загоняю перечень всех колонок в той же серверной процедуре, где и формирую саму таблицу:
ЭтаФорма.СписокВыбораКолонок.Очистить();
Для Каждого Колонка Из ТЗПрочитано.Колонки Цикл
МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "ТаблицаПрочитано"));
ЭтаФорма.СписокВыбораКолонок.Добавить(Колонка.Имя);
КонецЦикла;
Элементы.Код.СписокВыбора.Очистить();
ДЛя Каждого ЭлементСписка Из СписокВыбораКолонок Цикл
Элементы.Код.СписокВыбора.Добавить(ЭлементСписка);
КонецЦикла;
Элементы.Код.СписокВыбора.Очистить();
ДЛя Каждого ЭлементСписка Из СписокВыбораКолонок Цикл
Элементы.Код.СписокВыбора.Добавить(ЭлементСписка);
КонецЦикла;
info230a02 @ Сегодня, 4:20
,
В ошибке пишет, что отсутствует представление для отображения типа ЭлементСпискаЗначений
какие-то строки в список выбора нужно добавлять, очевидно. так типа ЭлементСписка.Значение, в зависимости что там
alx389d @ Сегодня, 14:27
,
Писал и так:
ЭтаФорма.СписокВыбораКолонок.Очистить();
Для Каждого Колонка Из ТЗПрочитано.Колонки Цикл
МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "ТаблицаПрочитано"));
ЭтаФорма.СписокВыбораКолонок.Добавить(Колонка.Имя, Колонка.Имя);
КонецЦикла;
СписокЗначений (ValueList)
Добавить (Add)
Синтаксис:
Добавить(<Значение>, <Представление>, <Пометка>, <Картинка>)
Параметры:
<Значение> (необязательный)
Тип: Произвольный.
Значение, которое необходимо добавить.
<Представление> (необязательный)
Тип: Строка; ФорматированнаяСтрока.
Строковое выражение, содержащее представление добавляемого значения.
Значение по умолчанию: Пустая строка.
<Пометка> (необязательный)
Тип: Булево.
Определяет, создавать новое значение с установленной пометкой или без пометки.
Значение по умолчанию: Ложь.
<Картинка> (необязательный)
Тип: Картинка.
Визуальное представление значения.
Значение по умолчанию: Пустая картинка.
Возвращаемое значение:
Тип: ЭлементСпискаЗначений.
info230a02 @ Сегодня, 16:39
,
вместо вот этого
Элементы.Код.СписокВыбора.Очистить();
ДЛя Каждого ЭлементСписка Из СписокВыбораКолонок Цикл
Элементы.Код.СписокВыбора.Добавить(ЭлементСписка);
КонецЦикла;
Элементы.Код.СписокВыбора.Очистить();
ДЛя Каждого ЭлементСписка Из СписокВыбораКолонок Цикл
Элементы.Код.СписокВыбора.Добавить(ЭлементСписка.Значение);
КонецЦикла;
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
сп = Новый СписокЗначений;
сп.Добавить("ффф");
сп.Добавить("ввв");
Для каждого текЭлемент Из сп Цикл
Элементы.Код.СписокВыбора.Добавить(текЭлемент);
КонецЦикла;
КонецПроцедуры
! | http://pro1c.org.ua/index.php?act=announce&id=2: 1 |
alx389d @ Сегодня, 17:10
,
Спасибо!!! Заработало!!!
Причем работает и так:
Элементы.Код.СписокВыбора.Добавить(Строка(ЭлементСписка.Значение));
Элементы.Код.СписокВыбора.Добавить(ЭлементСписка.Значение);
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua