Пошаговое руководство

Проблема актуальна для релиза Навигатор 6.4.12.

Для устранения проблемы необходимо в скрипте Job'a (Sheduler'a) установить идентификатор пользователя для сессии: 

DBMS_SESSION.SET_IDENTIFIER(client_id=> -1);

На примере скрипта для автоматической квитовки документов: 

DECLARE
    vInfo varchar2(2000);
    vDate Date;
    
BEGIN 
    DBMS_SESSION.SET_IDENTIFIER(client_id=> -1);
    vDate :=TD;
    vInfo := 'Запускаем квитовку МЦИ за '||TO_CHAR(vDate,'DD.MM.YYYY')||'.';
    sp_mci_auto_kvit (/*full sig:*/
         pvd=>vDate/*date*/
        ,pshttype=>'ALL'
        ,puserid=>-1/*number*/
        ,pfilial_id=>f_parameter_str('FILIAL_ID')/*number*/);
    vInfo := 'Запускаем квитовку SWIFT за '||TO_CHAR(vDate,'DD.MM.YYYY')||'.';
    sp_mci_auto_kvit_swift(
         pvd=>vDate/*date*/
        ,pshttype=>'ALL'/*varchar2*/
        ,puserid=>-1/*number*/);
    vInfo := ' Квитовка прошла успешно ';
    
EXCEPTION 
    when OTHERS  THEN
        vinfo := vinfo || 'ORAERR = '||SQLERRM;
         rn_msg.pkg_msg_send.prc_send_message
                        (
                'AUTO_KVIT_MCI-SWIFT', -- 
                1          , -- Приоритет сообщения.
                'Y'        , -- Сохранить сообщение в журнале
                'Y'        , -- Сохранить рассылку в журнале
                null , -- Список пользователей с доступом на редактирование к счету
                vinfo,-- Текст сообщения
                'INTEGRATION', --Тема
                null       ,-- Текст сообщения для воспроизведения.
                null       , -- Дополнительное поле 'A'
                null       , -- Дополнительное поле 'B'
                null       , -- Дополнительное поле 'C'
                null         -- Дополнительное поле 'D'
                    );
END;
/


Похожие статьи