Árvore de páginas

01. DADOS GERAIS

Produto:TOTVS Mais Negócios
Linha de Produto:Linha Protheus
Módulo:Mais Negócios
Função:Controle de Documentos de Saída OFF Balance (RSKA020)

02. DESCRIÇÃO

Cancelamento total de documento ou cancelamento supplier via msexecauto.

03. PARÂMETROS

Não há.

04. RETORNO

Não há.

05. EXEMPLO

Exemplo - Rotina automática
#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