8.х Отсутствует отображение типа '{http://v8.1c.ru/8.1/data/core}ValueTable'

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Rivainy, 17 ноя 2015.

  1. TopicStarter Overlay
    Rivainy
    Offline

    Rivainy

    Регистрация:
    17 ноя 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Суть проблемы в следующем. Есть форма документа "ВыдачаКнигНаРуки". Необходимо в этом документе автоматически заполнять поле "ВидКниги", его можно вытащить из реквизита "Произведение" с типом данных "СправочникСсылка.Произведения". Никак не могу разобраться с типами данных при передачи их с клиента на сервер и обратно. Хотела все это реализовать через запрос в модуле объекта, но запуталась с типами данных.

    Вот процедура с модуле объекта:
    Код:
    Процедура ПолучитьВидКниги (СтрокаТабличнойЧасти) Экспорт
        Запрос = Новый Запрос();
        Запрос.Текст = "ВЫБРАТЬ
                       |    ВыдачаКнигНаРукиКниги.Произведение.ВидКниги
                       |ИЗ
                       |    Документ.ВыдачаКнигНаРуки.Книги КАК ВыдачаКнигНаРукиКниги
                       |ГДЕ
                       |    ВыдачаКнигНаРукиКниги.Ссылка = &Ссылка";
        Запрос.УстановитьПараметр("Ссылка", Ссылка);
        СтрокаТабличнойЧасти = Запрос.Выполнить().Выгрузить();
    КонецПроцедуры
    Вот в модуле формы:
    Код:
    &НаСервере
    Процедура ПолучитьВидКнигиНаСервере(СтрокаТабличнойЧасти)
        ОбъектНаСервере = РеквизитФормыВЗначение("Объект");
       ОбъектНаСервере.ПолучитьВидКниги(СтрокаТабличнойЧасти);
       ЗначениеВРеквизитФормы(ОбъектНаСервере, "Объект");
    КонецПроцедуры
    
    &НаКлиенте
    Процедура КнигиПроизведениеПриИзменении(Элемент)       
        СтрокаТабличнойЧасти = Элементы.Книги.ТекущиеДанные;
        Стр = Новый Структура();
        Стр.Вставить(СтрокаТабличнойЧасти);
        ПолучитьВидКнигиНаСервере(Стр);
    КонецПроцедуры
    
    И все это выдает следующую ошибку:
    {Документ.ВыдачаКнигНаРуки.Форма.ФормаДокумента.Форма(20)}: Ошибка при вызове метода контекста (ПолучитьВидКнигиНаСервере)
    ПолучитьВидКнигиНаСервере(Стр);
    по причине:
    Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
    по причине:
    Ошибка преобразования данных XDTO:
    НачалоСвойства: param Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
    по причине:
    Ошибка отображения типов:
    Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'

    Как это можно исправить? Или может есть способ, как вытащить ВидКниги попроще?
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    ТЗ нельзя гонять просто так между клиентом и сервером
  3. TopicStarter Overlay
    Rivainy
    Offline

    Rivainy

    Регистрация:
    17 ноя 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Это я уже поняла. Я не понимаю, что можно гонять. Как ошибку исправить?
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    На форуме неоднократно поднимался этот вопрос. Воспользуйтесь поиском.
  5. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Модуль объекта вам не нужен вообще.
    Форма доступна на клиенте и сервере.
    Значение в строке ТЧ можно получить через конструкцию вида СсылкаНаОбъект[ИмяРеквизитаЗначениеКоторогоНужноПолучить] выполненого на стороне сервера без контекста.

Поделиться этой страницей