#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" ,"CHASSI_TESTE" ,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() |
|
#include "PROTHEUS.CH"
User Function Transferencia_ExecAuto_VEIXA014()
Local xAutoCab := {}
Local xAutoItens := {}
Local nOperacInc := 3 // Operação de inclusão
Local cTipoOperacao := "2" // 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 := "VEIXA014"
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" ,"000004" ,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 Transf.
xAutoIt001 := {}
aAdd(xAutoIt001,{"VVA_FILIAL" ,xFilial("VVA") ,Nil}) // Filial
aAdd(xAutoIt001,{"VVA_CHASSI" ,"CHASSI_TESTE" ,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)
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 TRANSFERENCIA concluída com sucesso","Atenção")
EndIf
Return() |
|
#include "PROTHEUS.CH"
User Function Remessa_ExecAuto_VEIXA013()
Local xAutoCab := {}
Local xAutoItens := {}
Local nOperacInc := 3 // Operação de inclusão
Local cTipoOperacao := "3" // 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 := "VEIXA013"
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" ,"CHASSI_TESTE_001" ,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" ,"CHASSI_TESTE_002" ,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" ,"CHASSI_TESTE_003" ,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,{} , nOperacInc, cTipoOperacao, NIL, .F., , , ,cRotOrigem, , , cSerieNFAutom)
If lMsErroAuto
DisarmTransaction()
MostraErro()
Else
FWAlertSuccess("Saída por REMESSA concluída com sucesso","Atenção")
EndIf
Return() |
|
#include "PROTHEUS.CH"
User Function RetRemessa_ExecAuto_VEIXA016()
Local xAutoCab := {}
Local xAutoItens := {}
Local xAutoAux := {}
Local nOperacInc := 3 // Operação de inclusão
Local cTipoOperacao := "6" // 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 := "VEIXA016"
Local cNumTransacao := Space(TamSX3("VVF_TRACPA")[01])
Local aPergs := {}
Private lMsErroAuto := .F.
aAdd(aPergs, {1, "Numero da remessa a ser retornada", cNumTransacao, "", ".T.", "", ".T.", 80, .T.})
If ParamBox(aPergs, "Informe a remessa a ser retornada")
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 Saída por Retorno de Remessa
xAutoIt001 := {}
aAdd(xAutoIt001,{"VVA_FILIAL" ,xFilial("VVA") ,Nil}) // Filial
aAdd(xAutoIt001,{"VVA_CHASSI" ,VVG->VVG_CHASSI ,Nil}) // Chassi
aAdd(xAutoIt001,{"VVA_CODTES" ,"501" ,Nil}) // Código de tes (Tipo de entrada e saída)
aAdd(xAutoIt001,{"VVA_VALDES" ,VVG->VVG_VALDES ,Nil}) // Valor de desconto
aAdd(xAutoIt001,{"VVA_VALMOV" ,VVG->VVG_VALUNI ,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 RETORNO REMESSA concluída com sucesso","Atenção")
EndIf
Endif
Endif
Endif
Return() |
|
#include "PROTHEUS.CH"
User Function Consignado_ExecAuto_VEIXA015()
Local xAutoCab := {}
Local xAutoItens := {}
Local nOperacInc := 3 // Operação de inclusão
Local cTipoOperacao := "5" // 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 := "VEIXA015"
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 Saída por Consignação
xAutoIt001 := {}
aAdd(xAutoIt001,{"VVA_FILIAL" ,xFilial("VVA") ,Nil}) // Filial
aAdd(xAutoIt001,{"VVA_CHASSI" ,"CHASSI_TESTE_001" ,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" ,"CHASSI_TESTE_002" ,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" ,"CHASSI_TESTE_003" ,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,{} , nOperacInc, cTipoOperacao, NIL, .F., , , ,cRotOrigem, , , cSerieNFAutom)
If lMsErroAuto
DisarmTransaction()
MostraErro()
Else
FWAlertSuccess("Saída por CONSIGNAÇÃO concluída com sucesso","Atenção")
EndIf
Return() |
|
#include "PROTHEUS.CH"
User Function RetConsignado_ExecAuto_VEIXA017()
Local xAutoCab := {}
Local xAutoItens := {}
Local xAutoAux := {}
Local nOperacInc := 3 // Operação de inclusão
Local cTipoOperacao := "7" // 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 := "VEIXA017"
Local cNumTransacao := Space(TamSX3("VVF_TRACPA")[01])
Local aPergs := {}
Private lMsErroAuto := .F.
aAdd(aPergs, {1, "Numero da consignação a ser retornada", cNumTransacao, "", ".T.", "", ".T.", 80, .T.})
If ParamBox(aPergs, "Informe a consignação a ser retornada")
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 do Retorno Consignação
xAutoIt001 := {}
aAdd(xAutoIt001,{"VVA_FILIAL" ,xFilial("VVA") ,Nil}) // Filial
aAdd(xAutoIt001,{"VVA_CHASSI" ,VVG->VVG_CHASSI ,Nil}) // Chassi
aAdd(xAutoIt001,{"VVA_CODTES" ,"501" ,Nil}) // Código de tes (Tipo de entrada e saída)
aAdd(xAutoIt001,{"VVA_VALDES" ,VVG->VVG_VALDES ,Nil}) // Valor de desconto
aAdd(xAutoIt001,{"VVA_VALMOV" ,VVG->VVG_VALUNI ,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 RETORNO CONSIGNAÇÃO concluída com sucesso","Atenção")
EndIf
Endif
Endif
Endif
Return() |
|
O Tipo de Operação e a Rotina de Origem devem ser informados corretamente, conforme a operação de cancelamento que está sendo realizada. Isso porque o cancelamento de saídas como Devolução, Retorno de Consignação e Retorno de Remessa altera o status da nota de entrada originalmente recebida. Para que o status da nota retorne para 'Válida', é essencial informar a operação correta. |
#include "PROTHEUS.CH"
User Function Canc_Transacao_ExecAuto()
Local xAutoCab := {}
Local aPergs := {}
Local nCancOperac := 5 // Operação de cancelamento
Local cTipoOperacao := "3" // 0=Venda; 2=Transferencia; 3=Remessa; 4=Devolucao; 5=Consignado; 6=Ret Remessa; 7=Ret Consignado
Local cNumTransacao := Space(TamSX3("VV0_NUMTRA")[01])
Local cRotOrigem := "VEIXA013"
Private lMsErroAuto := .F.
aAdd(aPergs, {1, "Numero da transação", cNumTransacao, "", ".T.", "VV0ATE", ".T.", 80, .T.})
If ParamBox(aPergs, "Informe a transação 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., {} , , ,cRotOrigem)
If lMsErroAuto
DisarmTransaction()
MostraErro()
Else
FWAlertSuccess("Cancelamento da transação concluída com sucesso","Atenção")
EndIf
Endif
Return() |
|
|