Имя: Пароль:
1C
1С v8
Вопросы по обмену с РИБ
,
0 mzelensky
 
03.10.13
07:40
Доброго всем. Сел разбираться с планами обмена РИБ (нужно подправить правила регистрации объектов).

Имею:

Источник.ОбменДанными.Получатели.Добавить(Элемент);

ПланыОбмена.ЗарегистрироватьИзменения(МассивУзловДляРегистрацииОбъекта, СсылкаНаОбъект);

Вроде как и то и другое производит регистрацию объектов, не могу понять в чем разница и когда что нужно применять. Сп глядел, но четне доходит до меня.
1 Лоботряс
 
03.10.13
07:44
однохерственно
2 mzelensky
 
03.10.13
07:46
(1) Что-то как-то не верится,что "однохерственно". Ведь методы все-таки разные...зачем делать одно и тоже двумя разными методами?
3 mzelensky
 
03.10.13
07:46
(1) Кстати, здравствуй, земляк :)
4 Лоботряс
 
03.10.13
07:49
в первом случае у тебя источник - объект, во втором - ссылка на объект
5 Лоботряс
 
03.10.13
07:50
(3)Дарова!
6 Лоботряс
 
03.10.13
07:58
(4)Соответсвенно,первый метод используется когда в контексте есть полученный объект, а вторым можно регистрировать и простую ссылку. Надеюсь понятно объяснил, земляк:)
7 mzelensky
 
03.10.13
08:01
(4) в первом случае тоже ссылка может быть.
8 mzelensky
 
03.10.13
08:02
(7) а хотя нет, источник это объект...
9 mzelensky
 
03.10.13
08:03
Хорошо, тогда еще вопрос. Таком образом мы ставим некий объект на регистрацию и следовательно при первом же обмене он выгрузится.

А как снять объект с регистрации?
10 hhhh
 
03.10.13
08:08
(9) там само снимается, когда придет ответ от другого узла, что всё замечательно. Если ответа нет, то считается, что обмен не прошел, тогда объект выгружается повторно.
11 mzelensky
 
03.10.13
08:17
(10) Не, у меня односторонний обмен. И схема немного другая. Объект ставится на регистрации при установке определенных галочек. Но может быть следующая ситцация:

Гулку поставили (объект постаился на регистрацию). А потом ДО ОБМЕНА галку сняли. Следовательно мне уже не нужно этот объект выгружать. Но он то уже свисит в регистрации. Нужно его от туда убрать
12 hhhh
 
03.10.13
08:23
ну тогда там есть опять же два варианта

Источник.ОбменДанными.Получатели.Удалить

и

ПланыОбмена.УдалитьРегистрациюИзменений(
13 mzelensky
 
03.10.13
09:04
(12) пробовал через

"ПланыОбмена.УдалитьРегистрациюИзменений("

почему-то выдавало ошибку неверный параметр 1. В качестве параметра указывал "ПланОбмена.МойОбмен.ЭтотУзел"

Соответственно, как я думал, должны были сняться с регистрации все объекты данного узла. Но почему ему не нравится мой параметр так и не понял. с СП вроде сходится.
14 hhhh
 
03.10.13
09:27
(13) сам с собой узел не может обмениваться. Это ошибка из детского сада. Надо другой узел.
15 oreshka7387
 
03.10.13
09:40
одна из первых ссылок инфостарта по вопросу снятия с регистрации: http://forum.infostart.ru/forum42/topic58449/ может, поможет
16 Serg_1960
 
03.10.13
09:44
(11) Ты не совсем "в теме" :) Есть как бы ещё несколько ситуаций. Например: галку поставили в объекте и он ушел в подчиненный узел. ПОСЛЕ обмена галку сняли...

Имхо, если объект изменили - то регистрация по любому. Или для отправки в узел, или - для удаления из узла.
17 mzelensky
 
03.10.13
09:45
(14) Т.е. указывается узел "куда", а не "откуда"...ясно.
18 mzelensky
 
03.10.13
09:47
(16) Я конечно не совсем в "теме", но голова на месте. Мне это не нужно просто. Если галку поставили, объект ушел в подчиненный узел, а потом в центральном узле галку сняли, то кидать объект в подчиненный (для снятия там) уже не надо.

Это прописано в ТЗ :)
19 Serg_1960
 
03.10.13
10:39
(18) Какое хорошее у вас ТЗ :) А ничего, что рассогласование данных в наличие как бы? Или юзверы закосячили. Всего на пару секунд поставили галочку и тут-же сняли... а объект уже успел уплыть в узел с обменом.
20 mzelensky
 
03.10.13
11:15
(19) на то есть свои причины.