Árvore de páginas

Ponto de Entrada

Descrição:

Este Ponto de Entrada será executado na rotina de Agrega/desagrega (VEIXA040) antiga e permite validar a Inclusão/Alteração/Exclusão da Peça (SB1) na confirmação da janela de Incluir/Alterar/Excluir Peça.

Atenção: Para a versão nova do Agrega/Desagrega Multieventos, este ponto de entrada esta obsoleto, ou seja, não será executado.

Localização:

Atualizações \ MovAtendimento \ Agrega/desagrega (VEIXA040)

Eventos:

AADD(aParamBox,{1,STR0065,cGruIte,"@!",'vazio().or.(FG_Seek("SBM","MV_PAR01",1,.f.).and.(cGruIte:=MV_PAR01))',"BM5",clMod,30,.t.})

AADD(aParamBox,{1,STR0066,cCodIte,"@!",'vazio().or.(FG_POSSB1("MV_PAR02","SB1->B1_CODITE","MV_PAR01").and.(cCodIte:=MV_PAR02))',"B16",clMod,100,.t.})

AADD(aParamBox,{1,STR0032,nQtd,"@E 9999","MV_PAR03>0","",clMod,50,.t.})

If nOperacao == 2 // Desagregar

AADD(aParamBox,{1,STR0077,nCus,"@E 9,999,999.99","MV_PAR04>=0","",clMod,80,.t.}) // Valor

EndIf

For ni := 1 to len(aParambox)

aAdd(aRetIte,aParambox[ni,3]) // Carregando conteudo Default

Next

If ParamBox(aParamBox,STR0062,@aRetIte,,,,,,,,.f.) .and. ( !lVXX040IT .or. ExecBlock("VXX040IT",.f.,.f.,{ cTp , nOperacao , aClone(aRetIte) }) ) // Peca

Programa Fonte:

VEIXX040.PRW

Função:

FS_IAEITE()

Parâmetros:
NomeTipoDescrição
cTpCaracter

Tipo de Chamada (I = Inclusão / A = Alteração / E = Exclusão)

cAgrDesCaracter

Operação (1 = Agrega / 2 = Desagrega)

aVetorVetorVetor que compõe o conteúdo inicial dos campos na tela.



aVetor[1]VetorGrupo do Item
aVetor[2]VetorCódigo do Item
aVetor[3]VetorQuantidade
aVetor[4]VetorCusto (Utilizado somente na Operação de Desagrega)
Retorno:
NomeTipoDescrição
lRetLógico

Retorna .t. / .f. para dar continuidade ao Processo

Exemplo:

Include totvs.ch

/*

VXX040IT - Ponto de Entrada no OK da Tela de Manutenção de Peças do Agrega/Desagrega


Utilizado para Validar no OK da Tela de Inclusão, Alteração ou Exclusão


Retorno: lógico ( .t. / .f. ) para dar continuidade ao processo

*/

User Function VXX040IT()

Local cTp := ParamIXB[01] // Tipo de Chamada ( I = Inclusão / A = Alteração / E = Exclusão )

Local cAgrDes := ParamIXB[02] // Operação ( 1 = Agrega / 2 = Desagrega )

Local aVetor := ParamIXB[03] // Array com conteudo { Grupo do Item , Codigo do Item , Quantidade , Custo }

Local lRet := .t. // Retorno ( Lógico )

/*

aVetor[1] = Grupo do Item

aVetor[2] = Codigo do Item

aVetor[3] = Quantidade

aVetor[4] = Custo ( utilizado somente na Desagregacao )

*/

Do Case

Case cTp == "I" // Validar a Inclusão

If aVetor[1] <> "XXXX" // Validar o Grupo por exemplo

lRet := .t.

Else

lRet := .f.

EndIf


Case cTp == "A" // Validar a Alteração

If aVetor[2] <> "XXXXXXXXXXXXX" // Validar o Codigo do Item por exemplo

lRet := .t.

Else

lRet := .f.

EndIf


Case cTp == "E" // Validar a Exclusão

lRet := .t.


EndCase

//

MsgInfo("Ponto de Entrada VXX040IT executado com sucesso!")

Return lRet