|
Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка данных XML | ☑ | ||
---|---|---|---|---|
0
Ayvengo
13.02.14
✎
17:32
|
Добрый вечер!
Случай 1: выполняю обмен по заведомо правильной схеме, выгружаю определенного, контрагента по которому ошибка не вылетает.- Все ок, проблем нет. Случай 2: нашел контрагента, на котором всегда вылетает при обмене ошибка. Что копать, куда копать.. не представляю :( Не знаю, может чем-то поможет Рабочий контрагент по выгрузке <CatalogObject.Контрагенты>
Не рабочий контрагент, вылетает ошибка <CatalogObject.Контрагенты>
Больше в файле для обмена нет никаких различий (ну .. кроме номера сообщения) |
|||
1
Maxus43
13.02.14
✎
17:42
|
на вскидку вижу разницу только в
<КодПоОКПО></КодПоОКПО> <КодПоОКПО/> По стандартам xml это монопесуально конечно... но всякое бывает |
|||
2
Ayvengo
13.02.14
✎
17:46
|
(1) да я просто коды удалил, на самом деле выводится просто
<КодПоОКПО/> , если значение пустое, а <КодПоОКПО></КодПоОКПО> Если что-то есть. |
|||
3
Maxus43
13.02.14
✎
17:48
|
по своей схеме xml выгружаешь?
|
|||
4
Ayvengo
13.02.14
✎
17:50
|
нет, рибовская, типовая
|
|||
5
Maxus43
13.02.14
✎
17:53
|
а, ну и главный вопрос, чо за ошибка то?)
|
|||
6
Maxus43
13.02.14
✎
17:54
|
только то что в сабже, никакой другой инфы больше нет?
|
|||
7
Ayvengo
13.02.14
✎
17:54
|
(5) так в названии темы :)
|
|||
8
Maxus43
13.02.14
✎
17:56
|
хм... подумаю на досуге... а щас пора до дому
|
|||
9
Ayvengo
13.02.14
✎
17:56
|
Если поможет, вот весь текст
|
|||
10
Ayvengo
13.02.14
✎
18:01
|
Конфиги одинаковые, ошибка вылетает не из-за различия и не из-за отсутствия главного узла, как раз при проверке различия и главного узла вызывается исключение.
И самое фиговое, никак не отладить это, т.к. исключение вызывается при использовании метода "ПрочитатьИзменения" для планов обмена. |
|||
11
Ayvengo
13.02.14
✎
18:18
|
Хехе, ошибка вылетает и при использовании обработки "Выгрузка из загрузка данных XML (2.1.8)"
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(147)}: Ошибка при вызове метода контекста (ПрочитатьXML)
|
|||
12
Ayvengo
13.02.14
✎
18:25
|
А как узнать идентичны ли конфигурации по каким-нибудь другим параметрам? Хз, мож какие-то идентификаторы и т.п.?
Сравнение объединение - конфиги одинаковые, нет различий. |
|||
13
Ayvengo
13.02.14
✎
18:34
|
Взято с ИТС - http://its.1c.ru/db/metod81#content:2265:1
При обмене данными в рамках распределенной информационной базы используются штатные механизмы записи/чтения XML - ситуации, связанные с передачей некорректных данных, могут возникать только вследствие искажения сообщения обмена данными. В таком случае необходимо получить новое сообщение обмена данными от информационной базы - источника сообщения.
Реально, хз че делать :( Вроде база целая... проблем нет.. |
|||
14
Ayvengo
13.02.14
✎
18:40
|
проверка с помощью chdbfl.exe - ошибок не обнаружено =\
|
|||
15
Serginio1
13.02.14
✎
18:46
|
Пробовал загружать через СериализаторXDTO, ФабрикаXDTO ?
|
|||
16
Serginio1
13.02.14
✎
18:49
|
Например v8: Перенос документов 8
|
|||
17
Ayvengo
13.02.14
✎
18:53
|
(15) Надо будет попробовать. Пока не делал.
|
|||
18
Serginio1
13.02.14
✎
18:55
|
С фабрикой
ОбъектXDTO=ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,ФабрикаXDTO.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя)); |
|||
19
Serginio1
13.02.14
✎
19:03
|
Можно для определения типа использовать ПолучитьXMLТип
|
|||
20
Ayvengo
13.02.14
✎
19:36
|
Случайно нашел ошибку, ппц.. оказывается в базе приемнике для договоров установлен владелец с значением реквизита ЭтоГруппа = Истина. Ппц.. классные обмен с БП...
|
|||
21
Ayvengo
13.02.14
✎
19:47
|
Кстати, помогло в отладке именно обработка выгрузки и загрузки данных хмл. Ох! Осталось теперь по другим метаданным пройтись, не только по контрагентам.. ..
|
|||
22
Ayvengo
14.02.14
✎
13:24
|
Дорылся до корня проблемы. В общем есть две базу рибовские, в одной есть контрагент с УИ, допустим равным 1111, а в другой базе есть группа контрагентов с таким же уникальным идентификатором. Так вот, во время обмена в головную базу пришел этот замечательный новый контрагент, который и заменил родителя для некоторые контрагентов. В итоге выходит такая ситуация, когда у контрагента родитель - не группа, а элемент. В общем ппц какой-то.
Интересно, такое часто случается с РИБ, что бы в разных базах были одинаковые УИ для справочника, документ??? |
|||
23
Serginio1
14.02.14
✎
13:34
|
(22) Скорее всего проблема может быть когда базы находятся на одном компютере, так как для них UUID вычисляется не совсем правильно
v8: Справочники. Обмен данными. Атрибут Ref. |
|||
24
Ayvengo
14.02.14
✎
13:41
|
(23) да нет, базы у меня взяты как раз с разных компов.
|
|||
25
Serginio1
14.02.14
✎
13:53
|
(22) Тогда остается только два , что изменено программно, либо при обмене произошел сбой и в контрагенте прописалось ЭтоГруппа = Истина
|
|||
26
Ayvengo
14.02.14
✎
13:55
|
Нет, полная схема работы такая:
1. Есть Головная база 2. Есть РИБ1 3. Есть РИБ2 4. В базе РИБ1 есть справочник контрагентов и в этом справочнике есть ЭЛЕМЕНТ с каким-то Уникальным идентификатором. 5. В базе РИБ2 есть справочник контрагентов и в этом справочнике есть ГРУППА с таким же Уникальным идентификатором. Нормальна ли такая ситуация? Получаем данные из РИБ2 в головную. Получаем данные из РИБ1 в головную. Что происходит - у контрагентов в группе из РИБ2 установится родитель = ЭЛЕМЕНУ! из РИБ1. Таким образом получается, что обмен посредством РИБ может привести к полной "*опе", т.к. после обмена с РИБ1, выгрузить данные в РИБ2 из головной не получится - Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка данных XML РИБ1, РИБ2 и Головная ИБ находятся на разных компьютерах. |
|||
27
Serginio1
14.02.14
✎
14:10
|
(26) То есть владельцем этого элемента является РИБ1 данные мигрировали в РИБ2 и там на этого контрагента навесили дочерние элементы.
Затем в РИБ1 изменили с группы на элемент? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |