01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

Função:
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :


02. DESCRIÇÃO

Descreva em detalhes o PE. 



03. DEMAIS INFORMAÇÕES


#include "PROTHEUS.CH"
 
User Function Venda_ExecAuto_VEIXA011()
  
    Local xAutoCab      := {}
    Local xAutoItens    := {}
    Local nOperacInc    := 3    // Operação de inclusão
    Local cTipoOperacao := "0"  // 0=Venda; 2=Transferencia; 3=Remessa; 4=Devolucao; 5=Consignado; 6=Ret Remessa; 7=Ret Consignado
    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
    Local cRotOrigem    := "VEIXA011"
 
    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"  ,"000007"              ,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 Saída por Venda
    xAutoIt001 := {}
    aAdd(xAutoIt001,{"VVA_FILIAL"  ,xFilial("VVA")      ,Nil}) // Filial
    aAdd(xAutoIt001,{"VVA_CHASSI"  ,"93HYB1E25MG045789" ,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"  ,200000              ,Nil}) // Valor do movimento
    aAdd(xAutoIt001,{"VVA_CENCUS"  ,"1"                 ,Nil}) // Centro de Custo
    aAdd(xAutoItens,xAutoIt001)

    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,{} , nOperacInc, cTipoOperacao, NIL, .F., , , ,cRotOrigem, , , cSerieNFAutom)
  
    If lMsErroAuto
        DisarmTransaction()
        MostraErro()
    Else
        FWAlertSuccess("Saída por VENDA concluída com sucesso","Atenção")
    EndIf
  
Return()
#include "PROTHEUS.CH"
 
User Function Devolucao_ExecAuto_VEIXA012()
  
    Local xAutoCab      := {}
    Local xAutoItens    := {}
    Local xAutoAux      := {}
    Local nOperacInc    := 3    // Operação de inclusão
    Local cTipoOperacao := "4"  // 0=Venda; 2=Transferencia; 3=Remessa; 4=Devolucao; 5=Consignado; 6=Ret Remessa; 7=Ret Consignado
    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
    Local cRotOrigem    := "VEIXA012"
    Local cNumTransacao := Space(TamSX3("VVF_TRACPA")[01])
    Local aPergs        := {}
 
    Private lMsErroAuto := .F.

    aAdd(aPergs, {1, "Numero transacao de compra a ser devolvida", cNumTransacao,  "", ".T.", "", ".T.", 80,  .T.})
 
    If ParamBox(aPergs, "Informe a compra a ser cancelada")

        VVF->(DBSetOrder(1))
        If VVF->(DBSeek(xFilial("VVF") + MV_PAR01))
 
            //Cabeçalho
            aAdd(xAutoCab,{"VV0_FILIAL"  ,xFilial("VV0")		,Nil})
            aAdd(xAutoCab,{"VV0_CLIFOR"  ,VVF->VVF_CLIFOR		,Nil})
            aAdd(xAutoCab,{"VV0_CODCLI"  ,VVF->VVF_CODFOR		,Nil})
            aAdd(xAutoCab,{"VV0_LOJA"    ,VVF->VVF_LOJA			,Nil})
            aAdd(xAutoCab,{"VV0_FORPAG"  ,VVF->VVF_FORPAG		,Nil})
            aAdd(xAutoCab,{"VV0_CODVEN"  ,"000001"				,Nil})
            aAdd(xAutoCab,{"VV0_NATFIN"  ,VVF->VVF_NATURE		,Nil})

            VVG->(DBSetOrder(1))
            If VVG->(DBSeek(xFilial("VVG") + MV_PAR01))
        
                //Itens da Devolução
                xAutoIt001 := {}
                aAdd(xAutoIt001,{"VVA_FILIAL"  ,xFilial("VVA")      ,Nil}) // Filial
                aAdd(xAutoIt001,{"VVA_CHASSI"  ,"8ADZZZ12XLY304762" ,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"  ,30000               ,Nil}) // Valor do movimento
                aAdd(xAutoIt001,{"VVA_CENCUS"  ,"1"                 ,Nil}) // Centro de Custo
                aAdd(xAutoItens,xAutoIt001)

                SD1->(DBSetOrder(1))
                SD1->(DBSeek(xFilial("SD1")+VVF->VVF_NUMNFI + VVF->VVF_SERNFI + VVF->VVF_CODFOR + VVF->VVF_LOJA /*+ SB1->B1_COD*/))

                xAutoAuxIt001 := {}
                aAdd(xAutoAuxIt001,{"C6_NFORI"   ,SD1->D1_DOC       ,Nil})
                aAdd(xAutoAuxIt001,{"C6_SERIORI" ,SD1->D1_SERIE     ,Nil})
                aAdd(xAutoAuxIt001,{"C6_IDENTB6" ,SD1->D1_IDENTB6   ,Nil})
                aAdd(xAutoAuxIt001,{"C6_ITEMORI" ,SD1->D1_ITEM      ,Nil})
                //
                aAdd(xAutoAux,xAutoAuxIt001)

                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,{} , nOperacInc, cTipoOperacao, xAutoAux, .F., , , ,cRotOrigem, , , cSerieNFAutom)
            
                If lMsErroAuto
                    DisarmTransaction()
                    MostraErro()
                Else
                    FWAlertSuccess("Saída por DEVOLUÇÃO DE COMPRA concluída com sucesso","Atenção")
                EndIf
            Endif
        Endif
    Endif
  
Return()









04. ASSUNTOS RELACIONADOS