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

Ошибка при вызове метода контекста (НачатьЧтение)Причина: Неизвестный получатель

Автор Черника, 23 мар 2022, 11:18

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

Черника

Всем здравствуйте, помогите пожалуйста. Делаю по образу книги Радченко, занятие 24 "Обмен данными" (Передаю 1 документ), выдает ошибку:

Ошибка при вызове метода контекста (НачатьЧтение)
{ПланОбмена.ДокументыРКО.МодульОбъекта(72)}:   ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
{Обработка.ОбменДанными.Форма.Форма.Форма(16)}:         УзелОбъект.ПрочитатьСообщениеСИзменениями();
{Обработка.ОбменДанными.Форма.Форма.Форма(4)}:   ВыполнитьОбменНаСервере();
по причине:
Неизвестный получатель

по причине:
Неизвестный получатель


Сам код:

Процедура ПрочитатьСообщениеСИзменениями() Экспорт 

Каталог = КаталогВременныхФайлов();

ИмяФайла = Каталог + ?(Прав(Каталог, 1)= "\","","\") + "Message" + СокрЛП(ПланыОбмена.ДокументыРКО.ЭтотУзел().Код) + "_" + СокрЛП(Ссылка.Код) + ".xml";   

Файл = Новый Файл(ИмяФайла);
Если Не Файл.Существует() Тогда
Возврат;
КонецЕсли;

ЧтениеXML = Новый ЧтениеXML;
Попытка
ЧтениеXML.ОткрытьФайл(ИмяФайла);

Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Невозможно открыть файл обмена данными.";
Сообщение.Сообщить();

Возврат;

КонецПопытки;

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "------- Загрузка из " + Строка(ЭтотОбъект) + "-------";
Сообщение.Сообщить();
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = " - Считывается файл " + ИмяФайла;
Сообщение.Сообщить();

ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();

ЧтениеСообщения.НачатьЧтение(ЧтениеXML);

Если ЧтениеСообщения.Отправитель <> Ссылка Тогда
ВызватьИсключение "Неверный узел";
КонецЕсли;

ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого);

Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл

Данные = ПрочитатьXML(ЧтениеXML);

Если Не ЧтениеСообщения.Отправитель.Главный И
ПланыОбмена.ИзменениеЗарегистрировано(ЧтениеСообщения.Отправитель, Данные) Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "- Изменения отклонены";
Сообщение.Сообщить();

Продолжить;
КонецЕсли;

Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
Данные.ОбменДанными.Загрузка = Истина;
Данные.Запись();

КонецЦикла;

ЧтениеСообщения.ЗакончитьЧтение();
ЧтениеXML.Закрыть();
УдалитьФайлы(ИмяФайла);

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "--------- Конец загрузки ---------";
Сообщение.Сообщить();

КонецПроцедуры



Черника


Оптимус


Черника

Оптимус, Полностью переписал код заново, а сравнить их не догадался. Где то не правильно, что то напечатал.

Теги:

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

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

Поиск