|
Интеграция - ручное управление очисткой регистрации изменений |
☑ |
0
mg-samara
27.10.20
✎
12:04
|
Добрый день, коллеги.
Вопрос следующий.
Есть обмен между двумя разными базами (например БУХ и ЕРП) Самостоятельно написаны правила обмена.
Выгружается пакет обмена в рамках которого несколько документов.
Один из документов, находящийся в файле обмена не загрузился в базу-преемник по некоторой причине, скажем некорректные данные. Ошибка проявляется в ходе загрузки.
Формируется файл-ответа и загружается в базе источнике.
Необходимо - после загрузки файла-ответа очистить регистрацию к обмену по все документам, участвующем в выгрузке, кроме тех, по которым была ошибка.
Таким образом документ будет передаваться несколько раз до того момента как ошибка при загрузке не уйдет.
|
|
1
ДенисЧ
27.10.20
✎
12:09
|
Типовые обмены (да и вообще механизм обменов в 1с) не предусматривают подтверждения или опровержения части пакета. Они работают по принципу "всё или ничего".
Колхозь свой механизм
|
|
2
RomanYS
27.10.20
✎
12:09
|
(0) хитрый план :)
По идее как-то нужно перерегистрировать такие объекты для повторной выгрузки. Только непонятно почему некорректные данные при повторной выгрузке могут стать вдруг корректными.
|
|
3
Dionis Sergeevich
27.10.20
✎
12:12
|
(0) в типовых интеграциях, например, бесшовная интеграция erp с документооборотом этот вопрос решен через формирование сообщений обмена.
|
|
4
mg-samara
27.10.20
✎
12:13
|
(1) Пичалька.
Давно не занимался обменами и надеялся, что восьмерка в своем буйном развитии что-то уже придумала.
|
|
5
mg-samara
27.10.20
✎
12:14
|
(2) Ошибка может быть из-за отсутствия данных, который приходят по своим собственным правилам откуда-то еще.
|
|
6
RomanYS
27.10.20
✎
12:16
|
(5) Зачем их выгружать повторно? Такая ситуация должна разруливаться уже в приемнике.
|
|
7
mg-samara
27.10.20
✎
12:16
|
(3) Интересно, а можно подробнее о алгоритме.
При загрузке мы знаем где есть ошибка, где нет.
Как передать эту информацию в базу-источник и убедиться о том, что объекты остаются зарегистрированными к обмену?
|
|
8
mg-samara
27.10.20
✎
12:22
|
(6) Да, согласен. Это возможный вариант.
Но мне пока нужно сделать так как изложил выше. :-)
|
|
9
Dionis Sergeevich
27.10.20
✎
12:23
|
(7) зарегистрированные изменения получаются из плана обмена и записываются в регистр - очередь сообщений, потом отдельно регламентное задание передает данные, при успехе запись удаляет.
|
|
10
ДенисЧ
27.10.20
✎
12:26
|
(9) Что, прямо подокументно, посправочно? А мягкие знаки они в эту схему встроили?
|
|
11
Dionis Sergeevich
27.10.20
✎
12:27
|
(10) типовой вариант тащит все изменения, но у себя я сделал пообъектно
|
|
12
Dionis Sergeevich
27.10.20
✎
12:29
|
По крайней мере можно будет отследить успешность отправки.
Ну и ни чего не мешает сделать 100 сообщений вместо одного.
|
|
13
mg-samara
27.10.20
✎
12:33
|
(9) Спасибо.
Я правильно понимаю, что это типовая реализация?
|
|
14
mg-samara
27.10.20
✎
12:36
|
(11) Прочитал, спасибо.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший