Сегодня В 1С столкнулся с ошибкой при загрузке данных в базу из XML.
“Ошибка при вызове метода контекста (НачатьЧтение): Неизвестный получатель”
Вначале не мог понять в чем дело, но потом разобрался. Т.к. переносил данные между тестовыми базами, а там номера сообщений не совпадают – нужно было заменить в XML номера на актуальные. И во время замены я ошибся и заменил вместо номеров сообщений номера узлов. После корректировки XML-файла ошибка ушла и данные корректно загрузились.
Итого, если у вас ошибка “Ошибка при вызове метода контекста (НачатьЧтение): Неизвестный получатель” при чтении XML-файла – посмотрите какие узлы указаны в файле и какие узлы есть в базе по используемому плану обмена. Вероятно они не совпадают.
Метки: 1СXMLНачатьЧтениеНеизвестный получательОбмен даннымиОшибка
Читайте также:
Путь= Константы. ПутьДоФайлов.Получить( )+»»;
ЧтениеXML=Новый ЧтениеXML();
ЧтениеXML.ОткрытьФайл(Путь+»file_out.хml»);
ЧтСообщения=ПланыОбмена.СоздатьЧтениеСообщения();
ЧтСообщения.НачатьЧтение(ЧтениеXML);
ПланыОбмена.УдалитьРегистрациюИзменений(ЧтСообщения.Отправитель,ЧтСообщения.НомерСообщения);
Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
Данные=ПрочитатьXML(ЧтениеXML);
Данные.ОбменДанными.Отправитель=ЧтСообщения.Отправитель;
Данные.ОбменДанными.Загрузка=Истина;
Данные.Записать();
КонецЦикла;
ЧтСообщения.ЗакончитьЧтение();
ЧтениеXML.Закрыть();
Выдает ошибку:»
{Обработка.Обмен.Форма.Форма(22)}: Ошибка при вызове метода контекста (НачатьЧтение): Неизвестный получатель
ЧтСообщения.НачатьЧтение(ЧтениеXML);
по причине:
Неизвестный получатель»
file_out.хml существует. В чём может быть ошибка? Платформа 16.
Shadowman |
|
||
---|---|---|---|
|
Подскажите пожалуйста,при чтении изменений в плане обмена выходит сообщение НЕИЗВЕСТНЫЙ ПОЛУЧАТЕЛЬ. Что это и как исправить? |
Yandex |
|
||
---|---|---|---|
|
E_Migachev |
|
||
---|---|---|---|
|
Проблема возникает при несовпадении кодов в плане обмена, возможно после создания строк в плане обмена вы изменили код в базе-приемнике или в основной базе. Какой изначально должен быть код, смотрим xml-файл обмена следующие строки на примере: |
Shadowman |
|
||
---|---|---|---|
|
Разобрался. Большое спасибо!!! |
buktoru |
|
||
---|---|---|---|
|
У меня такая же проблема, не могу понять где ошибка? подскажите пожалуйста. |
Zhake |
|
||
---|---|---|---|
|
У меня тоже данная проблема. Как решить ? |
Подсказка: Для выделения Кода используйте (в редакторе). |
Добрый день! Прошу объяснить и рассказать, и не казнить. я начинающий 1с-ник.. Вот наконец-то и я дошел до темы, обмен между базами. Суть проблемы такая. Есть 2 базы(конфигурации). Написанные полностью с нуля. И сейчас моя задача это сделать выгрузку документов из одной базы в другую. В интернете примеров я не нашел которые подходят именно для меня. Но нашел одну интересную статью. Руководствуясь ней, у меня получилось выгрузить документ XML..Почти как надо.. только в место названий справочников товаров… выгрузились ихние ссылки «гуйды» или как их там. Но это не суть и тут я пробую делать на копии своей же базы загрузку этой этого же XML файла на что в ответ получаю что файл не найден…ок.. делаем дальше..я переименовываю файл… файл находится но при чтении именно этого файла ругается на второй параметр… не найден получатель. Прошу подсказать почему не может найтись получатель??????? Дальше я в картинках опишу что именно делаю.
База1 — Филиал. Там я создаю план обмена. Потом захожу в отладчик и в плане обмена завожу два элемента: на скрине ниже:
http://s2.ipicture.ru/uploads/… sUEc62.jpg
А сам план обмена имеет имя ОбменСЦО (обмен с центральным офисом). Состав его, я определяю, как, все справочники и 1 документ, который нужно перенести (Авторегистрация у них везде стоит «разрешить»). Далее в этом плане обмене я перехожу на вкладку прочие. И там модуль объекта и ввожу такой код.
1C | ||
|
После этого, я создаю обработку с кнопкой выгрузить. Так в этой обработке по кнопке события
1C | ||
|
Далее переходим по процедуре, которая находится также в модуле объекта Плана обмена.
Цитата
УзелОбъекта.ЗаписатьСообщениеСИзменениями();
1C | ||
|
Все, после всех этих махинации, документ выгрузился.
Далее беру копию своей базы.. Называем ее ЦентральныйОфис. И делаю те же самые махинации Только Завожу другой План обмена — называется обмен с филиалами. Завожу в нем те же 2 элемента как на первой картинке… только элементы меняю местами. и в обработке завожу кнопку с кодом которая обращается как и в первом случае в модуль объекта плана обмена только на чтение XML файла:
1C | ||
|
И вот тут самое главное когда нажимаю считать файл то доходя до этого момент он не находи файл.
1C | ||
|
Хочу спросить..ЧТО НЕ ТАК Я ДЕЛАЮ???? почему не находится файл.
Ладно… далее я его переименовывают и когда он доходит до этого момента
1C | ||
|
он пишет
{ПланОбмена.ЦкнтральныйОфис.МодульОбъекта(76)}: Ошибка при вызове метода контекста (НачатьЧтение)
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
по причине:
Неизвестный получатель
В общем куда копать даже не знаю.
Выдает ошибку:» {Обработка.Обмен.Форма.Форма}: Ошибка при вызове метода контекста (НачатьЧтение): Неизвестный получатель ЧтСообщения.НачатьЧтение(ЧтениеXML); по причине: file_out.хml существует. В чём может быть ошибка? Платформа 16.
Да нет, с переменной «Путь» всё в порядке
Содержимое файла file_out.хml:
Ну собственно неизвестный получатель. Т.е. в поле «получатель» в сообщении написан один код узла, а у текущей базы — другой
Давай я тебе на мыло кину свою обработку
Лови на мыле. Если что не поймёшь в настройках пиши
хорошо, спасибо. Буду разбираться.
Тэги:
Комментарии доступны только авторизированным пользователям