Сопровождение 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';]])

Причины ошибочных отправок файлов:

  1. Нет свободного места на диске с MT-файлами

  2. Не смонтирована папка с MT-файлами

  3. Был перезапущен сервис в момент выгрузки файлов

Ошибка при удалении кредита

Если при удалении кредита возникает ошибка:

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 означает, что все ок

Массово переотправить ошибочные (неотправленные ранее по техническим причинам) ДБЗ по определенному банку

  1. Настройка->Rest-Services

  2. Находим по коду resend_dbz

  3. Например, нужно перезапустить, процесс 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. Сохраняем рест сервис, Запускаем через кнопку тест.

Переотправить МТ-файлы в Фасти в связи Изменением адреса или другой причины

Условие:

  1. Период: 1-5 апреля 2022 года

  2. Папка: OTBASY_OUT

  3. Статус: 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'

Отключить формирование МТ сообщений

Отключить формирование определенных МТ сообщений можно следующим образом:

  1. Откройте меню Настройки К2 -> Виды запросов

  2. Откройте необходимый вид запроса по КОДУ RD1,RD2,EAR,RZAP,OP1 или PTP

  3. Поставьте галочку “Отключить обработку”

  4. Нажмите сохранить