Имя: Пароль:
1C
1С v8
Как передать заполненный массив или соответствие из сервера на клиент без потри данных
0 Радим1987
 
11.11.19
21:03
Добрый вечер.

    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("ОписаниеЗагрузки", "");     
    СтруктураПараметров.Вставить("ИДЗагрузки", "");
    СтруктураПараметров.Вставить("ПутьКФайлу", "");
    СтруктураПараметров.Вставить("Пользователь", ПредопределенноеЗначение("Справочник.Пользователи.ПустаяСсылка"));
    
    Настройки = Новый Структура;
    Настройки.Вставить("НастройкиШапки", Новый Соответствие);
    Настройки.Вставить("НастройкиТабличныхЧастей", Новый Соответствие);
    
    СтруктураПараметров.Вставить("Настройки", Настройки);
    
    СтруктураПараметров.Вставить("ОбщиеОшибки", Новый Массив);
    СтруктураПараметров.Вставить("ОшибкиСопоставления", Новый Соответствие);
    СтруктураПараметров.Вставить("ОшибкиСоздания", Новый Соответствие);
    СтруктураПараметров.Вставить("СозданныеОбъекты", Новый Соответствие);
    СтруктураПараметров.Вставить("ОбновленныеОбъекты", Новый Соответствие);

СтруктураПараметров это реквизит формы при создании произвольный далее устанавливаю то что выше. Далее заполняю и на клиенте и на сервере, данными к примеру "ОбщиеОшибки" но при передаче на клиент данные не переносятся как победить?
1 AlvlSpb
 
11.11.19
21:10
(0) А Структура может быть типом реквизита?
2 Радим1987
 
11.11.19
21:11
(1) да почему нет
3 AlvlSpb
 
11.11.19
21:12
(2) Не встречал в типах данных. Уверенны? Я бы утверждал обратное
4 Радим1987
 
11.11.19
21:14
(3) Сначала реквизит устанавливается произвольный тип, потом при создании присваиваешь что хочешь в данном случае структура
5 AlvlSpb
 
11.11.19
21:21
(4) Ну и как в одном реквизите Структура отразится 1 массив и 4 соответствия? Что вы ожидаете увидеть?
6 acht
 
11.11.19
21:21
(0)
1) Тип "Соответствие" не может хранится в реквизитах формы, не прямо, не вложенно.
2) Тип "ФиксированноеСоответствие" может хранится в реквизитах формы, как прямо, так и вложенно
3) Тип "ФиксированноеСоответствие" - неизменяемая коллекция.
4) Такова жизнь.
5) Используй другие структуры данных.
7 AlvlSpb
 
11.11.19
21:22
Т.е. я хочу сказать, что просто Структуру передать с сервера на клиент с сервера - это штатно, но вписать Структуру в реквизит - это нонсенс
8 acht
 
11.11.19
21:23
(5) Значение = ЭтотОбъект.МойРеквизит.МойМассив[12];

Запросто.
9 AlvlSpb
 
11.11.19
21:26
(8) Да нет! Надо увидеть сразу все, а не отдельно массив. Реквизит один и структура одна и вот как ее там увидеть?
10 acht
 
11.11.19
21:27
(9) Что означает "увидеть сразу все"?
11 Радим1987
 
11.11.19
21:27
Вообщем получилось. Поместил во временное хранилище заново присвоил
12 Радим1987
 
11.11.19
21:28
Всем спасибо
13 Радим1987
 
11.11.19
21:37
(3) Если работал с УТ или ЕРП то наверное точно столкнулся с таким реквизитом "СтруктураДействийКонтрольНеСогласованныхИзменений". Это и есть структура как реквизит формы
14 Сияющий в темноте
 
11.11.19
23:41
В хранилище можно засунуть все,что сериализуется,а потом доставать и на сервере и на клиенте.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс