CftClub.ru
Клуб специалистов ЦФТ-Банк

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

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение
Предыдущая тема :: Следующая тема  
Автор Сообщение
MVZ
Участник со стажем


Вступление в Клуб: 14.03.2023
СообщениеЧт Апр 13, 2023 09:50   Проблема с отправкой документов по кредитному договору клнта Ответить с цитатой
Полезность: Нет оценки
Коллеги добрый день.

Создал данную тему здесь, так как по моему мнению, проблема с которой я столкнулся не проблема с кодом а скорее всего с какой-то настройкой.

Описание проблемы
При отправки документов по кредитному договору клиента в фактуру поле процентная ставка устанавливается в 0. Данная проблема видна уже в xml пакете на отправку
Код:
... interest-rate="0" ...

. Свойства договора я проверил там процентная ставка проставлена. Тип процентной ставки - Простая.

Построил свой запрос в SQL Developer, ставка возвращается из бд без проблем
Код:

-- Получим схему и процентную ставку
select *
    from Z#PRC_SCHEME a1
    join z#ARC_SCH_PRC b1 on a1.c_list_sch_prc =b1.collection_id
    where a1.id =7782914937;
   
---
C_VAL_SIMPLE_PRC = 8,5

При анализа дистрибутивного кода, сложилось ощущение, что данные процентной ставки тянутся из кэша текущей сессии.
Код:

-- пример уже с моей подстановкой, так как в дистрибутиве вызовы идут через pragma
::[PR_CRED].[NEW_DOG_LIB].Find_Scheme(7782914853, ::[VID_DEBT]([CODE]='НЕУЧТЕН_ПРОЦЕНТЫ'));


Собственно сложилось ощущение того что данные просто не кэшируются в следствии отсутствия каких-то настроек. Мне сложно представить что разработчики могли допустить здесь ошибку, так как это довольно серьезный продукт и я уверен достаточно обкатан чтобы не содержать таких ошибок. По опыту работы с 1С, довольно часто встречаются псевдо проблемы, причина которых как правило упирается либо в неправильно оформленные свойства например клиента, либо каких-то настроек конфигурации.

Если кто-то сталкивался с подобным, можете пожалуйста подсказать что посмотреть.

Заранее благодарен,
С Уважением,
Максим
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеЧт Апр 13, 2023 11:19    Ответить с цитатой
Полезность: Нет оценки
Отладка не поможет? Либо на копии операции, либо в пакете?
-Eugene-
Участник


Вступление в Клуб: 21.04.2008
СообщениеЧт Апр 13, 2023 19:38    Ответить с цитатой
Полезность: Нет оценки
Попробуйте дернуть [PRC_SCHEME].[LIB].GetPrcRate(7782914937, sysdate)
MVZ
Участник со стажем


Вступление в Клуб: 14.03.2023
СообщениеПт Апр 14, 2023 08:46    Ответить с цитатой
Полезность: Нет оценки
-Eugene- пишет:
Попробуйте дернуть [PRC_SCHEME].[LIB].GetPrcRate(7782914937, sysdate)


Да, все отрабатывает штатно, кроме того проверил еще и работу модуля

::[BC_FAKTURA].[SEND_CRED_INFO] там тоже все нормально, но вот чего я понять не могу так это где фактически происходит формирование XML пакета, я не смог понять, что вызывается из ::[BC_FAKTURA].[SEND_CRED_INFO] что формирует xml пакет на отправку в фактуре.

Подскажите пожалуйста если знаете.

Заранее благодарен,
С Уважением,
Максим.
-Eugene-
Участник


Вступление в Клуб: 21.04.2008
СообщениеПт Апр 14, 2023 21:23    Ответить с цитатой
Полезность: Нет оценки
Похоже надо смотреть здесь: PR_CRED.INFORM_LIB.GetInterestRate
-Eugene-
Участник


Вступление в Клуб: 21.04.2008
СообщениеПт Апр 14, 2023 21:44    Ответить с цитатой
Полезность: Нет оценки
Формируется xml здесь ::[BC_FACTURA].[EXPORT]

Определения полей здесь: ::[BC_FACTURA].[XML_INI_LIB2]
MVZ
Участник со стажем


Вступление в Клуб: 14.03.2023
СообщениеЧт Апр 20, 2023 02:53    Ответить с цитатой
Полезность: Нет оценки
Думаю чnо проблема решена.
Если интересно и для истории расскажу как был найден исток проблемы.
Путем несложных махинаций с дистрибутивным кодом ::[PR_CRED].[INFORM_LIB].getInterestRate

Код:

function getInterestRate
      ( p_oCred   [PR_CRED]
      , on_date   in [DATE]
) return number is
   aComissArr   [DEBT_COMISS_ARR];
   iComiss   integer;
   rScheme ref [PRC_SCHEME];
   nRetrValue number := 0;
begin
   ...
         where prcScheme = rScheme
               -- если есть базовая схема, то берём с неё, иначе с основной
               and baseScheme = coalesce(prcScheme.[BASE_SCHEMA], prcScheme)
            ...
      ...
   
   return nRetrValue;
end;


Все оказалось в том что кредитная линия, которая была заведена имела базовую схему с нулевой процентной ставкой.
Собственно, вместо того чтобы клепать заплатки, я задал вопрос кредитному отделу с просьбой рассмотреть корректность конфигурации данной кредитной линии, на предмет целесообразности использования базовой процентной схему с нулевым процентом.

Еще роз, всем большое спасибо.

С Уважением,
Максим.

P.S.

А вот если есть здесь специалисты по кредитам, помогите пожалуйста разобраться в мат. части. У нас тут возник небольшое спор с коллегами. Я считаю что если разработчик поставил жесткое условие
Код:

- если есть базовая схема, то берём с неё, иначе с основной
 baseScheme = coalesce(prcScheme.[BASE_SCHEMA], prcScheme)


Это значит что у кредита может быть только одна схема либо сложная, либо базовая, и если есть базовая, значит других быть не может. По опыту работы, если программисту ставится прикладная задача то фактически он знает прикладную область и ставит жесткие условия на 100% соответствующие реальному миру. То есть я хочу сказать что если ЦФТ прописали такое условие значит оно на 100% соответствует реальности, здесь не может быть догадок или самостоятельных до думок ведь речи идет о коммерческом продакшн решении.
Если сможете сослаться на нормативную документация буду признателен.

С Уважением,
Максим
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru