Ошибка при вызове метода контекста прочитатьизменения обмен риб

   Денис Прог

30.03.18 — 12:56

Добрый день. Есть РИБ с двумя базами. При выгрузки из центральной в перефирийную очень часто валится ошибка:

Ошибка при чтении изменений при обмене РИБ:  Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка преобразования данных XML: (тут путь к файлу и номер строки с ошибкой).

По строке искал ошибку, там все как и у других элементов, которые уже были прочитаны.

Если снимать регистрацию, и делать поменьше объем данных — обмен успешно завершается.

Платформа 8.3.10, конфигурация Комплексная автоматизация, редакция 1.1 (1.1.19.1).

   Сергиус

1 — 30.03.18 — 13:01

(0)Отладчиком смотреть в каком месте ошибка, бывает что проблема в данных — например какой-ть кривой символ в наименовании элемента.

   Денис Прог

2 — 30.03.18 — 13:07

Сергиус, в отладчике падает при попытки чтения файла.

Всегда разные строки, ну и он даже на пустых валится.

   Сергиус

3 — 30.03.18 — 13:09

(2)А обмен через сетевой каталог или ftp?

   Денис Прог

4 — 30.03.18 — 13:10

Сергиус, через локальную папку

   Stim

5 — 30.03.18 — 13:13

а если выгрузить через универсальный обмен хмл по узлу — что скажет?

   Денис Прог

6 — 30.03.18 — 13:20

Stim, имеете ввиду обработку «Универсальный обмен данными в формате XML?»

   Stim

7 — 30.03.18 — 13:21

да

   Денис Прог

8 — 30.03.18 — 18:00

В общем сама ошибка:

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка преобразования данных XML: [sfile://C:/Users/Администратор/AppData/Local/Temp/v8_DA45_da.xml][42,6]

Чтение данных из файла обмена завершено с ошибками!

и сам файл

<v8msg:Message xmlns:v8msg=»http://v8.1c.ru/messages»>;

<v8msg:Header>

<v8msg:ExchangePlan>Полный</v8msg:ExchangePlan>

<v8msg:To>МУР</v8msg:To>

<v8msg:From>МСК</v8msg:From>

<v8msg:MessageNo>49</v8msg:MessageNo>

<v8msg:ReceivedNo>50</v8msg:ReceivedNo>

</v8msg:Header>

<v8msg:Body>

<v8de:Changes xmlns:v8=»http://v8.1c.ru/data»; xmlns:v8de=»http://v8.1c.ru/dataexchange/2005/02″; xmlns:xs=»http://www.w3.org/2001/XMLSchema»; xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»>;

<v8de:Signature>f24c4ec6-1e59-47a0-9736-8c823eda0d28</v8de:Signature>

<v8de:Config xmlns:v8md=»http://v8.1c.ru/metadata/2005/08″>;

<v8de:Version>216.0</v8de:Version>

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 v2=»e9d50d3997192529190612be7d91764c»>09b8f5839afdd724be3d85­315771472b</v8de:Digest2>

</v8de:Config>

<v8de:Nodes>

<v8de:Node>

<v8de:DeletionMark>false</v8de:DeletionMark>

<v8de:Code>МСК</v8de:Code>

<v8de:Description>Москва</v8de:Description>

<v8de:УзелОбменаПоУмолчанию>00000000-0000-0000-0000-000000000000</v8de:УзелОбменаПоУмолчанию>

<v8de:Организации/>

</v8de:Node>

<v8de:Node>

<v8de:DeletionMark>false</v8de:DeletionMark>

<v8de:Code>МУР</v8de:Code>

<v8de:Description>Мурманск</v8de:Description>

<v8de:УзелОбменаПоУмолчанию>00000000-0000-0000-0000-000000000000</v8de:УзелОбменаПоУмолчанию>

<v8de:Организации/>

</v8de:Node>

</v8de:Nodes>

<v8de:Data>

<CatalogObject.Контрагенты>

<Ref>f1a02159-fc90-11db-9488-00016cb2604d</Ref>

<IsFolder>false</IsFolder>

<DeletionMark>false</DeletionMark>

<Parent>804b8942-d6d3-11e5-a248-00304864d125</Parent>

Код

ЮЮ0001751

Показать полностью

<Description>Поставщики</Description>

<ДокументУдостоверяющийЛичность/>

<ДополнительноеОписание/>

<ГоловнойКонтрагент>f1a02159-fc90-11db-9488-00016cb2604d</ГоловнойКонтрагент>

<ИсточникИнформацииПриОбращении>00000000-0000-0000-0000-000000000000</ИсточникИнформацииПриОбращении>

<КодПоОКПО/>

<Комментарий/>

<ИНН/>

<КПП/>

<ОсновноеКонтактноеЛицо>00000000-0000-0000-0000-000000000000</ОсновноеКонтактноеЛицо>

<ОсновнойБанковскийСчет>00000000-0000-0000-0000-000000000000</ОсновнойБанковскийСчет>

<ОсновнойВидДеятельности>00000000-0000-0000-0000-000000000000</ОсновнойВидДеятельности>

<ОсновнойДоговорКонтрагента>00000000-0000-0000-0000-000000000000</ОсновнойДоговорКонтрагента>

<ОсновнойМенеджерПокупателя>00000000-0000-0000-0000-000000000000</ОсновнойМенеджерПокупателя>

<Покупатель>false</Покупатель>

<Поставщик>false</Поставщик>

<РасписаниеРаботыСтрокой/>

<СрокВыполненияЗаказаПоставщиком>0</СрокВыполненияЗаказаПост­авщиком>

<ЮрФизЛицо/>

<НеЯвляетсяРезидентом>false</НеЯвляетсяРезидентом>

<ОКОПФ>00000000-0000-0000-0000-000000000000</ОКОПФ>

<Регион>00000000-0000-0000-0000-000000000000</Регион>

<ГруппаДоступаКонтрагента>00000000-0000-0000-0000-000000000000</ГруппаДоступаКонтрагента>

<Импортер>false</Импортер>

<Экпортер>false</Экпортер>

<ОсновнаяЛицензия>00000000-0000-0000-0000-000000000000</ОсновнаяЛицензия>

<Алкоголь>false</Алкоголь>

<Производитель>false</Производитель>

<ДопКод>0 </ДопКод>

<ЭлементСинхронизирован>false</ЭлементСинхронизирован>

<КодСтраны/>

<ВнутреннийКонтрагент>false</ВнутреннийКонтрагент>

<НаличиеФайлов>false</НаличиеФайлов>

<ОГРН/>

<ОбособленноеПодразделение>false</ОбособленноеПодразделение>­

<Проверен>false</Проверен>

<ПроверенСтатус/>

<ОтветственныйПользователь>00000000-0000-0000-0000-000000000000</ОтветственныйПользователь>

<СсылкаФизЛицо>00000000-0000-0000-0000-000000000000</СсылкаФизЛицо>

<ИдентификаторУчастникаЭДО/>

<УзелОбменаПоУмолчанию>00000000-0000-0000-0000-000000000000</УзелОбменаПоУмолчанию>

<ВидыДеятельности/>

<МенеджерыПокупателя/>

<Обмен/>

<Файлы/>

</CatalogObject.Контрагенты>

</v8de:Data>

</v8de:Changes>

</v8msg:Body>

</v8msg:Message>

не пойму что тут может быть не так на 42 строчке с 6 символом?

   Денис Прог

9 — 30.03.18 — 18:01

42 строка здесь  <ДополнительноеОписание/>

   МимохожийОднако

10 — 30.03.18 — 18:16

Не обновилась периферийная база. Отключи сценарии автоматического обмена пакетами и вручную обнови.

   Cyberhawk

11 — 30.03.18 — 18:26

Как определил, на какой файл ругается?

   Сергиус

12 — 30.03.18 — 19:01

(9)В базе отсутствует поле ДополнительноеОписание, поэтому совет из (10)

   Денис Прог

13 — 02.04.18 — 09:28

(10) Cf основной выгрузил в перефирийную. Реквизиты полностью соответствуют, к тому же какой то контрагент выгружается, а какой то нет. Ошибки постоянно в разных полях, но это не могут быть данные, так как там обычное слова по типу «Поставщик» и тд. Либо пустая ссылка.

   Денис Прог

14 — 02.04.18 — 09:28

(12) Это поле есть. Конфы полностью идентичные, так как я вручную залил cf основной в перефирийную

   Денис Прог

15 — 02.04.18 — 09:30

(11) Ну в ошибке же он показывает путь к временному файлу, который читает. И сообщения, которые записывает, кладет в папку, которую я указал.

   Галахад

16 — 02.04.18 — 09:41

Гм. Может база того. Этого.

   hhhh

17 — 02.04.18 — 09:49

(15) на пустых и должен валиться, там проверка обычно на заполненность, если пусто, то валится. Например валюта не указана или еще что-то.

   Cyberhawk

18 — 02.04.18 — 09:52

(15) Так это разные файлы

   Serg_1960

19 — 02.04.18 — 09:58

Пора бы уже давно привыкнуть, что платформа иногда сама ошибается, указывая ошибку. Скорее всего в этой ошибке не место возникновения ошибки, а следствие ранее возникшей ошибки.

Вы спросите «в чем первопричина?» — честно скажу: «Не знаю!».

Проверка диска, переустановка платформу, тестирование базы — всё это по любому делать нужно. Но проще и быстрее выгрузить базу в DT, загрузить в чистую базу на другом компьютере и повторить приём сообщения обмена там.

Т.е. другими словами, если вы добьётесь повторяемости ошибки — то это будет важный признак установления первопричины.

   Денис Прог

20 — 02.04.18 — 10:11

(17) Так он валится на стадии чтения самого файла, то есть там еще не доходит до проверки заполненности и тд.

   Денис Прог

21 — 02.04.18 — 10:11

(18) файлы разные, но смысл то один

   Денис Прог

22 — 02.04.18 — 10:12

(19) Наверное, да. Попробую на своем компе, может и правда дело в чем то ином.

   МимохожийОднако

23 — 02.04.18 — 10:13

(14) Повторяю: Отключи сценарии автоматического обмена пакетами

   Денис Прог

24 — 02.04.18 — 10:32

(23) Я вручную произвожу обмен, или вы другой какой то механизм подразумеваете?

   Cyberhawk

25 — 02.04.18 — 10:32

(21) Какой еще смысл? Ты тугой? Файл нужно анализировать только тот, который указан в ошибке.

   Serg_1960

Модератор

26 — 02.04.18 — 10:33

1. Не ругайтесь и не оскорбляйте других.

   Serg_1960

Модератор

27 — 02.04.18 — 10:35

(24) Конфигурация не озвучена, а в некоторых конфигурациях автоматический(!) обмен производится с использованием справочника «Сценарии синхронизации данных».

   Денис Прог

28 — 02.04.18 — 10:37

(27) Не не, писал в вопросе: Платформа 8.3.10, конфигурация Комплексная автоматизация, редакция 1.1 (1.1.19.1).

   Serg_1960

29 — 02.04.18 — 10:38

Sorry, был невнимателен.

   Денис Прог

30 — 02.04.18 — 10:47

(25) Я вас возможно поражу, но файл, в котором случается ошибка есть копия файла обмена. Оба файла идентичны. Но за совет быть внимательнее, спасибо.

   Serg_1960

31 — 02.04.18 — 10:50

(в тему, в роли Кэпа) Обмен можно инициализировать непосредственно из плана обмена, используя функционал платформы или с помощью «ручного» запуска сценария синхронизации данных для автоматического обмена. В этих двух вариантах работают различные алгоритмы формирования сообщений обмена. Если сообщение обмена не архивировать — то тоже различные варианты алгоритмов (с использованием временного файла для разархивирования).

Это, в свою очередь, тоже порождает вариантабельность ошибок.

   Галахад

32 — 02.04.18 — 10:58

(31) Серьезно что-ли?

   Денис Прог

33 — 02.04.18 — 11:19

(31) Эмм, не очень понимаю — как влияет ручной/автоматический запуск на формирование сообщения?

   assasu

34 — 02.04.18 — 11:34

(0) видел похожую инфу в инете.

там плясали вокруг этих строк в файле

<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>

<v8de:Digest2 v2=»e9d50d3997192529190612be7d91764c»>09b8f5839afdd724be3d85­315771472b</v8de:Digest2>

   Рэйв

35 — 02.04.18 — 11:42

Проверка файлов XML на наличие недопустимых символов с возможностью исправления.

http://catalog.mista.ru/public/286257/

   Рэйв

36 — 02.04.18 — 11:43

Поиск объекта выгрузки РИБ с нечитаемым символом для XML

http://catalog.mista.ru/public/158782/

   Денис Прог

37 — 02.04.18 — 11:59

(34) ну там немного другое, это я делал когда свой cf заливал, центральная база не хотела обмениваться с периферийной как раз из за этих строк. Спасибо.

   Денис Прог

38 — 02.04.18 — 12:06

(35) Спасибо, скачать правда не могу, но буду копать в этом направлении.

   Рэйв

39 — 02.04.18 — 12:20

(38)Дарю.

https://yadi.sk/d/DYEY-Q6V3TzAMy

Если поможет — будешь рекламировать:-)

   Serg_1960

40 — 02.04.18 — 12:21

(32) Серьёзно. Уточню: я не говорю про формирование самого тела сообщения обмена, а только про алгоритмы по формированию самого файла сообщения. Например, использование временного файла, например, формирование наименования файла сообщения обмена — они различные.

   Денис Прог

41 — 02.04.18 — 12:42

(39) Спасибо огромное!) Я другую немного написал, там основано на методе НайтиНедопустимыеСимволыXML, но к сожалению не она не ваша не нашла ничего.

   Галахад

42 — 02.04.18 — 12:58

(40) Мы говорим про конфигурацию в (0)? Там все одинаково.

   assasu

43 — 02.04.18 — 13:00

(39)(41) никогда не видел что бы обмен валился от недопустимых символов.

надо копать в сторону «Если снимать регистрацию, и делать поменьше объем данных — обмен успешно завершается. » Искать что не так в данных

   Cyberhawk

44 — 02.04.18 — 13:07

(30) «файл, в котором случается ошибка есть копия файла обмена. Оба файла идентичны» // Как определил?

   Рэйв

45 — 02.04.18 — 13:25

(43)Просто у тебя не было никогда таких случаев. С русскими буками редко такое бывает.у нас в казахском алфавите есть несколько специфических букв.Вот они иногда гонят и не входят в разрешенные XML  пределы символов

   Денис Прог

46 — 02.04.18 — 13:28

(43) Копал и копаю) но дело в том, что есть определенный контрагент, на котором валится обмен, а именно при чтении файла в процедуре ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения, СтруктураНастроекОбменаДанными.КоличествоЭлементовВТранзакцииНаЗагрузкуДанных);

и валится он то на строчке НаименованиеПолное, то ДополнительноеОписание, то ГоловнойКонтрагент, с указанием на вполне адекватные символы.

   Денис Прог

47 — 02.04.18 — 13:36

(44) точка останова на ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения, СтруктураНастроекОбменаДанными.КоличествоЭлементовВТранзакцииНаЗагрузкуДанных);

там в ЧтениеСообщения есть путь к временному файлу, который создается при чтении файла обмена.

Для примера:

фрагмент файла обмена(только контрагент):

<CatalogObject.Контрагенты>

                    <Ref>f1a02159-fc90-11db-9488-00016cb2604d</Ref>

                    <IsFolder>false</IsFolder>

                    <DeletionMark>false</DeletionMark>

                    <Parent>804b8942-d6d3-11e5-a248-00304864d125</Parent>

                    <Code>ЮЮ0001751</Code>

                    <Description>Поставщики</Description>

                    <НаименованиеПолное>Поставщики</НаименованиеПолное>

                    <ДокументУдостоверяющийЛичность> </ДокументУдостоверяющийЛичность>

                    <ДополнительноеОписание/>

                    <ГоловнойКонтрагент>f1a02159-fc90-11db-9488-00016cb2604d</ГоловнойКонтрагент>

                    <ИсточникИнформацииПриОбращении>00000000-0000-0000-0000-000000000000</ИсточникИнформацииПриОбращении>

                    <КодПоОКПО/>

                    <Комментарий/>

                    <ИНН/>

                    <КПП/>

                    <ОсновноеКонтактноеЛицо>00000000-0000-0000-0000-000000000000</ОсновноеКонтактноеЛицо>

                    <ОсновнойБанковскийСчет>00000000-0000-0000-0000-000000000000</ОсновнойБанковскийСчет>

                    <ОсновнойВидДеятельности>00000000-0000-0000-0000-000000000000</ОсновнойВидДеятельности>

                    <ОсновнойДоговорКонтрагента>00000000-0000-0000-0000-000000000000</ОсновнойДоговорКонтрагента>

                    <ОсновнойМенеджерПокупателя>00000000-0000-0000-0000-000000000000</ОсновнойМенеджерПокупателя>

                    <Покупатель>false</Покупатель>

                    <Поставщик>false</Поставщик>

                    <РасписаниеРаботыСтрокой/>

                    <СрокВыполненияЗаказаПоставщиком>0</СрокВыполненияЗаказаПоставщиком>

                    <ЮрФизЛицо/>

                    <НеЯвляетсяРезидентом>false</НеЯвляетсяРезидентом>

                    <ОКОПФ>00000000-0000-0000-0000-000000000000</ОКОПФ>

                    <Регион>00000000-0000-0000-0000-000000000000</Регион>

                    <ГруппаДоступаКонтрагента>00000000-0000-0000-0000-000000000000</ГруппаДоступаКонтрагента>

                    <Импортер>false</Импортер>

                    <Экпортер>false</Экпортер>

                    <ОсновнаяЛицензия>00000000-0000-0000-0000-000000000000</ОсновнаяЛицензия>

                    <Алкоголь>false</Алкоголь>

                    <Производитель>false</Производитель>

                    <ДопКод>0     </ДопКод>

                    <ЭлементСинхронизирован>false</ЭлементСинхронизирован>

                    <КодСтраны/>

                    <ВнутреннийКонтрагент>false</ВнутреннийКонтрагент>

                    <НаличиеФайлов>false</НаличиеФайлов>

                    <ОГРН/>

                    <ОбособленноеПодразделение>false</ОбособленноеПодразделение>

                    <Проверен>false</Проверен>

                    <ПроверенСтатус/>

                    <ОтветственныйПользователь>00000000-0000-0000-0000-000000000000</ОтветственныйПользователь>

                    <СсылкаФизЛицо>00000000-0000-0000-0000-000000000000</СсылкаФизЛицо>

                    <ИдентификаторУчастникаЭДО/>

                    <УзелОбменаПоУмолчанию>00000000-0000-0000-0000-000000000000</УзелОбменаПоУмолчанию>

                    <ВидыДеятельности/>

                    <МенеджерыПокупателя/>

                    <Обмен/>

                    <Файлы/>

                </CatalogObject.Контрагенты>

и временный:

<CatalogObject.Контрагенты>

                    <Ref>f1a02159-fc90-11db-9488-00016cb2604d</Ref>

                    <IsFolder>false</IsFolder>

                    <DeletionMark>false</DeletionMark>

                    <Parent>804b8942-d6d3-11e5-a248-00304864d125</Parent>

                    <Code>ЮЮ0001751</Code>

                    <Description>Поставщики</Description>

                    <НаименованиеПолное>Поставщики</НаименованиеПолное>

                    <ДокументУдостоверяющийЛичность> </ДокументУдостоверяющийЛичность>

                    <ДополнительноеОписание/>

                    <ГоловнойКонтрагент>f1a02159-fc90-11db-9488-00016cb2604d</ГоловнойКонтрагент>

                    <ИсточникИнформацииПриОбращении>00000000-0000-0000-0000-000000000000</ИсточникИнформацииПриОбращении>

                    <КодПоОКПО/>

                    <Комментарий/>

                    <ИНН/>

                    <КПП/>

                    <ОсновноеКонтактноеЛицо>00000000-0000-0000-0000-000000000000</ОсновноеКонтактноеЛицо>

                    <ОсновнойБанковскийСчет>00000000-0000-0000-0000-000000000000</ОсновнойБанковскийСчет>

                    <ОсновнойВидДеятельности>00000000-0000-0000-0000-000000000000</ОсновнойВидДеятельности>

                    <ОсновнойДоговорКонтрагента>00000000-0000-0000-0000-000000000000</ОсновнойДоговорКонтрагента>

                    <ОсновнойМенеджерПокупателя>00000000-0000-0000-0000-000000000000</ОсновнойМенеджерПокупателя>

                    <Покупатель>false</Покупатель>

                    <Поставщик>false</Поставщик>

                    <РасписаниеРаботыСтрокой/>

                    <СрокВыполненияЗаказаПоставщиком>0</СрокВыполненияЗаказаПоставщиком>

                    <ЮрФизЛицо/>

                    <НеЯвляетсяРезидентом>false</НеЯвляетсяРезидентом>

                    <ОКОПФ>00000000-0000-0000-0000-000000000000</ОКОПФ>

                    <Регион>00000000-0000-0000-0000-000000000000</Регион>

                    <ГруппаДоступаКонтрагента>00000000-0000-0000-0000-000000000000</ГруппаДоступаКонтрагента>

                    <Импортер>false</Импортер>

                    <Экпортер>false</Экпортер>

                    <ОсновнаяЛицензия>00000000-0000-0000-0000-000000000000</ОсновнаяЛицензия>

                    <Алкоголь>false</Алкоголь>

                    <Производитель>false</Производитель>

                    <ДопКод>0     </ДопКод>

                    <ЭлементСинхронизирован>false</ЭлементСинхронизирован>

                    <КодСтраны/>

                    <ВнутреннийКонтрагент>false</ВнутреннийКонтрагент>

                    <НаличиеФайлов>false</НаличиеФайлов>

                    <ОГРН/>

                    <ОбособленноеПодразделение>false</ОбособленноеПодразделение>

                    <Проверен>false</Проверен>

                    <ПроверенСтатус/>

                    <ОтветственныйПользователь>00000000-0000-0000-0000-000000000000</ОтветственныйПользователь>

                    <СсылкаФизЛицо>00000000-0000-0000-0000-000000000000</СсылкаФизЛицо>

                    <ИдентификаторУчастникаЭДО/>

                    <УзелОбменаПоУмолчанию>00000000-0000-0000-0000-000000000000</УзелОбменаПоУмолчанию>

                    <ВидыДеятельности/>

                    <МенеджерыПокупателя/>

                    <Обмен/>

                    <Файлы/>

                </CatalogObject.Контрагенты>

   Денис Прог

48 — 04.04.18 — 17:11

Нашел решение проблемы, точнее ее исправление.

Нижеперечисленное делаю при помощи обработки ВыгрузкаЗагрузкаДанныхXML(выгружаю), удалению произвожу самописной.

1. Делаю отбор нужного элемента(в моем случае я отбирал нужного мне контрагента);

2. Выгружаю в файл;

3. Удаляю контрагента(ОбменДанными=Истина);

4. Произвожу успешный обмен(неважно с какими данными, я просто пустые сообщения гонял, и обмен в обе стороны);

5. Загружаю обратно контрагента обработкой;

6. Делаю обмен — и ошибок в данном контрагенте нет.

У себя в базе нашел 4 таких контрагента, после вышеперечисленных действий с каждым справочник полностью обменялся.

В связи с чем хотелось бы спросить  — с чем может быть связано данное поведение? У кого какие мысли?

   Serg_1960

49 — 05.04.18 — 09:43

(48) Удаляя и загружая объект, Вы исправляете ошибки, возникшие при записи объекта, которые, возможно, не выявляет ТИИ (оно не всесильно).

А если говорить «в общем случае», то…

Стандартный типовой обмен РИБ — это функционал платформы прежде всего. Раньше часто обращал внимание и не раз попадал на то, как платформу глючит на казалось бы не таких уж и больших объёмах данных. Ваше решение в (48) просто помогает обойти эту проблему (уменьшая объём данных и вынося конфликтные данные в отдельный обмен).

Ну, что я могу сказать по этому поводу… «Надо чаще обмениваться». Чем чаще обмен — тем меньше объём. Азбука :)

Можно, в принципе, попробовать изменить настройку обмена, уходя из исполнения в рамках единой транзакции, на подбор в сторону уменьшения количества объектов в транзакции до тех пор, пока не уйдёт ошибка.

  

Денис Прог

50 — 06.04.18 — 13:38

(49) «Удаляя и загружая объект, Вы исправляете ошибки, возникшие при записи объекта, которые, возможно, не выявляет ТИИ (оно не всесильно). » — тоже предполагал, но все таки интересно было кто еще что скажет)

Про частоту обмена — да, согласен, но базы решили объединить внезапно, в которых уже заведено много данных, и велись они обособленно.

Да и самое главное, ошибка ушла, справочники обмениваются, пока что все хорошо)

Спасибо)

Временное устранение ошибки при обмене с узлами РИБ. Данные принимаются от узла с другим набором расширений, меняющих структуру данных

19.01.2018

    Снимок.jpg

После установки новой платформы 1с 8.3.11.2924 при обмене с узлами РИБ возникла ошибка.
Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Данные принимаются от узла с другим набором расширений, меняющих структуру данных.

Итак возникла проблема . Установили на центральном узле РИБ новую платформу версия 8.3.11.2924. Работает на ней конфигурация Комплексная автоматизация 1.1 в режиме совместимости с версией 8.2.13. Кроме этого на этом же сервере 1с расположены и другие базы, для которых новая платформа и нужна. В узлах РИБ платформа пока не обновилась. И при выполнении обмена получили ошибку:

» Ошибка при чтении изменений при обмене РИБ:  Ошибка при вызове метода контекста (ПрочитатьИзменения): Данные принимаются от узла с другим набором расширений, меняющих структуру данных.
Необходимо произвести перенос расширений конфигурации в узел.»

Никаких расширений в режиме совместимости с 8.2.13 в конфигурации речи быть не может, но факт есть факт. Причем в узлах где платформу пока не поменяли, никаких ошибок не возникло.

Сравнив файлы обмена приходящие из узлов на старой и новой платформах выяснилось, что разница идет в одном атрибуте, а именно

<v8de:Digest2 v2=»090a02023f257df77e190a88194688e3″ Extensions=»0000000000000000000000000000000000000000″> — новая платформа

<v8de:Digest2 v2=»090a02023f257df77e190a88194688e3″> — старая платформа

Добавил этот атрибут в файл обмена, ошибки при приеме нет.

Обработка в приложении берет указанный zip файл, распаковывает файл обмена, находит узел v8de:Digest2, и добавляет атрибут Extensions=»0000000000000000000000000000000000000000″, после чего запаковывает обратно в zip, и удаляет временный файл.

Пароль при распаковке, упаковке не использую. 

Естественно, что это только временная мера, пока все узлы РИБ не перейдут на новую версию платформы, или 1с не научит платформу обмену в режиме совместимости.

Перейти к контенту

При загрузки изменений из центрального узла РИБ выдает ошибку

Я
   Паломник

23.12.09 — 09:59

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка формата представления изменений.

И после этого не грузятся изменения, такая же ошибка и в центральному по этому же узлу. В чем дело ?

1с 8.1 УТ. там и там.

   Alexor

1 — 23.12.09 — 10:25

Платформа какая?

   Паломник

2 — 23.12.09 — 10:32

1с:Предприятия 8.1 (8.1.14.72).

   Serg_1960

3 — 23.12.09 — 10:36

Возможно, версии платформы на узлах отличаются друг от друга.

   Паломник

4 — 23.12.09 — 10:39

Нет полностью совпадают.

   Serg_1960

5 — 23.12.09 — 10:41

Как ни странно это звучит, но такую-же ошибку можно получить, если «отвязать» подчиненный узел от центрального узла (УстановитьГлавныйУзел)

   Паломник

6 — 23.12.09 — 10:48

т.е. если забыли привезять подчиненный узел от центрального узла, при зановой привезке к центральному узлу обмен должен произойти ?

   Serg_1960

7 — 23.12.09 — 10:55

(6) В принципе — да.

   Паломник

8 — 23.12.09 — 11:03

Все большое спасибо. Получилось. Надеюсь центру это не как не навредит. :)

   Serg_1960

9 — 23.12.09 — 11:08

Если подчиненный узел работал «без привязки» — то в регистрации измений, возможно, «бардак» творился. Если в логике регистрации изменений использовалась проверка ссылки на центральный узел — бардак :(

   Паломник

10 — 23.12.09 — 11:10

Нет не работал, у нас оказывается программист забыл сделать привязку, а база была ревизорской.

   Serg_1960

11 — 23.12.09 — 11:11

(9) Повторю другими словами: если нет «привязки» — то подчинённый риб-узел (имхо) регистрирует изменения по правилам центрального узла.

   Serg_1960

12 — 23.12.09 — 11:12

(10) Тогда Вы легко отделались :)

  

Паломник

13 — 23.12.09 — 11:18

т.е. тогда могут траблы ? И какие ?

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Elkin

Дата регистрации: 21.10.2015
Сообщений: 3

Всем привет!

Есть: 2 базы, обе бухгалтерии ред. 2, в обеих базах ведется учет одной организации, дополнительная база не образ основной базы.

На данный момент базы необходимо объединить данные из дополнительно базы загрузить в основою базу. Погуглив подумал что подойдет технология обмена РИБ, настройки простые сделал все как в инструкции за исключением создания образа периферийной базы (в моем случае данная база называется дополнительной :) ). Просто в дополнительную базу занес настройки по принципу что это и есть Периферийная база.
Из дополнительной базы данные выгрузились без проблем все с этим хорошо, а вот загрузка не как не идет выдает ошибку:

Цитата
Начат обмен данными по настройке «Обмен с Периферийной базой» (17:57:16).
Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка формата представления изменений
Чтение данных из файла обмена завершено с ошибками!
Обмен данными по настройке «Обмен с Периферийной базой» завершен (17:57:29).

Вот у меня вопрос: когда база не создана из образа основной базы а используется обычная база можно обмениваться по технологии РИБ?
Если да, то из за чего выходит данная ошибка?
Если нет, какие еще есть стандартные способы объединить базы?

PS Написал своими словами, надеюсь все понятно :D

Vladko

Дата регистрации: 27.08.2007
Сообщений: 2643

нет, нельзя. Надо делать обязательно образ периферийной базы для обмена между базами через РИБ. Есть вариант пользоваться обменом через «УниверсальнаяВыгрузкаЗагрузкаДанныхXML82.epf» Можно найти эту обработку на диске ИТС или в папке с поставкой конфигурации «Конвертация данных ред. 2.1»

Показывать по
10
20
40
сообщений

Имеется РБД, конфигурация Альфа-Авто 4, платформа 8.1.15.14. При очередном обмене иногда появляется такая ошибка: «Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка формата представления изменений» Если отменить регистрацию изменений для 1 документа — который еще надо найти (в последний раз это было одно поступление товаров), то все проходит ок. В документе никаких неправильных символов нет, да если бы и были, другой текст ошибки был бы. Платформы в обеих базах совпадают, конфигурации совпадают — выгружал и сравнивал. Что вообще означает эта ошибка?

спасибо, конечно, но темы на мисте я читал

И да, , читайте, пожалуйста вопрос более внимательно. Специально написал ведь, что появление ошибки зависит от наличия в сообщении обмена одного объекта, в последнем случае — документа «Поступление…» Ни в одной теме на мисте ничего подобного я не находил

Не, ну как это возможно вообще? Поднял базу из вчерашней копии подчиненного узла — спокойно принимает сообщение. Рабочая база — тот же самый подчиненный узел — ругается на формат представления. В конфе не менялось — ни на главной узле, ни в подчиненном ничего не делелось. Все три конфы (главный — подчиненный вчерашний — подчиненный рабочий) — идентичны, вот еще раз специально сравнил. В чем логика возникновения этой ошибки кто-нибудь может сказать?

Народ, ну напишите хоть что-нибудь, любые догадки на эту тему могут быть полезными. У людей обмен упал, они страдают.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

  1. 17.07.2013, 11:09

    #1

    idyachenko вне форума


    Пришел за помощью


    По умолчанию Обмен РИБ

    Помогите, плиз, советом…

    При обмене возникла ошибка

    Начат обмен данными по настройке «Обмен с ПБ» (9:20:58).
    Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка преобразования данных XML
    Чтение данных из файла обмена завершено с ошибками!
    Запись изменений текущей информационной базы в файл обмена завершилась успешно.
    Обмен данными по настройке «Обмен с ПБ» завершен (9:21:42)

    PS: Перед этим на ПБ был сбой и пришлось запускать chdbfl.exe. После этого база ПБ заработала… принимает файлы обмена из ЦБ нормально, а вот ЦБ перестала принимать файлы от ПБ

    Как полечить эту беду… ?
    Спасибо


  2. 05.08.2013, 12:11

    #2

    Neonl вне форума


    Пришел за помощью


    По умолчанию

    1С 8.2?
    Если так, то можно попробовать следующее:
    — выгружаем конфигурацию из ЦБ
    — отвязываем признак подчиненного узла от ПБ(узел становится как просто база), и через конфигуратор загружаем наш файл конфигурации.
    — привязываем признак подчиненного узла нашей ПБ
    — пробуем произвести обмен между конфигурациями.

    Делать лучше на копиях БД. Отвязка/привязка ПБ производится из режима предприятия обработкой «ГлавныйВПодчиненный.epf»
    Не знаю как привязать обработку. Могу кинуть на мыло.


  3. 05.08.2013, 12:36

    #3

    idyachenko вне форума


    Пришел за помощью


    По умолчанию

    Это я пробовал — не помогло…

    решил проблему пересозданием периферийной базы

    Но в любом случае благодарю что откликнулись на мой крик души )


10 / 10 / 0

Регистрация: 01.02.2011

Сообщений: 100

1

1C 8.x

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!

16.05.2011, 16:11. Показов 17096. Ответов 4


Доброго всем времени суток! подскажи пожалуйста как исправить ошибку:
Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
есть 2 базы: Сервер и Удаленная база розница 8.2. Обмен данными через ftp ресурс, И вот когда выполняется обмен на сервере, то выгрузка проходит, а загрузка данных на сервер не производится . Выдает выше указанную ошибку.
Что можно с этим сделать, чтобы осуществить загрузку и в чем может быть причина данной ошибки?

За ранее огромное спасибо!

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

16.05.2011, 21:43

2

Ээээ. давай полностью ошибку!!!! Чо ты кусочки вставляешь!!!
Пока полную ошибку не увидим, реально сказать нечего.

Добавлено через 2 минуты
Обмен в фоне??? переписан??? Или типовой обмен??? Конфигурации одинаковые??? Обмен в одну сторону??? Во все ли стороны доступ есть на запись???

0

10 / 10 / 0

Регистрация: 01.02.2011

Сообщений: 100

17.05.2011, 13:33

 [ТС]

3

нет обмен не в фоне. Обмен настроен через ftp ресерс. Конфигурации одинаковые. обмен автоматический настроен на 1 и 2-ой базах. файлы обмена выгружаются на ftp. что еще? Раньше токай ошибки не возникало, непонятно отчего она появилась, настройки я не меняла. В чем дело вообще понять не могу?

0

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

18.05.2011, 00:21

4

«Ошибка записи!» Вот ошибка то!!!!

Добавлено через 2 минуты
Это полная ошибка???
Релиз конфигураций в обеих базах одинаковый?

0

10 / 10 / 0

Регистрация: 01.02.2011

Сообщений: 100

18.05.2011, 10:34

 [ТС]

5

да релиз одинаковый

Добавлено через 55 минут
да полная ошибка

0

Показывать по
10
20
40
сообщений

Новая тема

Ответить

SVGS

Дата регистрации: 23.12.2010
Сообщений: 276

Была РИБ на 8.1 (2.0.22.2). Нужно, чтобы две базы («Центр» и «Склад») работали на 8.2 (2.0.23.9)<br> <br>Сделал так:<br>1) Конвертировал БД «Центр» в формат 8.2<br>2) Конвертировал БД «Склад» в формат 8.2<br>3) Выполнил обмен данными между ними, проверил — все ОК<br>4) Выполнил обновление БД «Центр» до версии 2.0.23.9<br> <br>5) Попытался выполнить обмена с БД «Склад» получил диагностику<br>Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Данные принимаются от узла, для которого зарегистрированы изменения конфигурации.Необходимо произвести перенос изменений конфигурации в узел.Чтение данных из файла обмена завершено с ошибками!<br> Запись изменений текущей информационной базы в файл обмена завершилась успешно.<br> т.е. файл изменениями для БД «Склад» сформировался успешно<br><br>6) Попытался выполнить обмен данными в БД «Склад» с этим файлом. Получил ошибку<br>Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Конфигурация узла распределенной ИБ не соответствует ожидаемой!Чтение данных из файла обмена завершено с ошибками!<br><br> <br>Что я делаю не верно? И как должно быть сделано правильно?

Prikum

активный пользователь

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20882

Нужно на БД «Склад» зайти конфигуратором и применить изменения конфигурации.

SVGS

Дата регистрации: 23.12.2010
Сообщений: 276

А поподробнее можно?<br>Я в Бух 8.1 делал так:<br>выбирал в меню «Конфигурация» пункт «Обновить конфигурацию базы данных»<br>Если под словами <br>> применить изменения конфигурации<br>именно это имеется ввиду, то у меня этот пункт почему-то в Бух 8.2 недоступен :(

Prikum

активный пользователь

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20882

Зайти конфигуратором и нажать F5, потом опять сделать обмен. Вроде так, пишу на память.

SVGS

Дата регистрации: 23.12.2010
Сообщений: 276

Попробовал. F5 — начать отладку — запустилась программа — выполнил обмен — результат тот же.<br>Завтра буду пробовать еще что-то сделать. Пока нахожусь в полном недоумении:<br>почему в 8.1 у меня «Склад» легко обновлялся таким способом, а в 8.2 нет???

SVGS

Дата регистрации: 23.12.2010
Сообщений: 276

Еще раз прошел по тому же пути — результат тот же.<br>»Центр» обновляется — передать выполненное обновление в БД «Склад» не получается.<br>Пункт меню «Обновить конфигурацию базы данных» в конфигураторе не доступен.<br> <br>Пошлите меня куда-нибудь. :)<br>(Где прочитать про различия при обновлении РИБ в 8.1 и 8.2?)

Prikum

активный пользователь

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20882

— Сделать обмен в «Центре»<br> — Сделать обмен в «Склад»<br> — Зайти в конфигуратор «Склад»<br> — Если не открыто дерево конфигурации, то открыть его<br> — Посмотреть стоит ли знак вопроса на конфигурации<br> — Нажать F5<br> — Еще раз сделать обмен в «Склад» (не надо приэтом делать обмен в «Центр»)

SVGS

Дата регистрации: 23.12.2010
Сообщений: 276

Prikum, если коротко, то я все так и делал. Эту механику освоил еще на 8.1. Попробую запротоколировать все, что я делаю при переходе на 8.2.<br> <br>1. Устанавливаю платформу 8.2. Отказываюсь от переустановки драйвера.<br> <br>2. Копирую каталог «Центр» 8.1 в каталог «Центр» 8.2<br> <br>3. Запускаю «Центр» 8.2 в режиме «Конфигуратор». Получаю вопрос:<br>Формат файла информационной базы не соответствует версии «1С:Предприятия». Выполнить преобразование?<br>Отвечаю «Да», получаю еще один вопрос:<br>Структура информационной базы несовместима с текущей версией программы.Произвести конвертацию информационной базы?<br> Отвечаю «Да». Получаю «Конвертация информационной базы завершена»<br> <br>4. Нажимаю «Конфигурация-Поддержка-Обновить конфигурацию».<br>Выбираю 2.0.23.9 (обновление) — Продолжить обновление<br>Обновление завершается сообщением:<br>После изменения режима совместимости рекомендуется выполнить перезапуск конфигуратора.<br> <br>5. Перезапускаю конфигуратор. Выбираю пункт меню «Конфигурация — Обновить конфигурацию базы данных»<br>При нажатии на кнопку «Принять» получаю вопрос:<br>При обработке данных выдано 2 предупреждений! Принять изменения?<br> Поскольку я не понимаю о каких предупреждениях идет речь, нажимаю кнопку «Да»<br>Пропадает <!> рядом со словом «Конфигурация»<br> <br>6. Нажимаю F5. Идут запросы от Firewall на обращение к сайтам 1С. Я все разрешаю и подтверждаю легальность получения обновления. Получаю сообщения:<br>Выполнено обновление информационной базы с версии 2.0.22.2 на версию 2.0.22.1<br>Выполнено обновление информационной базы с версии 2.0.22.1 на версию 2.0.23.9<br> <br>7. Выполняю настроенную еще в 8.1 процедуру «Выполнить обмен с узлам РИБ по организации». Получаю сообщения:<br>Не найден входящий файл обмена данными.<br>Запись изменений текущей информационной базы в файл обмена завершилась успешно.<br> <br>8. Повторяю пункты 2 и 3 с БД «Склад». Нажимаю F5 и пробую «Выполнить обмен с узлам РИБ по организации». Получаю сообщения:<br>Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): <br>Конфигурация узла распределенной ИБ не соответствует ожидаемой!<br>Чтение данных из файла обмена завершено с ошибками!<br>Запись изменений текущей информационной базы в файл обмена завершилась успешно.<br> <br>ЗДЕСЬ НЕТ ТРЕБОВАНИЯ ПЕРЕЙТИ В КОНФИГУРАТОР И ЗАВЕРШИТЬ ОБНОВЛЕНИЕ,<br>которое я видел в 8.1…<br> <br>9. Вхожу в конфигуратор. Убеждаюсь, что в БД «Склад» стоит версия 2.0.22.2<br>Открываю окошки «Конфигурация» и «Конфигурация базы данных» и вижу, что пункты меню<br>»Обновить конфигурацию» и «Обновить конфигурацию базы данных» заблокированы.<br> <br>10. Перехожу к пункту 1 и повторяю эти развлекательные циклические упражнения 3 раза подряд. :)<br> <br>В каком месте я ошибаюсь и не могу выйти из этого цикла? :)))

SVGS

Дата регистрации: 23.12.2010
Сообщений: 276

С задачей справился. Источник информации: http://infostart.ru/public/65456/<br>К сожалению, на этой конференции я нужной информации не получил. :(

Показывать по
10
20
40
сообщений

Читают тему:

Всем привет!
Суть такова — настроили автоматический обмен в 1с с узлами РИБ (платформа 8.3.4.437, конфа УТ 10.3.32.2), но он не работает.
Работает как раз ручной, без задоринки, при автоматическом выдается сообщение вида:

Начат автоматический обмен данными по настройке «Обмен РИБ» (18:31:40).
Ошибка при чтении изменений из файла обмена.
Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка при выполнении обработчика — ‘ПриЗаписи’: {ОбщийМодуль.ПроцедурыОбменаССайтом.Модуль(96)}: Ошибка при получении значения атрибута контекста (НаличиеОбменаССайтом): Попытка получения неинициализированного значения параметра сеанса
Чтение данных из файла обмена завершено с ошибками!
Обмен данными по настройке «Обмен РИБ» завершен (18:31:42).

Как вообще может зависеть обмен РИБ с ОбменССайтом, ума не приложу. Куда копать и смотреть — тоже.


  • Вопрос задан

    более трёх лет назад

  • 3577 просмотров

Вспасибо всем кто откликнулся!
Проблема ушла, после обновления до 8.3.5.1517

Пригласить эксперта

По всей видимости при загрузке очередного объекта, система пытается его зарегистрировать для последующей выгрузки на сайт (это к вопросу, как может зависеть обмен РИБ с ОбменССайтом). И падает, потому что пытается получить значение параметра сеанса «НаличиеОбменаССайтом», которое не было инициировано (это у вопросу, куда копать и смотреть).
Уточните, что вы подразумеваете под ручным и автоматическим обменами?

Возможно, параметр сеанса НаличиеОбменаССайтом инициализируется в модуле обычного приложения, вместо модуля сеанса. Т.к. автоматический обмен, скорее всего, настроен с полными правами, то выполняется он на сервере, где модуль обычного приложения не выполняется, а значит не инициализируется необходимый параметр сеанса.

Возможно нет прав у пользователя под которым выполняется сенс.


  • Показать ещё
    Загружается…

14 июн. 2023, в 01:02

5000 руб./за проект

13 июн. 2023, в 23:37

1000 руб./в час

13 июн. 2023, в 23:22

15000 руб./за проект

Минуточку внимания

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове метода контекста получитьпоследнее
  • Ошибка при вызове метода контекста прочитатьxml данные прочитатьxml чтениеxml
  • Ошибка при вызове метода контекста получитьобъект элемент не выбран
  • Ошибка при вызове метода контекста прочитатьxdto
  • Ошибка при вызове метода контекста получитьобщуюформу