× Linguagem de Programação ADVPL

Perguntas MATA650 - AUTEXPLODE

Mais
11 anos 4 meses atrás #16516 por Sato
MATA650 - AUTEXPLODE foi criado por Sato
Criei uma rotina para a geração automatica de OP e empenho, se executo a rotina e marco o "AUTEXPLODE = N" ele executa o msexecauto perfeitamente, agora se marco o "AUTEXPLODE = S" ele da erro e me "array out of bounds {0] of [78}"

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 4 meses atrás #16526 por henry.charriere
Respondido por henry.charriere no tópico MATA650 - AUTEXPLODE
Adriano, será que não é algum campo obrigatório que não está no array?

Possibilidades de postar seu código?


Atc,
Henry

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 4 meses atrás #16553 por l.nunes88
Respondido por l.nunes88 no tópico MATA650 - AUTEXPLODE
Olha na linha onde ele acusou o erro. Deve ter sido feita uma referencia a uma posição que não existe no array.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 4 meses atrás #16556 por Sato
Respondido por Sato no tópico MATA650 - AUTEXPLODE
User Function GERAOP()

Local _aAreaOP := GetArea()

Local nItemOP := 0

DbSelectArea("SC6")
SC6->( DbSetOrder(1) )
SC6->( DbGoTop() )
If DbSeek(xFilial("SC6")+SC5->C5_NUM)
aMata650 := {}
While !SC6->( EOF() ) .and. SC6->C6_NUM = SC5->C5_NUM
nGrupo := Posicione("SB1", 1, XFilial("SB1") + SC6->C6_PRODUTO, "B1_GRUPO")
If nGrupo == "4100"
nItemOP += 1
mObserva := SUBSTR(Posicione("ZA1", 1, XFilial("ZA1") + SC6->C6_NUM, "ZA1_OBSERV"),1,30)
cAmbiente := Posicione("ZA1", 1, XFilial("ZA1") + SC6->C6_NUM, "ZA1_AMBIEN")
nLargura := Posicione("ZA1", 1, XFilial("ZA1") + SC6->C6_NUM, "ZA1_LARGUR")
nAltura := Posicione("ZA1", 1, XFilial("ZA1") + SC6->C6_NUM, "ZA1_ALTURA")
cCodServ := Posicione("ZA1", 1, XFilial("ZA1") + SC6->C6_NUM, "ZA1_CODIGO")
cRoteiro := Posicione("SB1", 1, XFilial("SB1") + cCodServ, "B1_OPERPAD")

aAdd(aMata650, {"C2_FILIAL" , xFilial("SC2") ,Nil})
//aAdd(aMata650, {"C2_NUM" , cNumOP ,Nil})
aAdd(aMata650, {"C2_ITEM" , STRZERO(nItemOP,2) ,Nil})
aAdd(aMata650, {"C2_SEQUEN" , "001" ,Nil})
aAdd(aMata650, {"C2_PRODUTO" , SC6->C6_PRODUTO ,NIL})
aAdd(aMata650, {"C2_LOCAL" , SC6->C6_LOCAL ,Nil})
aAdd(aMata650, {"C2_QUANT" , SC6->C6_QTDVEN ,NIL})
aAdd(aMata650, {"C2_UM" , SC6->C6_UM ,Nil})
aAdd(aMata650, {"C2_DATPRI" , dDatabase ,NIL})
aAdd(aMata650, {"C2_DATPRF" , dDatabase ,NIL})
aAdd(aMata650, {"C2_OBS" , mObserva ,Nil})
aAdd(aMata650, {"C2_EMISSAO" , SC5->C5_EMISSAO ,Nil})
aAdd(aMata650, {"C2_STATUS" , "N" ,Nil})
aAdd(aMata650, {"C2_PEDIDO" , SC6->C6_NUM ,Nil})
aAdd(aMata650, {"C2_ITEMPV" , SC6->C6_ITEM ,Nil})
aAdd(aMata650, {"C2_TPOP" , "F" ,Nil})
aAdd(aMata650, {"C2_CFBLOCO" , SC5->C5_CFBLOCO ,Nil})
aAdd(aMata650, {"C2_LARGURA" , nLargura ,Nil})
aAdd(aMata650, {"C2_ALTURA" , nAltura ,Nil})
aAdd(aMata650, {"C2_AMBIENT" , cAmbiente ,Nil})
aAdd(aMata650, {"C2_ROTEIRO" , cRoteiro ,Nil})
aAdd(aMata650, {"AUTEXPLODE" , "S" ,NIL}) // definir se as OP's intermediárias e as solicitações de compras que ainda não foram geradas devem ser geradas automaticamente ou não.

Endif
SC6->( DbSkip() )
EndDo
If (Len(aMata650) > 0)
lMsErroAuto := .F.
lMsHelpAuto := .F.
msExecAuto({|x,Y| Mata650(x,Y)},aMata650,3)

IF lMsErroAuto
Help( "",1,"Atencao",,"Não foi possivel incluir a Ordem de Produção. Contate o administrador do sistema.",1,1 )
MostraErro()
EndIf


EndIf
EndIf

RestArea(_aAreaOP)

Return

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.104 segundos
Joomla templates by a4joomla