|
При записи или обработка проведения? | ☑ | ||
---|---|---|---|---|
0
andryscha1c
31.03.21
✎
10:31
|
Есть потребность отправлять данные документов одного вида из одной базы в другую. Логично это делать тогда когда ссылка в базе данных сформируется, это значит в событии при записи и обработка проведения. Где правильней разместить HHTP запрос на отправку данных проводимого документа? Замечу что параметр режим записи есть только у события перед записью. Склоняюсь к обработке проведения, что бы гарантированно отправить только данные проводимого документа.
|
|||
1
Волшебник
31.03.21
✎
10:32
|
Надо регистрировать в плане обмена, потом регламентным заданием отправлять изменения.
|
|||
2
andryscha1c
31.03.21
✎
10:35
|
(1) плана обмена нет, просто произвольная отправка данных документов одного вида посредством hhtp запроса. ЕСть вариант разместить это в регламентные задания и там каждую минуту делать отправку.
|
|||
3
Волшебник
31.03.21
✎
10:39
|
(2) создайте план обмена
|
|||
4
andryscha1c
31.03.21
✎
10:42
|
(3) и обмениваться через xml файл?)
|
|||
5
Волшебник
31.03.21
✎
10:43
|
(4) Обмениваться точно так же через HTTP-запрос.
План обмена нужен для регистрации изменений и быстрого выполнения рег.задания каждые N минут. |
|||
6
acht
31.03.21
✎
10:43
|
(0) > Склоняюсь к обработке проведения
Что ты будешь делать, если последующая подписка на событие отменит транзакцию, а ты уже радостно запихал данные в другую систему? |
|||
7
acht
31.03.21
✎
10:44
|
Или транзакция просто поломается сразу после отправки...
|
|||
8
fisher
31.03.21
✎
10:50
|
(4) Планы обмена не имеют отношения к транспорту обмена. Это просто механизм регистрации изменений. А отправлять уже будешь в своем регламентном задании по http. В транзакции записи это делать плохо по двум основным причинам:
- сбои связи приведут к невозможности проводить документы - возникает гемор с корректной фиксацией распределенной транзакции (ведь она может откатиться на любой стороне). |
|||
9
DGorgoN
31.03.21
✎
10:52
|
Да и вопрос тормоза при проведении тоже есть.
|
|||
10
andryscha1c
31.03.21
✎
10:53
|
(8) документ создается программно и запись происходит через "попытку", что если после записи программной в удачной попытке отправить его?
|
|||
11
andryscha1c
31.03.21
✎
10:54
|
попытка
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение); //тут отправитьего исключение конецпопытки |
|||
12
fisher
31.03.21
✎
10:56
|
(11) Это упрощает. Только не попытка нужна а транзакция. Чтобы при неудачной отправке можно было ее откатить. Но я бы все равно делал через план обмена и регламент. Это более гибкое и надежное решение.
|
|||
13
andryscha1c
31.03.21
✎
10:59
|
(12) (3) да но с планом обмена придется скорее повозиться дольше =)
|
|||
14
fisher
31.03.21
✎
10:59
|
Хотя, если это чисто утилитарная фигня, которая не помешает оперативной работе если станет колом, то можно и так.
|
|||
15
Волшебник
31.03.21
✎
11:01
|
(13) Оно окупится.
|
|||
16
fisher
31.03.21
✎
11:01
|
(13) Не. Там очень просто. Грубо говоря активированный план обмена просто пишет табличку изменений, а ты в регламенте ее обходишь, отправляешь и чистишь.
|
|||
17
fisher
31.03.21
✎
11:04
|
Точнее не табличку изменений, а табличку измененных с прошлого сеанса обмена документов (ведь ты ее будешь зачищать при отправке изменений).
|
|||
18
andryscha1c
31.03.21
✎
11:08
|
(15) (17) спасибо коллеги =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |