Ponto-de-Entrada: PEDVEI011 - Integração com MATA410
Abrangências: | Microsiga Protheus 10 , Microsiga Protheus 11 |
Versões: | Microsiga Protheus 10 , Microsiga Protheus 11 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Idiomas: | Português (Brasil) |
Descrição:
Ponto de Entrada localizado na rotina Geração de Pedido (VEIXI002), que possibilita a alteração dos ARRAYs aCabPV (vetor do Cabeçalho do Pedido) e/ou aIteTPv (vetor do Item do Pedido) que integra com o Mata410.
Eventos
Return()
User Function PEDVEI011()
MsgInfo("Ponto de Entrada PEDVEI011 executado com sucesso!","Atenção")
Programa Fonte
VEIXI002.PRW
Sintaxe
PEDVEI011 - Integração com MATA410 ( [ ] )
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
Array of Record |
Retorno
-
()
Observações
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ CABECALHO do Pedido de Venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cNumPed := CriaVar("C5_NUM")
aAdd(aCabPV,{"C5_NUM" ,cNumPed ,Nil}) // Numero do pedido
aAdd(aCabPV,{"C5_TIPO" ,"N" ,Nil}) // Tipo de pedido
aAdd(aCabPV,{"C5_CLIENTE",SA1->A1_COD ,Nil}) // Codigo do cliente
aAdd(aCabPV,{"C5_LOJACLI",SA1->A1_LOJA ,Nil}) // Loja do cliente
aAdd(aCabPV,{"C5_TIPOCLI",SA1->A1_TIPO ,Nil}) // Tipo do Cliente
aAdd(aCabPV,{"C5_CONDPAG",VV0->VV0_FORPAG ,Nil}) // Codigo da condicao de pagamanto
aAdd(aCabPV,{"C5_VEND1" ,VV0->VV0_CODVEN ,Nil}) // Codigo do vendedor
aAdd(aCabPV,{"C5_EMISSAO",dDataBase ,Nil}) // Data de emissao
aAdd(aCabPV,{"C5_TRANSP" ,VV0->VV0_CODTRA ,Nil}) // Transportadora
aAdd(aCabPV,{"C5_DESC1" ,0 ,Nil}) // Percentual de Desconto
aAdd(aCabPV,{"C5_BANCO" ,VV0->VV0_CODBCO ,Nil}) // Banco
aAdd(aCabPV,{"C5_INCISS" ,"N" ,Nil}) // ISS Incluso
aAdd(aCabPV,{"C5_TIPLIB" ,"2" ,Nil}) // Liberacao por Pedido de Venda
aAdd(aCabPV,{"C5_MOEDA" ,1 ,Nil}) // Moeda
aAdd(aCabPV,{"C5_LIBEROK","S" ,Nil}) // Liberacao Total
aAdd(aCabPV,{"C5_COMIS1" ,SA3->A3_COMIS ,Nil}) // Percentual de Comissao
aAdd(aCabPV,{"C5_DESPESA",VV0->VV0_DESACE ,Nil}) // Despesa Acessorio
if !Empty(VV0->VV0_TPFRET)
aAdd(aCabPV,{"C5_TPFRETE",Alltrim(VV0->VV0_TPFRET) ,NIL}) // Tipo do Frete
endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ ITEM do Pedido de Venda ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
aAdd(aIteTPv,{"C6_NUM" ,cNumPed ,Nil}) // Numero do Pedido
aAdd(aIteTPv,{"C6_ITEM" ,"01" ,Nil}) // Numero do Item no Pedido
aAdd(aIteTPv,{"C6_PRODUTO",SB1->B1_COD ,Nil}) // Codigo do Produto
aAdd(aIteTPv,{"C6_QTDVEN" ,1 ,Nil}) // Quantidade Vendida
If VV0->VV0_TIPFAT == "2" // Faturamento Direto
aAdd(aIteTPv,{"C6_PRUNIT" , VVA->VVA_VALCVD ,Nil}) // Preco Unitario Liquido *
aAdd(aIteTPv,{"C6_PRCVEN" , VVA->VVA_VALCVD ,Nil}) // Preco Unitario Liquido *
aAdd(aIteTPv,{"C6_VALOR" , VVA->VVA_VALCVD ,Nil}) // Valor Total do Item *
Else
// Se o valor do financiamento for maior do que o valor do veiculo
// a nota fiscal deve sair com o valor do financiamento
If VV0->VV0_VALFIN > VVA->VVA_VALVDA
aAdd(aIteTPv,{"C6_PRUNIT" , VV0->VV0_VALFIN + IIf(MaFisFound('NF'),MAFISRET(,"NF_DESCZF"),0)+VV0->VV0_VALDES-VV0->VV0_IMPOST ,Nil}) // Preco
aAdd(aIteTPv,{"C6_PRCVEN" , VV0->VV0_VALFIN + IIf(MaFisFound('NF'),MAFISRET(,"NF_DESCZF"),0)+VV0->VV0_VALDES-VV0->VV0_IMPOST ,Nil}) // Preco
aAdd(aIteTPv,{"C6_VALOR" , VV0->VV0_VALFIN + IIf(MaFisFound('NF'),MAFISRET(,"NF_DESCZF"),0)+VV0->VV0_VALDES-VV0->VV0_IMPOST ,Nil}) // Total Else
nVlConsor := FM_SQL("SELECT SUM(VS9_VALPAG) VALPAG FROM "+RetSQLName("VS9")+" VS9 WHERE VS9.VS9_FILIAL='"+xFilial("VS9")+"' AND VS9.VS9_NUMIDE='"+VV0->VV0_NUMTRA+"' AND VS9.VS9_TIPOPE='V' AND "+;
"VS9.VS9_TIPPAG IN ( SELECT VSA.VSA_TIPPAG FROM "+RetSQLName("VSA")+" VSA WHERE VSA.VSA_FILIAL='"+xFilial("VSA")+"' AND VSA.VSA_TIPO='3' AND VSA.D_E_L_E_T_=' ')"+;
" AND VS9.VS9_REFPAG='0' AND VS9.D_E_L_E_T_=' '")
// Se o valor do consorcio NAO QUITADO for maior do que o valor do veiculo
// a nota fiscal deve sair com o valor do consorcio
If nVlConsor > VVA->VVA_VALVDA
aAdd(aIteTPv,{"C6_PRUNIT" , nVlConsor + IIf(MaFisFound('NF'),MAFISRET(,"NF_DESCZF"),0)+VV0->VV0_VALDES-VV0->VV0_IMPOST ,Nil}) // Preco
aAdd(aIteTPv,{"C6_PRCVEN" , nVlConsor + IIf(MaFisFound('NF'),MAFISRET(,"NF_DESCZF"),0)+VV0->VV0_VALDES-VV0->VV0_IMPOST ,Nil}) // Preco
aAdd(aIteTPv,{"C6_VALOR" , nVlConsor + IIf(MaFisFound('NF'),MAFISRET(,"NF_DESCZF"),0)+VV0->VV0_VALDES-VV0->VV0_IMPOST ,Nil}) // Valor
Else
aAdd(aIteTPv,{"C6_PRUNIT" , VVA->VVA_VALVDA + IIf(MaFisFound('NF'),MAFISRET(,"NF_DESCZF"),0)+VV0->VV0_VALDES-VV0->VV0_IMPOST ,Nil}) // Preco
aAdd(aIteTPv,{"C6_PRCVEN" , VVA->VVA_VALVDA + IIf(MaFisFound('NF'),MAFISRET(,"NF_DESCZF"),0)+VV0->VV0_VALDES-VV0->VV0_IMPOST ,Nil}) // Preco
aAdd(aIteTPv,{"C6_VALOR" , VVA->VVA_VALVDA + IIf(MaFisFound('NF'),MAFISRET(,"NF_DESCZF"),0)+VV0->VV0_VALDES-VV0->VV0_IMPOST ,Nil}) // Valor
EndIf
EndIf
EndIf
aAdd(aIteTPv,{"C6_CLI" ,SA1->A1_COD ,Nil}) // Cliente
aAdd(aIteTPv,{"C6_LOJA" ,SA1->A1_LOJA ,Nil}) // Loja do Cliente
aAdd(aIteTPv,{"C6_ENTREG" ,dDataBase ,Nil}) // Data da Entrega
aAdd(aIteTPv,{"C6_UM" ,"UN" ,Nil}) // Unidade de Medida Primar.
aAdd(aIteTPv,{"C6_TES" ,VVA->VVA_CODTES ,Nil}) // Tipo de Entrada/Saida do Item
aAdd(aIteTPv,{"C6_LOCAL" ,cLocVei ,Nil}) // Almoxarifado
aAdd(aIteTPv,{"C6_VALDESC",VV0->VV0_VALDES ,Nil}) // Valor do Desconto
aAdd(aIteTPv,{"C6_COMIS1" ,SA3->A3_COMIS ,Nil}) // Comissao Vendedor
aAdd(aIteTPv,{"C6_DESCRI" ,SB1->B1_DESC ,Nil}) // Descricao do Produto
aAdd(aIteTPv,{"C6_QTDEMP" ,1 ,Nil}) // Quantidade Empenhada
If ExistBlock("PEDVEI011")
ExecBlock("PEDVEI011",.f.,.f.)
EndIf
aAdd(aItePv,aClone(aIteTPv))
lMsErroAuto := .f.
MSExecAuto({|x,y,z|Mata410(x,y,z)},aCabPv,aItePv,3)
If lMsErroauto
DisarmTransaction()
RollbackSxe()
MostraErro()
Return(.f.)
EndIf
Variáveis
Nome | Tipo | Escopo | Pode Alterar | descrição | ||||||||||
Array of Record | Global | Não |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas