Добрый день. Такой вопрос:
Как получить "выведенные" строки Динамического списка, без переформирования повторного запроса?
---
если нужно получение не автоматически по обновлению списка, то как вариант:

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Адрес = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
    Список.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("АдресХранилища",Адрес);
    КонецПроцедуры

    &НаКлиенте
    Процедура КомандаПолучитьСтроки(Команда)
    Строки = ПолучитьСтрокиНаСервере(Адрес);
    СписокСтрок.ЗагрузитьЗначения(Строки);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьСтрокиНаСервере(Адрес)
    Результат = Неопределено;
    Если ЭтоАдресВременногоХранилища(Адрес) Тогда
    Результат = ПолучитьИзВременногоХранилища(Адрес);
    КонецЕсли;
    Возврат Результат;
    КонецФункции

    &НаСервереБезКонтекста
    Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
    Перем Адрес;
    Если Настройки.ДополнительныеСвойства.Свойство("АдресХранилища", Адрес) Тогда
    ПоместитьВоВременноеХранилище(Строки.ПолучитьКлючи(),Адрес);
    КонецЕсли;
    КонецПроцедуры
```
---
если нужно получение не автоматически по обновлению списка, то как вариант:

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Адрес = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
    Список.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("АдресХранилища",Адрес);
    КонецПроцедуры

    &НаКлиенте
    Процедура КомандаПолучитьСтроки(Команда)
    Строки = ПолучитьСтрокиНаСервере(Адрес);
    СписокСтрок.ЗагрузитьЗначения(Строки);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьСтрокиНаСервере(Адрес)
    Результат = Неопределено;
    Если ЭтоАдресВременногоХранилища(Адрес) Тогда
    Результат = ПолучитьИзВременногоХранилища(Адрес);
    КонецЕсли;
    Возврат Результат;
    КонецФункции

    &НаСервереБезКонтекста
    Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
    Перем Адрес;
    Если Настройки.ДополнительныеСвойства.Свойство("АдресХранилища", Адрес) Тогда
    ПоместитьВоВременноеХранилище(Строки.ПолучитьКлючи(),Адрес);
    КонецЕсли;
    КонецПроцедуры
```
---
Кайф. Это то что я и хотел, спасибо большое) Вы сегодня сделали мой день!))) Протестировал, работает, внедрил! Ура.
---
Красиво, спасибо
---
Так как при скролле получаем новый список, вот хочется этот список каждый раз перезаписать в ТЗ, но при полученииДанных - "НаСервереБезКонтекста"...
---
хочется Зачем?
---
не надо извращений, большинство данных получают именно запросами!! вот и получайте нужные данные запросом!
такой код гораздо понятнее/читабельнее!
---
в ответе Запроса 300000+ строк )))
---
Сообщение было скрыто модератором.
---
Без повторного выполнения запроса - никак.

Сделайте как работает платформа:

```1c
    Выбрать Первые 50
    .........
    Из ТАБЛИЦА
    ГДЕ
    НЕ ССЫЛКА В (&МассивССЫЛОК)
    УПОРЯДОЧИТЬ ПО
    ССЫЛКА
```

и накапливайте в МассивСсылок выведенные строки всех итераций.

Если данные не объектные, то придется поизвращаться с ключами записей/набором уникальных выведенных значений.
---
не совсем понял вас.
При скролле дин.списка, запрос же не меняется, отрабатывает при получении данных в котором видны строки нужные)
---
ГДЕ
       НЕ ССЫЛКА В (&МассивССЫЛОК)Ой, а платформа действительно так работает?
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Там реализация по-другому, но смысл такой
---
подождите, вроде как у элемента формы с вашим списком есть реквизит
ВыделенныеСтроки - массив элементов (зависит от списка)

Элементы.Список.ВыделенныеСтроки
---
да, есть. Там всегда одна строка выделенная.
---
а проверьте настройки вашего Списка включена ли там возможность выделения сразу нескольких строк
это в конструкторе формы, свойства элемента Список,
должно быть
Режим выделения = Множественный

в процессе работы с клавишей Shift или Ctrl выделяете нужные строчки и нажимаете кнопку Обработать (или что там у вас)
---
да, работает. Но сделал изначально по выделенным позициям, но оказалось что так не подходит. Нужно по всему списку который погрузился скроллоом. Вот и задачка)
---
1. https://wonderland.v8.1c.ru/blog/obrabotka-i-oformlenie-dannykh-dinamicheskogo-spiska/
2. https://its.1c.ru/db/pubv8devui/content/242/hdoc

Строки.ПолучитьКлючи()
---
Это ПриПолученииДанныхНаСервере, а на с Клиента или с Сервера получить эти "Строки" ?
---
Список выведенных строк актуален только в момент вывода, то есть ПриПолученииДанныхНаСервере. Зачем он вам вне этого события?
---
при нажатии на кнопку, Забрать все строки из динамического списка (45шт.) и отправить Post запрос по ним.
---
Ну тогда вам, наверное, нужны не выведенные строки, а строки в соответствии с пользовательскими отборами.
```1c
    Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
    Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    ТипГенератора = Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений");
    МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки,,, ТипГенератора);

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ТЗ = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
```
---
Да, так именно и писал по кнопке, но отбор происходит по этому запросу 300000+ строк(
---
Ок, из этих 300000 на экран вывелись 30 строк, можно сказать, случайным образом. Вы же понимаете, что в этих 30 строках нет никакого смысла. Потом, например, пользователь прокрутит список на 1 строку вниз и в списке отображаемых строк окажется только одна строка.
---
Вообще, не сходится. Тут (19) вы пишите, что строк всего 45, а потом говорите, что код из (20) возвращает 300000 строк. Как такое может быть?
---
строк 45 примерно отображается пользователю которые он может подгружать следующие 45 из 300000+
Вот мне эти 45 хотелось и увидеть по кнопке)
В (21) дал ответ на мой вопрос)
---
Даже если в Динамическом списки стать на любой элемент строки, нажать "Cntrl" + "А" , то всё, беда, будет отбирать 300000+ строк, и писать что выделение будет происходить слишком долго, можно отменить, и кнопка "Прервать появляется" ))