Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка отображения типов:
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
ktu78
Добрый день, коллеги. Версия 1с 8.3
Проблема: в документе у меня 2 реквизита:
КонтрагентВалюты и НомерПаспорта
КонтрагентВалюты - ссылочный тип на Справочник "КонтрагентыВалюты"
НомерПаспорта - строка 10 знаков.
В справочнике "КонтрагентыВалюты" также есть реквизит НомерПаспорта, строка 10 симв.
Я хочу, чтобы в форме документа после того, как выберу контрагента, в поле документа "НомерПаспорта" автоматически появился номер паспорта, взятый со справочника "КонтрагентыВалюты" для конкретного человека
В модуле формы таков код:

&НаКлиенте
Процедура ПродавецВалютыПриИзменении(Элемент)
    НомерПаспорта=ПолучиНомерПаспорта(Элементы.ПродавецВалюты);
КонецПроцедуры

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

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

Подскажите пожалуйста, помогите. Заранее благодарен. Удачного дня!


 ! 

Правила, п.5,12
 
logist
Цитата(ktu78 @ 27.04.15, 13:16) необходимо зарегистрироваться для просмотра ссылки
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.

А что тут непонятного? Вы пытаетесь передать с сервера на клиент, то, что не передается.

ПолучитьОбъект используется в том случае, когда надо изменять данные объекта, в Вашем случае достаточно получить значение реквизита из ссылки.
ktu78
Цитата(logist @ 27.04.15, 13:23) необходимо зарегистрироваться для просмотра ссылки
А что тут непонятного? Вы пытаетесь передать с сервера на клиент, то, что не передается.

ПолучитьОбъект используется в том случае, когда надо изменять данные объекта, в Вашем случае достаточно получить значение реквизита из ссылки.



если можно, подбросьте фрагмент кода, методы, свойства. Заранее благодарен
logist
&НаСервере
Функция ПолучиНомерПаспорта(СсылкаНаПродавцаВалюты)
    Возврат СсылкаНаПродавцаВалюты.НомерПаспорта;
КонецФункции
ktu78
Цитата(logist @ 27.04.15, 13:57) необходимо зарегистрироваться для просмотра ссылки
&НаСервере
Функция ПолучиНомерПаспорта(СсылкаНаПродавцаВалюты)
    Возврат СсылкаНаПродавцаВалюты.НомерПаспорта;
КонецФункции


Большое спасибо. Пробовал. Но отладчик выдает, что "Элементы.ПродавецВалюты" типа ПолеВвода и в конце всего выдается ошибка.
Можно ли как-то совместить типы данных в мое случае
Petre
&НаКлиенте
Процедура ПродавецВалютыПриИзменении(Элемент)
    ПолучиНомерПаспорта();
КонецПроцедуры

&НаСервере
Функция ПолучиНомерПаспорта()
    Объект.НомерПаспорта = Объект.ПродавецВалюты.НомерПаспорта;
КонецФункции
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.