|
Удаление регистрации в плане обмена | ☑ | ||
---|---|---|---|---|
0
breezee
13.12.17
✎
18:08
|
Добрый день! Делаю обмен данными на конвертации 2 по веб. сервисам. Запускаю обработку обмена данными по регламенту. Обработка выгружается все зарегистрированные в узлах обмена данные. Файл с данными отправляю по веб-сервису. Далее запускаю обработку обмена данными, указываю временный файл, который прилетел по веб-сервису и загружаю. Все работает, но юзерам крайне важно, чтобы не загруженные данные загрузлись в следующий раз. То есть мне надо отловить все не загруженные данные и все загруженные данные в таблицу значений. Загруженные удалить из узла обмена, а не загруженные не удалять. Вопрос: как понять, что элемент был успешно загружен? В обработке загрузки данных есть такая возможность? Обработка "Exchange_v82". Типовая от конвертации.
И второй вопрос - может мой алгоритм кривой и иожно как-то проще все это сделать? Подскажите, пожалуйста. |
|||
1
breezee
13.12.17
✎
18:09
|
Отловить "успех" загрузки в приемнике, кончено.
|
|||
2
bodri
13.12.17
✎
18:10
|
от сервиса что за данные прилетают?
|
|||
3
breezee
13.12.17
✎
18:11
|
(2) Файл с данными, который конвертация данных выгрузила
|
|||
4
bodri
13.12.17
✎
18:14
|
спрошу по другому: <Обработка выгружается все зарегистрированные в узлах обмена данные. Файл с данными отправляю по веб-сервису. Далее запускаю обработку обмена данными, указываю временный файл, который прилетел по веб-сервису и загружаю> это из базы А в базу Б, а из Б в А что нибудь приходит, типа ответа или нет?
|
|||
5
breezee
13.12.17
✎
18:18
|
(4) Пока ни чего. В этом и проблема)
Из Б в А должны прилетать ссылки на все данные, которые были обработаны и признак "Успешно" То есть примерно так хочу: ГуидНоменклатуры1 Истина ГуидНоменклатуры2 Ложь ГуидДокументаПоступления Истина ... Откдуда эти данные взять - не знаю |
|||
6
bolobol
13.12.17
✎
18:18
|
(1) Или заведомо считать, что на том конце успех, потрачено.
|
|||
7
bodri
13.12.17
✎
18:19
|
можно в ответ просто номер сообщения слать и всё, при получении из Б в А удалять только те у кого номер сообщения соответствует, примерно так работает стандартный механизм обмена
|
|||
8
breezee
13.12.17
✎
18:19
|
(6) Так сейчас и делаем по всем обменам другим, но тут мне дали ясно понять, что так нельзя
|
|||
9
breezee
13.12.17
✎
18:22
|
(7) Тоже вариант, а номер в узле брать? Мне не надо регистрировать изменения в приемнике, можно и так, но если нужно
|
|||
10
bolobol
13.12.17
✎
18:24
|
(8) (5) Тогда - удалять из регистрации ГУИД, где Успешно пришло. Выгружать - всё что до сих пор зарегистрировано. Всем ГУИД-ам, что выгружаются - устанавливается номер очередного сообщения, если обнулился номер, значит до получения ответа изменился объект в источнике, т.е. с номером сообщения 0 - не удалять из регистрации, даже когда загрузка ГУИД-а пришла с Успешно.
|
|||
11
breezee
13.12.17
✎
18:28
|
(10) Так блин, на основной вопрос у меня еще нет ответа - как мне получить ГУИД и признак успешности? Вопрос в том, как посмотреть, что элемент был загружен или не загружен?
|
|||
12
Дык ё
13.12.17
✎
18:34
|
(11) если загружен не весь пакет - нарушена целостность данных. поэтому см. (6)
|
|||
13
breezee
13.12.17
✎
18:36
|
(12) То есть если что-то не выгрузилось - считать что не выгрузилось все? И ну удалять вообще все данные?
|
|||
14
bolobol
13.12.17
✎
18:37
|
(11) У вас отправляемые данные как пули об мишень разбиваются?, не опознать? Тогда и разговор ни о чём - нет ответа, нет возможности запроса - нет обратной связи.
|
|||
15
bodri
13.12.17
✎
18:45
|
(13) <То есть если что-то не выгрузилось - считать что не выгрузилось все? > Да
|
|||
16
breezee
13.12.17
✎
18:45
|
Так в этом же и вопрос, как этот ответ получить? Я это и спрашиваю. Как понять что данные не были загружены? Во всех исключениях в обаботке загрузки запоминать ГУИД исходных данных? Наверное так и сделаю)
|
|||
17
bodri
13.12.17
✎
18:46
|
база Б это 1С?
|
|||
18
breezee
13.12.17
✎
18:48
|
(17) да
|
|||
19
bodri
13.12.17
✎
18:51
|
База А отправляет номер сообщения, база Б читает файл успешно, в ответ отсылает только номер сообщения, если не успешно тогда не чего не отсылает, база А получив сообщение видит номер и удаляет регистрацию только с этим номером
|
|||
20
breezee
13.12.17
✎
18:53
|
(19) Ладно, спасибо, покурю завтра по номерам, пока не знаю, как устанавливать номера для каждого объекта базы данных, зарегистрированного в узлах
|
|||
21
bodri
13.12.17
✎
18:55
|
(20) При отправке сообщения из базы А присваиваешь номер, который равен номеру предыдущего +1
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |