Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Получить ссылку из Структуры

Получить ссылку из Структуры
Я
   Капитан Джек Воробей
 
24.07.20 - 14:35
Доброго времени суток!
Достался в наследство код:
....Некий Запрос.....
Массив = Новый Массив();
В цикле.....
Запись = Новый Структура;
Запись.Вставить("Договор", Выборка.Договор);
Запись.Вставить("Контрагент", Выборка.Контрагент);
Массив.Добавить(Запись);
Отправили на клиент....
Для каждого Строка Из Выборка Цикл
Контр = Строка.Договор.Владелец;
Вот здесь ошибка так как мы обращаемся к элементу массива который имеет тип структура в которой есть значение(№дог789) и тип(Справочники.Договоры), но значение структуры не является ссылкой... естественно вылетает с ошибкой поле владелец не обнаружен.

Я поискал материал про структуру, но не нашел более того, что я и так знал, по этому...
Вопрос: Можно ли получить ссылку из структуры?

P.S.  Я переделал Массив в ТЗ и избавился от структуры.
   VladZ
 
1 - 24.07.20 - 14:49
(0) "но значение структуры не является ссылкой."  -  а чем является?
   Ёпрст
 
2 - 24.07.20 - 14:52
(0) на клиенте реквизиты объекта получать через точку...ну ты понял, надеюсь
   Kigo_Kigo
 
3 - 24.07.20 - 14:52
Это не сработает на клиенте, передавай на сервер, получай там владельца
   ZDenis
 
4 - 24.07.20 - 14:52
(0) У тебя контрагент и так передается отдельно, не надо его из договора тянуть
   Kigo_Kigo
 
5 - 24.07.20 - 14:55
&НаСервере
Функция ПолучитьКонтр(Договор)

КонецФункции
(4) Эти параметры для запроса и на сервере, на клиенте он получает массив, в котором не факт, что есть контрагент
   Капитан Джек Воробей
 
6 - 24.07.20 - 15:00
(4) Это как пример я понимаю что контрагент и есть владелец договора
   ZDenis
 
7 - 24.07.20 - 15:00
(5) Как это нету, если видно как массив создается
   ДенисЧ
 
8 - 24.07.20 - 15:01
(6) Ой, не факт... В отладчике смотри, что там
   Kigo_Kigo
 
9 - 24.07.20 - 15:02
(6) Читай (2) + (3), все что через точку получаем на сервере, на клиенте это все "базовые типы данных" типа число дата текст, это условно говоря
   ZDenis
 
10 - 24.07.20 - 15:04
(8) Для верности можно сразу так)

Запись = Новый Структура;
Запись.Вставить("Договор", Выборка.Договор);
Запись.Вставить("КонтрагентДоговора", Выборка.Договор.Владелец);
Запись.Вставить("Контрагент", Выборка.Контрагент);
Массив.Добавить(Запись);
   ГдеСобакаЗарыта
 
11 - 24.07.20 - 15:05
(5) Хотя б НаСервереБезКонтекста написал. Оно ж там в цикле выполняться будет.
   Андроны едут
 
12 - 24.07.20 - 15:06
(9) А если клиент толстый?
   Kigo_Kigo
 
13 - 24.07.20 - 15:08
(12) Если у ТС - сабж, то там толстым не пахнет, логично?
   Капитан Джек Воробей
 
14 - 24.07.20 - 15:08
(1) Да согласен не прав....
   Капитан Джек Воробей
 
15 - 24.07.20 - 15:10
(2) (5) После обычных форм отвык, точно отправить на сервер получить нужные данные и вернуть...
   Капитан Джек Воробей
 
16 - 24.07.20 - 15:14
(8) это не тот код с которым я работаю, я суть описал
   Жан Пердежон
 
17 - 24.07.20 - 16:11
(16) криво описал, с ошибкой; в твоем коде, видимо, тоже ошибка

Список тем форума
Рекламное место пустует  Рекламное место пустует
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.