Имя: Пароль:
1C
1С v8
Интеграция - ручное управление очисткой регистрации изменений
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) Прочитал, спасибо.