Árvore de páginas

Ponto de Entrada

Descrição:

Este Ponto de Entrada será executado na rotina Contagem de Estoque (OFIPM040) e tem a finalidade de desviar a chamada da Pré-Nota.

Localização:

Atualizações / Mov. Peças / Contagem de Estoque (OFIPM040)

Eventos:

aCabec := {}

aadd(aCabec,{"F1_TIPO" ,"N"})

aadd(aCabec,{"F1_FORMUL" ,"S"})

aadd(aCabec,{"F1_DOC" ,cNumero})

aadd(aCabec,{"F1_SERIE" ,cSerie})

aadd(aCabec,{"F1_EMISSAO" ,dDataBase})

aadd(aCabec,{"F1_FORNECE" ,aRet[1,1]})

aadd(aCabec,{"F1_LOJA" ,aRet[1,2]})

aadd(aCabec,{"F1_ESPECIE" ,aRet[1,4]})

aadd(aCabec,{"F1_COND" ,aRet[1,3]})

aadd(aCabec,{"F1_EST" ,SA2->A2_EST}) // Alteraçao realizada pois estava gravando incorretamente quando transferencia entre estado - MAQNELSON

 

For _ni := 1 to Len(aSF1)

 

dbSelectArea("SB1")

dbSetOrder(7)

dbSeek(xFilial("SB1")+aSF1[_ni,1]+aSF1[_ni,2])

dbSetOrder(1)

 

Aadd(aItens , { ;

{"D1_ITEM" , Strzero(_ni,4) ,NIL},;

{"D1_COD" , SB1->B1_COD ,NIL},;

{"D1_UM" , SB1->B1_UM ,NIL},;

{"D1_QUANT" , aSF1[_ni,7] ,NIL},;

{"D1_VUNIT" , aSF1[_ni,8] ,NIL},;

{"D1_TOTAL" , Round(aSF1[_ni,8] *aSF1[_ni,7],TamSx3("D1_TOTAL")[2]) ,NIL},;

{"D1_LOCAL" , SB1->B1_LOCPAD ,NIL}})

 

Next

lMsErroAuto := .f.

// Caso tenha itens e cabecalho definidos

If Len(aItens) > 0 .And. Len(aCabec) > 0

If ExistBlock("OPM040NFE")

ExecBlock("OPM040NFE",.f.,.f.,{aCabec,aItens,aRet[1,1],aRet[1,2]})

Else

// Inclui pre-nota

MATA140(aCabec,aItens,3)

Endif

// Checa erro de rotina automatica

If lMsErroAuto

lMostraErro :=.T.

MostraErro()

RollBAckSx8()

Return(.f.)

EndIf

Endif 

 

Programa Fonte:

OFIPM040.PRW    

Função:

GeraNFE

Retorno:

N/A

 

Exemplo:

User Function OPM040NFE()

Local aCabec := aParamIxb[1]

Local aItens := aParamIxb[2]

Local cFornec:= aParamIxb[3]

Local cLoja := aParamIxb[4]

 

MsgInfo("Ponto de entrada OPM040NFE executado com sucesso!")

 

return