Terminare workflow Massivamente in Adiuto
Se si vogliono terminare molti workflow massivamente, non è possibile farlo da Adiuto ia Web, che consente solo di farlo uno alla volta. È necessario usare una query SQL. Leggere i commenti e modificare i tre parametri e la query di selezione dei FIDD, come indicato:
DECLARE @FIDDOC int
DECLARE @FIDCAI int
DECLARE @FIDI int
DECLARE @Utente int
DECLARE @Data varchar(255)
DECLARE @Ora varchar(255)
SET @Utente = 1041; --INSERIRE L'ID DELL'UTENTE TUTOR DEL WORKFLOW (si vede dall'admin come campo ID)
SET @Data = '20250117'; --INSERIRE UNA DATA SIMBOLICA DI TERMINAZIONE FLUSSO
SET @Ora = '16:00:00'; --INSERIRE UN'ORA SIMBOLICA DI TERMINAZIONE FLUSSO
DECLARE db_cursor CURSOR FOR
--QUERY CHE RESTITUISCE I RECORD DELLA TITS DA ANNULLARE
SELECT T.FIDDOC, T.FIDCAI, T.FIDI FROM TITS T /* LEFT*/JOIN TITSR R ON T.FIDI=R.FIDI
WHERE T.FIDDOC IN
(/*INSERIRE QUI UNA SELECT CHE RITORNA L'ELENCO DEI FIDD SUI QUALI TERMINARE IL WF*/
SELECT FIDD FROM VA1023 WHERE /*F1172 = 'IN ENTRATA' AND */ FENA <> 0
)
ORDER BY T.FIDI ASC
--DI SEGUITO UN ESEMPIO
--SELECT T.FIDDOC, T.FIDCAI, T.FIDI FROM TITS T /* LEFT*/JOIN TITSR R ON T.FIDI=R.FIDI WHERE T.FIDDOC IN (SELECT FIDD FROM VA1001 WHERE F1001 = 2018 AND F1002 = 'PROVA' AND FENA <> 0) ORDER BY T.FIDI ASC
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @FIDDOC, @FIDCAI, @FIDI
WHILE @@FETCH_STATUS = 0
BEGIN
insert into TITSL (FUTECS,FEHR,FIDLOG,FENDDATE,FIDDOC,FHR,FDT,FAS,FIDCAI) values (
@Utente,
NULL,
(select MAX(FIDLOG)+1 from TITSL),
NULL,
@FIDDOC,
@ora,
@Data,
6,
(select FIDACT from TAIN where fidpai=(select TOP 1 FIDCAI from TITSL where FIDDOC = @FIDDOC order by FIDLOG asc) and FISTP=-1)
);
delete from tits where fidi=@FIDI;
FETCH NEXT FROM db_cursor INTO @FIDDOC, @FIDCAI, @FIDI
END
CLOSE db_cursor
DEALLOCATE db_cursor