Histórico da Página
Ponto de Entrada
Descrição: | Ponto de Entrada tem a finalidade de permitir que o cliente inclua campos na integração com o Pedido de Venda.(SC5/SC6) |
Localização: | Atualizações / Mov. Peças / Contagem Estoque (OFIPM040) |
Eventos: | Static Function GeraPedido(aRet) Local _niS := 0 Local aCabecS := {} Local aIteSai := {}
dbSelectArea("SA1") dbSetOrder(1) dbSeek(xFilial("SA1")+aRet[1,1]+aRet[1,2])
aadd(aCabecS,{"C5_TIPO" ,"N" ,Nil}) aadd(aCabecS,{"C5_CLIENTE",aRet[1,1] ,Nil}) aadd(aCabecS,{"C5_LOJACLI",aRet[1,2] ,Nil}) aadd(aCabecS,{"C5_LOJAENT",aRet[1,2] ,Nil}) aadd(aCabecS,{"C5_CONDPAG",aRet[1,4] ,Nil}) aadd(aCabecS,{"C5_VEND1",aRet[1,5] ,Nil}) aAdd(aCabecS,{"C5_TIPOCLI",SA1->A1_TIPO ,Nil}) // Tipo do Cliente
lMsErroAuto := .f.
For _niS := 1 to Len(aSF2)
dbSelectArea("SB1") dbSetOrder(7) dbSeek(xFilial("SB1")+aSF2[_niS,1]+aSF2[_niS,2]) dbSetOrder(1)
cTESSai := MaTesInt(2,aRet[1,3],SA1->A1_COD,SA1->A1_LOJA,"C",SB1->B1_COD)
aLinha := {} aadd(aLinha,{"C6_ITEM" ,StrZero(_niS,2) ,Nil}) aadd(aLinha,{"C6_PRODUTO" ,SB1->B1_COD ,Nil}) aadd(aLinha,{"C6_LOCAL" ,SB1->B1_LOCPAD ,Nil}) aadd(aLinha,{"C6_QTDVEN" ,aSF2[_niS,7] ,Nil}) aadd(aLinha,{"C6_PRCVEN" ,Round(aSF2[_niS,8],2) ,Nil}) aadd(aLinha,{"C6_PRUNIT" ,Round(aSF2[_niS,8],2) ,Nil}) aadd(aLinha,{"C6_VALOR" ,Round(aSF2[_niS,8],2)*aSF2[_niS,7] ,Nil}) aadd(aLinha,{"C6_QTDLIB" ,0 ,Nil}) aadd(aLinha,{"C6_TES" ,Alltrim(cTESSai) ,Nil}) aadd(aIteSai,aLinha)
Next
//Ponto de Entrada p/ inclusao de campos (SC5 e SC6) na integração com o pedido de venda (MATA410) If ExistBlock("OPM040CPO") aVet := ExecBlock("OPM040CPO",.f.,.f.,{aCabecS,aIteSai}) aCabecS := aVet[1] aIteSai := aVet[2] EndIf
// Inclusao do pedido MsExecAuto({|x,y,z| mata410(x,y,z)},aCabecS,aIteSai,3) // Checa erro de rotina automatica If lMsErroAuto Mostraerro() RollBAckSx8() Return(.f.) Endif
// Gravacao do pedido da nota fiscal de saida dbSelectArea("VPE") RecLock("VPE",.f.) VPE->VPE_NUMPED := SC5->C5_NUM MsUnlock() MsgInfo(STR0170+chr(13) + chr(10)+ chr(13) + chr(10)+STR0171+SC5->C5_NUM ) Return(.t.) |
Programa Fonte: | OFIPM040.PRW |
Função: | GeraPedido() |
Retorno: | Array contendo os vetores aCabPV,aItePv aCabPV = Vetor contendo os campos da cabeça do pedido. (SC5) aItePv = Vetor contendo os campos dos itens do pedido. (SC6) |
Exemplo:
User Function OPM040CPO()
aCabPV := ParamIxb[1]
aItePv := ParamIxb[2]
If SC5->(FieldPos("C5_INDPRES")) > 0
aAdd(aCabPV,{"C5_INDPRES","XX" ,Nil})
EndIf
If SC5->(FieldPos("C5_TPFRETE")) > 0
aAdd(aCabPV,{"C5_TPFRETE","XX" ,Nil})
EndIf
MsgInfo("Ponto de entrada OPM040CPO executado com sucesso!")
Return({aCabPV,aItePv})