Вход | Регистрация


Передача структуры структур с сервера на клиент

Передача структуры структур с сервера на клиент
Я
   TolstiyBeremenniy
 
13.12.18 - 07:26
С сервера на клиент нужно передать таблицу значений.
Знаю что нужно передавать её в структуре структур.
Делаю структуру. в которую помещаю структуру с таблицей значений.
но передача не осуществляется. Почему? Что я не так делаю?

      Структура_1 = Новый Структура;
    Структура_2 = Новый Структура;
    //

    Структура_2.Вставить("ТзВКом",      ТабВКом);    
    Структура_1.Вставить("Структура_1", Структура_2);
    //

    Возврат Структура_1;
КонецФункции
 
 
   Dmitry1c
 
1 - 13.12.18 - 07:27
(0) таблицы значений на клиенте не существует
   TolstiyBeremenniy
 
2 - 13.12.18 - 07:30
Кажется я ощибся, передавать нужно массив структур, а
не структуру структур.
   ink-nsk
 
3 - 13.12.18 - 07:54
А у меня реквизит на форме ТаблицаЗначений. Колонками управляю на клиенте, иногда передаю на сервер, там меняю данные, например Свернуть и возвращаю на клиент.
Я так понял нельзя на сервере менять структуру колонок.
работает.
   applix
 
4 - 13.12.18 - 08:14
передавай через хранилище
   Фрэнки
 
5 - 13.12.18 - 08:31
(2) необязательно массив структур. Массив можно передать чего угодно. Но придется дописать в обоих процедурах, что с данными массива нужно делать.
   FIXXXL
 
6 - 13.12.18 - 08:34
(5) а передай массив таблиц значений :)
   FIXXXL
 
7 - 13.12.18 - 08:35
(4) куда? НаКлиенте будет ошибка все одно
НЕТ НаКлиенте ТЗ, от слова совсем
   FIXXXL
 
8 - 13.12.18 - 08:35
(3) не тормозит?
   ink-nsk
 
9 - 13.12.18 - 08:41
(8) Разовые задачи, нужно взять остатки по COMу из бардака причесать по сложному алгоритму и загрузить в новую систему.

Честно приходится локально работать, временные затраты на обработку туда/сюда минимальны с общим временем.
   FIXXXL
 
10 - 13.12.18 - 08:46
(9) а чего не ТЧ обработки?
 
 Рекламное место пустует
   ink-nsk
 
11 - 13.12.18 - 08:54
(10) А мне визуально она не нужна (если я тебя правильно понял). Поэтому довольствуюсь реквизитом.


Опыт кодирования на УФ - 1 месяц.
   AllJoke
 
12 - 13.12.18 - 08:57
ЗначениеВРеквизитФормы.
   dezss
 
13 - 13.12.18 - 09:04
(0) если что, в ОбщегоНазначения есть функция преобразования ТЗ в массив структур.
А обратно, почему-то, нету.
   Фрэнки
 
14 - 13.12.18 - 09:07
(6) придется развернуть ТЗ в массив, а затем на другой стороне завернуть обратно в ТЗ
   Фрэнки
 
15 - 13.12.18 - 09:41
Структура с именованными полями/значениями создается для каждой строки передаваемой ТЗ в цикле перебора строк ТЗ - это на сервере.

Затем при получении массива на клиенте перебираются, например так:

Массив_Заказов = ПрочитатьЗаказыНаСервере( ВыбраннаяНоменклатура );
Для Каждого ВыбранныйЗаказ Из Массив_Заказов Цикл
    ПодчиненныйЭлемент = ВыборкаТекущегоЭлемента.Добавить();
    ЗаполнитьЗначенияСвойств( ПодчиненныйЭлемент, ВыбранныйЗаказ );
КонецЦикла;

Здесь на стороне Сервера умышленно в Структуре были заданы имена Свойств, чтоб все совпадало на Клиенте и меньше нужно было кода писать для расшифровки
   FIXXXL
 
16 - 13.12.18 - 10:33
(14) в том и дело, что "завернуть обратно в ТЗ" НаКлиенте не получится, только костылики типа (15)
   Alexandr_U1982
 
17 - 13.12.18 - 10:57
(3)Если у тебя реквизит на форме, то там тип "ДанныеФормыКоллекция", а не "ТаблицаЗначений", хотя в конструкторе форм и написано "ТаблицаЗначений". Данные формы передается на сервер и обратно вместе с самой формой.
А вот отдельный объект таблица значений создать на клиенте уже не получится. "Новый ТаблицаЗначений" выдаст ошибку.
   Alexandr_U1982
 
18 - 13.12.18 - 11:00
(0)(2) ОбщегоНазначения.ТаблицаЗначенийВМассив(ТаблицаЗначений)
// Преобразует таблицу значений в массив структур.

// Может использоваться для передачи на клиент данных в том случае, если таблица
// значений содержит только такие значения, которые могут

// быть переданы с сервера на клиент.
//

// Полученный массив содержит структуры, каждая из которых повторяет
// структуру колонок таблицы значений.

//
// Не рекомендуется использовать для преобразования таблиц значений

// с большим количеством строк.
//

// Параметры:
//  ТаблицаЗначений - ТаблицаЗначений - исходная таблица значений.

//
// Возвращаемое значение:

//  Массив - коллекция строк таблицы в виде структур.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует