Árvore de páginas

Ponto de Entrada

Descrição:

Este Ponto de Entrada será executado em algumas rotinas de Movimentações de Veículos e permite criar validações dos veículos selecionados.

Localização:

Atualizações \ Mov Entrada \ Entr. Devol. Venda (VEIXA002)

Atualizações \ Mov Entrada \ Entrada Por Transf (VEIXA004)

Atualizações \ Mov Entrada \ Entr. Por Remessa (VEIXA006)

Atualizações \ Mov Entrada \ Entr. Ret. Consig. (VEIXA007)


Atualizações \ Mov Saida \ Saída Devol Compra (VEIXA012)

Atualizações \ Mov Saida \ Saída Ret. Remessa (VEIXA016)

Atualizações \ Mov Saida \ Saída Ret. Consig. (VEIXA017)

Eventos:

// Verificar campos obrigatorios

For nCntFor := 1 to Len(aObrig)

If Empty(&(aObrig[nCntFor]))

lRet := .f.

MsgStop(STR0091,STR0014) // Campos obrigatorios nao estao Preenchidos! / Atencao

Exit

EndIf

Next

If lRet

// verificar veiculos selecionados

For nCntFor := 1 to Len(aIteVei)

If aIteVei[nCntFor,1]

lSelec := .t.

If _lFuncVld

// Chassi Bloqueado

If oVeiculos:Bloqueado(aIteVei[nCntFor,7], aIteVei[nCntFor,4])

lRet := .f. // A mensagem já é exibida dentro da função Bloqueado()

EndIf

EndIf

EndIf

Next

If lSelec

If lRet

If ExistBlock("PESELVEI") // Ponto de Entrada no TUDOOK da tela de Selecao de Veiculos

lRet := ExecBlock("PESELVEI",.f.,.f.,{ aClone(aIteVei) }) // Ponto de Entrada no TUDOOK da tela de Selecao de Veiculos

EndIf

EndIf

Else

MsgStop(STR0092,STR0014) // Nenhum veiculo selecionado! / Atencao

lRet := .f.

EndIf

EndIf

Programa Fonte:

VEIXFUNA.PRW

Função:

FS_SELVEI()

Parâmetros:
NomeTipoDescrição

aIteVei

Vetor

Vetor com os Veículos da Tela




aIteVei[n,1]

Vetor

Veículo selecionado? (.t . ou .f.)

aIteVei[n,2]

Vetor

RecNo VVA (Se movimentação anterior é uma Saída) ou VVG (Se movimentação anterior é uma Entrada)

aIteVei[n,3]

Vetor

TES da Movimentação atual

aIteVei[n,4]

Vetor

Chassi

aIteVei[n,5]

Vetor

Cod.Marca

aIteVei[n,6]

Vetor

Desc.Modelo

aIteVei[n,7]

Vetor

VV1_CHAINT

aIteVei[n,8]

Vetor

Centro de Custo Movimentação atual

aIteVei[n,9]

Vetor

Conta Contábil Movimentação atual

aIteVei[n,10]

Vetor

Item Conta Movimentação atual

aIteVei[n,11]

Vetor

Classe Valor Movimentação atual

Retorno:
NomeTipoDescrição
lRetVetor

Vetor que retorna se é possível continuar com a Movimentação.

Exemplo:

Include totvs.ch

/*

Ponto de Entrada no TudoOk da tela de Seleção dos Veiculos das Rotinas de Movimentações de Veiculos

Entrada por Devolução de Venda (VEIXA002)

Entrada por Transferencia (VEIXA004)

Entrada por Retorno de Remessa (VEIXA006)

Entrada por Retorno de Consignação (VEIXA007)

Saida por Devolução de Compra (VEIXA012)

Saida por Retorno de Remessa (VEIXA016)

Saida por Retorno de Consignação (VEIXA017)

*/

User Function PESELVEI()

Local lRet := .t.

Local nCntFor := 0

Local cE_PODER3 := ""

Local cS_PODER3 := ""

Local aVetVeics := ParamIXB[1] // Vetor dos Veiculos - selecao

MsgAlert("PESELVEI executado com sucesso!","Ponto de Entrada")

/*

If FM_PILHA("VEIXA004") // Entrada por Transferencia

For nCntFor := 1 to len(aVetVeics)

If aVetVeics[nCntFor,1] // Veiculo selecionado

//

SF4->(MsSeek(xFilial("SF4")+aVetVeics[nCntFor,3])) // TES da ENTRADA

cE_PODER3 := SF4->F4_PODER3

//

VVA->(DbGoTo(aVetVeics[nCntFor,2]))

SF4->(MsSeek(xFilial("SF4")+VVA->VVA_CODTES)) // TES da SAIDA

cS_PODER3 := SF4->F4_PODER3

//

If cE_PODER3 == "N" .and. cS_PODER3 == "R"

MsgStop("PODER DE TERCEIROS - TES utilizado na Entrada não corresponde ao TES utilizado na Saida.","PODER DE TERCEIROS")

lRet := .f.

Exit

EndIf

//

EndIf

Next

EndIf

*/

Return lRet