Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
#Include 'Protheus.ch' User Function GsMDTFil() Local aTN5 := PARAMIXB[01] Local aTN6 := PARAMIXB[02] Local nFilTN5 := aScan(aTN5,{|x| AllTrim(x[1])=="TN5_FILIAL"}) Local nNomTarTN5 := aScan(aTN5,{|x| AllTrim(x[1])=="TN5_NOMTAR"}) Local nLocalTN5 := aScan(aTN5,{|x| AllTrim(x[1])=="TN5_LOCAL"}) Local nPostoTN5 := aScan(aTN5,{|x| AllTrim(x[1])=="TN5_POSTO"}) Local nFilTN6 := aScan(aTN6,{|x| AllTrim(x[1])=="TN6_FILIAL"}) Local nMatTN6 := aScan(aTN6,{|x| AllTrim(x[1])=="TN6_MAT"}) Local nDtInic := aScan(aTN6,{|x| AllTrim(x[1])=="TN6_DTINIC"}) Local nDtTerm := aScan(aTN6,{|x| AllTrim(x[1])=="TN6_DTTERM"}) Local cProxTN5 := "" Local cQueryTN5 := GetNextAlias() Local cQueryNum := GetNextAlias() Local dDtIniMdtlNewTN6 := sTod("").F. Local lNewTN6lNewTN5 := .F. Local lNewTN5 nRecTN6 := .F.0 //Faz a Busca do codigo da Tarefa BeginSql Alias cQueryNum SELECT MAX(TN5_CODTAR) ULTTAREFA FROM %Table:TN5% TN5 WHERE TN5.TN5_FILIAL = %exp:aTN5[nFilTN5][2]% AND TN5.%NotDel% EndSql cProxTN5 := Soma1( (cQueryNum)->ULTTAREFA ) //Verifica se já existe tarefa criada na TN5 BeginSql Alias cQueryTN5 SELECT TN5.R_E_C_N_O_ TN5RECNO FROM %Table:TN5% TN5 WHERE TN5.TN5_FILIAL = %exp:aTN5[nFilTN5][2]% AND TN5.TN5_LOCAL = %exp:aTN5[nLocalTN5][2]% AND TN5.TN5_POSTO = %exp:aTN5[nPostoTN5][2]% AND TN5.%NotDel% EndSql If (cQueryTN5)->(EOF()) RecLock("TN5",.T.) TN5->TN5_FILIAL := aTN5[nFilTN5][2] TN5->TN5_CODTAR := cProxTN5 TN5->TN5_NOMTAR := aTN5[nNomTarTN5][2] TN5->TN5_LOCAL := aTN5[nLocalTN5][2] TN5->TN5_POSTO := aTN5[nPostoTN5][2] TN5->(MsUnlock()) lNewTN5 := .T. //Indica que é um novo registro Else TN5->(DbGoTo((cQueryTN5)->TN5RECNO)) //Verifica se há registros na TN6 DbSelectArea("TN6") If !TN6->(dbSeek(aTN6[nFilTN6][2]+TN5->TN5_CODTAR+aTN6[nMatTN6][2])) lNewTN6 := .T. Else If !isInCallStack("AT550GrvABB") dDtIniMdt := TN6->TN6_DTINIC Else dDtIniMdt := aTN6[nDtInic][2] lNewTN6 := .T. EndIf Endif EndIf If !lNewTN5 If lNewTN6 .And. !TN6->(dbSeek(aTN6[nFilTN6][2]+TN5->TN5_CODTAR+aTN6[nMatTN6][2]+Dtos(dDtIniMdt))) RecLock("TN6",.T.) TN6->TN6_FILIAL := aTN6[nFilTN6][2] TN6->TN6_CODTAR := TN5->TN5_CODTAR TN6->TN6_MAT := aTN6[nMatTN6][2] TN6->TN6_DTINIC := aTN6[nDtInic][2] TN6->TN6_DTTERM := aTN6[nDtTerm][2] TN6->(MsUnLock()) Else RecLock("TN6",.F.) TN6->TN6_DTINIC := TN5->(DbGoTo((cQueryTN5)->TN5RECNO)) If !At190dTN6(aTN6[nFilTN6][2],TN5->TN5_CODTAR,aTN6[nMatTN6][2],dToS(aTN6[nDtInic][2]),@nRecTN6) TN6->TN6_DTTERMlNewTN6 := aTN6[nDtTerm][2].T. Else If nRecTN6 > 0 TN6->(MsUnLockDbGoTo(nRecTN6)) EndIf Endif else RecLock("TN6",.T.) lNewTN6) If lNewTN6 TN6->TN6_FILIAL := aTN6[nFilTN6][2] TN6->TN6_CODTAR := cProxTN5TN5->TN5_CODTAR TN6->TN6_MAT := aTN6[nMatTN6][2] Endif TN6->TN6_DTINIC := aTN6[nDtInic][2] TN6->TN6_DTTERM := aTN6[nDtTerm][2] TN6->(MsUnLock()) EndIf (cQueryTN5)->(dbCloseArea()) (cQueryNum)->(dbCloseArea()) Return |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas