Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
07 мар 2026, 00:25

Программное заполнение Динамического списка

Автор Funt432286, 03 мар 2026, 16:29

0 Пользователей и 1 гость просматривают эту тему.

Funt432286

Всем доброго времени суток!

Все пытаюсь воевать с динамическим списком, но как-то все не "тудой"!

Есть временная ТаблицаЗначений полученная методом запроса, параметры колонок совпадают со значениями из запроса.
Пытаюсь заполнить данными Динамический список, но все как-то не так!

&НаСервере
Процедура НетВСпискеНаСервере()

Запрос = "SELECT
|   Zakazchik._Description AS Заказчик,
//|   Zakazchik._Fld32055RRef AS ManagerRef,

//|   Manager._IDRRef AS ManagerID,
|   Manager._Description AS Менеджер

|FROM dbo._Reference229 Manager
|   LEFT JOIN dbo._Reference136 Zakazchik
| ON Manager._IDRRef =Zakazchik._Fld32055RRef";

РезультатЗапроса = А_Общий.ПолучитьТаблицуНаСервере(Запрос);

// **************************************************************
// ***** Создание таблицы с типами данных ************
ТаблЗаказчикВТ = Новый ТаблицаЗначений;
ТаблЗаказчикВТ.Колонки.Добавить("Заказчик", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(100)));
ТаблЗаказчикВТ.Колонки.Добавить("Менеджер", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(100)));

Для Каждого Стр Из А_Общий.ПолучитьТаблицуНаСервере(Запрос) Цикл
НоваяСтрока = ТаблЗаказчикВТ.Добавить();
НоваяСтрока.Заказчик = Стр.Заказчик;
НоваяСтрока.Менеджер = Стр.Менеджер;
КонецЦикла;

// **************************************************************
ЗапросВТ = Новый Запрос;
ЗапросВТ.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ЗапросВТ.Текст=
"ВЫБРАТЬ
|    *
|ПОМЕСТИТЬ ЗаказчикВТ
|ИЗ
|    &ТаблЗаказчикВТ КАК ЗаказчикВТ";
ЗапросВТ.УстановитьПараметр("ТаблЗаказчикВТ",  ТаблЗаказчикВТ);
ЗапросВТ.Выполнить();

ЗапросВТ.Текст =
"ВЫБРАТЬ
| ЗаказчикВТ.Заказчик,
| ЗаказчикВТ.Менеджер
|ИЗ
| ЗаказчикВТ КАК ЗаказчикВТ
|ГДЕ
| ЗаказчикВТ.Менеджер = &МенеджерФорма";

//ЗапросВТ.УстановитьПараметр("МенеджерФорма",  МенеджерФорма.Наименование);

ЭтаФорма.Список.ТекстЗапроса = ЗапросВТ.Текст;
ЭтаФорма.Список.Параметры.УстановитьЗначениеПараметра("МенеджерФорма",  МенеджерФорма.Наименование);

КонецПроцедуры

Выдает ошибку "Основная таблица динамического списка задана неверно.

Подскажите пожалуйста, как из запроса заполнить правильно даные в динамический список!

nvj84

Нельзя программно заполнить динамический список. Если вы получили уже некую таблицу значений выводите ее.

Funt432286

nvj84, вот в этом то и вопрос "Как вывести полученную таблицу значений на форму?"

У меня в этом проблемка, может кто подскажет! Пожалуйста!

Максим75

Funt432286, в реквизитах формы создаете реквизит с типом таблица значений. там создаете колонки, имена даете такие, как у Вас будет в таблице значений после запроса. вытаскиваете на форму. и потом просто копируете свою таблицу значений в таблицу на форме. там две строчки кода всего, посмотрите в сети.

Funt432286

Может кто-то может подсказать как реализовать передачу передачу данных с закрываемой формы на открытую?

В обычных формах я это реализовывал через Оповестить (в закрываемой) и ОбработкаОповещения в открытой (через передаваемый параметр и Хранилище данных)!

Максим75

Funt432286, Вы из первой формы открываете вторую, в этой второйчто-то делаете и закрываете ее. я правильно понимаю?
если так, то при закрытии Вы можете вернуть структуру (посмотрите команду Закрыть у формы), а в первой форме обработать эту структуру.
Вы же когда открываете вторую форму можете же некое оповещение передать и потом в этом оповещении все обработать.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск