|
|
Получить данные динамического списка путем отбора
Indian, MiniMuk, Garykom, Шурик71, lubitelxml, trooba, JohnGilbert, arsik, maxar, Галахад, СвинТуз, mralexshapovalov, Chameleon1980, Мультук, Timon1405, АгентБезопаснойНацио, X Leshiy, RVN, ДенисСмирнов, obs191, Fedor-1971, mszsuz
| ☑ |
|
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
|
Всё расходимся.
|
|
|
11
mralexshapovalov
03.04.26
✎
14:30
|
Всем спасибо! Помогло это решение : Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки);
Запрос = Новый Запрос(МакетКомпоновки.НаборыДанных[0].Запрос);
Для Каждого ПараметрЗапроса Из МакетКомпоновки.ЗначенияПараметров Цикл
Запрос.УстановитьПараметр(ПараметрЗапроса.Имя, ПараметрЗапроса.Значение);
КонецЦикла;
ТЗ = Запрос.Выполнить().Выгрузить();
|
|
|
12
arsik
гуру
03.04.26
✎
14:35
|
(11) а чем тебе (9) не понравилось?
|
|
|
13
Garykom
гуру
03.04.26
✎
14:46
|
(12) Вероятно хочет обрезок через запрос получить и удивляться ошибкам
|
|
|
14
СвинТуз
03.04.26
✎
15:31
|
(11)
Через процессор компоновки данных тз получить?
Без запроса?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший