Имя: Пароль:
1C
1С v8
Ошибка при возврате значения функции
0 kolp821
 
05.11.13
01:50
Есть событие формы документа ПередЗаписью:


Процедура ПередЗаписью(Отказ)
       Абитуриент = Объект.Абитуриент;
       НоваяСтрока = ПолучитьДокумент(Абитуриент);
КонецПроцедуры

и функция которая ищет определённою строку в табличной части справочника

&НаСервере  
Функция ПолучитьДокумент(Абитуриент)
Абитуриент = Абитуриент.Документы;
ВыборИзТаблицыДокумента = Абитуриент.Выгрузить(,"Тип,Серия,Номер");  
НайденаяСтрока = ВыборИзТаблицыДокумента.Найти(Справочники.ТипиДокументівОсоби.НайтиПоНаименованию.Паспорт,"Тип");
Возврат НайденаяСтрока ;      
КонецФункции

При возврате возникает ошибка, я так понимаю не соответствует тип

{Документ.Договор.Форма.ФормаДокумента(197)}: Ошибка при вызове метода контекста (ПолучитьДокумент)
       НоваяСтрока = ПолучитьДокумент(Абитуриент);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'СтрокаТаблицыЗначений'

Как исправить? функция работает верно, хотелось бы получить в процедуру переменою НайденаяСтрока с найденными данными для дальнейшой обработки.
1 alexei366
 
05.11.13
01:56
(0) Он тебе говорит что НайденаяСтрока с Сервера на клиент он тебе прокинуть не может. То есть тебе нужно к примеру идентификатор строки возвращать или ещё чтото, или всю обработку на сервере или клиенте мутить
2 kolp821
 
05.11.13
23:44
(1) подскажите, как это реализовать?
3 zippygrill
 
05.11.13
23:53
Возвращай с сервера ключ или номер строки
4 kolp821
 
05.11.13
23:54
(3) например как? некогда с этим не сталкивался. Помогите или подскажите :)
5 zippygrill
 
05.11.13
23:57
ВНайденнаяСтрока= ВыборИзТаблицыДокумента.Найти(Справочники.ТипиДокументівОсоби.НайтиПоНаименованию.Паспорт,"Тип");
Возврат ?(НайденаяСтрока = неопределено, "печалка", НайденнаяСтрока.НомерСтроки);
6 kolp821
 
06.11.13
00:02
(5) ошибка
{Документ.Договір.Форма.ФормаДокумента(133)}: Поле объекта не обнаружено (НомерСтроки)
Возврат ?(НайденаяСтрока = неопределено, "печалка", НайденаяСтрока.НомерСтроки);

А разве метод номер строки работает в управляемом приложении? или я что то не понимаю
7 zippygrill
 
06.11.13
00:05
Ну выгружай в таблице  ВыборИзТаблицыДокумента и колонку НомерСтроки.

НомерСтроки не метод, это просто преопределенное поле(колонка) любово документа.
8 kolp821
 
06.11.13
00:07
(7) подскажи как сделать
9 zippygrill
 
06.11.13
00:09
Ты же выгружаешь в 4 строке кода пару колонок, добавь туда же и НомерСтроки
10 kolp821
 
06.11.13
00:20
(9) добавил, но ошибка есть, теперь в другом месте

{Документ.Договір.Форма.ФормаДокумента(205)}: Ошибка при вызове метода контекста (ПолучитьДокументОсвіти)
       НоваяСтрока = ПолучитьДокументОсвіти(Абітурієнт);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'СправочникТабличнаяЧасть.Абітурієнт.Документи'
11 hhhh
 
06.11.13
01:18
ДокументОбъект = РеквизитФормыВЗначение("Объект");  
АбитуриентДокументы = ДокументОбъект.Абитуриент.Документы;
12 catena
 
06.11.13
06:03
(10)Ну так теперь ошибка и в другой функции.
13 kolp821
 
07.11.13
00:06
(11)не совсем понял, может кто помочь?
14 exwill
 
07.11.13
00:18
(13) Не совсем понятно, в чем твои проблемы?
Строка из трех колонок не передается на клиент?
Так есть массив, структура, список значений.
Используй, что тебе больше нравится.