![]() |
|
Не сериализуется ТабДок | ☑ | ||
---|---|---|---|---|
0
ComradeKite
20.03.17
✎
21:32
|
Всем привет!
При разработке внешнего отчета столкнулся с не очевидной ошибкой. Отчет делал так, взял стандартный отчет АнализНачисленийИУдержаний, выгрузил его. Удалил все из отчета, за исключением одного расчетного листа. Алгоритм стандартный, формирую на стороне сервера табЧасть и пытаюсь вернуть(сериализовать) ее на сторону клиента. Но не тут то было, получаю страшные заклинания XDTO. То есть при выходе из функции ФЗЗапустить, получается ошибка. Дословно ошибку см ниже. Мои инвестигешены дошли до того что все нормально работает, если запускается толстый клиент в управляемых формах. В тонком клиенте ошибка. Причем после первого выскакивания ошибки, ошибка будет получаться, даже если ТЧ = Новый ТабличныйДокумент; Возврат ТЧ; Может кто то уже встречался с таким? А то я не знаю, как отчеты то писать дальше и только у меня ли это наблюдается? PS Платформа 2170 32разряда {ВнешнийОтчет.РасчетныйЛистОбсидианВнешний11.Форма.ФормаОтчета.Форма(188)}: Ошибка при вызове метода контекста (ФЗЗапустить) ТабДок = ФЗЗапустить(); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: НачалоСвойства: userSettings Форма: Элемент Тип: {http://v8.1c.ru/8.1/data-composition-system/settings}UserSettings по причине: Ошибка преобразования данных XDTO: НачалоСвойства: additionalProperties Форма: Элемент Тип: {http://v8.1c.ru/8.1/data/core}Structure по причине: Ошибка преобразования данных XDTO: НачалоСвойства: Value Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType по причине: Ошибка преобразования данных XDTO: НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/composition-template}dataSource Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType |
|||
1
Неверный Параметр И
20.03.17
✎
21:40
|
> А то я не знаю, как отчеты то писать
Совершенно верно |
|||
2
Неверный Параметр И
20.03.17
✎
21:42
|
Платформа честно рассказывает ему про userSettings из СКД, в которой есть additionalProperties типа структуры, в которой есть значение dataSource опять таки из СКД.
А он тут втирает какой-то бред про табличный документ. |
|||
3
ComradeKite
20.03.17
✎
21:49
|
to 1, 2 А вы своими постами что хотели сказать? Что вы знаете и не скажете? Или я чего то не знаю?
Если про меня, то я не претендую на всезнайку. Я просто хочу разобраться с ошибкой, на которую потратил много времени. |
|||
4
Неверный Параметр И
20.03.17
✎
21:53
|
У тебя разваливается форма при передаче контекста с клиента на сервер и обратно. Причем тут табличный документ, науке неизвестно.
Ищи, что пихаешь в реквизиты. |
|||
5
Неверный Параметр И
20.03.17
✎
22:00
|
Начиная, пожалуй с:
|
|||
6
ComradeKite
20.03.17
✎
22:07
|
Неверный параметр, немного грубоваты посты ваши, но все равно большое спасибо, направил в нужном направлении)))
Может подскажете где почитать про это XDTO, чтобы избежать подобных ошибок. |
|||
7
FIXXXL
21.03.17
✎
10:04
|
(6) обычно в СП для объекта пишут "сериализуется", это значит можно гонять туда-сюда
|
|||
8
ComradeKite
21.03.17
✎
10:21
|
Ошибка преобразования данных XDTO:
НачалоСвойства: Value Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType по причине: Ошибка преобразования данных XDTO: НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/composition-template}dataSource Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType Что же это может быть? Вроде все нормально, в стандартном отчете в конфигурации все срабатывает, а во внешнем отчете падает. |
|||
9
ComradeKite
21.03.17
✎
11:22
|
Итак проблема в сухом остатке.
Выполняется на сервере ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); Расшифровка = Неопределено; ОтчетОбъект.СкомпоноватьРезультат(ТабДок, Расшифровка); В процедуре ПриКомпоновкеРезультата вносятся изменения в процессор вывода КД, формируя табличный документ. При возврате контекста с сервера на клиента вылетает по вышеописанной ошибке. Остался только ТабличныйДокумент, что с ним не так. Я в форме вообще ничего не трогаю. К стандартным реквизитам "Отчет" не лезу. |
|||
10
ComradeKite
21.03.17
✎
16:39
|
Взял стандартный отчет, интегрировал в конфигурацию, поменял компоновку, в таких условиях работает и в тонком клиенте.
Во внешнем отчете не работает в тонком клиенте. Любые идеи вэлкоме)) |
|||
11
RomanYS
21.03.17
✎
16:59
|
Возможно в расшифровку умудрился засунуть что-то не сериализуемое.
|
|||
12
DailyLookingOnA Sunse
21.03.17
✎
17:02
|
В параметры СКД что-нибудь вроде объекта заполнено.
|
|||
13
ComradeKite
23.03.17
✎
22:45
|
Расшифровку вообще убрал, параметры проверил, все ок.
Обновлю информацию по этому вопросу: Во внешней обработке есть форма "ФормаОтчета", я ее из общих форм взял. Через эту форму почти все отчеты запускаются, чтобы стандартный запуск отчетов был. Так как форма имеет тип "ОтчетОбъект", то у формы основной реквизит "Отчет", в этом реквизите есть тип "КомпоновщикНастроекКомпоновкиДанных" (КНКД), этот тип сериализуется. Далее в КНКД есть тип "ПользовательскиеНастройкиКомпоновкиДанных" (ПНКД), тоже сериализуется. При компановке результата в ПНКД пишется структура, где находится тип "МакетКомпоновкиДанных" (МКД). Вот тут то вся засада и расположилась МКД не сериализуется. Странная картина получается. Стандартные отчеты примерно так же вызываются и все сериализуется, правда в фоновом задании. Я понимаю что так не получится, в лоб, как я хочу, но тогда как мне решить мою задачу? Все началось из за того, что я хочу чтобы доработанные отчеты были похожи на стандартные отчеты, так же красиво выглядели и вызывались стандартно и можно было в эксель выгрузить. Получается мне надо как то заменить МКД либо использовать другой тип формы и делать форму печати полностью свою. Кто как делает такие задачи?? Приношу извинения за столь утомительный рассказ Как говорится все идеи велком)))) |
|||
14
ComradeKite
24.03.17
✎
09:28
|
Тему можно закрывать, убрал макет компоновки данных и все заработало. МКД не сериализовался. Сделал вывод что почти все ошибки XDTO из за попытки перенести не сериализуемый тип с сервера на клиента.
Всем спасибо за дискуссию! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |