Свой план обмена между разными конфигурациями #488995


#0 by Skylark
Собственно, пытаюсь сварганить. Создал план обмена в исходной базе, включил в него один справочник для начала. Создал подчиненный узел, создал начальный образ. В базе приемнике создал аналогичный план обмена, куда включен аналогичный справочник. Вручную создал в базе-приемнике два узла, аналогично базе источнику, установил программно главный узел. Из центральной базы создал сообщение обмена. При попытке принять его в другой базе пишет "Попытка приема изменений от неизвестной конфгурации" Вот содержимое файла обмена: Куда, что и как сюда подсунуть, чтоб "периферийная" база схавала?
#1 by AlStorm
Ты чего это, вручную правила пишешь???
#2 by Skylark
какие еще правила?
#3 by Живой Ископаемый
ну да, и то верно - конфы разные, зачем правила?
#4 by Живой Ископаемый
2в том-то и дело, что правила он не пишет, а сразу выгружает.. План  обмена думает что выгружает в идентичную конфу.
#5 by Широкий
Ты бы еще фотографию базы попробовал загрузить - вдруг 1с-ка поймет
#6 by Skylark
Ну а как "методически верно" такое сделать?
#7 by Skylark
Использовать план обмена только для регистрации изменений, а все данные выгружать самому?
#8 by Vitello
Угу, по правилам обмена. См. типовые, например БП
#9 by agarych
делай через конвертацию данных
#10 by Serg_1960
Эй, эй. Тут ни кто термины "правила обмена" и "правила конвертауии" не путает? :)
#11 by Serg_1960
Фразы "Создал подчиненный узел, создал начальный образ" и "В базе приемнике создал аналогичный план обмена" - противоречат друг другу :(
#12 by Живой Ископаемый
2 что такое "правила обмена"?
#13 by Skylark
ни разу не противоречат - подчиненный узел в центральной базе я создал для регистрации изменний; сам начальный образ я "выкинул" - вместо него взял рабочую базу, где ручками создал два узла и программно зарегил центральный :-)
#14 by Skylark
Но 1С похоже на кривой козе не объедешь :-)
#15 by Serg_1960
А сам файл обмена как получаешь? Стандартным типовым обменом? Ну ты и оригинал :)) Если существующие до этого базы связываешь между собой обменом - то только один типовой путь: обмен данными с применением правил конвертации. Даже если конфигурации - одинаковые. Я смотрю ты любишь эксперементировать :) - меняй значения в файлах обмена в строке "<v8de:Signature>ХХХ</v8de:Signature>" на нужные.
#16 by Vitello
>Даже если конфигурации - одинаковые. Тут вы неправы. Если конфы одинаковые все отлично работает, а вот если разные надо правила, иначе непонятно как обмениваться.
#17 by Жан Пердежон
конфа же есть "Конвертация данных" и книжка, как ею пользоваться. При большом желании её можно в интернетах отсканированную найти.
#18 by Skylark
Да что вы все со своей КД пристали, я про другое - планы обмена и метод СоздатьЗаписьСообщения. Вот понял, про что я.
#19 by agarych
ты цели нам расскажи? чего хочешь то? из одной базы в другую передавать измененные объекты?
#20 by Skylark
да, с использованием механизма планов обмена, только базы с разными конфигурациями
#21 by Vitello
--->
#22 by Skylark
это я понял, но пока не сдаюсь сейчас буду пробовать
#23 by Skylark
а значения в <v8de:Digest1> и <v8de:Digest2> - это что, не в курсе?
#24 by Vitello
Счетчики сообщений, принятых и отправленных
#25 by Skylark
не похоже вот вроде счетчики <v8msg:MessageNo>
#26 by Skylark
<v8msg:ReceivedNo>
#27 by Живой Ископаемый
2 да ладно?. а что такое  <v8msg:MessageNo>2</v8msg:MessageNo>  <v8msg:ReceivedNo>0</v8msg:ReceivedNo>
#28 by Живой Ископаемый
Это вот:
#29 by Смотрящий от 1С
"Цифровые подписи передаваемых в данном сообщении изменений конфигурации и всей конфигурации за вычетом изменений" Руководство разработчика 2-726
#30 by Serg_1960
<v8de:Digest1> и <v8de:Digest2> - это сообщение об измении конфигурации (и сигнатуры). Вот этого автор не ожидал :) Это "обратная сторона медали" при использовании обмена между идентичными конфигурациями - наличие информации об измении конфигурации в файле обмена :) Эксперементируй дальше - удаляй к чёртовой бабушке из файла и то и другое.
#31 by Живой Ископаемый
2 ну удалит он из файла обмена.. и принимающая ИБ не увидит этих полей... и что - думаешь схавает?
#32 by Skylark
"Ошибка формата представления изменений"
#33 by Skylark
"<v8de:Signature> подсовываю - хавает, но дальше
#34 by Живой Ископаемый
2 ну наверное пора завыязывать с экспериментами и писать правила, верно?
#35 by Skylark
да правила-то фигня, писать надо регистрацию изменений и их выгрузку-загрузку по правилам
#36 by Живой Ископаемый
2 о каких двух видах правил вы все время говорите? Привила я имею в виду правила конвертации.
#37 by Skylark
да мы то как раз про правила и не говорим ничего :-)))
#38 by Skylark
Ты в курсе про механизм РИБ в 1С 8? Там не нужно никаких правил - платформа все делает сама, только единственная проблема - конфигурация приемника должна быть идентична конфигурации центра, т.е. получена путем создания начального образа. А я пытаюсь подсунуть в качестве приемника совершенно постороннюю базу.
#39 by Skylark
Но из механизма РИБ можно использовать только "подмеханизм" регистрации изменений - если база объявлена как распределенная, то при любом изменении объекта, платформа сама "запоминает", что изменнения нужно выгрузить. Этот подмеханизм используется для регистрации изменнений, после чего сам изменения выгружаются не средствами платформы (методами РИБ), а "ручками" - т.е. план обмена используется только для получения списка измененных объектов, подлежащих выгрузке, а сама выгрузка производится уже по правилам обмена, которые создаются в неоднократно упомянутой здесь КД
#40 by Смотрящий от 1С
Наличие галки "Обмен по правилам обмена" и возможность их выбора в форме настройки обмена данными подсказывает, что некие правила все таки есть.
#41 by Skylark
см
#42 by apollo
план обмена  - зло ((
#43 by Skylark
не соглашусь - планы обмена рулят
#44 by Живой Ископаемый
2я в курсе...  и просто думал что ты к этому моменту понял что ничего у тебя не выйдет и тебе нужно писать правила
#45 by Живой Ископаемый
2 для того чтобы план обменя регистрировал изменения, вообще необязательно тсавить в нем галку "РИБ"
#46 by Живой Ископаемый
тем более что еще в было сказано где посмотреть... например обмен БП-УТ, который происходит по правилам
#47 by Skylark
Да я туда первым делом сунулся - что-больно много кода, ни асилил где суть. Решил сначала попробовать сам. Придется продираться по процедурам. Может кто название процедур подкинет? Где производится выборка объектов для выгрузки и где собственно производится выгрузка по правилам обмена.
#48 by Живой Ископаемый
2 Суть такая, что правила конвертации хранятся в хмл-макете тут же, в этом плане обмена, и они применяются при выгрузке.
#49 by Serg_1960
Эээ... погорячился насчет "удаляй" :( Сорри, был неправ. Они должны быть. В риб-обмене "Digest1" - или забит нулями когда нет изменений конфигураций, или там "приращение" для расчета контрольного числа новой конфигурации (которое в "Digest2")...
#50 by Живой Ископаемый
Выборка осуществляется как всегда ВыбратьИзменения.
#51 by Skylark
как ни извращался с Digest-ами - "Ошибка формата представления изменений" полюбому
#52 by hhhh
не забывай, что тебе еще обратное письмо нужно генерить. Чтобы центральная база поняла, что всё в порядке.
#53 by Serg_1960
Может редактор неудачный выбрали? Вопрос, скорее академический с моей стороны, чем практический (я противник использования риб-обмена между не риб-базами). И это возможно... теоретически :)
#54 by Skylark
Выгрузил руками - ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена) - и т.д. В получившемся файле Digest нету вообще. Но читать все равно не хочет :-(
#55 by Skylark
Ура! Подсунул в типовую обработку свой узел своего план обмена (вместо плана обмена УТ-БП) и свои правила и все выгрузилось!
#56 by Skylark
Не пришлось писать !
#57 by Живой Ископаемый
2 ну вообще только это и надо было... правила... и все.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С