Имя: Пароль:
1C
1С v8
Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка данных XML
,
0 Ayvengo
 
13.02.14
17:32
Добрый вечер!

Случай 1: выполняю обмен по заведомо правильной схеме, выгружаю определенного, контрагента по которому ошибка не вылетает.- Все ок, проблем нет.
Случай 2: нашел контрагента, на котором всегда вылетает при обмене ошибка.

Что копать, куда копать.. не представляю :(
Не знаю, может чем-то поможет
Рабочий контрагент по выгрузке
                    <CatalogObject.Контрагенты>
                    <Ref>d0f06f24-5690-11e3-bab3-1cc1defa4c78</Ref>
                    <IsFolder>false</IsFolder>
                    <DeletionMark>false</DeletionMark>
                    <Parent>4d49400c-5362-11e3-bb18-0025900a8780</Parent>
                    <Code>Мт-000258</Code>
                    <Description>! ПРОББББА 1</Description>
                    <ГоловнойКонтрагент>d0f06f24-5690-11e3-bab3-1cc1defa4c78</ГоловнойКонтрагент>
                    <ДокументУдостоверяющийЛичность/>
                    <ДополнительноеОписание/>
                    <ИНН></ИНН>
                    <ИсточникИнформацииПриОбращении>00000000-0000-0000-0000-000000000000</ИсточникИнформацииПриОбращении>
                    <КодПоОКПО></КодПоОКПО>
                    <Комментарий>фвсвф</Комментарий>
                    <КПП></КПП>
                    <НаименованиеПолное>ООО "! ПРОББББА 1"</НаименованиеПолное>
                    <ОсновноеКонтактноеЛицо>5c8a92b5-7115-11e3-bab4-1cc1defa4c78</ОсновноеКонтактноеЛицо>
                    <ОсновнойБанковскийСчет>5c8a92a5-7115-11e3-bab4-1cc1defa4c78</ОсновнойБанковскийСчет>
                    <ОсновнойВидДеятельности>2f2bea5d-f5bd-11e2-84a9-0025900a8781</ОсновнойВидДеятельности>
                    <ОсновнойДоговорКонтрагента>d0f06f25-5690-11e3-bab3-1cc1defa4c78</ОсновнойДоговорКонтрагента>
                    <ОсновнойМенеджерПокупателя>75ade3d1-4126-11e3-bab3-1cc1defa4c78</ОсновнойМенеджерПокупателя>
                    <Покупатель>true</Покупатель>
                    <Поставщик>true</Поставщик>
                    <РасписаниеРаботыСтрокой/>
                    <СрокВыполненияЗаказаПоставщиком>0</СрокВыполненияЗаказаПоставщиком>
                    <НеЯвляетсяРезидентом>false</НеЯвляетсяРезидентом>
                    <ОКОПФ>bc1a4a0d-c02c-11e1-8d59-0025900a8781</ОКОПФ>
                    <Регион>7c01b4db-28e0-11e2-9c74-0025900a8781</Регион>
                    <ГруппаДоступаККонтрагенту>00000000-0000-0000-0000-000000000000</ГруппаДоступаККонтрагенту>
                    <ОбособленноеПодразделение>false</ОбособленноеПодразделение>
                    <ЮрФизЛицо>ЮрЛицо</ЮрФизЛицо>
                    <АдресЭП/>
                    <ВидыДеятельности>
                        <Row>
                            <ВидДеятельности>2f2bea5d-f5bd-11e2-84a9-0025900a8781</ВидДеятельности>
                            <Ответственный>00000000-0000-0000-0000-000000000000</Ответственный>
                        </Row>
                    </ВидыДеятельности>
                    <МенеджерыПокупателя>
                        <Row>
                            <МенеджерПокупателя>75ade3d1-4126-11e3-bab3-1cc1defa4c78</МенеджерПокупателя>
                        </Row>
                    </МенеджерыПокупателя>
                </CatalogObject.Контрагенты>



Не рабочий контрагент, вылетает ошибка

                    <CatalogObject.Контрагенты>
                    <Ref>1d51db54-6b96-11e3-bab3-1cc1defa4c78</Ref>
                    <IsFolder>false</IsFolder>
                    <DeletionMark>false</DeletionMark>
                    <Parent>7eab5792-9329-11e3-8f2a-08606ee4f6ee</Parent>
                    <Code>Рт-000078</Code>
                    <Description>1</Description>
                    <ГоловнойКонтрагент>1d51db54-6b96-11e3-bab3-1cc1defa4c78</ГоловнойКонтрагент>
                    <ДокументУдостоверяющийЛичность/>
                    <ДополнительноеОписание/>
                    <ИНН/>
                    <ИсточникИнформацииПриОбращении>00000000-0000-0000-0000-000000000000</ИсточникИнформацииПриОбращении>
                    <КодПоОКПО/>
                    <Комментарий/>
                    <КПП/>
                    <НаименованиеПолное>1</НаименованиеПолное>
                    <ОсновноеКонтактноеЛицо>00000000-0000-0000-0000-000000000000</ОсновноеКонтактноеЛицо>
                    <ОсновнойБанковскийСчет>00000000-0000-0000-0000-000000000000</ОсновнойБанковскийСчет>
                    <ОсновнойВидДеятельности>00000000-0000-0000-0000-000000000000</ОсновнойВидДеятельности>
                    <ОсновнойДоговорКонтрагента>7eab578f-9329-11e3-8f2a-08606ee4f6ee</ОсновнойДоговорКонтрагента>
                    <ОсновнойМенеджерПокупателя>00000000-0000-0000-0000-000000000000</ОсновнойМенеджерПокупателя>
                    <Покупатель>true</Покупатель>
                    <Поставщик>false</Поставщик>
                    <РасписаниеРаботыСтрокой/>
                    <СрокВыполненияЗаказаПоставщиком>0</СрокВыполненияЗаказаПоставщиком>
                    <НеЯвляетсяРезидентом>false</НеЯвляетсяРезидентом>
                    <ОКОПФ>00000000-0000-0000-0000-000000000000</ОКОПФ>
                    <Регион>00000000-0000-0000-0000-000000000000</Регион>
                    <ГруппаДоступаККонтрагенту>00000000-0000-0000-0000-000000000000</ГруппаДоступаККонтрагенту>
                    <ОбособленноеПодразделение>false</ОбособленноеПодразделение>
                    <ЮрФизЛицо/>
                    <АдресЭП/>
                    <ВидыДеятельности/>
                    <МенеджерыПокупателя/>
                </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
Если поможет, вот весь текст

Ошибка при чтении изменений из файла обмена.
Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка данных XML: [file://C:/***/Message_001_002.xml][34,59]
Чтение данных из файла обмена завершено с ошибками!

10 Ayvengo
 
13.02.14
18:01
Конфиги одинаковые, ошибка вылетает не из-за различия и не из-за отсутствия главного узла, как раз при проверке различия и главного узла вызывается исключение.
И самое фиговое, никак не отладить это, т.к. исключение вызывается при использовании метода "ПрочитатьИзменения" для планов обмена.
11 Ayvengo
 
13.02.14
18:18
Хехе, ошибка вылетает и при использовании обработки "Выгрузка из загрузка данных XML (2.1.8)"

{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(147)}: Ошибка при вызове метода контекста (ПрочитатьXML)
            ЗаписанноеЗначение = ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка данных XML: [file://C:/***/Обмен.xml][124,12]
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
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 изменили с группы на элемент?