Тонкий клиент, на форме динамческий спикок (произвольный запрос), в котором создается временная таблица из ТаблицыЗначений.

При открытии динамического списка вылетает Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.

Делаю вывод что на тонком клиенте в динамическом списке не поддерживается таблица значений!
Есть ли какая то возможность передать ТЗ в динамический список (без решений с помощью регистра сведений)?
---
это показывает, что сам текст запроса в конфигураторе можно сделать начиная с 18 платформы.
В толстом клиенте это будет работать.
В режиме тонкого клиента это работать не будет. Ну не знает тонкий клиент про тип ТаблицаЗначений. И ничего с этим не поделать.
---
В динамическом списке в принципе не рекомендуется временная таблица. ;)
---
Делаю вывод что на тонком клиенте в динамическом списке не поддерживается таблица значений!
Тонкий клиент вообще ничего не знает про тип ТаблицаЗначений.
---
Такая возможность есть, начиная с 8.3.17. Но с ограничениями.
https://partners.v8.1c.ru/forum/t/1953821/m/1953821
В тонком клиенте полноценно оно работать не будет.
---
Интересно, только нет доступа к ссылке, как раз стоит версия 8.3.18
А можно альтернативную ссылку?
---
Спасибо, а можно еще ссылку из второго скриншота, хочется понять как прикручивается внешний менеджер временных таблиц!

Из остального я понял использование ТаблицыЗначений в Динамическом списке на тонком клиенте, работает начиная с 17 версии, но у меня 8.3.18.1698 и оно не работает, либо не уловил нюанс :(
---
Вот
https://dl03.1c.ru/content/Platform/8_3_17_1851/1cv8upd_8_3_17_1851.htm#19110485-11e0-11ea-8371-0050569f678a

Но это про СКД.
Для динамического списка это не поможет.
---
Попробуйте запустить это в толстом клиенте, для эксперимента.
---
Да в толстом все работает! в тонком нет
---
это показывает, что сам текст запроса в конфигураторе можно сделать начиная с 18 платформы.
В толстом клиенте это будет работать.
В режиме тонкого клиента это работать не будет. Ну не знает тонкий клиент про тип ТаблицаЗначений. И ничего с этим не поделать.
---
в чем необходимость использовать ТЗ в динамическом списке?
Всегда можно обойтись без этого.
---
В данном случае нет, в динамический список выводиться таблица из внешних источников данных, с помошью таблицы значений подключаю регистр сведений к внешним источникам. Загружать всё в таблицу значений без динамического списка, самоубийство, т.к таблица огромная
---
Загружать всё в таблицу значений без динамического списка, самоубийство, т.к таблица огромная
Думаете, что при использовании подключения ТЗ будет динамическое считывание из базы? Ну-ну...
Если получаемые данные будут "огромными", то может стоит пересмотреть бизнес-логику? зачем очень большое кол-во записей показывать пользователю? Он же реально не сможет это все пересмотреть.

И еще, РеквизитФормыКоллекция, которая и может отражать данные Таблицы значений на тонком клиенте, так же показывает не все данные сразу на клиенте, а выводит их порционно.
---
Да, правы! При добавлении в запрос ТЗ нельзя установить основную таблицу и динамическое считываение. Не знал, странно даже както, т.к со временными таблицами все ок!

Тогда единственное остается понять можно ли передать менеджер временных таблиц в динамический список..
---
Тогда единственное остается понять можно ли передать менеджер временных таблиц в динамический список..
С чего такие предположения? Нет такого в динамических списках.

Это появилось в СКД:
ПроцессорКомпоновкиДанных (DataCompositionProcessor)
Инициализировать (Initialize)
Синтаксис:
Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>, <ОграничиватьПолучениеПолейПоСсылкамПоПравуПросмотр>, <МенеджерВременныхТаблиц>)
Но не в динамическом списке.
---
Сделайте постраничный вывод.
Первая, общая таблица - хранится на сервере во временном хранилище.
Вторая, реквизит формы - в нее выводятся данные, например, по 100-1000 строк.
И добавьте кнопки для переключения страницы.

При переключении страницы идем на сервер, получаем из общей таблицы данные, заполняем в отображаемой на форме.
---
Можно предложить по другому поступить.
В ДС в запросе выводить ключевые поля, которые можно получить запросом.
Далее добавить колонки в ДС, которые заполнять из ТЗ в событии ДС ПриПолученииДанныхНаСервере.

Например, если условно надо вывести номенклатуру и остатки, в ДС формируется запрос к номенклатуре, а колонка с остатками заполняется из ТЗ в событии ПриПолученииДанныхНаСервере.
---
не годится, т.к. тогда не работает поиск и отбор по добавленным полям
---
просто не используйте Динамический список!
получайте/обрабатывайте прогоняйте через обычный запрос, данные и выводите в виде ТЗ!

сделайте разумное ограничение на количество строк (не более 1000)
пользователю вообще без разницы как вы ему данные покажете!
---
Я так понимаю и менеджеер временных таблиц тоже нет возможности приклеить к динамическому списку!?
---
Есть версия платформы в которой реализована какая то возможность, а есть еще режим совместимости конфигурации, который может не позволить использовать эту возможность, возможно есть смысл посмотреть в эту сторону...
---
(11)
:) Режим совместимости отключен
---
Можно попробовать сформировать текст произвольного запроса ДС без таблицы значений на форме, а далее в модуле проверить на заполненность текста запроса и из модуля уже прикрутить к произвольному запросу свой запрос с таблицей значений например:

```1c
    ВашДС.ПроизвольныйЗапрос = Истина;
    ТекстЗапроса =
    "ВЫБРАТЬ...
```

Тем самым теоритически передача с сервера на клиент будет происходит в момент уже сформированного изначального произвольного запроса с добавлением данных вашей таблицы значений из запроса в модуле...
---
Это в какой момент? ПриОткрытии вызвать процедуру на сервере для заполнения текста динамического списка?
---
так тоже не работает
---
У Вас так и не будет работать! "ТЗ" - Это что? Текст запроса должен быть обязательно схож с запросом на форме, те колонки которые должны создаваться из ТЗ должны быть например "NULL" на форме ,чтобы в колонку можно было записать данные из запроса из модуля
---
В процедуре "ПриОткрытии" на клиенте можно установить реквизит с типом булево например под названием "ТолькоЧтоОткрыт" для дальнейшей проверки заполнения, чтобы вызов запроса происходил в нужное время в нужном месте, (но можно обойтись и без этого)Например:

```1c
    НаКлиенте Процедура ПриОткрытии(Отказ)

    ТолькоЧтоОткрыт = Ложь;

    КонецПроцедуры
```

Далее ПриСоздании на сервере заполняем параметры формы и работаем с данными запроса, таблицами значений и работаем с проверкой(если есть необходимость) например:

```1c
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СформироватьТекстЗапросаДинамическогоСписка(СтруктураПараметров, ТолькоЧтоОткрыт = Истина)...
```
---
не понимаю, т.к. "ПриСозданииНаСервере" вызывается только один раз перед событием "ПриОткрытии"!?
---
Все верно эта проверка по моей логике необходима для обновления данных формы на сервере, если только что форма открыта то устанавливаем повторно тексты запроса дин списка, например вы на форме какой то реквизит установили ну итд...
---
попробовал сделать как говорите - ошибка таже!
---
ТЗ у вас - это что?
---
ТЗ = ТаблицаЗначений. Для понимания, прикрепил тестовую обработку
---
Увы так не работает как задумано, было бы хорошо если бы в платформу такую возможность добавили, думаю большинство бы оценили..