Имя: Пароль:
1C
1С v8
После обновления периферийной РИБ - узел не открывается в режиме Предприятия.
, ,
0 Программист_НУ
 
10.01.23
22:11
После обновления конфы из центральной базы запускаю Предприятие.

Появляется модальное окно. Ни открыть внешнюю обработку, ни отменить , ни синхронизировать не удается

https://dl.dropbox.com/s/dkopr4wuwg7m9pp/rib001.JPG

В сообщении об ошибке пишет, что невозможно прочитать xml

Как тут можно решить проблему?

Периферийный узел уникален тем, что там вносят изменения, и они не уходят в центр.  Обмен идет в одну сторону и базы в плане данных уже отличаются очень масштабно
1 Mihasya
 
11.01.23
01:53
Попробуй отменить все зарегистрированные объекты к выгрузке в этот узел, сделать выгрузку (выгрузится только конфа) и после еще раз синхронизировать.
Должно прокатить, но изменения данных не перенесутся, их нужно потом опять регить к выгрузке
2 Сергиус
 
11.01.23
02:38
(0)А физически файл xml есть на диске?
3 Программист_НУ
 
11.01.23
15:56
1) Проверю, спасибо
2) Проверю, спасибо
4 Serg_1960
 
11.01.23
16:01
"В сообщении об ошибке пишет, что невозможно прочитать xml" - лучше скрин или копия полного текста.
5 Serg_1960
 
11.01.23
16:22
(1) Имхо, вредный совет. Я бы не рекомендовал так делать.
6 Программист_НУ
 
11.01.23
17:48
(4)
Ошибка чтения файла сообщения обмена: Ошибка при вызове метода контекста (ПрочитатьИзменения)
{Обработка.КонвертацияОбъектовРаспределенныхИнформационныхБаз.МодульОбъекта(166)}:ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения, КоличествоЭлементовВТранзакции);
{Обработка.КонвертацияОбъектовРаспределенныхИнформационныхБаз.МодульОбъекта(77)}:ПрочитатьФайлСообщенияОбмена(Отказ, ЧтениеXML, ЗагрузитьТолькоПараметры, ЗагрузитьМетаданные, СообщениеОбОшибке);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6552)}:ОбработкаОбменаДанными.ВыполнитьЗагрузкуДанных(Отказ, ТолькоПараметры, СообщениеОбОшибке);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(15103)}:ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, СообщениеОбмена, , ТолькоПараметры);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(402)}:ВыполнитьОбменДаннымиЧерезФайловыйРесурс(СтруктураНастроекОбмена, ТолькоПараметры);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(15515)}:ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы(Отказ, УзелИнформационнойБазы,
{РегистрСведений.НастройкиТранспортаОбменаДанными.Форма.ПовторнаяСинхронизацияДанныхПередЗапуском.Форма(472)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(УзелИнформационнойБазы, ПараметрыОбмена, ЕстьОшибки);
{РегистрСведений.НастройкиТранспортаОбменаДанными.Форма.ПовторнаяСинхронизацияДанныхПередЗапуском.Форма(398)}:ЗагрузитьПриоритетныеДанныеВПодчиненныйУзелРИБ();

по причине:
Ошибка преобразования данных XML: [sfile://C:/Users/sys-USR1CV8/AppData/Local/Temp/Exchange82 {373463AD-45EB-4E7B-8DB9-A625B79EC452}/Message_БП_Д2.xml][5992956,31]
7 Мультук
 
гуру
11.01.23
17:57
(6)

Оно же тебе пишет -- в строке 5992956 в колонке 31 хрень.
Нужно взять себя в руки и посмотреть что там в файле.

P.S.
Ну либо выгрузить из центральной базы файл обмена еще раз. Может в этот раз повезет
8 cathode
 
11.01.23
20:48
(0) Ошибка чтения сообщения РИБ в Бухгалтерии 3? Пару дней назад словили такую же ошибку. В нашем случае в периферийной базе в справочнике "Наборы свойств объектов" один из элементов создался как группа, а из файла загружался как элемент. Собственно ошибка возникает из-за того, что нельзя загрузить из сообщения обмена реквизиты элемента, недоступные для группы. Мы просто удалили такую группу перед загрузкой. Почему создалась именно группа, разбираться не стали.
9 Serg_1960
 
12.01.23
14:53
(6) Это не "невозможно прочитать xml"(0), это другого плана ошибка. Довольно часто ошибку преобразования данных путают с ошибками разбора данных или с содержанием недопустимых символов в данных...

Правильные слова говорят автору: при чтении данных XML, платформа автоматически определяет тип (и тем самым - структуру) получаемых данных. Когда они, по мнению платформы, не соответствуют друг другу - генерируется данное сообщение об ошибке.
10 Mihasya
 
12.01.23
15:05
(6) перечитай (1) и сделай как там написано
11 Serg_1960
 
12.01.23
16:54
(10) "ЗагрузитьПриоритетныеДанныеВПодчиненныйУзелРИБ" в (6) прошло незамеченное мимо невнимательных :( Если мне память не изменяет, то это означает что конфигурация подчиненного узла уже обновлена.
12 Программист_НУ
 
13.01.23
14:00
(11) Конфа на замочке. Не меняется.
А что в этом случае сделать можно?
13 Karamzin
 
13.01.23
15:03
(8) что за справочник "Набор свойств объектов" в Бухгалтерии 3.0? не нашел ничего похожего
такая же ошибка вылезла при обновлении РИБа..
14 Serg_1960
 
13.01.23
15:45
(12) Так и должно быть - конфигурация подчинённого узла меняется обновлениями, полученными от корневого(главного) узла. Единственное что Вы штатно можете сделать - обновить конфигурацию базы данных (F7). Если эта возможность недоступна (пиктограмма "серого" цвета) - то и обновлять/изменять конфигурацию не требуется - они синхронизированы. в любом случае Вас это не должно волновать, у Вас сейчас другая проблема.
15 Serg_1960
 
13.01.23
16:32
В принципе, можно повторить отправку сообщения обмена из центрального узла - вдруг действительно само собой всё рассосется (что маловероятно). Но лучше всего, имхо, файл сообщения обмена Message_БП_Д2.xml открыть редактором XML и наконец-то узнать что за объект там в строке 5992956, а после этого - внимательно его рассмотреть в центральном узле на предмет что с ним не так.
16 Karamzin
 
13.01.23
16:36
(15) Справочник "Наборы дополнительных реквизитов и сведений" - на него ругается, сейчас разбираюсь с ним
17 Karamzin
 
13.01.23
16:49
(8) Да, так всё и есть. Элемент справочника (только "Наборы дополнительных реквизитов", а не "Наборы свойств объектов"), в моем случае "Инвентаризация кассы" в периферийке почему-то группа, а в центральной - элемент.
20 Программист_НУ
 
24.01.23
10:37
(15) расшифровал свой файл

                <CatalogObject.НаборыДополнительныхРеквизитовИСведений>
                    <Ref>20bcc873-9f5b-4308-a6b9-d91b4a54fad1</Ref>
                    <IsFolder>false</IsFolder>
                    <DeletionMark>false</DeletionMark>
                    <Parent>00000000-0000-0000-0000-000000000000</Parent>
                    <Description>Инвентаризация кассы</Description>
                    <КоличествоРеквизитов/>
                    <КоличествоСведений/>
                    <Используется>true</Используется>
                    <ИмяПредопределенногоНабора>Документ_ИнвентаризацияКассы</ИмяПредопределенногоНабора>
                    <НаименованиеЯзык1/>
                    <НаименованиеЯзык2/>
                    <ДополнительныеРеквизиты/>
                    <ДополнительныеСведения/>
                    <Представления/>
                </CatalogObject.НаборыДополнительныхРеквизитовИСведений>
21 Программист_НУ
 
24.01.23
10:42
(20) в периферийную базу зайти не могу
22 Программист_НУ
 
24.01.23
10:51
(8) Как же мне удалить эту группу, если в периферийку невозможно войти? Каким способом это сделать, не подскажете?
23 Галахад
 
гуру
24.01.23
10:54
(20) Удалить эти строчки из файла не пробовал? Или снять признак регистрации изменений у элемента справочника НаборыДополнительныхРеквизитовИСведений
24 Программист_НУ
 
24.01.23
10:56
(23) я сейчас попробую через COM подключиться и удалить в периферийке этот объект
25 Галахад
 
гуру
24.01.23
10:58
(24) А зачем?
26 Программист_НУ
 
24.01.23
10:59
(25) удалю в периферийке этот объект, а из файла он загрузится уже нормальным и все заработает (надеюсь)
27 Программист_НУ
 
24.01.23
14:18
(26) Не подключился, Access denied

(23) Запустил в Центральной базе удаление регистрации для всех объектов и выгрузил данные - база обновилась, но ругалась на идентификаторы объектов метаданных. После этого зарегестрировал в центральной все элементы этого справочника и снова выгрузил. Тогда в периферийке все обновилось до конца и база открылась
28 Mihasya
 
25.01.23
12:33
(27) я это еще (1) писал! но какой-то Serg_1960 его спрятал, не понятно почему...
29 Serg_1960
 
26.01.23
09:39
(28) Для особо... эээ... упрямых объясняю: даже если Вы снимите регистрацию со всех объектов, вместе с обновлением конфигурации всё равно будут отправлены предопределенные данные. Гуглите.

Гуглите, например, https://its.1c.ru/db/v8std/content/697/hdoc - "... Исключение составляют дочерние узлы РИБ, в котором предопределенные элементы автоматически не создаются (и не обновляются при изменении в метаданных), а должны быть переданы из главного узла вместе с изменениями конфигурации..."

Гуглите, например, алгоритмы конфигурации:

Процедура ЗаписатьИзмененияВФайлСообщенияОбмена(Отказ, ЗаписьXML, СообщениеОбОшибке = "")
...
Попытка
    ОбменДаннымиСлужебный.ОчиститьПриоритетныеДанныеОбмена();
    
    // Записываем изменения конфигурации и изменения данных в сообщение обмена.
    ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения, КоличествоЭлементовВТранзакции);
    
    // Записываем приоритетные данные в конец сообщения обмена
    // (предопределенные элементы, идентификаторы объектов метаданных).
    ЗаписатьПриоритетныеИзмененияВСообщениеОбмена(ЗаписьСообщения);
    
    ЗаписьСообщения.ЗакончитьЗапись();
30 Serg_1960
 
26.01.23
09:58
Впрочем автор сам всё это уже рассказал: ошибка была в процедуре ЗагрузитьПриоритетныеДанныеВПодчиненныйУзелРИБ (наименование процедуры, как бы, само по себе намекает где проблема) и автор, воспользовался Вашим советом, сообщил: "...база обновилась, но ругалась на идентификаторы объектов метаданных" - ошибка, говорящая о том, что возникло рассогласование/рассинхронизация предопределенных данных.
31 Mihasya
 
27.01.23
01:47
(29) "даже если Вы снимите регистрацию со всех объектов, вместе с обновлением конфигурации всё равно будут отправлены предопределенные данные" дальше что?! человеку нужно было найти решение, я ему подсказал, т.к. буквально недавно столкнулся с похожей ситуацией и вышел из нее именно так как написал в посте (1)
32 Serg_1960
 
27.01.23
09:12
Ещё раз: это не решение проблемы. Если оно помогло конкретно Вам в конкретной похожей ситуации - это совсем не означает, что решение универсальное и его можно предлагать всем во всех внешне похожих ситуациях. Я бы даже Ваш совет "отменить все зарегистрированные объекты" не стал бы никому вот так просто предлагать - это потенциально опасный совет. Попробуйте без лишнего геморроя, например, удалить и вновь зарегистрировать объекты в ситуации, когда во время обновления некоторые документы сами не изменяются, но их движения перезаписываются только лишь по некоторым регистрам.

Залез мужик в лесу на дереве, а слезть - не может.
- Помогите!

А тут, как раз, лесник мимо проходит...
Увидел мужика на дереве, кидает верёвку мужику:
- Держись, мужик, за верёвку покрепче - сейчас вытяну!
Мужик на дереве сомневается, переспрашивает:
- А выйдет?

- Конечно выйдет! Я вчера из ямы вот этой самой веревкой двоих вытянул.
33 Serg_1960
 
27.01.23
10:13
PS: теоретически, используя дополнительный параметр запуска в  лаунчере 1С, можно зайти в периферийную базу и обработкой устранить проблему автора. А после это, удалив дополнительный параметр, можно позволить программе повторно синхронизировать данные.
Конфигурации автора у меня нет - я решение вопроса "подсмотрел", анализируя алгоритмы конфигурации ЗУП 3.1
В конфигурации ЗУП 3.1, как мне кажется, можно воспользоваться следующими параметрами запуска:
«ОтключитьЛогикуНачалаРаботыСистемы»
"ПропуститьЗагрузкуСообщенияОбменаДаннымиПередЗапуском"
"ПропуститьЗагрузкуПриоритетныхДанныхПередЗапуском"
34 Mihasya
 
29.01.23
07:43
что страшного отмене регистрации объектов?! ну допустим, каке-то не выгрузятся, в периферийке будет <объект не найден> и что? в ЦБ зарегить к выгрузке заново и все, делов то пять сек
35 Serg_1960
 
30.01.23
08:46
(34) Всего лишь рассинхронизация... например, у документов будут разные движения по узлам... например, обнаружится это в конце квартала при сдаче отчетности... пустяки, дело житейское... Вы уже приготовили три конверта?
36 inkvizitr
 
30.01.23
10:48
(0) запускаешь базу с параметром /c ОтключитьЛогикуНачалаРаботыСистемы потом идешь во все функции и отключаешь константу , название правда не помню, а так лучше изменения конфигурации иметь везде одинаковые но на уровне функциональных опций прав и так далее регулировать видимость нужного функционала
37 inkvizitr
 
30.01.23
10:56
(0) по-моему константа НастройкаПодчиненногоУзлаРИБЗавершена, глянь в конфигураторе, уверен там событие ПриСозданииНаСервере в той форме которая у тебя возникает это определяется
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn