Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagejava
themeMidnight
titleExemplo - P.E. RSK10LIBRotina automática
linenumberstrue
#include "protheus.ch"  

//Exemplo de cancelamento Total
User Function CancelTotal()

	Local aArea := GetArea()  
	Local NR_NOTA    := "123"
 	Local SERIE_NOTA := "MN " 
	Local aCabec	 := {}
	Private lMsErroAuto		:= .F. 
	Private lAutoErrNoFile	:= .T.
	Private lMsHelpAuto   	:= .T.
	
	//Posicionar na SF2
	SF2->(DBSelectArea("SF2"))
    SF2->(DBSetOrder(1))
    SF2->(dbSeek(xFilial("SF2") + PadR(NR_NOTA,TamSX3("F2_DOC")[1]) + SERIE_NOTA) )

	//Posicionar na AR1
	AR1->(DBSelectArea("AR1"))
    AR1->(DbSetOrder(2))
    AR1->(DbSeek(xFilial("AR1")+xFilial("SF2")+SF2->F2_DOC+SF2->F2_SERIE+SF2->F2_CLIENTE+SF2->F2_LOJA))

    aAdd(aCabec,{"AR1_FILIAL"       ,AR1->AR1_FILIAL                 ,Nil})  
    aAdd(aCabec,{"AR1_COD"	        ,AR1->AR1_COD                    ,Nil})  
    
    MSExecAuto( {| x, y, z | RSKA020( x, y, z ) }, 5, aCabec )
    If lMsErroAuto
        aErroAuto := GetAutoGRLog()
        For nErro := 1 To Len( aErroAuto ) 
            cError := aErroAuto [ nErro ]
        Next
    EndIf

    RestArea(aArea)

Return Nil


//Exemplo de cancelamento somente na supplier
User Function CancelSupplier()

	Local aArea := GetArea()  
	Local NR_NOTA    := "123"
 	Local SERIE_NOTA := "MN " 
	Local aCabec	 := {}
	Private lMsErroAuto		:= .F. 
	Private lAutoErrNoFile	:= .T.
	Private lMsHelpAuto   	:= .T.
	
	//Posicionar na SF2
	SF2->(DBSelectArea("SF2"))
    SF2->(DBSetOrder(1))
    SF2->(dbSeek(xFilial("SF2") + PadR(NR_NOTA,TamSX3("F2_DOC")[1]) + SERIE_NOTA) )

	//Posicionar na AR1
	AR1->(DBSelectArea("AR1"))
    AR1->(DbSetOrder(2))
    AR1->(DbSeek(xFilial("AR1")+xFilial("SF2")+SF2->F2_DOC+SF2->F2_SERIE+SF2->F2_CLIENTE+SF2->F2_LOJA))

    aAdd(aCabec,{"AR1_FILIAL"       ,AR1->AR1_FILIAL                 ,Nil})  
    aAdd(aCabec,{"AR1_COD"	        ,AR1->AR1_COD                    ,Nil})  
    
    MSExecAuto( {| x, y, z | RSKA020( x, y, z ) }, 6, aCabec )
    If lMsErroAuto
        aErroAuto := GetAutoGRLog()
        For nErro := 1 To Len( aErroAuto ) 
            cError := aErroAuto [ nErro ]
        Next
    EndIf

    RestArea(aArea)

Return Nil

...