Versão atual:

Execauto MATA381

Boa tarde! Estou desenvolvendo um execauto do Mata381 geração de empenhos multiplos, porém ao executar o execauto, retorna o erro: array out of bounds ( 0 of 18 ) A381LINOK - MATA381.PRX(1549)

Esse é o fonte que deu erro, alguém pode me ajudar?

inicio do fonte -----------------

Include "Protheus.ch"

User Function Emp381() Local aCab := {} Local aLine := {} Local aItens := {} Local cOP := "00539701001" Local cCod1 := "0804153 " Local cCod2 := "030101301001 " Local cProduto := "0806008 " Local cLocal := "30"

PRIVATE lMsErroAuto := .F.

//Monta o cabeçalho com o número da OP que será utilizada para inclusão dos empenhos. aCab := {{"D4_OP",cOP,NIL}}

//Adiciona novo empenho aLine := {} aAdd(aLine,{"D4_OP" ,"00539701001" ,NIL}) aAdd(aLine,{"D4_PRODUTO","0806008 " ,NIL}) aAdd(aLine,{"D4_COD" ,"0804153 " ,NIL}) aAdd(aLine,{"D4_LOCAL" ,"30" ,NIL}) aAdd(aLine,{"D4_DATA" ,dDatabase ,NIL}) aAdd(aLine,{"D4_QTDEORI",50 ,NIL}) aAdd(aLine,{"D4_QUANT" ,50 ,NIL}) aAdd(aLine,{"D4_TRT" ," " ,NIL}) //Adiciona a linha do empenho no array de itens. aAdd(aItens,aLine)

//Adiciona novo empenho com utilização de Lote. //A data de validade do lote é preenchida automaticamente pelo programa e não precisa ser enviada no array. aLine := {} aAdd(aLine,{"D4_OP" ,"00539701001" ,NIL}) aAdd(aLine,{"D4_PRODUTO","0806008 " ,NIL}) aAdd(aLine,{"D4_COD" ,"030101301001 " ,NIL}) aAdd(aLine,{"D4_LOCAL" ,"30" ,NIL}) aAdd(aLine,{"D4_DATA" ,dDatabase ,NIL}) aAdd(aLine,{"D4_QTDEORI",50 ,NIL}) aAdd(aLine,{"D4_QUANT" ,50 ,NIL}) aAdd(aLine,{"D4_TRT" ," " ,NIL}) //Adiciona a linha do empenho no array de itens. aAdd(aItens,aLine)

//Executa o MATA381, com a operação de Inclusão. MSExecAuto({|x,y,z| mata381(x,y,z)}, aCab, aItens, 3) If lMsErroAuto //Se ocorrer erro. MostraErro() Else Alert("Incluído com sucesso.") EndIf Return

---------------- fim do fonte --------------------------------

Versão (1):

Ver a versão formatada

Execauto MATA381

Comentário

new question