воскресенье, 25 августа 2013 г.

Получение Object Id для Task находящегося в Universal Inbox

Однажды возникла потребность, узнать идентификатор записи, для которой был запущен контекстный таск. Например: таск поставили на паузу и забыли о нем.


К моему удивлению, стандартной возможности получить такие данные нет.
После недолгого копания в таблице записей Universal Inbox удалось найти связь. В итоге я получил следующий SQL запрос.

select 
t1.workitem_id OBJECT_ID, 
t3.row_id INBOX_ITEM_ID 
from 
S_WFA_INSTANCE t1,
S_UNVBX_ITM_PRM t2, 
S_UNVBX_ITEM t3 
where 
t3.row_id=<UinboxTaskItemId>
and t2.UNVBX_ITEM_ID=t3.row_id 
and t2.Name='ParProcInstId' 
and t1.exec_inst_val=t2.value;
Где, <UinboxTaskItemId> это идентификатор записи в Universal Inbox
А раз мы можем получить данные при помощи SQL, значит нам не составит труда сделать join в нужной нам БК(Business Component)

Комментариев нет:

Отправить комментарий