diff --git a/BatchProcessNew.lua b/BatchProcessNew.lua index 2463ac3..02e6512 100644 --- a/BatchProcessNew.lua +++ b/BatchProcessNew.lua @@ -1,7 +1,8 @@ --- BatchProcess.lua by Egaltech s.r.l. 2021/11/10 +-- BatchProcess.lua by Egaltech s.r.l. 2022/01/06 -- Gestione calcolo batch disposizione e lavorazioni per Pareti -- 2021/01/15 Per nuova interfaccia Egt. -- 2021/11/10 Aggiunta modifica per gestione modifiche manuali come in Beam. +-- 2022/01/06 Per CUTID/TASKID senza ToProcess si verificano anche eventuali Duplo. -- Intestazioni @@ -467,25 +468,31 @@ else -- Dichiaro nessun errore local nPartId = EgtGetFirstPart() while nPartId do - local nCutId = EgtGetInfo( nPartId, 'CUTID', 'i') - if nCutId then - local LayerId = {} - LayerId[1] = EgtGetFirstNameInGroup( nPartId, 'Outline') - LayerId[2] = EgtGetFirstNameInGroup( nPartId, 'Processings') - for nInd = 1, #LayerId do - local nProcId = EgtGetFirstInGroup( LayerId[nInd] or GDB_ID.NULL) - while nProcId do - local bIsFea = EgtExistsInfo( nProcId, 'GRP') and EgtExistsInfo( nProcId, 'PRC') - local nTaskId = EgtGetInfo( nProcId, 'TASKID', 'i') - if bIsFea and nTaskId then - WALL.ERR = 0 - WALL.MSG = '---' - WALL.ROT = 0 - WALL.CUTID = nCutId - WALL.TASKID = nTaskId - WriteErrToLogFile( WALL.ERR, WALL.MSG, WALL.ROT, WALL.CUTID, WALL.TASKID) + local vDup = EgtDuploList( nPartId) + if not vDup or #vDup == 0 then + vDup = { nPartId} + end + for i = 1, #vDup do + local nCutId = EgtGetInfo( vDup[i], 'CUTID', 'i') + if nCutId then + local LayerId = {} + LayerId[1] = EgtGetFirstNameInGroup( vDup[i], 'Outline') + LayerId[2] = EgtGetFirstNameInGroup( vDup[i], 'Processings') + for nInd = 1, #LayerId do + local nProcId = EgtGetFirstInGroup( LayerId[nInd] or GDB_ID.NULL) + while nProcId do + local bIsFea = EgtExistsInfo( nProcId, 'GRP') and EgtExistsInfo( nProcId, 'PRC') + local nTaskId = EgtGetInfo( nProcId, 'TASKID', 'i') + if bIsFea and nTaskId then + WALL.ERR = 0 + WALL.MSG = '---' + WALL.ROT = 0 + WALL.CUTID = nCutId + WALL.TASKID = nTaskId + WriteErrToLogFile( WALL.ERR, WALL.MSG, WALL.ROT, WALL.CUTID, WALL.TASKID) + end + nProcId = EgtGetNext( nProcId) end - nProcId = EgtGetNext( nProcId) end end end