|
Свой план обмена между разными конфигурациями | ☑ | ||
---|---|---|---|---|
0
Skylark
21.06.10
✎
15:00
|
Собственно, пытаюсь сварганить.
Создал план обмена в исходной базе, включил в него один справочник для начала. Создал подчиненный узел, создал начальный образ. В базе приемнике создал аналогичный план обмена, куда включен аналогичный справочник. Вручную создал в базе-приемнике два узла, аналогично базе источнику, установил программно главный узел. Из центральной базы создал сообщение обмена. При попытке принять его в другой базе пишет "Попытка приема изменений от неизвестной конфгурации" Вот содержимое файла обмена: - <v8msg:Message xmlns:v8msg="http://v8.1c.ru/messages"> - <v8msg:Header> <v8msg:ExchangePlan>Сотрудники</v8msg:ExchangePlan> <v8msg:To>002</v8msg:To> <v8msg:From>001</v8msg:From> <v8msg:MessageNo>2</v8msg:MessageNo> <v8msg:ReceivedNo>0</v8msg:ReceivedNo> </v8msg:Header> - <v8msg:Body> - <v8de:Changes xmlns:v8de="http://v8.1c.ru/dataexchange/2005/02" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v8="http://v8.1c.ru/data"> <v8de:Signature>695455a2-4a01-4296-aba7-5a75e9c283d3</v8de:Signature> - <v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08"> <v8de:Version>106.0</v8de:Version> <v8de:Digest1>00000000000000000000000000000000</v8de:Digest1> <v8de:Digest2>85fec27537114769704723199166c9ac</v8de:Digest2> </v8de:Config> - <v8de:Nodes> - <v8de:Node> <v8de:DeletionMark>false</v8de:DeletionMark> <v8de:Code>001</v8de:Code> <v8de:Description>Эта информационная база</v8de:Description> </v8de:Node> - <v8de:Node> <v8de:DeletionMark>false</v8de:DeletionMark> <v8de:Code>002</v8de:Code> <v8de:Description>Бухгалтерия предприя</v8de:Description> </v8de:Node> </v8de:Nodes> <v8de:Data /> </v8de:Changes> </v8msg:Body> </v8msg:Message> Куда, что и как сюда подсунуть, чтоб "периферийная" база схавала? |
|||
1
AlStorm
21.06.10
✎
15:03
|
(0)
Ты чего это, вручную правила пишешь??? |
|||
2
Skylark
21.06.10
✎
15:04
|
(1) какие еще правила?
|
|||
3
Живой Ископаемый
21.06.10
✎
15:07
|
ну да, и то верно - конфы разные, зачем правила?
|
|||
4
Живой Ископаемый
21.06.10
✎
15:08
|
2(1)в том-то и дело, что правила он не пишет, а сразу выгружает.. План обмена думает что выгружает в идентичную конфу.
|
|||
5
Широкий
21.06.10
✎
15:09
|
(0) Ты бы еще фотографию базы попробовал загрузить - вдруг 1с-ка поймет
|
|||
6
Skylark
21.06.10
✎
15:10
|
Ну а как "методически верно" такое сделать?
|
|||
7
Skylark
21.06.10
✎
15:13
|
Использовать план обмена только для регистрации изменений, а все данные выгружать самому?
|
|||
8
Vitello
21.06.10
✎
15:14
|
(7)Угу, по правилам обмена. См. типовые, например БП
|
|||
9
agarych
21.06.10
✎
15:19
|
(0) делай через конвертацию данных
|
|||
10
Serg_1960
21.06.10
✎
15:19
|
Эй, эй. Тут ни кто термины "правила обмена" и "правила конвертауии" не путает? :)
|
|||
11
Serg_1960
21.06.10
✎
15:22
|
(0) Фразы "Создал подчиненный узел, создал начальный образ" и "В базе приемнике создал аналогичный план обмена" - противоречат друг другу :(
|
|||
12
Живой Ископаемый
21.06.10
✎
15:29
|
2(10) что такое "правила обмена"?
|
|||
13
Skylark
21.06.10
✎
15:29
|
(11) ни разу не противоречат - подчиненный узел в центральной базе я создал для регистрации изменний; сам начальный образ я "выкинул" - вместо него взял рабочую базу, где ручками создал два узла и программно зарегил центральный :-)
|
|||
14
Skylark
21.06.10
✎
15:34
|
Но 1С похоже на кривой козе не объедешь :-)
|
|||
15
Serg_1960
21.06.10
✎
15:36
|
А сам файл обмена как получаешь? Стандартным типовым обменом? Ну ты и оригинал :))
Если существующие до этого базы связываешь между собой обменом - то только один типовой путь: обмен данными с применением правил конвертации. Даже если конфигурации - одинаковые. Я смотрю ты любишь эксперементировать :) - меняй значения в файлах обмена в строке "<v8de:Signature>ХХХ</v8de:Signature>" на нужные. |
|||
16
Vitello
21.06.10
✎
15:37
|
(15)>Даже если конфигурации - одинаковые.
Тут вы неправы. Если конфы одинаковые все отлично работает, а вот если разные надо правила, иначе непонятно как обмениваться. |
|||
17
Жан Пердежон
21.06.10
✎
15:38
|
(14) конфа же есть "Конвертация данных" и книжка, как ею пользоваться. При большом желании её можно в интернетах отсканированную найти.
|
|||
18
Skylark
21.06.10
✎
15:40
|
Да что вы все со своей КД пристали, я про другое - планы обмена и метод СоздатьЗаписьСообщения().
Вот (15) понял, про что я. |
|||
19
agarych
21.06.10
✎
15:42
|
(18) ты цели нам расскажи? чего хочешь то? из одной базы в другую передавать измененные объекты?
|
|||
20
Skylark
21.06.10
✎
15:43
|
(19) да, с использованием механизма планов обмена, только базы с разными конфигурациями
|
|||
21
Vitello
21.06.10
✎
15:44
|
(20) --->(8)
|
|||
22
Skylark
21.06.10
✎
15:45
|
(21) это я понял, но пока не сдаюсь
сейчас буду (15) пробовать |
|||
23
Skylark
21.06.10
✎
15:46
|
(15) а значения в <v8de:Digest1> и <v8de:Digest2> - это что, не в курсе?
|
|||
24
Vitello
21.06.10
✎
15:47
|
(23)Счетчики сообщений, принятых и отправленных
|
|||
25
Skylark
21.06.10
✎
15:49
|
(24) не похоже
вот вроде счетчики <v8msg:MessageNo> |
|||
26
Skylark
21.06.10
✎
15:49
|
<v8msg:ReceivedNo>
|
|||
27
Живой Ископаемый
21.06.10
✎
15:50
|
2(24) да ладно?. а что такое
<v8msg:MessageNo>2</v8msg:MessageNo> <v8msg:ReceivedNo>0</v8msg:ReceivedNo> |
|||
28
Живой Ископаемый
21.06.10
✎
15:50
|
||||
29
Смотрящий от 1С
21.06.10
✎
15:53
|
(24) неправда ваша
"Цифровые подписи передаваемых в данном сообщении изменений конфигурации и всей конфигурации за вычетом изменений" Руководство разработчика 2-726 |
|||
30
Serg_1960
21.06.10
✎
15:54
|
<v8de:Digest1> и <v8de:Digest2> - это сообщение об измении конфигурации (и сигнатуры).
Вот этого автор не ожидал :) Это "обратная сторона медали" при использовании обмена между идентичными конфигурациями - наличие информации об измении конфигурации в файле обмена :) Эксперементируй дальше - удаляй к чёртовой бабушке из файла и то и другое. |
|||
31
Живой Ископаемый
21.06.10
✎
15:56
|
2(30) ну удалит он из файла обмена.. и принимающая ИБ не увидит этих полей... и что - думаешь схавает?
|
|||
32
Skylark
21.06.10
✎
15:58
|
"Ошибка формата представления изменений"
|
|||
33
Skylark
21.06.10
✎
15:59
|
"<v8de:Signature> подсовываю - хавает, но дальше (32)
|
|||
34
Живой Ископаемый
21.06.10
✎
16:01
|
2(32) ну наверное пора завыязывать с экспериментами и писать правила, верно?
|
|||
35
Skylark
21.06.10
✎
16:02
|
(34) да правила-то фигня, писать надо регистрацию изменений и их выгрузку-загрузку по правилам
|
|||
36
Живой Ископаемый
21.06.10
✎
16:03
|
2(35) о каких двух видах правил вы все время говорите? Привила я имею в виду правила конвертации.
|
|||
37
Skylark
21.06.10
✎
16:06
|
(36) да мы то как раз про правила и не говорим ничего
:-))) |
|||
38
Skylark
21.06.10
✎
16:08
|
(36) Ты в курсе про механизм РИБ в 1С 8? Там не нужно никаких правил - платформа все делает сама, только единственная проблема - конфигурация приемника должна быть идентична конфигурации центра, т.е. получена путем создания начального образа.
А я пытаюсь подсунуть в качестве приемника совершенно постороннюю базу. |
|||
39
Skylark
21.06.10
✎
16:12
|
Но из механизма РИБ можно использовать только "подмеханизм" регистрации изменений - если база объявлена как распределенная, то при любом изменении объекта, платформа сама "запоминает", что изменнения нужно выгрузить.
Этот подмеханизм используется для регистрации изменнений, после чего сам изменения выгружаются не средствами платформы (методами РИБ), а "ручками" - т.е. план обмена используется только для получения списка измененных объектов, подлежащих выгрузке, а сама выгрузка производится уже по правилам обмена, которые создаются в неоднократно упомянутой здесь КД |
|||
40
Смотрящий от 1С
21.06.10
✎
16:13
|
(38) Наличие галки "Обмен по правилам обмена" и возможность их выбора в форме настройки обмена данными подсказывает, что некие правила все таки есть.
|
|||
41
Skylark
21.06.10
✎
16:15
|
(40) см (39)
|
|||
42
apollo
21.06.10
✎
16:16
|
план обмена - зло ((
|
|||
43
Skylark
21.06.10
✎
16:19
|
не соглашусь - планы обмена рулят
|
|||
44
Живой Ископаемый
21.06.10
✎
16:22
|
2(38)я в курсе... и просто думал что ты к этому моменту понял что ничего у тебя не выйдет и тебе нужно писать правила
|
|||
45
Живой Ископаемый
21.06.10
✎
16:23
|
2(39) для того чтобы план обменя регистрировал изменения, вообще необязательно тсавить в нем галку "РИБ"
|
|||
46
Живой Ископаемый
21.06.10
✎
16:24
|
тем более что еще в (8) было сказано где посмотреть... например обмен БП-УТ, который происходит по правилам
|
|||
47
Skylark
21.06.10
✎
16:27
|
(46) Да я туда первым делом сунулся - что-больно много кода, ни асилил где суть. Решил сначала попробовать сам. Придется продираться по процедурам.
Может кто название процедур подкинет? Где производится выборка объектов для выгрузки и где собственно производится выгрузка по правилам обмена. |
|||
48
Живой Ископаемый
21.06.10
✎
16:28
|
2(47) Суть такая, что правила конвертации хранятся в хмл-макете тут же, в этом плане обмена, и они применяются при выгрузке.
|
|||
49
Serg_1960
21.06.10
✎
16:28
|
Эээ... погорячился насчет "удаляй" :( Сорри, был неправ. Они должны быть.
В риб-обмене "Digest1" - или забит нулями когда нет изменений конфигураций, или там "приращение" для расчета контрольного числа новой конфигурации (которое в "Digest2")... |
|||
50
Живой Ископаемый
21.06.10
✎
16:28
|
Выборка осуществляется как всегда ВыбратьИзменения.
|
|||
51
Skylark
21.06.10
✎
16:31
|
(49) как ни извращался с Digest-ами - "Ошибка формата представления изменений"
полюбому |
|||
52
hhhh
21.06.10
✎
16:36
|
(51) не забывай, что тебе еще обратное письмо нужно генерить. Чтобы центральная база поняла, что всё в порядке.
|
|||
53
Serg_1960
21.06.10
✎
16:36
|
Может редактор неудачный выбрали?
Вопрос, скорее академический с моей стороны, чем практический (я противник использования риб-обмена между не риб-базами). И это возможно... теоретически :) |
|||
54
Skylark
21.06.10
✎
17:05
|
Выгрузил руками - ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена) - и т.д.
В получившемся файле Digest нету вообще. Но читать все равно не хочет :-( |
|||
55
Skylark
21.06.10
✎
17:35
|
Ура! Подсунул в типовую обработку свой узел своего план обмена (вместо плана обмена УТ-БП) и свои правила и все выгрузилось!
|
|||
56
Skylark
21.06.10
✎
17:35
|
Не пришлось писать (35)!
|
|||
57
Живой Ископаемый
21.06.10
✎
17:39
|
2(56) ну вообще только это и надо было... правила... и все.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |