Форум сайта python.su
0
Сначала опишу ситуацию. Я пишу скрипты в web приложении на Jython. Эти скрипты как бы дополнение функционала самого приложения. В приложении есть глобальный объект fdmAPI, где он создается, я не знаю, но в своих скриптах я могу им пользоваться, например,
fdmAPI.logInfo("Begin") #вывод сообщения в лог fdmAPI.executeQuery('select * from aif_procecces where process_id = ?', [fdmContext['LOADID']]) #запрос информации из таблицы с передачей параметра
from datetime import datetime fdmAPI.logInfo('Begin custom script') proc_id = fdmContext['LOADID'] def updateStatus(entity_type, state, process_id): global fdmAPI #убирала строку, та же ошибка querySt = "UPDATE AIF_PROCESS_DETAILS SET STATUS = ? ,EXECUTION_END_TIME = ? WHERE PROCESS_ID = ? AND ENTITY_TYPE = ?" cnt = fdmAPI.executeDML(querySt, [state,datetime.now() , process_id, entity_type], True) return cnt updateStatus('PROCESS_CUSTOM_SCRIPT', 'SUCCESS', proc_id)
Офлайн
0
решение я нашла, добавила в список переменных. Но почему так работает? Может кто подстажет?
def updateStatus(entity_type, state, process_id, datetime,fdmAPI): querySt = "UPDATE AIF_PROCESS_DETAILS SET STATUS = ? ,EXECUTION_END_TIME = ? WHERE PROCESS_ID = ? AND ENTITY_TYPE = ?" cnt = fdmAPI.executeDML(querySt, [state,datetime.now() , process_id, entity_type], True) return cnt
Офлайн
124
from datetime import datetime fdmAPI.logInfo('Begin custom script')
Офлайн
0
xam1816так и есть. Запускаю правило, fdmAPI создает само приложение, код этот скрыт от меня. Это глобальный объект. Я могу им пользоваться у себя в скриптах.
А fdmAPI откуда появился? в примере он просто нарисовался из воздуха
Офлайн