отсутствует отображение для типа реквизит формы
Отсутствует отображение для типа ‘COMОбъект’
Соединяюсь с клиента из базы 8.2 с базой 7.7(лежит на сервере) вот таким путем
| Код |
|---|
| Показать полностью |
В результате получаю следующую ошибку:
<Форма.Форма.Форма(88)>: Ошибка при вызове метода контекста (Соединение1Cv77Ole)
COMСоединение = Соединение1Cv77Ole(Ложь);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘ret’:
форма: Элемент
имя: < http://v8.1c.ru/8.2/managed-application/modules >ret
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘COMОбъект’
Кто знает подскажите где допущена ошибка?
(5) CeHbKA,
Конфигурация Управление торговлей 11 релиз 11.2.3.137. Клиент-серверный режим работы. К сожалению данный вариант не работает в клиент-серверном режиме работы, когда пользователь работает не на сервере. В Макет передается имя временного файла на сервере. А на клиенте соответственно такого файла нет. Создавал внешний отчет, использующий в качестве шаблона файл Xls. Получилось использовать файл только при непосредственном указании Xls-файла на клиенте. Пробовал добавить его в качестве шаблона. Получаю макет на сервере, а затем не получается получить и заполнить на клиенте. Подскажите пожалуйста, как показанный пример изменить для использования в клиент-серверном режиме работы.
Управляемые формы Ошибка передачи данных между клиентом и сервером
Добрый день,уважаемый форум))Надеюсь на вашу помощь.
При переходе на управляемые формы возникла проблема: в документе есть процедура:
&НаСервере
Функция ПолучитьЕдиныйНалог(Дата,Организация)
Структура = Новый Структура;
Структура.Вставить(«Организация»,Организация);
УП = РегистрыСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(Дата,Структура);
Для каждого строка из УП Цикл
Возврат Строка.СхемаНалогообложения.ЕдиныйНалог;
КонецЦикла;
КонецФункции
При открытии данная функция отрабатывает нормально и получаем необходимые значения.При изменении некоторого реквизита получаю ошибку
<Документ.РасходныйКассовыйОрдер.Форма.ФормаДокументаУправляемая.Форма(262)>: Ошибка при вызове метода контекста (ПолучитьЕдиныйНалог)
ЕдиныйНалог = ПолучитьЕдиныйНалог(Объект.Дата,Объект.Организация);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘cr’:
форма: Элемент
имя: < http://v8.1c.ru/8.2/mngsrv/ws >cr
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ДанныеФормыЭлементКоллекции’
(3) Обратиться просто УП.СхемаНалогобложения.ЕдиныйНалог??
попробую так, но вопрос все же открыт
&НаСервере
Функция ПолучитьЕдиныйНалог(Дата,Организация)
Структура = Новый Структура;
Структура.Вставить(«Организация», Организация);
Возврат РегистрыСведений.УчетнаяПолитикаОрганизаций.ПолучитьПоследнее(Дата,Структура).СхемаНалогообложения.ЕдиныйНалог;
Подскажите пожалуйста в чем ошибка
Ошибка преобразования данных XDTO:
Запись значения свойства ‘cr’:
форма: Элемент
имя: < http://v8.1c.ru/8.2/mngsrv/ws >cr
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ДанныеФормыЭлементКоллекции’
Отладчик все функции проходит и на пустой последней строке валиться в ошибку(Кстати, предыдущую ошибку решила методом НаСервереБезКонтекста)
У меня была похожая ситуация.
Явно при серверных вызовах неявно передаётся контекст формы, и, если в этом контексте хранятся значения, для которых нет преобразования, возникнет ошибка.
В Вашем случае вы, видимо, тоже в какую-то переменную формы записали значение типа ‘ДанныеФормыЭлементКоллекции’, что и является причиной ошибки.
Реально ценный комментарий. Мне очень помог с похожей ошибкой
Ошибка передачи данных между клиентом и сервером. Ошибка преобразования данных XDTO.
Доброго времени суток. Просьба не кидаться тухлыми помидорами, только учусь 🙂 Т.к. учусь опишу задачу, вдруг совсем неправильно подхожу к ее решению.
Задача такая: необходимо открыть форму выбора справочника с отбором. Для этого получаю данные отбора из регистра запросом. С клиентской процедуры решил использовать функцию на сервере, которая вернет массив запроса. В последующем результат я обработаю уже на клиенте и открою форму с отбором.
В момент возвращения массива на клиентскую процедуру возникает ошибка, довольно длинная:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘ret’:
форма: Элемент
имя:
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘Value’:
форма: Элемент
имя:
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘СтрокаТаблицыЗначений’
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘ret’:
форма: Элемент
имя:
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘Value’:
форма: Элемент
имя:
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘СтрокаТаблицыЗначений’
&НаСервере
Функция Бит_ТоварыНоменклатураНачалоВыбораНаСервере(СтрокаСАлкПрод)
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.Номенклатура КАК Номенклатура,
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.АлкогольнаяПродукция КАК АлкогольнаяПродукция
|ИЗ
| РегистрСведений.алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры КАК алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры
|
|СГРУППИРОВАТЬ ПО
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.Номенклатура,
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.АлкогольнаяПродукция»;
ПараметрыОтбора = Новый Структура();
ПараметрыОтбора.Вставить(«АлкогольнаяПродукция»,СтрокаСАлкПрод);
НайденныеСтроки = РезультатЗапроса.НайтиСтроки(ПараметрыОтбора);
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
СтрокаСАлкПрод = ТекДанные.АлкогольнаяПродукция;
СтандартаяОбработка = ложь;
ПараметрыОтбораФормы = Новый Структура();
Для каждого стр из НайденныеСтроки Цикл
Значение = стр.Номенклатура;
ПараметрыОтбораФормы.Вставить(«Номенклатура»,Значение);
КонецЦикла;
ПараметрыОтбораФормы = ПолучитьИзВременногоХранилища(АдресХранилища);
Форма = ПолучитьФорму(«Справочник.Номенклатура.ФормаВыбора»,ПараметрыОтбораФормы);
Форма.Открыть();
КонецПроцедуры
ну ругайтесь, пожалуйста. облазил сколько смог перед тем как зарегаться тут
Ошибка отображения типов
Текст процедуры выглядел так:
&НаКлиенте
Процедура ОсновныеНачисленияСотрудникПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.ОсновныеНачисления.ТекущиеДанные;
СтрокаТабличнойЧасти.ГрафикРаботы = СтрокаТабличнойЧасти.Сотрудник.График;
СтрокаТабличнойЧасти.ДатаНачала = НачалоМесяца(Объект.МесяцРасчета);
СтрокаТабличнойЧасти.ДатаОкончания = КонецМесяца(Объект.МесяцРасчета);
СтрокаТабличнойЧасти.ВидРасчета = Объект.ВидРасчетаОбщ;
Если СтрокаТабличнойЧасти.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад тогда
СтрокаТабличнойЧасти.Начислено = СтрокаТабличнойЧасти.Сотрудник.Оклад;
ИначеЕсли СтрокаТабличнойЧасти.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия тогда
СтрокаТабличнойЧасти.Начислено = СтрокаТабличнойЧасти.Сотрудник.ПремияПроцент;
КонецЕсли;
Я поразмыслила, пришла к выводу, что причина в том, что процедура выполняется на клиенте, а ПланыВидовРасчета.ОсновныеНачисления.Оклад принадлежит глобальному контексту, и решила это условие выкинуть в общий модуль, который будет выполняться на сервере.
сделала такую процедуру в общем модуле
Процедура ДанныеСотрудников(СтрокаТабличнойЧасти) Экспорт
Если СтрокаТабличнойЧасти.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад тогда
СтрокаТабличнойЧасти.Начислено = СтрокаТабличнойЧасти.Сотрудник.Оклад;
ИначеЕсли СтрокаТабличнойЧасти.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия тогда
СтрокаТабличнойЧасти.Начислено = СтрокаТабличнойЧасти.Сотрудник.ПремияПроцент;
КонецЕсли;
и вызвала ее из модуля формы вместо условия
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа
Функция выгружает таблицу значений счетов организации. в переменную БСОРГ = ПолучБанкДНОРГ(Организация);
которая выполняется из процедуры на клиенте.
&НаСервере
Функция ПолучБанкДНОРГ(ОР) Экспорт
// <<КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны.
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| БанковскиеСчетаОрганизаций.НомерСчета,
| БанковскиеСчетаОрганизаций.Банк.Ссылка,
| БанковскиеСчетаОрганизаций.Банк.Код,
| БанковскиеСчетаОрганизаций.Банк.Наименование,
| БанковскиеСчетаОрганизаций.ВалютаДенежныхСредств
|ИЗ
| Справочник.БанковскиеСчетаОрганизаций КАК БанковскиеСчетаОрганизаций
|ГДЕ
| БанковскиеСчетаОрганизаций.Владелец.Ссылка = &Ссылка»;
Результат = Запрос.Выполнить().Выгрузить();
Возврат Результат;
<Обработка.ПечатьДоговораСКонтрагентом.Форма.Форма1.Форма(35)>: Ошибка при вызове метода контекста (ПолучБанкДНОРГ)
БСОРГ = ПолучБанкДНОРГ(Организация);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: < http://www.w3.org/2001/XMLSchema >anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘< http://v8.1c.ru/8.1/data/core >ValueTable’
Подскажите как правильно решить данную проблему?