Подскажите как добраться во внешнем отчете со стороны клиента до СхемаКомпоновкиДанных

На сервере я добираюсь до нее так:

 ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
 Возврат ОтчетОбъект.СхемаКомпоновкиДанных;

А на клиенте как её получить? Раз я на сервере к ней добираюсь через РеквизитФормыВЗначение значит на самом деле она хранится на клиенте или нет?
---
Доступность:
Сервер, толстый клиент, внешнее соединение.

Раз я на сервере к ней добираюсь через РеквизитФормыВЗначение значит на самом деле она хранится на клиенте или нет?
Какая тут связь? РеквизитФормыВЗначение("Отчет") просто получает значение объекта Отчет. Как раз это говорит о том, что СхемаКомпоновкиДанных хранится в объекте.
---
Доступность:
Сервер, толстый клиент, внешнее соединение.

Раз я на сервере к ней добираюсь через РеквизитФормыВЗначение значит на самом деле она хранится на клиенте или нет?
Какая тут связь? РеквизитФормыВЗначение("Отчет") просто получает значение объекта Отчет. Как раз это говорит о том, что СхемаКомпоновкиДанных хранится в объекте.
---
Oleg Space и (3) Сан Саныч
Спасибо, помогли разобраться, у меня была проблема пытался на клиенте выполнить код

ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(АдресХранилищаДанныхРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));

и как раз не знал как там добраться до этой СКД, похоже правильно будет писать

ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(АдресХранилищаДанныхРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет));

если не взлетит, по расшифровке думаю будет правильнее создать отдельную тему...
---
Все верно. Именно Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет))
А адрес данных расшифровки в дефолтной форме отчета уже хранится в реквизите формы "ДанныеРасшифровки" на который ссылается одноименное свойство расширения формы отчета.
---
Не. Схема на клиенте не хранится. И работать с ней на клиенте нельзя.
На клиенте доступен только компоновщик настроек компоновки данных. Он инициализируется на сервере с помощью схемы и на клиенте уже содержит всю нужную ему информацию.
---
Я понимаю причину твоего вопроса. Очевидно, что так как схема является свойством объекта "Отчет", то с формой она тоже как-то ассоциируется, чтобы получить к ней доступ при восстановлении объекта. Но ассоциируется скорее всего по аналогии со временным хранилищем - т.е. клиент неявно содержит только ссылку на схему, по которой получает доступ к схеме на сервере при восстановлении объекта. Такая же фигня с данными расшифровки - объект "Отчет" предоставляет встроенный сервис по сохранению данных расшифровки во временном хранилище, избавляя от необходимости делать это вручную. Хотя, с расшифровкой все-таки немного другая история...
Да и если подумать - вполне возможно, что схема на сервере каждый раз из метаданных достается.
---
Да и если подумать - вполне возможно, что схема на сервере каждый раз из метаданных достается
СхемаКомпоновкиДанных в прямом смысле этого слова - Макет. С определенным типом.
---
Хранится она там для отчета, да. Но сама по себе схема - это объект. Который можно с нуля программно создать.
А свойство "СхемаКомпоновкиДанных" у объекта "Отчет" вообще-то доступно для записи.
Так что в идеале подмена должна запоминаться и пробрасываться. Но экспериментировать лень.
---
Макет типа ТабличныйДокумент, тоже есть такой объект, как ТабличныйДокумент. Только это совсем не означает, что он в макете будет меняться.
В объекте хранится слепок прочитанного макета. Можно и программно создать, только к хранимому макету он не будет относиться.
И поведение у них похожи, в плане хранения и чтения.
---
"Только это совсем не означает, что он в макете будет меняться."
Конечно не означает. Я вообще не сильно понял, к чему ты макеты приплел.
Изначально речь о схеме, используемой в отчете - связана она с клиентом или только с метаданными.
Я вижу ситуацию так:
Схема отчета изначально вычитывается из макета (на который ссылается свойство метаданных "ОсновнаяСхемаКомпоновкиДанных") в объект в памяти соответствующего типа - "СхемаКомпоновкиДанных". Это не макет. Макет - это просто контейнер для хранения на диске в метаданных.
Ссылка на этот объект присваивается свойству "СхемаКомпоновкиДанных" отчета. И дальше этот объект можно программно менять, можно вообще присвоить другой объект. И, как я предполагаю, эти изменения должны сохраняться между серверными вызовами (и в этом случае неявная связь конкретного экземпляра схемы с клиентом существует). Это, конечно, надо бы проверить на практике :)
Во всяком случае, если работать с компоновкой вне отчета (но на форме, а не чисто на сервере), то приходится схему сохранять во временном хранилище и инициализировать компоновщик настроек ссылкой на него (т.е. клиент опосредованно связан с конкретным экземпляром схемы на сервере). Полагаю, что в "родном" отчете работает аналогичная логика, только за кулисами.
---
Конечно не означает. Я вообще не сильно понял, к чему ты макеты приплел.
Да и если подумать - вполне возможно, что схема на сервере каждый раз из метаданных достается.
В каком месте метаданных будет "схема на сервере каждый раз из метаданных достается"? Это к этому.

(8) Во всяком случае, если работать с компоновкой вне отчета, то приходится схему сохранять во временном хранилище и инициализировать компоновщик настроек ссылкой на него (т.е. клиент опосредованно связан с конкретным экземпляром схемы на сервере). Полагаю, что в "родном" отчете работает аналогичная логика, только за кулисами.
А если еще вспомнить Варианты отчета где хранятся (не БСП)...
А вообще-то это свойство ОтчетОбъект. Там и хранится.
---
В каком месте метаданных будет "схема на сервере каждый раз из метаданных достается"? Это к этому. Контекст-то я понял. А суть - не очень. Поэтому и непонятка.
"А если еще вспомнить Варианты отчета где хранятся (не БСП)" - это из другой оперы.
"А вообще-то это свойство ОтчетОбъект. Там и хранится." - мы ж про тонкий клиент разговор ведем. Сервер 1C - stateless (с известными исключениями). ОтчетОбъект уничтожается при завершении серверного вызова. При очередном создании объекта по данным формы это свойство должно откуда-то подтянуться. Вопрос в том - откуда именно и в каком виде.
---
"При очередном создании объекта" ... будет создана и схема из макета (или подменена, если вклиниться). На нее наложатся клиентские параметры пользователя и отборы. Зачем саму схему где-то временно сохранять?
---
Так а какой смысл подменять или менять схему, если как ты говоришь при очередном серверном вызове эти изменения будут затерты схемой из метаданных? Компоновщику настроек для правильной работы доступ к схеме необходим не только на этапе инициализации.
---
подменять схему можно только перед выполнением. Но стандартное выполнение отчета будет все равно брать схему по-умолчанию. Можно исполнять другую схему только программно.
---
Проверил - таки да. Переподтягивается схема из метаданных. Грусть/печаль.