Разработка #2805: Остановка групповой обработки при заблокированном документе - 1Cv7 ВСД в ГИС Меркурий - КБ99 Redmine

Проект

Общее

Профиль

Разработка #2805

Остановка групповой обработки при заблокированном документе

Добавил(а) Pentyukhov Sergey больше 5 лет назад. Обновлено больше 5 лет назад.

Статус:
Завершена
Приоритет:
Нормальный
Назначена:
-
Версия:
Дата начала:
28.06.2019
Срок завершения:
Готовность:

0%

Оценка временных затрат:

Описание

Об этом неудобстве писал ранее...

Столкнулись с определенной "проблемой".
Запущена "Групповая обработка Транзакция2", создали ВСД, Запускаем
Отправку ВСД. Все работает.

В этот момент КТО ТО открыл НЕ ОТПРАВЛЕННЫЙ еще документ "ВСД2
транзакция". Естественно получаем ошибку Документ заблокирован...
Все... процесс обработки последующих ВСД останавливается.

Предлагаю Подкорректировать две Функции
СохранитьСтатусЗапроса(док)
ПолучитьРезультат_ВСД(applicationID, докСсылка)

листинг из ИНТЕГРАЦИИ

//======================================================================
// [+]serpent, 03.05.2019
//отрабатываем проверку при записи, если документ заблокирован... Ругаемся и идем дальше
Функция СохранитьСтатусЗапроса(док) Экспорт

    //стандартное поведение функции
    ДокОб = СоздатьОбъект("Документ");
    ДокОб.НайтиДокумент(док);

    ДокОб.applicationID = СокрЛП(ГМ.Компонента.ApplicationId);
    ДокОб.Статус         = СокрЛП(ГМ.Компонента.Status);
    //ДокОб.Комментарий = СокрЛП(Компонента.ErrorMessage);
    Попытка
        ДокОб.Записать();
    Исключение
        ГМ.СообщитьОбОшибке("Не удалось Записать документ "+док+" "+ОписаниеОшибки(), Сам(), "Интеграция(2037)");
        Возврат 0;
    КонецПопытки;

    Сообщить(" статус = "+ДокОб.Статус );
    //Если ПустоеЗначение(СокрЛП(ДокОб.Комментарий))=0 Тогда
    //    Сообщить("Ошибка: "+ДокОб.Комментарий);
    //КонецЕсли;

    Если ( СокрЛП(док.Статус)="COMPLETED") ИЛИ (СокрЛП(док.Статус)="CONFIRMED")  Тогда
        Попытка
            // проведем только успешно выполненный запрос
            ДокОб.Провести();
        Исключение
            ГМ.СообщитьОбОшибке("Не удалось провести документ "+док+" "+ОписаниеОшибки(), Сам(), "Интеграция(2043)");
            Возврат 0;
        КонецПопытки;
    КонецЕсли;

    Возврат 1;
КонецФункции

//======================================================================
// [+]serpent, 30.04.2019
//отрабатываем проверку при записи, если документ заблокирован... пропускаем
Функция ПолучитьРезультат_ВСД(applicationID, докСсылка) Экспорт

    //стандартное поведение функции
    Если ПустоеЗначение(applicationID)=1 Тогда
        Сообщить("Пустая ссылка applicationID","!");
        Возврат "Пустая ссылка applicationID";
    КонецЕсли;

    Сообщить("Отправляем запрос результата ["+applicationID+"] "+докСсылка );
    //Результат = Компонента.SendRequestResult( applicationID );
    Результат = ГМ.ПолучитьРезультатСервер( applicationID );

    Если ПустоеЗначение(докСсылка)=0 Тогда
        //СохранитьСтатусЗапроса(докСсылка); //[-]serpent, 30.04.2019
         Если ГМ.СохранитьСтатусЗапроса(докСсылка)<>1 Тогда
            Сообщить("Проблема с записью в документ...","!!!");
            Возврат "Документ Заблокирован";
        КонецЕсли;
        ГМ.ЗагрузитьXML_ВСД( ГМ.Компонента.LogFilename, докСсылка);
    КонецЕсли;

    ГМ.ЗагрузитьXML_Партии( ГМ.Компонента.LogFilename );

    ГМ.УдалитьXML( ГМ.Компонента.LogFilename );

    ГМ.СохранитьОтветВДокументе(докСсылка);

    Возврат Результат;
КонецФункции

Связанные редакции

Редакция 8dafeb3c (Разница(diff))
Добавил(а) кб99 Синявский Филипп больше 5 лет назад

Остановка групповой обработки при заблокированном документе refs #2805
ВСД2_Транзакция - выбор партии по сроку годности Реализации refs #2841

История

#1 Обновлено кб99 Синявский Филипп больше 5 лет назад

ок спасибо, добавил

#2 Обновлено кб99 Синявский Филипп больше 5 лет назад

  • Параметр Статус изменился с Новая на Тестирование

#3 Обновлено кб99 Синявский Филипп больше 5 лет назад

  • Параметр Проект изменился с Sergey serpent1C на 1Cv7 ВСД в ГИС Меркурий
  • Значение кб99 Синявский Филипп параметра Назначена удалено

#4 Обновлено Pentyukhov Sergey больше 5 лет назад

Не хватает одного "Возврат 0;" в попытке Записать()

https://redmine.kb99.pro/boards/1/topics/1520?r=1559#message-1559

#5 Обновлено кб99 Синявский Филипп больше 5 лет назад

исправил

#6 Обновлено кб99 Синявский Филипп больше 5 лет назад

  • Параметр Версия изменился на v7.1.13

#7 Обновлено кб99 Синявский Филипп больше 5 лет назад

  • Параметр Статус изменился с Тестирование на Завершена

Экспортировать в Atom PDF