Имя: Пароль:
1C
 
Как программно узнать имена видимых пользователю колонок динамического списка?
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) Описание массива, конечно надо бы вынести за циклы, и в принципе, заполнять массив однократно при прохождении цикла по Строки, но смысл понятен...
Основная теорема систематики: Новые системы плодят новые проблемы.