|
V8: Отчет с СКД + тонкий клиент упр. приложения. Ошибка передачи расшифровки. | ☑ | ||
---|---|---|---|---|
0
DUDE
17.08.15
✎
00:04
|
Доброй ночи, коллеги.
Есть такой вопрос по управляемому приложению и тонкому клиенту: на стороне сервера формируется таб.док с расшифровкой типа ДанныеРасшифровкиКомпоновкиДанных, при возврате с сервера на клиент возникает ошибка сериализации. Не могу сообразить, как поправить, хотя уверен, что должно работать (справка вроде говорит, что тип должен сериализоваться, однако "Доступность: Сервер, толстый клиент, внешнее соединение."). Возможно, как-то нужно "оборачивать" эту переменную, так как тип недоступен на форме. Пробовал кидать данные через ПоместитьВоВременноеХранилище() и временно чистить принудительно переменную, но после ее очистки отчет просто так уже не генерит событие расшифровки, а с передачей во временное хранилище как-то тоже не срослось. Прошу ткнуть носом, где туплю. :( Видимо, сказывает нехватка опыта в сфере тонкого клиента и скд. Вводные данные: 1. Код отчета формирования отчета: Функция СформироватьТабличныйДокумент(Результат) Если ТипОшибки = "" Тогда Сообщить("Не выбран тип ошибки!"); Возврат Ложь; КонецЕсли; Результат.Очистить(); обОбъект = РеквизитФормыВЗначение("Отчет"); Если ТипОшибки = "ЕстьНетОрдераИлиРеализации" Тогда СхемаКомпоновкиДанных = обОбъект.ПолучитьМакет("Макет_ЕстьНетОрдераИлиРеализации"); ИмяСхемыКомпоновки = "Макет_ЕстьНетОрдераИлиРеализации"; ИначеЕсли ТипОшибки = "РОрдерНеСоответЗаказу" Тогда СхемаКомпоновкиДанных = обОбъект.ПолучитьМакет("Макет_РОрдерНеСоответЗаказу"); ИмяСхемыКомпоновки = "Макет_РОрдерНеСоответЗаказу"; ИначеЕсли ТипОшибки = "РОрдерНеСоответРеализации" Тогда СхемаКомпоновкиДанных = обОбъект.ПолучитьМакет("Макет_РОрдерНеСоответРеализации"); ИмяСхемыКомпоновки = "Макет_РОрдерНеСоответРеализации"; ИначеЕсли ТипОшибки = "ЕстьНетОрдераИлиНакладная" Тогда СхемаКомпоновкиДанных = обОбъект.ПолучитьМакет("Макет_ЕстьНетОрдераИлиНакладная"); ИмяСхемыКомпоновки = "Макет_ЕстьНетОрдераИлиНакладная"; КонецЕсли; КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек.Основной.Настройки); элТолькоПроведенные = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ТолькоПроведенные"); элТолькоПроведенные.Значение = ВключатьТолькоПроведенныеДокументы; элТолькоПроведенные.Использование = Истина; Если ТипОшибки = "РОрдерНеСоответЗаказу" Тогда элВыполнен = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Выполнен"); элВыполнен.Значение = Справочники.СостоянияЗаказовПокупателей.НайтиПоНаименованию("Выполнен", Истина); элВыполнен.Использование = Истина; КонецЕсли; Настройки = КомпоновщикНастроек.ПолучитьНастройки(); // Подготовимся к исполнению, сформировав макет компоновки данных КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); // Выполним компоновку данных ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ,ДанныеРасшифровки); // Создадим и инициализируем процессор вывода результата ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); Возврат Истина; КонецФункции // СформироватьТабличныйДокумент() Соответственно, при выходе из процедуры ругань на переменную ДанныеРасшифровки. 2. Переменная ДанныеРасшифровки объявлена как реквизит формы с типом "Произвольный". 3. В отчете нет основной схемы компоновки данных тк используется неск. схем с разными настройками. PS: Пока клиент работает в 1С в режиме "толстый клиент". PPS: Если где-то в поиске упустил, то прошу "понять и простить". Вроде бы нужного ответа пока не нашел. |
|||
1
DUDE
17.08.15
✎
23:03
|
Вот что значит - невовремя создать тему :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |