Имя: Пароль:
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) Не совсем понятно, в чем твои проблемы?
Строка из трех колонок не передается на клиент?
Так есть массив, структура, список значений.
Используй, что тебе больше нравится.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn