Árvore de páginas

Ponto de Entrada

Descrição:

Ponto de Entrada localizado na rotina de Agrega/Desagrega Multieventos, executado no momento da abertura da tela de Inclusão/Alteração. Pode ser utilizado para manipular o fornecedor que será realizado o processo.

Localização:

Atualizações \ Mov Atendimento \ Agrega e Desagrega (VEIXA040)

Eventos:

...
aSM0 := FWArrFilAtu(cEmpAnt,cFilAnt)
...
DBSelectArea("SA2")
DBSetOrder(3)
If DbSeek(xFilial("SA2")+aSM0[SM0_CGC])
    oFornece := OFFornecedor():New()
    If oFornece:Bloqueado( SA2->A2_COD , SA2->A2_LOJA , .T. ) // Fornecedor Bloqueado ?
        lRet := .f.
    Else
        ::aFor_VEIA := {SA2->A2_COD, SA2->A2_LOJA, SA2->A2_NOME, SA2->A2_TIPO}
    EndIf
Else
    Help("",1,"VLDACTIVATE",,STR0074,1,0) // Não existe fornecedor relacionado a filial logada.
    lRet := .f.
EndIf
If ExistBlock("VA300SA2")
    // Parametros: {  { SA2->A2_COD, SA2->A2_LOJA, SA2->A2_NOME, SA2->A2_TIPO }  ,  Processo: 1=Agrega (Individual) / 2=Desagrega (Individual) / 3=Transferência / 4=Troca  ,  Tipo: 1=Notas Fiscais / 2=Movimentações Internas  ,  Item: 1=AMS / 2=Peças }
    ::aFor_VEIA := ExecBlock("VA300SA2", .f., .f., { ::aFor_VEIA , ::cPro_VEIA , ::cTip_VEIA , ::cIte_VEIA })
EndIf
...

Programa Fonte:

VEIA300EVDEF.PRW

Função:

VLDACTIVATE()

Parâmetros:
NomeTipoDescrição
ParamIXBArray

Array com as informações da chamada do Ponto de Entrada.


Dados da variável aArray


NomeTipoDescrição
ParamIXB[1]ArrayVetor contendo os dados do fornecedor a ser utilizado. { SA2->A2_COD, SA2->A2_LOJA, SA2->A2_NOME, SA2->A2_TIPO }
ParamIXB[2]Caractere

Processo: 1=Agrega (Individual) / 2=Desagrega (Individual) / 3=Transferência / 4=Troca

ParamIXB[3]Caractere

Tipo: 1=Notas Fiscais / 2=Movimentações Internas

ParamIXB[4]Caractere

Item: 1=AMS / 2=Peças

Retorno:
NomeTipoDescrição

aFor_VEIA

ArrayVetor contendo os dados do fornecedor ser utilizado.


Dados da variável 

Nome TipoDescrição

aFor_VEIA[1]

CaracterCódigo do Fornecedor. Exemplo:  SA2->A2_COD

aFor_VEIA[2]

CaracterLoja do Fornecedor. Exemplo: SA2->A2_LOJA

aFor_VEIA[3]

CaracterNome do Fornecedor. Exemplo: SA2->A2_NOME

aFor_VEIA[4]

CaracterTipo do Fornecedor. Exemplo: SA2->A2_TIPO

Exemplo:


///////////////////////////////////////////////////////////////////////////////////
// Ponto de Entrada localizado na rotina de Agrega/Desagrega Multieventos,       //
// executado no momento da abertura da tela de Inclusão/Alteração.               //
// Pode ser utilizado para manipular o fornecedor que será realizado o processo. //
///////////////////////////////////////////////////////////////////////////////////
User Function VA300SA2()
Local aRSA2 := ParamIXB[1] // Vetor contendo os dados do fornecedor a ser utilizado. { SA2->A2_COD, SA2->A2_LOJA, SA2->A2_NOME, SA2->A2_TIPO }
Local cProc := ParamIXB[2] // Processo: 1=Agrega (Individual) / 2=Desagrega (Individual) / 3=Transferência / 4=Troca
Local cTipo := ParamIXB[3] // Tipo: 1=Notas Fiscais / 2=Movimentações Internas
Local cItem := ParamIXB[4] // Item: 1=AMS / 2=Peças
//
MsgAlert("Ponto de Entrada VA300SA2 executado com sucesso!","Atenção")
//
// Caso necessário, manipular os dados do vetor aRSA2 e todas as validações referente ao fornecedor devem ser realizadas neste ponto de entrada
//
Return aClone(aRSA2)