Проблема с передачей данных с сервера на клиент в модуле управляемой формы

1. Ukubaeva 15.10.14 15:15 Сейчас в теме
Добрый день!
1С:Предприятие 8.2 (8.2.17.169)
У меня возникла такая проблема!
В модуле управляемой формы клиент обращается к серверу, сервер через com соединение подключается к другой базе, получает результаты запроса из этой базы и передает их через реквизит формы клиенту.
Код:
&НаСервере
Процедура ПолучениеСотрудника()
ПодключениеКБазе(DataSource);
ЗапросСотруд = DataSource.NewObject("Запрос");
ЗапросСотруд.Текст = "ВЫБРАТЬ
| СотрудникиОрганизаций.Ссылка
|ИЗ
| Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
|ГДЕ
| СотрудникиОрганизаций.Физлицо = &Физлицо
| И СотрудникиОрганизаций.Организация = &Организация";
ЗапросСотруд.УстановитьПараметр("Физлицо",ТекФизЛи цо);
ЗапросСотруд.УстановитьПараметр("Организация",Data Source.Справочники.Организации.НайтиПоКоду("000000 002"));
// ТЗВыгрСотр = РеквизитФормыВЗначение("ВыгрСотр");
ТЗВыгрСотр = Новый ТаблицаЗначений;
ТЗВыгрСотр = ЗапросСотруд.Выполнить().Выгрузить();
сообщить(ТипЗнч(ТЗВыгрСотр));
ЗначениеВРеквизитФормы(ТЗВыгрСотр,"ВыгрСотр");
КонецПроцедуры

Но, при выполнении кода происходит ошибка Ошибка при вызове метода контекста (ЗначениеВРеквизитФормы)
ЗначениеВРеквизитФормы(ТЗВыгрСотр,"ВыгрСотр");
по причине:
Недопустимое значение параметра (параметр номер '2')

Получаю тип значения результата запроса - тип comобъект!
Как же мне получить в качестве результата запроса ТаблицуЗначений?
Спасибо!!!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. tamidi 8 15.10.14 15:21 Сейчас в теме
(1) Ukubaeva, вы пытаетесь передать в форму com-объект, т.к. это список ссылок на элементы справочника СотрудникиОрганизаций из другой базы. Вы не можете обрабатывать ссылочные типы, полученные по com соединению, только Наименование или Код, так что подкорректируйте запрос.
5. Boneman 298 15.10.14 15:22 Сейчас в теме
(1) Ukubaeva, а ничего, что ты ссылочный тип данных пытаешся из оле достать и загрузить его в совершенно другую базу ?
Куда она ссылаться то будет ?
Упрощай запрос, чтобы на выходе была не ссылка, а поля примитивных типов - строка, число, булево, дата
2. SPID 15.10.14 15:19 Сейчас в теме
А что вы хотите получить в ТЧ? Там должны содержаться только примитивные типы, так как ссылки из другой БД в текущей не существует - это будут СОМ объекты.
4. spezc 784 15.10.14 15:21 Сейчас в теме
ЗапросСотруд.Текст = "ВЫБРАТЬ
| СотрудникиОрганизаций.Наименование
7. Ukubaeva 15.10.14 15:32 Сейчас в теме
а, все, нашла, нужно передать в строку, а потом назад
8. Ukubaeva 15.10.14 15:48 Сейчас в теме
ПодключениеКБазе(DataSource);
ЗапросСотруд = DataSource.NewObject("Запрос");
ЗапросСотруд.Текст = "ВЫБРАТЬ
| СотрудникиОрганизаций.Ссылка
|ИЗ
| Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
|ГДЕ
| СотрудникиОрганизаций.Физлицо = &Физлицо
| И СотрудникиОрганизаций.Организация = &Организация";
ЗапросСотруд.УстановитьПараметр("Физлицо",ТекФизЛицо);
ЗапросСотруд.УстановитьПараметр("Организация",DataSource.Справочники.Организации.НайтиПоКоду("000000002"));
// ТЗВыгрСотр = РеквизитФормыВЗначение("ВыгрСотр");
ТЗВыгрСотр = Новый ТаблицаЗначений;
com_ТЗВыгрСотр = ЗапросСотруд.Выполнить().Выгрузить(); //получили comобъект, мать его
стр_ТЗВыгрСотр = DataSource.ЗначениевСтрокуВнутр(com_ТЗВыгрСотр);
ТЗВыгрСотр = ЗначениеИзСтрокиВнутр(стр_ТЗВыгрСотр); //а вот только теперь получили таблицу значений
ЗначениеВРеквизитФормы(ТЗВыгрСотр,"ВыгрСотр");
КонецПроцедуры
9. tamidi 8 15.10.14 15:56 Сейчас в теме
(8) Ukubaeva, может сразу в запросе получать Представление справочника, чем 2 раза обращаться к сторонней базе. Вам же все советовали переделать запрос.
10. Boneman 298 15.10.14 16:02 Сейчас в теме
(8) Ukubaeva, если надо просто видеть что там за документы, то смысла в такой конструкции нет.
Достаточно в запросе использовать функцию представление.
Другое дело если гонять тудаобратно, но там лучше сериализатор использовать.
Этот метод довольно корявый, старинный, да и в тонком не работает.
11. Ukubaeva 15.10.14 16:06 Сейчас в теме
вот именно, что мне нужна именно ссылка, там все сложно
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот