Имя: Пароль:
1C
1С v8
открытие формы на клиенте, через параметр полученный от серверной функции.
0 mulder_mulder
 
03.07.15
11:22
Добрый день.

Есть такая функция:
&НаСервере
функция прог(ВыделенныйСтолбец,ВыделеннаяСтрока) экспорт
    
//Набираем данных, для нахождения карточки
    ВыбранныйГод = объект.ГодДляГодовойПоНедельныйГрафик;
    НомерНедели =  прав(ВыделенныйСтолбец,СтрДлина(ВыделенныйСтолбец)-СтрДлина("Нед"));;    
    ПереборСтрок = этаформа.Таблица53хНедельногоГрафика;
    ИмяОбъектаППР = ПереборСтрок.Получить(ВыделеннаяСтрока).ОбъектыППР;
    
элем = справочники.СписокДокументовПроведенияРаботППР.Выбрать(); //Ищем во всём справочнике позицию            
Пока элем.Следующий()Цикл //Перебираем справочник
                
если (ВыбранныйГод = элем.ВыбранныйГод) тогда //если выбранный год равен году в документе,
                
если (СравнитьСтроки(ИмяОбъектаППР,элем.ОбъектППР)=0) и (число(НомерНедели)=число(элем.ВыбраннаяНеделя)) тогда
Об = элем.ПолучитьОбъект();
возврат(об);                          
конецесли;           
                
конецесли;
            
конеццикла;                         

конецфункции

Суть её в том,что она на сервере, перебирает справочник, и если находит нужную по параметрам запись, она должна открыть карточку элемента справочника текущей позиции.

Проблема в том, что с сервера это сделать нельзя.
По этому, надо передать на клиента,что-то, что потом куда-то вставить, чтобы открылась именно эта карточка, а не новая.

&НаКлиенте
ОткрытьФорму(прог(ВыделенныйСтолбец,ВыделеннаяСтрока));
//ОткрытьФорму("справочник.СписокДокументовПроведенияРаботППР.форма.ФормаЭлемента");    

Делаю так, выскакивает ошибка ковертирования данных....
Борода целая.

Что подскажете?
1 asady
 
03.07.15
11:29
(0) ссылку передавать не пробовал?
2 Mifka
 
03.07.15
11:31
объект ты ведь возвращаеш, Такчто можно открыть форму на клиенте
3 mulder_mulder
 
03.07.15
11:31
(1) Пробовал. Сейчас ещё попробую.
4 mulder_mulder
 
03.07.15
11:40
(2) выводит:
{Документ.ПланППР.Форма.ГодовойПоНедельныйГрафик.Форма(272)}: Ошибка при вызове метода контекста (прог)
    ОткрытьФорму(прог(объект.ИмяВыделяемогоСтолбца,объект.НомерВыделяемойСтроки));
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}Ref    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType

(1)
При указывании возврат(элем.ПолучитьОбъект().Ссылка);
сообщает:
{Документ.ПланППР.Форма.ГодовойПоНедельныйГрафик.Форма(275)}: Ошибка при вызове метода контекста (ОткрытьФорму)
    ОткрытьФорму(прог(объект.ИмяВыделяемогоСтолбца,объект.НомерВыделяемойСтроки));
по причине:
Несоответствие типов (параметр номер '1')
5 Гёдза
 
03.07.15
11:42
ОткрытьЗначение(Ссылка)
6 mulder_mulder
 
03.07.15
11:48
(5) Большая тебе благодарность. Получилось.

Надеюсь, в будущем это решение поможет многим.
Спасибо всем за помощь.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс