Имя: Пароль:
1C
 
Получить данные динамического списка путем отбора
0 mralexshapovalov
 
27.03.26
14:21
Добрый день! Такой вопрос. Мне надо каким-то образом получать данные в отобранном Динамическом списке. Скажем,есть форма,тыкаю на любое значение в этой колонки и нажимаю "Найти",список отфильтровалось и скажем из 100 значений осталось 4.Вот мне надо каким-то образом посчитать значение именно 4 строк. Возможно ли это сделать? Если да то как?
1 arsik
 
гуру
27.03.26
14:52
гуглите. Не раз уже и тут и на инфостарте эта тема муссировалась
2 spiller26
 
27.03.26
15:02
(0) Смотрите в эту сторону
НаКлиенте
Для каждого ИндСтроки из Элементы.ТабЧасть.ВыделенныеСтроки Цикл
стр = ДанныеТаб.НайтиПоИдентификатору(ИндСтроки);        
КонецЦикла;
3 arsik
 
гуру
27.03.26
15:05
(2) ну уж нет.
4 Garykom
 
гуру
27.03.26
15:13
(1) +1
баянистый вопрос, легко решаемо
можешь даже ИИ задать
5 toypaul
 
гуру
27.03.26
15:18
ПолучитьИсполняемуюСхемуКомпоновкиДанных
ПолучитьИсполняемыеНастройкиКомпоновкиДанных
и далее через выполнение схемы
6 trooba
 
27.03.26
15:18
(0) на инфорстарте уже ответили
7 spiller26
 
27.03.26
15:22
(3) Стоямба это для таблиц.
Вот для ДинСписка

&НаКлиенте
Процедура ПройтисьПоВыбранным(Команда)
    
    ПройтисьПоВыбраннымНаСервере();
    
КонецПроцедуры

&НаСервере
Процедура ПройтисьПоВыбраннымНаСервере()

    Массив = Элементы.ДинСпис.ВыделенныеСтроки;
    
КонецПроцедуры
8 Fedor-1971
 
27.03.26
15:26
(7) У ТС не выбранные строки, а установленный отбор
Он хочет именно данные отбора, это через (5) решается

Так то, решение в (5) доступно для 8.3, например, для 8.2 не годится, там просто так не получится достучаться до отборов пользователя
9 spiller26
 
27.03.26
15:33
(8) Тогда этот вариант
&НаКлиенте
Процедура ПолучитьЧерезСхему(Команда)
    ПолучитьЧерезСхемуНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПолучитьЧерезСхемуНаСервере()
    
    Схема = Элементы.ДинСпис.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
    Настройки = Элементы.ДинСпис.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
    МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    
    РезультатТабл = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
КонецПроцедуры
10 spiller26
 
27.03.26
15:39
Всё расходимся.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший