Имя: Пароль:
1C
1С v8
как прочитать план обмена чтениесообщение. не УРБД.
0 zladenuw
 
25.11.13
12:21
делал вот так
ЧтениеXML = Новый ЧтениеXML();
         ЧтениеXML.ОткрытьФайл(ИмяФайлаСообщения);
         ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
         ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
         ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения);
вот тут ошибка. узел не является распределенным ИБ.
как тогда прочитать ?
         ЧтениеСообщения.ЗакончитьЧтение();
         ЧтениеXML.Закрыть();
1 Maxus43
 
25.11.13
12:28
прочитать можно только от "своих" узлов, откуда файл взялся?
2 zladenuw
 
25.11.13
12:48
(1) 2 базы. нужно ними сделать обмен. там и там создал план обмена. файл формирую через записьсообщениеобмена. думал и прочитать его можно так же
3 zladenuw
 
25.11.13
12:49
точнее через веб сервис получаю строку, из нее двоичные данные. а потом сам файл. вот нужно загрузить изменения. только как ?
4 zladenuw
 
25.11.13
12:49
решил делать через план обмена. заманали свои велики с обменами :)
5 Повелитель
 
25.11.13
12:52
(0) какая конфа?
6 zladenuw
 
25.11.13
12:53
(5) УТ и ЛКП. а что дает флаг  "Распределенная база данных" ?. в моем случае
7 zladenuw
 
25.11.13
12:54
теперь ошибка формата представление изменений :(
8 Галахад
 
гуру
25.11.13
12:59
(6) Знание того какие объекты изменились.
9 Повелитель
 
25.11.13
12:59
(6) Ты в смысле хочешь двумя типовыми кнопками обмен между
разными конфигурациями сделать?

Эти кнопари только для одинаковых конф.
10 zladenuw
 
25.11.13
12:59
то как прочитать этот злаполучный файл ? если база не УРБД
11 Повелитель
 
25.11.13
13:00
КД тебе в руки и вперед
12 zladenuw
 
25.11.13
13:01
(9) ясно. жаль
13 zladenuw
 
25.11.13
13:01
объекты то 1 в 1. были перенесены копированием.
14 zladenuw
 
25.11.13
13:03
(11) а наепать нельзя ? указать что это мол УРБД и подсунуть файлик ? обмен только по некоторым объектом. метаданные у них 1 в 1. или не взлетит ?
15 Maxus43
 
25.11.13
13:04
(13) объекты одни, а конфы разные, не юзай планы обмена тогда, в веб сервис посылай сериализованые элементы, планы обмена для другого придуманы.
Юзай просто ПрочитатьXML, без планов
16 Повелитель
 
25.11.13
13:04
(13) Ну в УТ например в типовом обмене, есть настройка "Обмен по правилам обмена", настраиваешь правила в КД, цепляешь и должно взлететь. Может чуток руками допилить придеться.

А кнопки в платформе, только для РИБ
17 Повелитель
 
25.11.13
13:05
(16) Хотя я может и ошибаюсь, там еще конфа передается. Вообщем между 2-мя разными конфами я не пробовал, только в РИБ
18 zladenuw
 
25.11.13
13:05
(15) так я через план обмена получаю изменений данные. зачем мне еще свой РС цыплять
19 zladenuw
 
25.11.13
13:07
а как вернуть номерсообщения в план обмена. что мол данные получили ?
20 zladenuw
 
25.11.13
13:08
думал обойтись малой кровью. ладно пошел пить кофе и писать правила в кд
21 zladenuw
 
25.11.13
13:09
(16) да вся загвоздка что через веб сервис. ладно буду свой велик писать. и весь вызов идет с УТ
22 Maxus43
 
25.11.13
13:10
(18) план обмена - значит узлы должны быть одного плана с одинаковыми УИДами, у тебя они отличаются и он распознаёт его что он не "свой"
23 zladenuw
 
25.11.13
13:13
(22) а если я его перенесу копированием ? проканает ?
24 Maxus43
 
25.11.13
13:16
сравнением-объединением план надо переносить (хз проканает ли кстати), узел - выгрузкой-загрузкой xml для идентичности уидов, и таки надо привязать одну базу как подчинённую. Это конечно если обмен будет именно одинаковыми объектами по структуре и пространство имён у конф одинаково
25 Maxus43
 
25.11.13
13:17
ну тут проще реально правила написать имхо, чем обманывать систему. Легче будет сопровождать
26 zladenuw
 
25.11.13
13:18
(25) ок если правила. можно ли использовать планобмена. что бы получать измененные и контролировать какие сообщение дошли, а какие нет ?
27 hhhh
 
25.11.13
13:20
(26) обработку УниверсальныйОбменДанными используйте. У нее формат файлов немного другой, поэтому она файлы планов обмена не принимает.
28 zladenuw
 
25.11.13
13:23
(27) так там можно выбрать узел обмена. я так понимаю он сам выбирает изменения
29 Maxus43
 
25.11.13
13:23
(26) обмен по правилам конечно универсален и использует планы обмена, просто атм формат произвольный, а встроенные механизмы обменов - жёсткий формат, шаг влево, шаг вправо - некорректный файл
30 zladenuw
 
25.11.13
13:28
написал правила в кд. выгрузил данные. как мне указать в плане обмена. что есть номерсообщение 1 ? и как потом присвоит номер принятого ?
31 zladenuw
 
25.11.13
13:29
мне нужно где то хранить какие данные ушли, какие нет. думал в плане обмена это взлетит.
32 Maxus43
 
25.11.13
13:29
это должно быть автоматически
33 Maxus43
 
25.11.13
13:30
а с чего ты уверен что номера не проставились?
34 zladenuw
 
25.11.13
13:31
что то я запутался.
создал правила. открыл обработку универсальные обмена. выгрузил данные. но при выгрузке где выгружаемые данные поставил план обмена. так я открыл план обмена. там сообщения по 0
35 Maxus43
 
25.11.13
13:37
(34) проведи полный цикл обмена, ответ загрузи т т.д. и дальше сомтри
36 zladenuw
 
25.11.13
13:39
(35) так я вручную выгружаю. какой полный цикл.
37 zladenuw
 
25.11.13
13:39
в файле только данные которые выгрузил. и там нету номер сообщения
38 Maxus43
 
25.11.13
13:44
(36) дак ты выгрузил. А загрузить в другую базу и выгрузить оттудова ответ о загрузке кто будет делать?
в правилах за 5 минут я тоже хз что ты сделал...
39 zladenuw
 
25.11.13
13:52
(38) какой ответ в загрузке ? в кд нужно указывать или где ?
40 zladenuw
 
25.11.13
14:01
выгрузил в источнике указало тип сообщение 1. загрузил в приемник. и как передать теперь источнику. номер принятого сообщения ?
41 Maxus43
 
25.11.13
14:01
вобще в файле должны быть поля, кому, от кого, номер принятого, номер отправленного
42 Maxus43
 
25.11.13
14:02
(40) выгрузи из приёмника и загрузи в источник
43 zladenuw
 
25.11.13
14:03
(42) нечего не изменилось. (41) нету такого :(
44 zladenuw
 
25.11.13
14:04
(41) вернее от кого, кому есть. а вот номеров нету
45 grayshadow
 
25.11.13
14:04
блеать... если юзается УниверсальныйОбменXML, значит обмен идет НЕ по плану обмена, и никаких номеров сообщение не может быть
46 zladenuw
 
25.11.13
14:05
(45) как не может быть. если при выгрузке. у меня номер присвоилься.
47 zladenuw
 
25.11.13
14:06
(45) там где выбираю объекты. указываю узел обмена. то как он может идти не по плану обмена ?
48 zladenuw
 
25.11.13
14:09
даже очищаються изменения в плане обмена. а вот номера полученных сообщений не проставляются. :(
49 grayshadow
 
25.11.13
14:09
да сорри, была не права
у узла есть реквизит НомерПринятого и НомерОтправленного
50 grayshadow
 
25.11.13
14:11
если универсальный их не проставляет, значит надо самому...
51 zladenuw
 
25.11.13
14:12
(50) а как ?
52 grayshadow
 
25.11.13
14:16
внешней обработкой, вестимо:)
53 Maxus43
 
25.11.13
14:17
Должно это быть предусмотрено в стандартной обработине обмена данными
54 grayshadow
 
25.11.13
14:26
неа, в универсальном не предусмотрено
видать, именно потому что он может работать без узлов:) потому что на 2й стороне может быть любая неведома хрень:)
55 zladenuw
 
25.11.13
14:30
та да. и вот этой хрени. нужно указать что сообщение получили. какой метод устанавливает номер принятого сообщения ?
56 grayshadow
 
25.11.13
14:31
УзелОбъект.НомерПринятого = 1; :)
57 zladenuw
 
25.11.13
14:33
(55) нашел уже. а как теперь настройки которые вручную задавал на форме. заполнить программно в универсальной обработке с указанием узла ? :)
58 grayshadow
 
25.11.13
14:36
допилить универсальную обработку или написать внешнюю
при выгрузке она пишет номер отправленного, а при загрузке номер принятого не пишет

кстате, хозяйке на заметку: в типовых обменах регистрация изменений сбрасывается не после отправки, а после приема ответного сообщения...
59 zladenuw
 
25.11.13
14:41
это я уже понял. пилю обработку. будут сложности напишу тут :)
60 zladenuw
 
25.11.13
14:46
ерись блин. получаю макет с двоичными данными. при попытке записать. пишет что нет такой функции.
61 zladenuw
 
25.11.13
15:13
хм. пытаюсь программно прочитать файл. матюкаеться на ошибку. загружаю в предприятие ошибки нету. один и тот же файл.
матюкаеться на тип источника
62 grayshadow
 
25.11.13
15:28
шо за двоичные данные? почему не текст, не xml,... ?