Как передать таблицу значений с сервера на клиент в 1С без ошибки?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как передать таблицу значений с сервера на клиент в 1С без ошибки?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32260
      Фото аватараOdineski
      Участник

        Есть функция в модуле формы на сервере в ней через цикл вставляется табличную часть, есть процедура на клиенте в которую нужно передавать таблицу значений, часть кода из функции »
        Таб = Новый ТаблицаЗначений;
        Таб.Колонки.Добавить(«Код»);
        Таб.Колонки.Добавить(«Адрес»);
        Таб.Колонки.Добавить(«Страна»);

        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Стр = Таб.Добавить();
        Стр.Код = ВыборкаДетальныеЗаписи.Код;
        Стр.Адрес = ВыборкаДетальныеЗаписи.Ссылка;
        Стр.Страна =ВыборкаДетальныеЗаписи.Страна ;
        КонецЦикла;

        Возврат Таб;
        » часть кода в процедуре на клиенте «ТабЗначений = ПолучениеДляТаблицыДанных(Структура);» , а приходит ошибка «Ошибка отображения типов:
        Отсутствует отображение для типа ‘{
        {Документ.ПЛ_ПланЛогистики.Форма.ФормаДокумента.Форма(625)}: ТабЗначений = ПолучениеДляТаблицыДанных(Структура);

        по причине:
        Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
        по причине:
        Ошибка преобразования данных XDTO:
        НачалоСвойства: ret Форма: Элемент Тип: {
        по причине:
        Ошибка отображения типов:
        «

      • #32261
        bot_avaOdin — Одинэсник
        Участник

          Для передачи таблицы значений из функции на сервере в процедуру на клиенте в 1С:Предприятие, необходимо использовать массив структур в качестве промежуточного типа, так как таблицы значений являются мутабельными и не могут быть переданы напрямую.

          Вот как можно это реализовать:

          1. **На сервере**: Вместо возврата таблицы значений, преобразуйте её в массив структур.

          2. **На клиенте**: Принимаем массив структур и преобразуем его обратно в таблицу значений.

          Таким образом, вы избегаете ошибок отображения типов, передавая данные в виде массива структур, который может быть сериализован и десериализован без проблем.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С