| Shadowman |
|
||
|---|---|---|---|
|
|
Подскажите пожалуйста,при чтении изменений в плане обмена выходит сообщение НЕИЗВЕСТНЫЙ ПОЛУЧАТЕЛЬ. Что это и как исправить? |
| Yandex |
|
||
|---|---|---|---|
|
|
| E_Migachev |
|
||
|---|---|---|---|
|
|
Проблема возникает при несовпадении кодов в плане обмена, возможно после создания строк в плане обмена вы изменили код в базе-приемнике или в основной базе. Какой изначально должен быть код, смотрим xml-файл обмена следующие строки на примере: |
| Shadowman |
|
||
|---|---|---|---|
|
|
Разобрался. Большое спасибо!!! |
| buktoru |
|
||
|---|---|---|---|
|
|
У меня такая же проблема, не могу понять где ошибка? подскажите пожалуйста. |
| Zhake |
|
||
|---|---|---|---|
|
|
У меня тоже данная проблема. Как решить ? |
| Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или . |
Сегодня В 1С столкнулся с ошибкой при загрузке данных в базу из XML.
“Ошибка при вызове метода контекста (НачатьЧтение): Неизвестный получатель”
Вначале не мог понять в чем дело, но потом разобрался. Т.к. переносил данные между тестовыми базами, а там номера сообщений не совпадают – нужно было заменить в XML номера на актуальные. И во время замены я ошибся и заменил вместо номеров сообщений номера узлов. После корректировки XML-файла ошибка ушла и данные корректно загрузились.
Итого, если у вас ошибка “Ошибка при вызове метода контекста (НачатьЧтение): Неизвестный получатель” при чтении XML-файла – посмотрите какие узлы указаны в файле и какие узлы есть в базе по используемому плану обмена. Вероятно они не совпадают.
Метки: 1СXMLНачатьЧтениеНеизвестный получательОбмен даннымиОшибка
Читайте также:
План обмена *.НачатьЗапись |
Я |
03.06.13 — 14:37
Всем привет. Проблема с вылетании ошибки:
«{Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(10634)}: Ошибка при вызове метода контекста (НачатьЗапись): Неизвестный получатель»
Пояснение. 1С УПП. Настраиваю односторонний обмен выгрузки данных. Использую ПланОбмена как регистратор изменений для выгрузки измененных документов (конкретных).
Ошибка вылазит на следующем коде:
[1c] ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.УстановитьСтроку();
// Создаем новое сообщение
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена);
[/1c]
Параметры НачатьЗапись(ЗаписьXML, УзелОбмена) элементарные — Запись, которая создается в коде перед методом, а также мой УзелОбмена (единственный в базе, больше не создано). Узел отладчиком я проверил — цепляет верно. Но ошибка выдается, причем не понятно что за получатель. У меня односторонний обмен, там получатель не узел, а файл выгрузки.
1 — 03.06.13 — 14:38
*представленный код находится в модуле объекта УниверсальныйОбменДанными.
2 — 03.06.13 — 14:39
+ (1) помогите, пожалуйста, с решением проблемы.
3 — 03.06.13 — 14:48
» (НачатьЗапись): Неизвестный получатель» »
С сервером дружить надо, налей ему 100 грамм в системный блок, сразу зауважает и узнавать начнет.
4 — 03.06.13 — 14:52
(0)>> там получатель не узел, а файл выгрузки.
вытащи запросом таблицу регистрации плана обмена и посмотри для чего узел нужен. не бывает обмена без узла, а вот без файла запросто.
5 — 03.06.13 — 14:54
(4) так у меня узел корректно подцепляется.
6 — 03.06.13 — 14:55
Получатель — файл выгрузки ?????
7 — 03.06.13 — 14:58
(6) Получаетля я вообще не вижу! Покажите мне в предоставленном коде, где он?
У
[1с]ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена);[/1с] лишь 2 параметра, один определяется перед этой строкой без указания чего-либо, а второй — мой узел.
У Узла нет Получателя:
УзелОбмена УИБ82 ПланОбменаСсылка.ОбменЛогистика8_БИБ82_СохраннаяРасписка
ВерсияДанных «AAAAAAAZUc0=» Строка
Код «000000001» Строка
Наименование «УИБ82» Строка
НомерОтправленного 0 Число
НомерПринятого 0 Число
ПометкаУдаления Ложь Булево
Ссылка УИБ82 ПланОбменаСсылка.ОбменЛогистика8_БИБ82_СохраннаяРасписка
8 — 03.06.13 — 15:00
(7) ну не может твой узел быть получателем. Не парь нам мозг. Создай второй узел, и на него отправляй.
9 — 03.06.13 — 15:00
(7) да при чем тут реквизиты то? это свойство каждого элемента, включенного в план обмена
10 — 03.06.13 — 15:09
(8) где вообще указывается получатель?
Мой код следующий:
Номер = ПолучитьНомерПоследнегоПринятого();
НомерПоследнегоПринятогоПакетаВБП82 = ?(Номер= 0 ИЛИ Номер= 9999999999, 0, Номер-1);
Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
УзелОбмена = ПланыОбмена.ОбменЛогистика8_БИБ82_СохраннаяРасписка.НайтиПоНаименованию("УИБ82");
Если НомерПоследнегоПринятогоПакетаВБП82 > 0 Тогда
ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена, НомерПоследнегоПринятогоПакетаВБП82);
ОбъектУзелОбмена = УзелОбмена.ПолучитьОбъект();
ОбъектУзелОбмена.НомерПринятого = НомерПоследнегоПринятогоПакетаВБП82;
ОбъектУзелОбмена.Записать();
КонецЕсли;
//Добиваем номер пакета не значащими нулями
СтрокаНомера = Строка(УзелОбмена.НомерОтправленного + 1);
//Убираем лишние символы из строки номера пакета
СтрокаНомера = СтрЗаменить(СтрокаНомера, Символ(160), "");
ДлинаКодаТек = СтрДлина(СтрокаНомера);
Для к=1 по (ДлинаКодаПакета-ДлинаКодаТек) Цикл
СтрокаНомера = "0"+ СтрокаНомера;
КонецЦикла;
Обработка.ИмяФайлаОбмена = ПутьОбмена + СтрЗаменить(МаскаФайловВыгрузки,"*",СтрокаНомера);
Обработка.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
Обработка.ЗагрузитьПравилаОбмена(Обработка.ИмяФайлаПравилОбмена);
УстановитьУзелОбменаУСтрокДерева(Обработка.ТаблицаПравилВыгрузки.Строки, УзелОбмена.Ссылка);
Обработка.ВыполнитьВыгрузку();
ОбъектУзелОбмена.НомерОтправленного = УзелОбмена.НомерОтправленного + 1;
ОбъектУзелОбмена.Записать();
На строке «Обработка.ВыполнитьВыгрузку();» программа уходит в модуль стандартной обработки.
11 — 03.06.13 — 15:10
все изменения система не просто так регистрирует а для конкретного узла получателя, и отдельно контролирует удаление из таблицы регистраций для тех узлов кто получил. Создай переферийный узел получатель.
12 — 03.06.13 — 15:13
(10)вот тут
УзелОбмена = ПланыОбмена.ОбменЛогистика8_БИБ82_СохраннаяРасписка.НайтиПоНаименованию(«УИБ82»);
вместо УИБ82 должен быть код второго переферийного узла
13 — 03.06.13 — 15:15
+ и у плана обмена должна стоять галка «Распределенная ИБ» что то вроде такого.
14 — 03.06.13 — 15:17
(13) не, эта галка влияет будет ли ездить конфа. к регистрации элементов отношения не имеет
15 — 03.06.13 — 15:20
(12) Спасибо, по крайней мере ошибка ушла. Буду дальше разбираться с этим планом обмена.
Maxus43
16 — 03.06.13 — 15:36
(15) для начала разберись что это вобще такое. Получате, отправители, узлы… Метод заменил отправителя и заработало — совсем экстремальный
Попросили помочь с 1С «как компьютерщика». Только я с ней никогда не работал. Прошу помощи.
Итак, есть 1С предприятие.
В нём откывают сервис-> обмен с Бухгалтерией предприятия 8,2
открывается некое окошко, в котором нажимают кнопку «Выполнить обмен»
При обмене выдаётся такая ошибка:
«Ошибка при вызове метода контекста (НачатьЗапись): Неизвестный получатель
Техническая информация:
{Обработка.ОбменДаннымиXML.МодульОбъекта(12118)}: Ошибка при вызове метода контекста (НачатьЗапись): Неизвестный получатель»
Я вообще не шарю, как это решить. Никогда с 1С не работал. Помогите, пожалуйста, решить проблему.
Ошибка при вызове метода контекста (НачатьЧтение)Причина: Неизвестный получатель
Автор Черника, 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С
- ►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 - ►
Конфигурирование, программирование в 1С Предприятие 8 - ►
Ошибка при вызове метода контекста (НачатьЧтение)Причина: Неизвестный получатель
Похожие темы (5)
Поиск
| Shadowman |
|
||
|---|---|---|---|
|
|
Подскажите пожалуйста,при чтении изменений в плане обмена выходит сообщение НЕИЗВЕСТНЫЙ ПОЛУЧАТЕЛЬ. Что это и как исправить? |
| Yandex |
|
||
|---|---|---|---|
|
|
| E_Migachev |
|
||
|---|---|---|---|
|
|
Проблема возникает при несовпадении кодов в плане обмена, возможно после создания строк в плане обмена вы изменили код в базе-приемнике или в основной базе. Какой изначально должен быть код, смотрим xml-файл обмена следующие строки на примере: |
| Shadowman |
|
||
|---|---|---|---|
|
|
Разобрался. Большое спасибо!!! |
| buktoru |
|
||
|---|---|---|---|
|
|
У меня такая же проблема, не могу понять где ошибка? подскажите пожалуйста. |
| Zhake |
|
||
|---|---|---|---|
|
|
У меня тоже данная проблема. Как решить ? |
| Подсказка:Вы можете добавить любую страничку в Социальные закладки щелкнув по значку соцсетей (в вверху) |
-
Добрый день! Подскажите пожалуйста, что можно сделать в такой ситуации — Есть основная база (серверная) и переферийная, которая находится на ноутбуке. Версия 8.0. Конфигурация самописанная. Возникла потребность обновить данные. Я подкючилась к сети и с ноутбука зашла на сервер чере админа, в плане обмена укаала ноутбук, и выполнила операцию прочитать изменения. Затем я зашла в переферийную базу и, указав в плане обмена серверную базу, и при попытки — записать изменения — вышла ошибка — «неизвестный получатель». сам же значок обмена (который находится в первом поле, в соответств. записи серверной базы был красного цвета) Кто до меня работал, говорят, что с эти не сталкивался. я работаю в 1с меньше года — тем более. B)
Пожалуйста подскажите, что может не так???!! :unsure: Заранее, огромное спасибо!!!
-
Offline
BabySG
Администраторы
Команда форума
Администратор- Регистрация:
- 10 июн 2007
- Сообщения:
- 11.853
- Симпатии:
- 18
- Баллы:
- 29
Э….. А создать узлы, образы…. Делали?
-
Здравствуйте! А каким образом можно создать узлы? Моя главная цель — это извлечь данные с переыерийной базы в основную. (т.е. с ноутбука на серверную). Я как понимаю, создание нового образа не позволит это сделать?((
-
Offline
BabySG
Администраторы
Команда форума
Администратор- Регистрация:
- 10 июн 2007
- Сообщения:
- 11.853
- Симпатии:
- 18
- Баллы:
- 29
Давай-те начнем с малого:
— база на ноутбуке какое отношение имеет к базе основной?
-
База на ноутбуке является переферийной. т.е. изначально для него создавался нач. образ и т.д.
Как Вы думаете, если я сразу сделаю «записать изменения» (пропустив «прочитать изменения») что-то изменится?
)
Большое спасибо Вам за Ваше внимание!..так, уже поняла, что это не правильно.. :unsure: не знаю, просто, что делать.. а что означает красный значок обмена? Остальные везде синие…
-
Offline
BabySG
Администраторы
Команда форума
Администратор- Регистрация:
- 10 июн 2007
- Сообщения:
- 11.853
- Симпатии:
- 18
- Баллы:
- 29
красный — это родитель, остальные не синие, а один из них должен быть с зеленой фигней рядом — это местный план.
Когда последний раз проводился обмен?
-
Offline
smm
Опытный в 1С- Регистрация:
- 19 дек 2008
- Сообщения:
- 61
- Симпатии:
- 0
- Баллы:
- 26
Проблема возникает при несовпадении кодов в плане обмена, возможно после создания строк в плане обмена вы изменили код в базе-приемнике или в основной базе. Какой изначально должен быть код, смотрим xml-файл обмена следующие строки на примере:
<v8msg:To>2</v8msg:To>
<v8msg:From>1</v8msg:From>
где 2 — это код строки с зеленым шариком в основной базе, 1 — код строки обмена с распределенной базой.
Добрый день! Прошу объяснить и рассказать, и не казнить. я начинающий 1с-ник.. Вот наконец-то и я дошел до темы, обмен между базами. Суть проблемы такая. Есть 2 базы(конфигурации). Написанные полностью с нуля. И сейчас моя задача это сделать выгрузку документов из одной базы в другую. В интернете примеров я не нашел которые подходят именно для меня. Но нашел одну интересную статью. Руководствуясь ней, у меня получилось выгрузить документ XML..Почти как надо.. только в место названий справочников товаров… выгрузились ихние ссылки «гуйды» или как их там
База1 — Филиал. Там я создаю план обмена. Потом захожу в отладчик и в плане обмена завожу два элемента: на скрине ниже:
http://s2.ipicture.ru/uploads/… sUEc62.jpg
А сам план обмена имеет имя ОбменСЦО (обмен с центральным офисом). Состав его, я определяю, как, все справочники и 1 документ, который нужно перенести (Авторегистрация у них везде стоит «разрешить»). Далее в этом плане обмене я перехожу на вкладку прочие. И там модуль объекта и ввожу такой код.
| 1C | ||
|
После этого, я создаю обработку с кнопкой выгрузить. Так в этой обработке по кнопке события
| 1C | ||
|
Далее переходим по процедуре, которая находится также в модуле объекта Плана обмена.
Цитата
УзелОбъекта.ЗаписатьСообщениеСИзменениями();
| 1C | ||
|
Все, после всех этих махинации, документ выгрузился.
Далее беру копию своей базы.. Называем ее ЦентральныйОфис. И делаю те же самые махинации Только Завожу другой План обмена — называется обмен с филиалами. Завожу в нем те же 2 элемента как на первой картинке… только элементы меняю местами. и в обработке завожу кнопку с кодом которая обращается как и в первом случае в модуль объекта плана обмена только на чтение XML файла:
| 1C | ||
|
И вот тут самое главное когда нажимаю считать файл то доходя до этого момент он не находи файл.
| 1C | ||
|
Хочу спросить..ЧТО НЕ ТАК Я ДЕЛАЮ???? почему не находится файл.
Ладно… далее я его переименовывают и когда он доходит до этого момента
| 1C | ||
|
он пишет
{ПланОбмена.ЦкнтральныйОфис.МодульОбъекта(76)}: Ошибка при вызове метода контекста (НачатьЧтение)
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
по причине:
Неизвестный получатель
В общем куда копать даже не знаю.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь


Пожалуйста подскажите, что может не так???!! :unsure: Заранее, огромное спасибо!!!