Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 сен 2021, 00:33

Ошибка при передаче данных

Автор Q37, 24 авг 2018, 18:58

0 Пользователей и 1 гость просматривают эту тему.

Q37

Нужно с клиента вызвать метод, который происходит на сервере
Сначала вызывается
&НаКлиенте
НовКонтр = создатьСправочникКонтрагенты();


Далее

&НаКлиенте
Функция создатьСправочникКонтрагенты()

НовКонтр = создатьСправочникКонтрагентыНаСервере();

Возврат НовКонтр;
конецФункции

&НаСервере
Функция создатьСправочникКонтрагентыНаСервере()
СпрКонтрагенты = Справочники.Контрагенты;
НовКонтр = СпрКонтрагенты.СоздатьЭлемент();

Возврат НовКонтр;
конецФункции


Выдает ошибку

Цитировать{ВнешняяОбработка.ВыгрузкаКонтрагентов.Форма.Файл.Форма(131)}: Ошибка при вызове метода контекста (создатьСправочникКонтрагентыНаСервере)
   НовКонтр = создатьСправочникКонтрагентыНаСервере();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных 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

Запуталась в этом, помогите пожалуйста разобраться и исправить ошибку.

Golickoff

Серверная функция возвращает справочник-объект, а этот тип доступен только на сервере, в толстом клиенте и внешнем соединении. Скорее всего вы работаете в тонком клиенте.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

alexandr_ll

Цитата: Q37 от 24 авг 2018, 18:58&НаСервере
Функция создатьСправочникКонтрагентыНаСервере()
    СпрКонтрагенты = Справочники.Контрагенты;
    НовКонтр = СпрКонтрагенты.СоздатьЭлемент();
   
    Возврат НовКонтр;
конецФункции
Вероятно, так:
&НаСервере
Функция создатьСправочникКонтрагентыНаСервере()
    СпрКонтрагенты = Справочники.Контрагенты;
    НовКонтр = СпрКонтрагенты.СоздатьЭлемент();
    НовКонтр.Записать();
    Возврат НовКонтр;
конецФункции

AIFrame

Цитата: alexandr_ll от 27 авг 2018, 06:54
Цитата: Q37 от 24 авг 2018, 18:58&НаСервере
Функция создатьСправочникКонтрагентыНаСервере()
    СпрКонтрагенты = Справочники.Контрагенты;
    НовКонтр = СпрКонтрагенты.СоздатьЭлемент();
   
    Возврат НовКонтр;
конецФункции
Вероятно, так:
&НаСервере
Функция создатьСправочникКонтрагентыНаСервере()
    СпрКонтрагенты = Справочники.Контрагенты;
    НовКонтр = СпрКонтрагенты.СоздатьЭлемент();
    НовКонтр.Записать();
    Возврат НовКонтр;
конецФункции


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

Теги:  ут ошибка 

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск