|
Как программно узнать имена видимых пользователю колонок динамического списка? |
☑ |
0
Сияющий Асинхраль
05.10.23
✎
01:48
|
Учитывая, что сам пользователь может произвольно добавлять и убирать видимые колонки, более того, может добавлять колонки реквизитов, например, стоящего документа в строке через Ссылку... Попытался погуглить - может туплю, но не нашел внятного ответа...
|
|
1
Rettro
05.10.23
✎
02:34
|
// Получаем СКД (текст запроса):
СКД = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
// Получаем настройки пользователя (отборы, сортировки и т.п.):
НастройкиКД = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
// Выводим динамический список в таблицу значений:
КомпоновщикКД = Новый КомпоновщикМакетаКомпоновкиДанных();
МакетКД = КомпоновщикКД.Выполнить(СКД, НастройкиКД, , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
// Инициализируем объект:
ПроцессорКД = Новый ПроцессорКомпоновкиДанных;
ПроцессорКД.Инициализировать(МакетКД);
// Выводим результат в объект:
ПроцессорВыводаКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
РезультатКД_ТЗ = ПроцессорВыводаКД.Вывести(ПроцессорКД);
//Возвращаем полученную таблицу значений:
Возврат РезультатКД_ТЗ;
|
|
2
Rettro
05.10.23
✎
02:35
|
Где "Список" - динамический список на форме
Также попробуй событие "ПриПолученииДанныхНаСервере"
|
|
3
Сияющий Асинхраль
05.10.23
✎
02:44
|
(2) Да, получилось. Если кому понадобится сделал так:
Процедура ОрдераВРаботеПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
Для Каждого СтрокаСписка Из Строки Цикл
ОформлениеСтроки = СтрокаСписка.Значение.Оформление;
КлючиКолонок = Новый Массив;
Для Каждого Ы Из ОформлениеСтроки Цикл
КлючиКолонок.Добавить(Ы.Ключ);
КонецЦикла;
//****************************
КонецЦикла;
КонецПроцедуры
Здесь КлючиКолонок - массив с именами видимых пользователю колонок...
|
|
4
Сияющий Асинхраль
05.10.23
✎
02:49
|
+(3) Описание массива, конечно надо бы вынести за циклы, и в принципе, заполнять массив однократно при прохождении цикла по Строки, но смысл понятен...
|
|