|
Возможны ли несколько ЭтихУзлов в плане обмена? | ☑ | ||
---|---|---|---|---|
0
vi0
21.09.16
✎
14:45
|
Добрый день
Нужна помощь, чтобы спроектировать обмен между базами. Приведу упрощенный пример. Есть две баз: Источник, Приемник. В приемнике работает несколько операторов - это разные магазины, работают с базой по удаленке. Каждый оператор инициирует свой обмен. Вопрос: Как организовать обмен, чтобы каждый оператор загружал только свои документы? Если делать по классике, то при организации плана обмена в приемнике будет 2 узла: УзелПриемник(текущая база) и УзелИсточник без разделения по магазинам. Можно, конечно задействовать фильтры и при выборке изменений задавать к.л. образом третий параметр в методе ВыбратьИзменения, но пока четко не понятно как это сделать. Коллеги, кто решал подобный вопрос? Какие способы задействовали? |
|||
1
gitotuta
21.09.16
✎
14:46
|
это будет несколько планов тогда
|
|||
2
Fragster
гуру
21.09.16
✎
14:46
|
сделать несколько баз, по количеству операторов, это логично же.
|
|||
3
vi0
21.09.16
✎
14:55
|
(2) нужно на существующей инфраструктуре обмен организовать
|
|||
4
Fragster
гуру
21.09.16
✎
14:57
|
(3) тебе никто не мешает сделать несколько баз на существующей инфраструктуре. или на жестком диске нет нескольких десятков гигабайт дополнительно?
|
|||
5
vi0
21.09.16
✎
14:59
|
(4) > тебе никто не мешает
если бы |
|||
6
Fragster
гуру
21.09.16
✎
14:59
|
(5) а что мешает?
|
|||
7
gitotuta
21.09.16
✎
15:03
|
(6) несколько баз в одном магазине? а выручку как смотреть по магазину? остатки в кассе?
|
|||
8
Fragster
гуру
21.09.16
✎
15:04
|
(7) пожалуйста, не говори за (0).
при учете в одном магазине не вижу необходимости обмена только "своими" документами |
|||
9
Fragster
гуру
21.09.16
✎
15:04
|
тем более в (0):
В приемнике работает несколько операторов - это разные магазины |
|||
10
gorakh
21.09.16
✎
15:28
|
(0) На платформе 8.2 Общий реквизиты МестоНазначения и МестоСоздания. В режиме РИБ при выгрузке фильтруются данные. Минус для каждого узла идет своя выгрузка. При большом количестве документов начинаются тормоза.
|
|||
11
gorakh
21.09.16
✎
15:33
|
(0) Не раскрыта конфигурация и платформа.
|
|||
12
vi0
21.09.16
✎
15:55
|
Платформа 8.3.5
Базу действительно разделить не получится - есть устоявшаяся большая система. Интересно в частности, использовал ли кто успешно фильтрацию в выборке изменений при двустороннем обмене, т.е. с подтверждением доставки. |
|||
13
gorakh
21.09.16
✎
15:59
|
(12) На платформе 8.2 Общий реквизиты МестоНазначения и МестоСоздания. ДАё Написал РИБ. Столкнулись с пределом на том оборудовании около 1000 документов в час
|
|||
14
vi0
21.09.16
✎
16:01
|
(13) и фильтрация третьим параметром в методе ВыбратьИзменения?
туда ссылки самих объектов передавали? |
|||
15
Фрэнки
21.09.16
✎
16:03
|
хочу уточнить у ТС : вы понимаете, что в терминах и понятиях регистрации изменений в разных данных и по разным планам обменов получается допущение по использованию множества узлов обмена в одной базе, вплоть до того, что в одной и той же базе можно выполнить и отправку и получение пакета от одного к другому источник-приемник?
|
|||
16
vi0
21.09.16
✎
16:04
|
(15) слишком большое предложение - честно - не понял
|
|||
17
gorakh
21.09.16
✎
16:06
|
(14)Фильтрация На узле РИБ ПриОтправкеПодчиненнному ПриОтправкеГлавному по указанным общим реквизитам.
|
|||
18
Фрэнки
21.09.16
✎
16:08
|
(16) база отправитель > чем узел отправитель и точно так же приемник больше чем узел приемник. и отправитель и приемник могут сидеть одной и той же базе
|
|||
19
gorakh
21.09.16
✎
16:12
|
(16) (15) Это про особенности платформы 8.3.3 и выше?
|
|||
20
vi0
21.09.16
✎
16:13
|
(18) и как эта возможность согласуется например с методом ЭтотУзел() ?
|
|||
21
Fragster
гуру
21.09.16
✎
16:14
|
(12) это реально извращение. проблемы с подтверждением доставки, с фильтрацией. либо вообще исключить пользователя из обмена и обмениваться всей информацией, либо сделать количество подчиненных баз по количеству пользователей. зачем подпирать костыли другими костылями вместо убирания оных - мне не понятно.
|
|||
22
vi0
21.09.16
✎
16:16
|
(21) в платформе есть возможность фильтрации выборки изменений
почему использование типовых возможностей - это извращение? |
|||
23
Фрэнки
21.09.16
✎
16:17
|
(20) ЭтотУзел применяют в БСП - если хочется, то можно откорректировать, как тебе нужно, по выбранному пользователю, например. ЭтотУзел - это только отправитель
|
|||
24
Фрэнки
21.09.16
✎
16:18
|
(22) выборка изменений и регистрация изменений делаются не по ЭтотУзел, а в адрес Получателя.
|
|||
25
Fragster
гуру
21.09.16
✎
16:23
|
(22) при использовании этой фильтрации есть хорошая возможность выстрелить себе в ногу. Например:
зарегистрирован документ 1 и документ 2 одного вида метаданных. выгружаем по фильтру документ 1. потом выгружаем по фильтру документ 2, затирая предыдущее сообщение. получаем подтверждение о выгрузке документа 1 и 2 (по номеру сообщений), вуаля, информация о изменениях документ 1 в центр не дошла. И даже если номер сообщения обнулять, если ранее выгруженный документ не попал в фильтр, то он будет выгружен два раза, что также не очень хорошо, и ведет к повышенной нагрузке на базу. |
|||
26
vi0
21.09.16
✎
16:23
|
(17) у меня не риб
|
|||
27
Fragster
гуру
21.09.16
✎
16:27
|
(26) если не РИБ, извращайся вообще как хочешь
|
|||
28
Fragster
гуру
21.09.16
✎
16:27
|
и несколько "этот узел" не надо
|
|||
29
Фрэнки
21.09.16
✎
16:27
|
(26) а если не РИБ, так тем более, нет никакого ЭтотУзел()
Если для обмена юзаются типовые механизмы через справочник НастройкиОбмена и НастройкиВыполненияОбмена, то там четко указываются и Отправитель и Получатель и можно легко прокрутить обмен, когда пара узлов Отправитель-Получатель будет меняться местами в разных элементах справочника и крутить обмен сама для себя. И эта мастурбация, конечно, вряд ли кому-то нужна, но она практически реализуема, если на это будет особое желание. |
|||
30
Serg_1960
21.09.16
✎
16:51
|
(0) "Возможны ли несколько ЭтихУзлов в плане обмена?" - нет, невозможно. Но, если у Вас несколько различных планов обмена, то в каждом из них есть только один уникальный предопределенный узел, соответствующий этой базе данных. Другими словами, для каждого конкретного плана обмена значение ЭтотУзел() - уникально.
|
|||
31
DailyLookingOnA Sunse
21.09.16
✎
19:18
|
Зачем обмен инициировать?
Запустил по расписанию. Обмен под особым пользователем, по результатам все магазины увидят только свои документы. Ну или просто пользователю дать запускать только регл. задание по обмену. |
|||
32
vi0
22.09.16
✎
04:50
|
(31) по расписанию не получится, там особая схема
|
|||
33
vi0
22.09.16
✎
09:17
|
(29) вы реализовывали подобное?
вижу, что мханизмы, о которых вы пишите используют функцию ЭтотУзел, как минимум, для формирования имени файла обмена |
|||
34
Фрэнки
22.09.16
✎
10:13
|
(33) А религия запрещает изменить строковое значение Отправителя, получаемое из кода Узла из объекта ЭтотУзел?
Вам же нужно сформировать пакет из данных по таблицам регистрации. А в регистрацию попадает инфа не на отправителя (который один и эта инфа мало что дает), а на получателя. Затем, при отправке выбираются данные по Получателю и записывается в пакет. Смотрите внимательней. Что нужно в задаче сделать? Есть условное множество Получателей, для которых надо определять, чего им отдавать из Источника. Это делается, да, но уже не автоРегистрацией в составе объектов метаданных из плана обмена, а по Подписке на событие "при записи", например, в которой определяется на какой узел или массив узлов нужно зарегать текущий объект в подписке. Затем, перед отправкой, по расписанию или по пользовательскому желанию, дергается НастройкаОбмена, в которой есть ссылка на узел Получатель. По получателью выбираются данные и в пакет, в отправку. Если же Вам серьезно нужно принимать в одной и той же базы РАЗНЫЕ по именам входящие пакеты, то и это делается. Еси совсем штатно, то там явно можно указать путь, имя файла для выполнения обмена. Все можно настроить. Там жесткой привязки нет. Даже в РИБ жесткость привязки к базам используется только в одном месте, где подставляется в пакет инфа о конфигурации отправителя из ГлавногоУзла И все. Кстати, если РИБ не используется, то и ГлавногоУзла (но я точно не помню как оно там именовано) в обмене нет. Там все равно куда отправлять по иерархии вверх или вниз |
|||
35
vi0
22.09.16
✎
10:48
|
(34) я написал про этот узел исходя из ваших слов:
"а если не РИБ, так тем более, нет никакого ЭтотУзел() Если для обмена юзаются типовые механизмы через справочник НастройкиОбмена и НастройкиВыполненияОбмена, то там четко указываются и Отправитель и Получатель" Но там используется ЭтотУзел, и в настройках не указывается Отправитель Так вы делали сами подобный обмен? |
|||
36
Фрэнки
22.09.16
✎
11:37
|
(35) Подобный, это какой? Где в имени пакета (при установке имени файла) нужно установить нужный суффикс? Делал. И говорю еще раз - не критичен имя или код узла отправителя. Хоть ты его из ЭтотУзел возьмешь, хоть сам припишешь от балды.
|
|||
37
vi0
22.09.16
✎
11:47
|
(36) обмен, когда в приемнике больше одного узла (этот узел) являются приемниками
|
|||
38
Фрэнки
22.09.16
✎
12:24
|
(37) сейчас гляну в конфиге, абстрагировано там сделано, или связано с ЭтотУзел. По моему, там в Настройках выбирается сразу конкретный тип: ПланОбмена такой-то, затем Конкретный Узел обмена. И дальше работа с разбором пакетов идет со ссылкой на узел. А данные просто пишутся в базу, без какого-либо различия для какого узла они были получены.
Но это надо глянуть... Когда и если пользоваться типовыми инструментами, то надо глянуть. |
|||
39
vi0
25.09.16
✎
07:26
|
В общем решили вопрос, используя несколько узлов в Источнике и только один соответвтующий узел в Приемнике. Но это, конечно не типовой обмен.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |