Сопровождение DamuCRM K2. Поиск и устранение ошибок¶
Поиск причины не выгрузки скана ДБЗ из ЕКО¶
Открываем кредит, по которому нет файла Скана ДБЗ:
Скриншот экранной формы Кредита с пустым сканом ДБЗ
Нажмем кнопку просмотра действий:
Нажмем кнопку просмотра инстанции в журнале процесса (i) напротив “Получить выписку из ЭКД и Склеить выписку к ДБЗ”:
Видим причину ошибки напротив поля last_error:
Нет сканов ДБЗ означает, что сервис ЕКО вернул ответ с 0 элементами поля result, например, result : []
Переотправка застрявших МТ-файлов в статусе Ошибка, Отправка¶
В случае, если исходящие MT-файлы зависли в статусе Ошибка или Отправка:
Запустить SQL в базе данных:
update k2mtfile set stat_id = (select id from k2mtfile_stat where code='readytosend') where stat_id in (select id from k2mtfile_stat where code in ('error','sending')) and io='O';
update k2mtfile set stat_id = (select id from k2mtfile_stat where code='readytoimport') where stat_id in (select id from k2mtfile_stat where code in ('error')) and io='I';
На будущее создайте В планировщике заданий скрипт с кодом k2mtfiles_process_restart_error и интервалом каждые 10 минут:
0 */10 * * * *
SqlExec2([[update k2mtfile set stat_id = (select id from k2mtfile_stat where code='readytosend') where stat_id in (select id from k2mtfile_stat where code in ('error','sending')) and io='O';]])
Причины ошибочных отправок файлов:
Нет свободного места на диске с MT-файлами
Не смонтирована папка с MT-файлами
Был перезапущен сервис в момент выгрузки файлов
Ошибка при удалении кредита¶
Если при удалении кредита возникает ошибка:
pq: update or delete on table "k2loan" violates foreign key constraint "k2extreq_loan_id_k2loan_fk" on table "k2extreq"
Необходимо сначала удалить связанные исходящие ПТ по данному кредиту.
Удалить исходящие ПТ по кредиту можно сделать из-под страницы Кредита:
Массово установить батчкод по всем кредитам¶
Настройка -> Rest Сервисы
Создать +
Код, например, k2_set_batchcode
Наименование, например, k2_set_batchcode
Модуль: k2
Скрипт:
output={}
output.errText,output.errNum = SqlExec2("update k2loan set batchcode=123")
Сохранить
Нажать кнопку тест и посмотреть результат в поле: Тестовые выходные данные
errText=”” и errNum = 0 означает, что все ок
Массово переотправить ошибочные (неотправленные ранее по техническим причинам) ДБЗ по определенному банку¶
Настройка->Rest-Services
Находим по коду resend_dbz
Например, нужно перезапустить, процесс k2extaccreqdtl_send_dbz_alfa1_ , тогда копированием блок кода, который отправляет данные.
Также, папример по Альфе, успешным ответом является наличие слово, DBZ saved. поэтому заменяем условие i3.debug like ‘%DBZ saved%’.
По Альфе БП = k2extaccreqdtl_send_dbz_alfa1_, значит заменяем на i$k2extaccreqdtl_send_dbz_alfa1_
output = {}
arr, output.errText, output.errNum = SqlQueryRows([[
select i2.* from i$k2extaccreqdtl_send_dbz_alfa1_ i2 join bp_instances i on i.id=i2.id$ where (i2.last_error like '%ERR%' or i2.last_error is null)
and not exists (select 1 from i$k2extaccreqdtl_send_dbz_alfa1_ i3 where i3.id = i2.id and i3.debug like '%DBZ saved%')
]])
for k,v in pairs (arr) do
vvars ,instanceId,taskId,errText,errNum = BPMSStartProcess("k2extaccreqdtl_send_dbz",19,{id = v.id})
Commit()
end
Сохраняем рест сервис, Запускаем через кнопку тест.
Переотправить МТ-файлы в Фасти в связи Изменением адреса или другой причины¶
Условие:
Период: 1-5 апреля 2022 года
Папка: OTBASY_OUT
Статус: sent7z
Выполните SQL в базе:
update k2mtfile set stat_id = (select id from k2mtfile_stat where code='readytosend')
where stat_id= (select id from k2mtfile_stat where code='sent7z')
and dir_id = (select id from k2dir where code='OTBASY_OUT')
and io='O'
and created_at between '2022-04-01' and '2022-04-05 23:59:00'
Отключить формирование МТ сообщений¶
Отключить формирование определенных МТ сообщений можно следующим образом:
Откройте меню Настройки К2 -> Виды запросов
Откройте необходимый вид запроса по КОДУ RD1,RD2,EAR,RZAP,OP1 или PTP
Поставьте галочку “Отключить обработку”
Нажмите сохранить