Árvore de páginas

Descrição

Este ponto de entrada é executado antes da criação do pedido de venda (MATA410). Pode ser utilizado para manipular os parâmetros que serão enviados ao MATA410 através das matrizes (aCabPv e aIte).

Observações

Exemplos

#include "Protheus.ch"

User Function OX100ANP()

MsgInfo("Ponto de Entrada antes da gerar o pedido de venda (SC5).")

Return

Preview

Veja também

Idioma

Português(Brasil)

Versões

Todas

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

Todas

Updates

Parâmetros

Retorno

Eventos de chamada do Ponto de Entrada

If lFecSrvc .and. lNFSrvc
For nCntFor := 1 to Len(oGetResVO4:aCols)

If oGetResVO4:aColsnCntFor, RVO4TIPTEM <> aTipTemnCntTipTem,1
Loop
EndIf

VOK->(dbSetOrder(1))
VOK->(dbSeek( xFilial("VOK") + oGetResVO4:aColsnCntFor, RVO4TIPSER ))

// Servico de Mao de Obra Gratuita ...
If VOK->VOK_INCMOB == "0"
Loop
EndIf
//

cItemPed := Soma1( cItemPed , 2 )
aIteTempPV := {}

SB1->(DBSetOrder(7))
SB1->(DBSeek(xFilial("SB1") + VOK->VOK_GRUITE + VOK->VOK_CODITE ))
SB1->(DBSetOrder(1))

aAdd(aIteTempPV,{"C6_NUM" , cNumPed , Nil}) // Numero do Pedido
aAdd(aIteTempPV,{"C6_ITEM" , cItemPed , Nil}) // Numero do Item no Pedido
aAdd(aIteTempPV,{"C6_PRODUTO", SB1->B1_COD , Nil}) // Codigo do Produto
aAdd(aIteTempPV,{"C6_QTDVEN" , 1 , Nil}) // Qtde Vendida
aAdd(aIteTempPV,{"C6_QTDLIB" , 0 ,Nil})
aAdd(aIteTempPV,{"C6_TES" , oGetResVO4:aColsnCntFor,RVO4CODTES , Nil}) // Tipo de Saida do Item
aAdd(aIteTempPV,{"C6_PRUNIT" , oGetResVO4:aColsnCntFor,RVO4VALBRU , Nil}) // Preco de Lista (Valor do Servico sem Desconto)
aAdd(aIteTempPV,{"C6_PRCVEN" , oGetResVO4:aColsnCntFor,RVO4VALBRU , Nil}) // Preco Unitario (Valor do Servico com Desconto )
aAdd(aIteTempPV,{"C6_VALOR" , oGetResVO4:aColsnCntFor,RVO4VALBRU , Nil}) // Valor Total do Item
aAdd(aIteTempPV,{"C6_VALDESC", oGetResVO4:aColsnCntFor,RVO4VALDES , Nil}) // Valor do Desconto
aAdd(aIteTempPV,{"C6_ENTREG" , dDataBase , Nil}) // Data da Entrega
aAdd(aIteTempPV,{"C6_UM" , SB1->B1_UM , Nil}) // Unidade de Medida Primaria
aAdd(aIteTempPV,{"C6_LOCAL" , SB1->B1_LOCPAD , Nil}) // Almoxarifado
aAdd(aIteTempPV,{"C6_COMIS1" , 0 , Nil}) // Comissao Vendedor
aAdd(aIteTempPV,{"C6_CLI" , SA1->A1_COD , Nil}) // Cliente
aAdd(aIteTempPV,{"C6_LOJA" , SA1->A1_LOJA , Nil}) // Loja do Cliente

aAdd(aIte,aClone(aIteTempPV))

// Adiciona na Matriz de Relacionamento do oGetDetVO3:aCols/oGetResVO4:aCols com o SC6,
// utilizado depois para gerar VEC e VSC ...
AADD( aRelFatOfi, { "VO4" , nCntFor , cItemPed } )
//

Next nCntFor

EndIf
//

// Se nao tiver item nao gera pedido nem nota fiscal ...
If Len(aIte) == 0
Loop
EndIf

If ExistBlock("OX100ANP")
ExecBlock("OX100ANP",.f.,.f.)
Endif
//

lMSHelpAuto := .t.
lMsErroAuto := .f.
MSExecAuto({|x,y,z| MATA410(x,y,z)},aCabPv,aIte,3)

if lMsErroAuto
DisarmTransaction()
RollbackSx8()
MsUnlockAll()
MostraErro()
MaFisEnd()
MaFisRestore()
Return .f.
Endif

Variáveis

Programa Fonte

OFIXX100.PRW

  • Sem rótulos