|
С Распределённой базы в Главную не приходят данные | ☑ | ||
---|---|---|---|---|
0
Repinovich
15.03.23
✎
14:34
|
В чём суть. С РИБ при проведении документа , если статус износа больше 70%, то эти данные улетают в Главную базу. Всё написал, но когда читает xmlку в главной базе туда не переносятся данные. Вопрос , это в xmlке данных нет или Главная база их не записывает?
Для планов обена: Процедура ВыполнитьОбменЗаписьИЧтение() Экспорт Каталог = Константы.КаталогОбмена.Получить(); Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда ИмяФайла = Каталог + "Message" + СокрЛП(ПланыОбмена.Отделения.ЭтотУзел().Код) + "_" + СокрЛП(ПланыОбмена.ГлавныйУзел().Код) + ".xml"; ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ИмяФайла); ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); ЗаписьСообщения.НачатьЗапись(ЗаписьXML, ПланыОбмена.ГлавныйУзел()); ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения); ЗаписьСообщения.ЗакончитьЗапись(); ЗаписьXML.Закрыть(); КонецЕсли; Каталог = Константы.КаталогОбмена.Получить(); Если ПланыОбмена.ГлавныйУзел() = Неопределено Тогда ВыборкаРегион = ПланыОбмена.Отделения.Выбрать(); Пока ВыборкаРегион.Следующий() Цикл Если ВыборкаРегион.Ссылка <> ПланыОбмена.Отделения.ЭтотУзел() Тогда ИмяФайла = Каталог + "Message" + СокрЛП(ВыборкаРегион.Ссылка.Код) + "_" + СокрЛП(ПланыОбмена.Отделения.ЭтотУзел().Код) + ".xml"; Если НайтиФайлы(СтрЗаменить(ИмяФайла,"\","/")).Количество() = 0 Тогда Продолжить; КонецЕсли; ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ИмяФайла); ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения(); ЧтениеСообщения.НачатьЧтение(ЧтениеXML); ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения); ЧтениеСообщения.ЗакончитьЧтение(); ЧтениеXML.Закрыть(); УдалитьФайлы(ИмяФайла) КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры В Документе: Процедура ОбработкаПроведения(Отказ, Режим) Движения.АмортизацияОбъекта.Записывать = Истина; Для Каждого ТекСтрокаИзносОбъектов Из ИзносОбъектов Цикл Движение = Движения.АмортизацияОбъекта.Добавить(); Движение.Период = Дата; Движение.ОбъектИзноса = ТекСтрокаИзносОбъектов.ОбъектИзноса; Движение.ПроцентИзноса = ТекСтрокаИзносОбъектов.ПроцентИзноса; Если ТекСтрокаИзносОбъектов.ПроцентИзноса >= 70 Тогда ПланыОбмена.ЗарегистрироватьИзменения(ПланыОбмена.ГлавныйУзел(), ТекСтрокаИзносОбъектов.ОбъектИзноса); КонецЕсли; КонецЦикла; Движения.Записать(); КонецПроцедуры |
|||
1
Галахад
гуру
15.03.23
✎
15:04
|
Хм. А глянуть в файл?
|
|||
2
Repinovich
15.03.23
✎
15:10
|
(1) <v8msg:Message xmlns:v8msg="http://v8.1c.ru/messages">
<v8msg:Header> <v8msg:ExchangePlan>Отделения</v8msg:ExchangePlan> <v8msg:To>1</v8msg:To> <v8msg:From>2</v8msg:From> <v8msg:MessageNo>3</v8msg:MessageNo> <v8msg:ReceivedNo>0</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>88a849c8-e6c8-49c7-b7d2-b8abd5d13e1e</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="9fe39a1b83d3e635b7f7d1ddf6905ab8" Extensions="0000000000000000000000000000000000000000">d331b323e5acf0195c2d970bb63c0efe</v8de:Digest2> </v8de:Config> <v8de:Data> <CatalogObject.ОбъектыДорог> <Ref>594c4098-c18e-11ed-9752-5cb9017bf71c</Ref> <DeletionMark>false</DeletionMark> <Code>000000002</Code> <Description>Химкинское шоссе</Description> <Ответственный>594c4094-c18e-11ed-9752-5cb9017bf71c</Ответственный> <Регион>594c4096-c18e-11ed-9752-5cb9017bf71c</Регион> </CatalogObject.ОбъектыДорог> </v8de:Data> </v8de:Changes> </v8msg:Body> </v8msg:Message> |
|||
3
Repinovich
15.03.23
✎
16:06
|
Так получается в файле что-то не так? Вроде тут пишется что объект есть. (1)
|
|||
4
Serg_1960
15.03.23
✎
16:20
|
(0) [ворчу] Некорректно так писать без проверки наличия главного узла, да и ОбработкаПроведения() - это "не то" место, где регистрируются изменения. Смотрите где в Вашей конфигурации регистрация изменений происходит (скорее всего в подписках на события) - там и решайте вопрос регистрации... И Вы забыли упомянуть, входит ли этот объект в план обмена и разрешена ли его регистрация.
|
|||
5
Serg_1960
15.03.23
✎
16:28
|
PS: Наличие объекта в сообщении обмена ещё не панацея - изменение объекта может быть отвергнуто в главном узле по той или иной причине.
|
|||
6
Repinovich
15.03.23
✎
16:34
|
(4) объект включен в состав плана, авторегистрация выключена
|
|||
7
Serg_1960
15.03.23
✎
16:39
|
А почему автор решил, что ОбъектИзноса не мигрирует? Этот объект возможно мигрирует, но он не изменяется и потому "визуально" сложно понять что он изменился :))
|
|||
8
Repinovich
15.03.23
✎
16:42
|
(7) А смотрите в xml файле есть MessageNo , и после того как жму кнопку там на +1 становится больше, это значит что он его не принял?
|
|||
9
Serg_1960
15.03.23
✎
16:45
|
(8) Это ничего не значит в контексте вопроса темы. На главном узле в журнале можно посмотреть изменяется ли этот объект во время обмена или нет.
|
|||
10
Serg_1960
15.03.23
✎
16:52
|
MessageNo - это номер сообщения, отправленного эти узлом по этому плану обмена (ReceivedNo - номер полученного сообщения)
|
|||
11
Repinovich
15.03.23
✎
17:31
|
(9) Визуально сразу никак не посмотреть (найти в конфигурации)? Надо его как-то выгружать, почитал не понял как это делается
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |