|   |   | 
| 
 | Удаление регистрации в плане обмена | ☑ | ||
|---|---|---|---|---|
| 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     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |