[ОТВЕТИТЬ]
Опции темы
01.08.2016 09:07  
Elena
Добрый день, коллеги.
вот была тема, где упомянули что это возможно.
https://olegon.ru/showthread.php?t=24672&page=2
нас интересует проверка 122, необходимо создать ее аналог, которая не будет срабатывать при некоторых пользовательских операциях.
 
01.08.2016 11:15  
vdm
У вас какая версия СМ? В 1.032 не нашел проверку №122.
В принципе, при условии "исключить некоторые операции, а всю прочую логику оставить" не нужно знать код. Достаточно иметь имя процедуры, которая соответствует проверке 122.
Покажите
SQL код:
select from SSInspectDoc where InspectID=122 
 
"Спасибо" vdm от:
02.08.2016 06:19  
Elena
Цитата:
Сообщение от vdm
У вас какая версия СМ? В 1.032 не нашел проверку №122.
В принципе, при условии "исключить некоторые операции, а всю прочую логику оставить" не нужно знать код. Достаточно иметь имя процедуры, которая соответствует проверке 122.
Покажите
SQL код:
select from SSInspectDoc where InspectID=122 
спасибо за участие.
В этот то и проблема как найти какая процедура соответствует этой проверке.
Версия 1.33.1 сп4
 
02.08.2016 06:59  
OlegON
Так результат запроса покажите?
 
03.08.2016 04:33  
Elena
Цитата:
Сообщение от OlegON
Так результат запроса покажите?
WI 3 2 122 INSPECT2.DocWIUseEGAIS 1
WO 3 2 122 INSPECT2.DocWIUseEGAIS 1
 
03.08.2016 10:15  
vdm
SQL код:
CREATE OR REPLACE PROCEDURE SUPERMAG.USR_INSP_DocWIUseEGAIS (
   
indoctype    IN   smdocuments.doctype%TYPE,
   
indocid      IN   smdocuments.ID%TYPE,
   
inoldstate   IN   smdocuments.docstate%TYPE := NULL,
   
innewstate   IN   smdocuments.docstate%TYPE := NULL,
   
indummy      IN   core.smbool := NULL )
IS
-- Проверка №122 без учета операции "Списание брака"
  
doc_opcode       supermag.smdocuments.locationfrom%TYPE;
BEGIN
    
-- Если операция документа 7завершаем проверку
    SELECT d
.opcode  
      INTO doc_opcode
      FROM supermag
.smdocuments d 
     WHERE d
.id indocid AND d.doctype indoctype;
    IF 
doc_opcode=7 THEN RETURN; END IF;

    -- 
Вызов стандартной проверки 122
    INSPECT2
.DocWIUseEGAIS(indoctypeindocidinoldstateinnewstateindummy);
END USR_INSP_DocWIUseEGAIS;
/

DECLARE
  
INSPECT_ID       supermag.ssinspectfunc.id%TYPE := 950;
  
INSPECT_NAME     supermag.ssinspectfunc.name%TYPE := 'Пользовательская проверка №122';
  
INSPECT_ORANAME  supermag.ssinspectdoc.inspectoraname%TYPE := 'USR_INSP_DocWIUseEGAIS';
BEGIN
  insert into supermag
.ssinspectfunc(idnamedefinspectmodevalues (INSPECT_IDINSPECT_NAME2);
  
insert into supermag.ssinspectdoc (doctypedocstatedocstatebeforeinspectidinspectoranamedobefore)
    
values ('WI'32INSPECT_IDINSPECT_ORANAME1);
  
insert into supermag.ssinspectdoc (doctypedocstatedocstatebeforeinspectidinspectoranamedobefore)
    
values ('WO'32INSPECT_IDINSPECT_ORANAME1);
  
commit;
END;

Номер проверки выставлен в 950, проверьте что у вас такой нет.
В адм. модуле 122 отключить, 950 включить.
 
"Спасибо" vdm от:
25.10.2016 07:54  
john_the_ripper
Каким-то образом можно получить код проверки самостоятельно? Интересует проверка №151
 
 
Опции темы



Часовой пояс GMT +3, время: 22:55.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.