Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

        Quando já existe registro na TN6 para o atendente, é necessário só atualizar a data de inicio e termino da alocação, sem ter a necessidade de criar uma nova linha.


Bloco de código
titleExemplo de

...

uso

...

#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 dDtIniMdt     :=

...

 sTod("")

...


Local lNewTN6       :=

...

 .F.

...


Local lNewTN5       :=

...

 .F.

...



//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 
        dDtIniMdt := TN6->TN6_DTINIC
    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 :=

...

 aTN6[nDtInic][2]

...


            TN6->TN6_

...

DTTERM :=

...

 aTN6[nDtTerm][2]

...


        TN6->(MsUnLock())

...

       
    Endif
else
    RecLock("TN6",.T.)

...


        TN6->TN6_

...

FILIAL :=

...

 aTN6[nFilTN6][2]

...


        TN6->TN6_

...

CODTAR := cProxTN5
        TN6->TN6_

...

MAT    :=

...

 aTN6[nMatTN6][2]

...


        TN6->TN6_

...

DTINIC :=

...

 aTN6[nDtInic][2]

...


        TN6->TN6_

...

DTTERM :=

...

 aTN6[nDtTerm][2]

...


    TN6->(MsUnLock())

...


EndIf

...



(cQueryTN5)->(dbCloseArea())

...


(cQueryNum)->(dbCloseArea())

...



Return



04. DEMAIS INFORMAÇÕES

05. ASSUNTOS RELACIONADOS

...