Сегодня В 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С столкнулся с ошибкой при загрузке данных в базу из 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..Почти как надо.. только в место названий справочников товаров… выгрузились ихние ссылки «гуйды» или как их там
База1 — Филиал. Там я создаю план обмена. Потом захожу в отладчик и в плане обмена завожу два элемента: на скрине ниже:
http://s2.ipicture.ru/uploads/… sUEc62.jpg
А сам план обмена имеет имя ОбменСЦО (обмен с центральным офисом). Состав его, я определяю, как, все справочники и 1 документ, который нужно перенести (Авторегистрация у них везде стоит «разрешить»). Далее в этом плане обмене я перехожу на вкладку прочие. И там модуль объекта и ввожу такой код.
| 1C | ||
|
После этого, я создаю обработку с кнопкой выгрузить. Так в этой обработке по кнопке события
| 1C | ||
|
Далее переходим по процедуре, которая находится также в модуле объекта Плана обмена.
Цитата
УзелОбъекта.ЗаписатьСообщениеСИзменениями();
| 1C | ||
|
Все, после всех этих махинации, документ выгрузился.
Далее беру копию своей базы.. Называем ее ЦентральныйОфис. И делаю те же самые махинации Только Завожу другой План обмена — называется обмен с филиалами. Завожу в нем те же 2 элемента как на первой картинке… только элементы меняю местами. и в обработке завожу кнопку с кодом которая обращается как и в первом случае в модуль объекта плана обмена только на чтение XML файла:
| 1C | ||
|
И вот тут самое главное когда нажимаю считать файл то доходя до этого момент он не находи файл.
| 1C | ||
|
Хочу спросить..ЧТО НЕ ТАК Я ДЕЛАЮ???? почему не находится файл.
Ладно… далее я его переименовывают и когда он доходит до этого момента
| 1C | ||
|
он пишет
{ПланОбмена.ЦкнтральныйОфис.МодульОбъекта(76)}: Ошибка при вызове метода контекста (НачатьЧтение)
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
по причине:
Неизвестный получатель
В общем куда копать даже не знаю.
09.01.2019
Требуется запустить в центральном и периферийных узлах РИБ, если после установки очередного обновления на БП3 версии 3.0.67.54 при выгрузке данных в узел распределённой базы вы вместо привычного файла с именем Message_001_002.zip стали получать Message_Ц_002.zip или Message_002_БП.zip и при этом периферийный узел или центральный узел не обнаруживает сообщения из узла, так как имя поменялось. После работы обработки имена файлов сообщений РИБ станут как и были раньше в формате Message_001_002.zip и Message_002_001.zip Префиксы документов в самих базах данных не меняются!
Если после установки очередного обновления на БП3 версии 3.0.67.54 у вас нарушился обмен данными между узлами РИБ и попытки обмена заканчиваются ошибками типа:
1) «Обработка: ТранспортСообщенийОбменаFILE: В каталоге обмена информацией не был обнаружен файл сообщения с данными. Каталог обмена информацией: «C:TMP» Имя файла сообщения обмена: «Message*_002_001.xml» или «Message*_002_001.zip»
2) «Ошибка при начале чтения файла сообщения обмена: {Обработка.КонвертацияОбъектовРаспределенныхИнформационныхБаз.МодульОбъекта(125)}: Ошибка при вызове метода контекста (НачатьЧтение): Неизвестный получатель»
Выполнение данной обработки позволит восстановить обмен и привычные имена файлов обмена формата «Message*_002_001.xml» или «Message*_002_001.zip».
Обработку проверял на релизе БП версии 3.0.67.54 для архитектуры РИБ «один центральный узел — несколько периферийных, подчинённых одному центральному узлу».
Обработку нужно выполнить как на центральном, так и на всех периферийных узлах.
На префиксы документов в информационных базах выполнение обработки не повлияет.
Ошибка при вызове метода контекста (НачатьЧтение)Причина: Неизвестный получатель
Автор Черника, 23 мар 2022, 11:18
0 Пользователей и 1 гость просматривают эту тему.
Всем здравствуйте, помогите пожалуйста. Делаю по образу книги Радченко, занятие 24 «Обмен данными» (Передаю 1 документ), выдает ошибку:
Ошибка при вызове метода контекста (НачатьЧтение)
{ПланОбмена.ДокументыРКО.МодульОбъекта(72)}: ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
{Обработка.ОбменДанными.Форма.Форма.Форма(16)}: УзелОбъект.ПрочитатьСообщениеСИзменениями();
{Обработка.ОбменДанными.Форма.Форма.Форма(4)}: ВыполнитьОбменНаСервере();
по причине:
Неизвестный получатель
по причине:
Неизвестный получатель
Сам код:
Процедура ПрочитатьСообщениеСИзменениями() Экспорт
Каталог = КаталогВременныхФайлов();
ИмяФайла = Каталог + ?(Прав(Каталог, 1)= "\","","\") + "Message" + СокрЛП(ПланыОбмена.ДокументыРКО.ЭтотУзел().Код) + "_" + СокрЛП(Ссылка.Код) + ".xml";
Файл = Новый Файл(ИмяФайла);
Если Не Файл.Существует() Тогда
Возврат;
КонецЕсли;
ЧтениеXML = Новый ЧтениеXML;
Попытка
ЧтениеXML.ОткрытьФайл(ИмяФайла);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Невозможно открыть файл обмена данными.";
Сообщение.Сообщить();
Возврат;
КонецПопытки;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "------- Загрузка из " + Строка(ЭтотОбъект) + "-------";
Сообщение.Сообщить();
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = " - Считывается файл " + ИмяФайла;
Сообщение.Сообщить();
ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
Если ЧтениеСообщения.Отправитель <> Ссылка Тогда
ВызватьИсключение "Неверный узел";
КонецЕсли;
ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого);
Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
Данные = ПрочитатьXML(ЧтениеXML);
Если Не ЧтениеСообщения.Отправитель.Главный И
ПланыОбмена.ИзменениеЗарегистрировано(ЧтениеСообщения.Отправитель, Данные) Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "- Изменения отклонены";
Сообщение.Сообщить();
Продолжить;
КонецЕсли;
Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
Данные.ОбменДанными.Загрузка = Истина;
Данные.Запись();
КонецЦикла;
ЧтениеСообщения.ЗакончитьЧтение();
ЧтениеXML.Закрыть();
УдалитьФайлы(ИмяФайла);
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "--------- Конец загрузки ---------";
Сообщение.Сообщить();
КонецПроцедуры
Оптимус, Полностью переписал код заново, а сравнить их не догадался. Где то не правильно, что то напечатал.
Теги:
- Форум База
-
►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 -
►
Конфигурирование, программирование в 1С Предприятие 8 -
►
Ошибка при вызове метода контекста (НачатьЧтение)Причина: Неизвестный получатель
Похожие темы (5)


