Árvore de páginas

Ponto-de-Entrada: VM011SELVEI - Realiza validação no veículo a selecionar
Abrangências: Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10
Versões: Todas
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Descrição:
O ponto de entrada VM011SELVEI está localizado no momento da seleção do veículo, assim poderá ser realizada qualquer tipo de validação necessária neste veículo que se pretende selecionar. Se retornar falso, a rotina não continuará a ser executada.
Eventos

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao    ³ FS_MARCA011  ³ Autor ³ ANDRE             ³ Data ³ 23/02/06 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descricao ³ Marca o veiculo do estoque selecionado                     ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function FS_MARCA011()

Local cSavAlias := Alias()
Local i := 0
Local dDtMov  := ctod("")
Local cQuery  := ""
Local cQAlVVF := "SQLVVF" // VVF
Local cAux    := ""
Local aMemos  := {{"VV9_OBSMEM","VV9_OBSERV"}}
Local p_, _ni
Local lDelVV0 := .t.
Local cLocVei := ""
For i := 1 to len(aStruVV1)
    If aStruVV1[i,1] .and. i # oLBox:nat
        aStruVV1[i,1] := .f.
    ElseIf aStruVV1[i,1]
        lDelVV0 := .f.   
    Endif
Next
If lDelVV0 // Apaga CHASSI quando nenhum Veiculo foi selecionado
    M->VV0_CHASSI := space(len(VV1->VV1_CHASSI))
EndIf
lFiltro  := .f.
lCalcVEI := .t.
lFatura  := .t.
cBlqFat  := "" 
Do Case
    Case aStruVV1[oLbox:nAt,2] == "R" //Veiculo de Remessa
        lFatura := .f.
        cBlqFat := STR0122+" "+aStruVV1[oLbox:nAt,14]
        MsgInfo(cBlqFat,STR0012)
        //Return .t.
    Case aStruVV1[oLbox:nAt,2] == "T" //Veiculo em Transito
        lFatura := .f.
        cBlqFat := STR0123
        MsgInfo(STR0123,STR0012)
        //Return .t.
    Case aStruVV1[oLbox:nAt,2] == "C" //Veiculo de Consignacao
        lFatura := .f.
        cBlqFat := STR0124+" "+aStruVV1[oLbox:nAt,14]
        MsgInfo(cBlqFat,STR0012)
        //Return .t.
    Case aStruVV1[oLbox:nAt,2] == "B" // Veiculo Bloqueado
        lFatura := .f.
        lSelect := .f.
EndCase

dbSelectArea("VV1")
dbSetOrder(2) //Filial+Chassi
If Empty(xFilial("VV1"))
    dbSeek(xFilial("VV1")+aStruVV1[oLbox:nAt,5])
Else
    dbSeek(aStruVV1[oLbox:nAt,15]+aStruVV1[oLbox:nAt,5])
EndIf
if !aStruVV1[oLbox:nAt,1]
    if aStruVV1[oLbox:nAt,2] == "B"
        MsgInfo(STR0126,STR0012) //Este veiculo nao podera ser selecionado pois encontra-se reservado! - Atencao
        Return .f.
    Endif
Endif

//Ponto de Entrada - No momento da Selecao do Veiculo
If ExistBlock("VM011SELVEI")
    If !ExecBlock("VM011SELVEI",.f.,.f.)
        return .f.
    Endif
Endif

Programa Fonte
VEIVM011, VM011SELVEI
Sintaxe

VM011SELVEI - Realiza validação no veículo a selecionar ( [ ] ) --> lRetorno

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
Array of Record
Retorno
    lRetorno(logico)
  • De acordo com a validação efetuada, caso o retorno seja falso a rotina não permitirá a seleção do veículo.
Exemplos
/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܱ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±±±³Fun‡Æo    ³ VM011SELVEI³ Autor ³ Otavio Favarelli    ³ Data ³ 13/10/09 ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±±±³Descri‡Æo ³ Ponto de entrada para validacao na selecao do veiculo.     ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Sintaxe   ³                                                            ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Uso       ³ VEICULOS                                                   ³±±±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/User Function VM011SELVEI()lRetorno := .T.MsgAlert("Mensagem para o ponto de entrada 'VM011SELVEI'!","Sucesso!")Return(lRetorno)
Variáveis
Nome Tipo Escopo Pode Alterar descrição
Array of Record Global Não