Здравствуйте. Коллеги программисты, помогите разобраться с ошибкой.
В управляемой форме внешней обработки при попытке загрузить из файла структуру настроек в реквизит формы произвольного типа выпадает ошибка:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/schema}settingsVariant Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
{ВнешняяОбработка.МояОбработка.Форма.Форма.Форма(769)}: Если Не ОткрытьНаСервере(ВрПутьКФайлу,ОписаниеОшибки,ИмяТекущегоПользователя) Тогда Возврат Ложь; КонецЕсли;
{ВнешняяОбработка.МояОбработка.Форма.Форма.Форма(786)}: Если Не ОткрытьНаКлиенте(ПутьКФайлу,ОписаниеОшибки) Тогда
Точное место ошибки - выход в клиент из сервера в процедуре ПриОткрытии->Инициализировать (стрелка на скрине кода).
Загружаю в реквизит структуру настроек, которая включает типы данных: Структура, Строка, СписокЗначений, НастройкиКомпоновкиДанных, СхемаКомпоновкиДанных.
Скрин в режиме отладки из кода модуля объекта, где происходит инициализация реквизита "СтруктураЗначенийПараметровНастройки" тоже приложил.
Заранее спасибо большое за ответ!
UPD:
Можно ли хранить в объекте на тонком клиенте тип данных СхемаКомпоновкиДанных?
P.S. Ответ нашел.
В управляемой форме источник доступных настроек для схемы компоновки данных на клиенте работать не может. Поэтому в управляемой форме нужно создавать источник доступных настроек для адреса схемы компоновки данных.
https://its.1c.ru/db/metod8dev#content:3480:hdoc
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
В процедуру ("ОткрытьНаСервере") приходят не те типы, которые для нее прописаны. Самое простое это посмотреть типы в отладчике перед вызовом этой процедуры. "ОписаниеОшибки" - явно текстовое, с двумя другими - не ясно, т.к. не виден код "ПолучитьИмяТекущегоПользователяНаСервере" и "ПолучитьНастройкуНаСервере".
Но скорее всего проблема в "ПолучитьНастройкуНаСервере" - она явно возвращает не текстовую строку.
(5) "ПолучитьИмяТекущегоПользователяНаСервере" и "ПолучитьНастройкуНаСервере" работают без ошибок.
Корень проблемы в записи считанной из файла СтруктурыЗначений в реквизит формы "СтруктураЗначенийПараметровНастройки". Я выяснил простым комментированием инициализации этого реквизита при чтении файла.
А также всё прекрасно работает если отключить Десериализацию значения параметра типа "СхемаКомпоновки". То есть именно это поле в СтруктуреЗначений не возвращается корректно на клиент.
(7) поэтому я и обновил пост:
P.S. Ответ нашел.
В управляемой форме источник доступных настроек для схемы компоновки данных на клиенте работать не может. Поэтому в управляемой форме нужно создавать источник доступных настроек для адреса схемы компоновки данных.
https://its.1c.ru/db/metod8dev#content:3480:hdoc
А какая версия платформы? Сталкивался с ситуацией когда одна и та же схема на платформе 8.3.12 вызывает ошибку а на версии 8.3.17 открывается вот выдержка из письма в поддержку 1С:
При попытке открыть макет в конфигураторе (8.3.12.1924) вылетает ошибка: