Á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 cliente que será realizado o processo.

Localização:

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

Eventos:

...
aSM0 := FWArrFilAtu(cEmpAnt,cFilAnt)
//
DBSelectArea("SA1")
DBSetOrder(3)
If DbSeek(xFilial("SA1")+aSM0[SM0_CGC])
    oCliente := DMS_Cliente():New()
    If oCliente:Bloqueado( SA1->A1_COD , SA1->A1_LOJA , .T. ) // Cliente Bloqueado ?
        lRet := .f.
    Else
        ::aCli_VEIA := {SA1->A1_COD, SA1->A1_LOJA, SA1->A1_NOME, SA1->A1_TIPO} // Cliente
    EndIf
Else
    Help("",1,"VLDACTIVATE",,STR0073,1,0) // Não existe cliente relacionado a filial logada.
    lRet := .f.
EndIf
If ExistBlock("VA300SA1")
    // Parametros: {  { SA1->A1_COD, SA1->A1_LOJA, SA1->A1_NOME, SA1->A1_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 }
    ::aCli_VEIA := ExecBlock("VA300SA1", .f., .f., { ::aCli_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 cliente a ser utilizado. { SA1->A1_COD, SA1->A1_LOJA, SA1->A1_NOME, SA1->A1_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
aCli_VEIAArrayVetor contendo os dados do cliente a ser utilizado.


Dados da variável 

Nome TipoDescrição
aCli_VEIA[1]CaracterCódigo do Cliente. Exemplo:  SA1->A1_COD
aCli_VEIA[2]CaracterLoja do Cliente. Exemplo: SA1->A1_LOJA
aCli_VEIA[3]CaracterNome do Cliente. Exemplo: SA1->A1_NOME
aCli_VEIA[4]CaracterTipo do Cliente. Exemplo: SA1->A1_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 cliente que será realizado o processo.    //
///////////////////////////////////////////////////////////////////////////////////
User Function VA300SA1()
Local aRSA1 := ParamIXB[1] // Vetor contendo os dados do cliente a ser utilizado. { SA1->A1_COD, SA1->A1_LOJA, SA1->A1_NOME, SA1->A1_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 VA300SA1 executado com sucesso!","Atencao")
//
// Caso necessário, manipular os dados do vetor aRSA1 e todas as validações referente ao cliente devem ser realizadas neste ponto de entrada
//
Return aClone(aRSA1)