Имя: Пароль:
1C
1С v8
Обмен данными в РИБ и выгрузка изменений в конфигурации
,
0 Noveng
 
19.02.20
15:47
День добрый!
Есть видео такое от 1С https://www.youtube.com/watch?v=E6wy_UItkdw. Все хорошо бы, но...
Есть процедура ПроцедурыОбменаДанными.ЗаписатьСообщенияСИзмененеиямиДляУзла. В ней есть ПланыОбмена.ЗаписатьИзменения, который и записывает всё, что у тебя есть изменённое в главном узле. Сделал свой динамический запрос по всем изменённым объектам как в видосе. Всё вроде выгружается. Но следом встал вопрос как выгрузить изменения в конфигурации для подчинённого узла? Не нашел вариантов сделать так, чтобы в xml записывать изменения в метаданных как это делается при применении ЗаписатьИзменения. Делал ли кто-нибудь что-нибудь подобное? Транзакции при попытке выгрузить данные просто достали уже...
1 Cyberhawk
 
19.02.20
15:52
"Сделал свой динамический запрос по всем изменённым объектам как в видосе. Всё вроде выгружается" // Без блокирования рискуешь пометить выгруженным то, что успело измениться
2 Noveng
 
19.02.20
15:54
(1) В следующий раз выгрузиться. Это не проблема. Проблема в конфигурации(
3 Фрэнки
 
19.02.20
15:55
имхо, там же нет доступа к тому куску сообщения обмена, который соответствует обработке/записи в обмен измененных метаданных
4 Фрэнки
 
19.02.20
15:58
Процедура на обработку самих данных, которые регаются как измененные данные или как измененные экземпляры объектов.
Она пишется после того, как в сообщение уже записано изменение метаданных
5 Noveng
 
19.02.20
16:02
(4) Согласен.. Может как выход обмениваться только данными постоянно, а конфу толкать с каким-то периодом? Но возникнет боюсь вопрос о приеме сообщения от подчинённого, что данные принимаются от узла, для которого зарегистрированы изменения.
6 Cyberhawk
 
19.02.20
16:02
(2) В следующий раз не выгрузится, или когда ты проставляешь номер сообщения зарегистрированным на узле объектам?
7 Noveng
 
19.02.20
16:06
(6) можно сделать дополнительный узел и в нем записывать номера  и потом при приёме отслеживать. Вроде в видосе описано... с этим можно уже экспериментировать.
8 Cyberhawk
 
19.02.20
16:30
(7) А, только досмотрел видео) Там сначала перекладывают, затем уже выгружают и делают все что надо.
9 Noveng
 
19.02.20
16:47
Ничего не идёт в голову кроме геморойного варианта типа... пакетно выгружать cf и загружать его пакетно со сравнением, а потом следом загружать сообщение от узла с изменёнными данными.
10 Cyberhawk
 
19.02.20
17:11
Отдельный план обмена с флажком РИБ и запрет авторегистрации на нем всего. Создаешь узел и используешь для выгрузки конфигурации. Профит.
11 Cyberhawk
 
19.02.20
17:11
Сами данные конечно же на плане обмена без флажка РИБ нужно гонять. Если позволяет решение по обслуживанию такого обмена.
12 Noveng
 
20.02.20
08:41
(10) Спасибо! Попробую
13 Noveng
 
20.02.20
12:05
всё бы хорошо))) но два узла нельзя создать главных))) хоть и планы обмена разные. Один обозначаешь главным, с другого снимается.
"Ошибка при вызове метода контекста (ПрочитатьИзменения): Изменения конфигурации не могут быть получены из подчиненного узла распределенной ИБ". Устанавливаешь главным узлом и всё проходит. Видимо перед прочтением изменений надо ставить узел главным, а после выгрузки ответа устанавливать узел для обмена информацией главным