01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

TOTVS DMS (Linha Protheus) - Veiculos (SIGAVEI)

Função:Saída Por Remessa (VEIXA013)
País:Brasil
Ticket:23218543 
Requisito/Story/Issue (informe o requisito relacionado) :DVARMIL-8470


02. SITUAÇÃO/REQUISITO

Existe a necessidade de um exemplo de utilização da rotina "Saída Por Remessa" (VEIXA013) via ExecAuto

03. SOLUÇÃO

Realizado um exemplo de utilização da rotina "Saída Por Remessa" (VEIXA013) via ExecAuto


#include "PROTHEUS.CH"

User Function ExecAuto_VEIXA013_Incl()
 
    Local xAutoCab      := {}
    Local xAutoItens    := {}
    Local nIncRemessa   := 3    // Operação para inclusão de remessa
    Local cTipoOperacao := "3"  // Saída por remessa
    Local cNumTransacao := Space(TamSX3("VV0_NUMTRA")[01])
    Local cSerieNFAutom := "1"  // Opcional - Serie da NF de Remessa. Quando este parametro for informado, a NF será gerada automaticamente e não será aberta. Caso vazio, será aberta a tela para escolha da NF

    Private lMsErroAuto := .F.

    //Cabeçalho
    aAdd(xAutoCab,{"VV0_FILIAL"  ,xFilial("VV0")        ,Nil}) // Filial
    aAdd(xAutoCab,{"VV0_CLIFOR"  ,"C"                   ,Nil}) // Cliente ou fornecedor  C - Cliente / F- Fornecedor
    aAdd(xAutoCab,{"VV0_CODCLI"  ,"000001"              ,Nil}) // Código do Cliente deve existir na base
    aAdd(xAutoCab,{"VV0_LOJA"    ,"01"                  ,Nil}) // Loja
    aAdd(xAutoCab,{"VV0_FORPAG"  ,"003"                 ,Nil}) // Forma de pagamento
    aAdd(xAutoCab,{"VV0_NATFIN"  ,"VENDA"               ,Nil}) // Natureza de venda
    aAdd(xAutoCab,{"VV0_CODVEN"  ,"000001"              ,Nil}) // Código de vendedor
    aAdd(xAutoCab,{"VV0_VALFRE"  ,250                   ,Nil}) // Valor do Frete
 
    //Itens da Remessa
    xAutoIt001 := {}
    aAdd(xAutoIt001,{"VVA_FILIAL"  ,xFilial("VVA")      ,Nil}) // Filial
    aAdd(xAutoIt001,{"VVA_CHASSI"  ,"9BWZZZ377VT004251" ,Nil}) // Chassi
    aAdd(xAutoIt001,{"VVA_CODTES"  ,"501"               ,Nil}) // Código de tes (Tipo de entrada e saída)
    aAdd(xAutoIt001,{"VVA_VALDES"  ,0                   ,Nil}) // Valor de desconto
    aAdd(xAutoIt001,{"VVA_VALMOV"  ,20000               ,Nil}) // Valor do movimento
    aAdd(xAutoIt001,{"VVA_CENCUS"  ,"1"                 ,Nil}) // Centro de Custo
    aAdd(xAutoItens,xAutoIt001)

    xAutoIt002 := {}
    aAdd(xAutoIt002,{"VVA_FILIAL"  ,xFilial("VVA")     ,Nil}) // Filial
    aAdd(xAutoIt002,{"VVA_CHASSI"  ,"9BGEX16X0GC123456",Nil}) // Chassi
    aAdd(xAutoIt002,{"VVA_CODTES"  ,"501"              ,Nil}) // Código de tes (Tipo de entrada e saída)
    aAdd(xAutoIt002,{"VVA_VALDES"  ,5000               ,Nil}) // Valor de desconto
    aAdd(xAutoIt002,{"VVA_VALMOV"  ,50000              ,Nil}) // Valor do movimento
    aAdd(xAutoItens,xAutoIt002)

    xAutoIt003 := {}
    aAdd(xAutoIt003,{"VVA_FILIAL"  ,xFilial("VVA")     ,Nil}) // Filial
    aAdd(xAutoIt003,{"VVA_CHASSI"  ,"8ABZZ23Y9KD987654",Nil}) // Chassi
    aAdd(xAutoIt003,{"VVA_CODTES"  ,"501"              ,Nil}) // Código de tes (Tipo de entrada e saída)
    aAdd(xAutoIt003,{"VVA_VALDES"  ,0                  ,Nil}) // Valor de desconto
    aAdd(xAutoIt003,{"VVA_VALMOV"  ,15000              ,Nil}) // Valor do movimento
    aAdd(xAutoItens,xAutoIt003)

    MSExecAuto({|a,b,c,d,e,f,g,h,i,j,k,l,m,n| VEIXX001(a,b,c,d,e,f,g,h,i,j,k,l,m,n)}, xAutoCab, xAutoItens,{} , nIncRemessa, cTipoOperacao, NIL, .F., , , ,"VEIXA013", , , cSerieNFAutom)
 
    If lMsErroAuto
        DisarmTransaction()
        MostraErro()
    Else
        FWAlertSuccess("Saída por remessa concluída com sucesso","Atenção")
    EndIf
 
Return()
#include "PROTHEUS.CH"

User Function ExecAuto_VEIXA013_Canc()
 
    Local xAutoCab      := {}
    Local aPergs        := {}
    Local nCancOperac   := 5    // Operação para cancelamento de remessa
    Local cTipoOperacao := "3"  // Saída por remessa
    Local cNumTransacao := Space(TamSX3("VV0_NUMTRA")[01])

    Private lMsErroAuto := .F.

    aAdd(aPergs, {1, "Numero da transação", cNumTransacao,  "", ".T.", "VV0ATE", ".T.", 80,  .T.})

		If ParamBox(aPergs, "Informe a remessa a ser cancelada")

			xAutoCab := {}
            aAdd(xAutoCab, { 'VV0_NUMTRA' , MV_PAR01 , NIL } ) //Numero da transação

            MSExecAuto({ |a,b,c,d,e,f,g,h,i,j,k| VEIXX001(a,b,c,d,e,f,g,h,i,j,k) }, xAutoCab, {} ,{} ,nCancOperac, cTipoOperacao , NIL, .F., {} , , ,"VEIXA013")

            If lMsErroAuto
                DisarmTransaction()
                MostraErro()
            Else
                FWAlertSuccess("Cancelamento da remessa concluída com sucesso","Atenção")
            EndIf
		Endif
	Endif
 
Return()


04. DEMAIS INFORMAÇÕES

Não há.


05. ASSUNTOS RELACIONADOS