Csar
03.06.13
✎
14:37
Всем привет. Проблема с вылетании ошибки:
«{Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(10634)}: Ошибка при вызове метода контекста (НачатьЗапись): Неизвестный получатель»
Пояснение. 1С УПП. Настраиваю односторонний обмен выгрузки данных. Использую ПланОбмена как регистратор изменений для выгрузки измененных документов (конкретных).
Ошибка вылазит на следующем коде:
ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.УстановитьСтроку();
// Создаем новое сообщение
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена);
Параметры НачатьЗапись(ЗаписьXML, УзелОбмена) элементарные — Запись, которая создается в коде перед методом, а также мой УзелОбмена (единственный в базе, больше не создано). Узел отладчиком я проверил — цепляет верно. Но ошибка выдается, причем не понятно что за получатель. У меня односторонний обмен, там получатель не узел, а файл выгрузки.
Csar
03.06.13
✎
14:38
*представленный код находится в модуле объекта УниверсальныйОбменДанными.
Csar
03.06.13
✎
14:39
+ (1) помогите, пожалуйста, с решением проблемы.
Повелитель
03.06.13
✎
14:48
» (НачатьЗапись): Неизвестный получатель» »
С сервером дружить надо, налей ему 100 грамм в системный блок, сразу зауважает и узнавать начнет.
AaNnDdRrEeYy
03.06.13
✎
14:52
(0)>> там получатель не узел, а файл выгрузки.
вытащи запросом таблицу регистрации плана обмена и посмотри для чего узел нужен. не бывает обмена без узла, а вот без файла запросто.
Csar
03.06.13
✎
14:54
(4) так у меня узел корректно подцепляется.
acsent
03.06.13
✎
14:55
Получатель — файл выгрузки ?????
Csar
03.06.13
✎
14:58
(6) Получаетля я вообще не вижу! Покажите мне в предоставленном коде, где он?
У
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена);
лишь 2 параметра, один определяется перед этой строкой без указания чего-либо, а второй — мой узел.
У Узла нет Получателя:
УзелОбмена УИБ82 ПланОбменаСсылка.ОбменЛогистика8_БИБ82_СохраннаяРасписка
ВерсияДанных «AAAAAAAZUc0=» Строка
Код «000000001» Строка
Наименование «УИБ82» Строка
НомерОтправленного 0 Число
НомерПринятого 0 Число
ПометкаУдаления Ложь Булево
Ссылка УИБ82 ПланОбменаСсылка.ОбменЛогистика8_БИБ82_СохраннаяРасписка
hhhh
03.06.13
✎
15:00
(7) ну не может твой узел быть получателем. Не парь нам мозг. Создай второй узел, и на него отправляй.
Maxus43
03.06.13
✎
15:00
(7) да при чем тут реквизиты то? это свойство каждого элемента, включенного в план обмена
Csar
03.06.13
✎
15:09
(8) где вообще указывается получатель?
Мой код следующий:
Номер = ПолучитьНомерПоследнегоПринятого();
НомерПоследнегоПринятогоПакетаВБП82 = ?(Номер= 0 ИЛИ Номер= 9999999999, 0, Номер-1);
Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
УзелОбмена = ПланыОбмена.ОбменЛогистика8_БИБ82_СохраннаяРасписка.НайтиПоНаименованию("УИБ82");
Если НомерПоследнегоПринятогоПакетаВБП82 > 0 Тогда
ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена, НомерПоследнегоПринятогоПакетаВБП82);
ОбъектУзелОбмена = УзелОбмена.ПолучитьОбъект();
ОбъектУзелОбмена.НомерПринятого = НомерПоследнегоПринятогоПакетаВБП82;
ОбъектУзелОбмена.Записать();
КонецЕсли;
//Добиваем номер пакета не значащими нулями
СтрокаНомера = Строка(УзелОбмена.НомерОтправленного + 1);
//Убираем лишние символы из строки номера пакета
СтрокаНомера = СтрЗаменить(СтрокаНомера, Символ(160), "");
ДлинаКодаТек = СтрДлина(СтрокаНомера);
Для к=1 по (ДлинаКодаПакета-ДлинаКодаТек) Цикл
СтрокаНомера = "0"+ СтрокаНомера;
КонецЦикла;
Обработка.ИмяФайлаОбмена = ПутьОбмена + СтрЗаменить(МаскаФайловВыгрузки,"*",СтрокаНомера);
Обработка.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
Обработка.ЗагрузитьПравилаОбмена(Обработка.ИмяФайлаПравилОбмена);
УстановитьУзелОбменаУСтрокДерева(Обработка.ТаблицаПравилВыгрузки.Строки, УзелОбмена.Ссылка);
Обработка.ВыполнитьВыгрузку();
ОбъектУзелОбмена.НомерОтправленного = УзелОбмена.НомерОтправленного + 1;
ОбъектУзелОбмена.Записать();
На строке «Обработка.ВыполнитьВыгрузку();» программа уходит в модуль стандартной обработки.
AaNnDdRrEeYy
03.06.13
✎
15:10
все изменения система не просто так регистрирует а для конкретного узла получателя, и отдельно контролирует удаление из таблицы регистраций для тех узлов кто получил. Создай переферийный узел получатель.
AaNnDdRrEeYy
03.06.13
✎
15:13
(10)вот тут
УзелОбмена = ПланыОбмена.ОбменЛогистика8_БИБ82_СохраннаяРасписка.НайтиПоНаименованию(«УИБ82»);
вместо УИБ82 должен быть код второго переферийного узла
AaNnDdRrEeYy
03.06.13
✎
15:15
+ и у плана обмена должна стоять галка «Распределенная ИБ» что то вроде такого.
Maxus43
03.06.13
✎
15:17
(13) не, эта галка влияет будет ли ездить конфа. к регистрации элементов отношения не имеет
Csar
03.06.13
✎
15:20
(12) Спасибо, по крайней мере ошибка ушла. Буду дальше разбираться с этим планом обмена.
Maxus43
03.06.13
✎
15:36
(15) для начала разберись что это вобще такое. Получате, отправители, узлы… Метод заменил отправителя и заработало — совсем экстремальный
Автор ruslansat, 21 янв 2016, 14:47
0 Пользователей и 1 гость просматривают эту тему.
Здравствуйте При выгрузке данных для синхронизации из УТ выдает ошибку
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(14857)}: Ошибка при вызове метода контекста (НачатьЗапись)
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелДляОбмена);
по причине:
Не удалось заблокировать запись. Действие (изменение, удаление или блокировка записи) не выполнено.
Ошибка блокировки объекта. Объект уже заблокирован:
компьютер: WORK-ПК, пользователь: Администратор, сеанс: 6, начат: 21.01.2016 в 16:20:22, приложение: Тонкий клиент
В обратном направлении все нормально принимает данные из бухи.В чем проблема и как её решать?
Смотрите в журнале регистрации что за объект заблокирован. Пользователи в момент проб работают? Попробуйте всех выгнать.
Если я Вам помог, нажми — Спасибо!
В базе никого нет кроме адмнистратора:(
Добавлено: 22 янв 2016, 09:39
В журнале регистрайии еще пишет
маг.Инесса в справочнике контрагентов нет
Ошибка в обработчике события ПослеВыгрузкиОбъекта
ПВД = Контрагенты
Объект = маг.Инесса (Справочник объект: Контрагенты)
Обработчик = ПослеВыгрузкиОбъектаВыборки
ОписаниеОшибки = Ошибка при вызове метода контекста (Вставить): Задано неправильное имя атрибута структуры
ПозицияМодуля = ОбщийМодуль.УправлениеКонтактнойИнформациейКлиентСервер.Модуль(711)
КСообщенияОбОшибках = 34
1. ут какая?
2. какие правила обмена данными используются? типовые?
3. что за «маг.Инесса»? — контрагент? пишет, же, что нет в справочнике контрагентов.
Всем привет. Проблема с вылетании ошибки: «{Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(10634)}: Ошибка при вызове метода контекста (НачатьЗапись): Неизвестный получатель» Пояснение. 1С УПП. Настраиваю односторонний обмен выгрузки данных. Использую ПланОбмена как регистратор изменений для выгрузки измененных документов (конкретных). Ошибка вылазит на следующем коде: Параметры НачатьЗапись(ЗаписьXML, УзелОбмена) элементарные — Запись, которая создается в коде перед методом, а также мой УзелОбмена (единственный в базе, больше не создано). Узел отладчиком я проверил — цепляет верно. Но ошибка выдается, причем не понятно что за получатель. У меня односторонний обмен, там получатель не узел, а файл выгрузки.
*представленный код находится в модуле объекта УниверсальныйОбменДанными.
+ помогите, пожалуйста, с решением проблемы.
» (НачатьЗапись): Неизвестный получатель» » С сервером дружить надо, налей ему 100 грамм в системный блок, сразу зауважает и узнавать начнет.
>> там получатель не узел, а файл выгрузки. вытащи запросом таблицу регистрации плана обмена и посмотри для чего узел нужен. не бывает обмена без узла, а вот без файла запросто.
так у меня узел корректно подцепляется.
Получатель — файл выгрузки ?????
Получаетля я вообще не вижу! Покажите мне в предоставленном коде, где он? У лишь 2 параметра, один определяется перед этой строкой без указания чего-либо, а второй — мой узел. У Узла нет Получателя: УзелОбмена УИБ82 ПланОбменаСсылка.ОбменЛогистика8_БИБ82_СохраннаяРасписка ВерсияДанных «AAAAAAAZUc0=» Строка Код «000000001» Строка НомерПринятого 0 Число ПометкаУдаления Ложь Булево Ссылка УИБ82 ПланОбменаСсылка.ОбменЛогистика8_БИБ82_СохраннаяРасписка
ну не может твой узел быть получателем. Не парь нам мозг. Создай второй узел, и на него отправляй.
да при чем тут реквизиты то? это свойство каждого элемента, включенного в план обмена
где вообще указывается получатель? Мой код следующий: На строке «Обработка.ВыполнитьВыгрузку;» программа уходит в модуль стандартной обработки.
все изменения система не просто так регистрирует а для конкретного узла получателя, и отдельно контролирует удаление из таблицы регистраций для тех узлов кто получил. Создай переферийный узел получатель.
вместо УИБ82 должен быть код второго переферийного узла
+ и у плана обмена должна стоять галка «Распределенная ИБ» что то вроде такого.
не, эта галка влияет будет ли ездить конфа. к регистрации элементов отношения не имеет
Спасибо, по крайней мере ошибка ушла. Буду дальше разбираться с этим планом обмена.
для начала разберись что это вобще такое. Получате, отправители, узлы… Метод заменил отправителя и заработало — совсем экстремальный
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
После переноса базы на 64 разрядный сервер
При запуске обмена с удаленными подразделениями
возникает ошибка при запуске Обмена(загрузке/ выгрузке)
загрузка проходит нормально
а при выгрузке в этом же сеансе возникает ошибка:
модуль одОбменДанными
Функция ЗаписатьСообщениеОбменаНаКлиенте
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена);
20:56:08 11.12 Ошибка записи сообщения. Попытка № 0 : Ошибка при вызове метода контекста (НачатьЗапись)
20:58:03 11.12 Ошибка записи сообщения. Попытка № 1 : Ошибка при вызове метода контекста (НачатьЗапись)
20:58:04 11.12 Ошибка записи сообщения. Попытка № 2 : Ошибка при вызове метода контекста (НачатьЗапись)
Если перезапустить сеанс 1с, то выгрузка проходит. Но одновременно загрузка/ выгрузка выдает ошибку.
КАК можно поправить эту ошибку ???
Стоит
1С:Предприятие 8.2 (8.2.13.202)
Альфа-Авто: Автосалон+Автосервис+Автозапчасти. Редакция 4.1 (4.1.01.22)
2008 сервак 64 разрядный
2005 sql
- Главная
- —
- Форум
- —
- ТЕХПОДДЕРЖКА
- —
- ЭКСЕЛОН — Загрузка в 1С из EXCEL
- —
- Ошибка при вызове метода контекста (Записать)
Вчера заметил, что перестали обновляется цены, проверил выгрузку и обнаружил что часть номенклатуры не записывается. Номенклатура_СоздатьОбновить 020: {ВнешняяОбработка.APPLIX_RU_ЗагрузкаИзExcel_ЗМ.МодульОбъекта(70081)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПередЗаписью’: {Справочник.Номенклатура.МодульМенеджера(2911)}: Преобразование значения к типу Булево не может быть выполнено |
|
Ошибка при попытке обновить номенклатуру |
|
1С:Предприятие 8.3 (8.3.20.1674) Прикрепленные файлы |
|
Модуль создал номенклатуру, теперь ее невозможно открыть ТекстыЗапросов = Новый Массив; ИменаОбъектовМетаданных = Новый Массив; Для Каждого СсылкиПоТипу Из СсылкиПоТипам Цикл ПолноеИмяОбъектаМетаданных = ОбъектМетаданных.ПолноеИмя(); Прикрепленные файлы |
|
пришлите ваш файл и скриншоты всех настроек колонок |
|
у нас загрузилось нормально доступ к базе дадите? попробуем на вашей базе отладкой посмотреть что не так |
|
Сергей Юданов Пользователь Сообщений: 23 |
#9
30.05.2022 15:03:02 Разобрались сами. На некоторые позиции номенклатуры в поле (Вид номенклатуры) было назначено не значение, а почему-то название категории в котором содержались значения. |
ПОСЛЕДНИЕ СООБЩЕНИЯ
Сейчас на форуме (гостей: 48)
Всего зарегистрированных пользователей: 2322
Приняло участие в обсуждении: 376
Всего тем: 846