Árvore de páginas

Ponto-de-Entrada: VA610DPGR - Gravação da Avaliação de Veículo.
Abrangências: Microsiga Protheus 10 , Microsiga Protheus 11
Versões: Microsiga Protheus 10 , Microsiga Protheus 11
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Português (Brasil)
Descrição:
Este ponto de entrada está localizado no momento da gravação do registro na rotina Avaliac Veic Usado (VEIVA610). O usuário pode criar o ponto de entrada para efetuar a validação que desejar antes de inserir o registro ou alterá-lo.
Eventos

Static Function Fs_Grava(nOpc)

Local i := 0
Private lMsHelpAuto := .f.

If Inclui
   nOpc := 3
Endif

If Altera
   nOpc := 4
Endif

If nOpc != 2

   DbSelectArea("VAZ")
   DbSetOrder(1)
   DbSeek(xFilial("VAZ")+M->VAZ_CHASSI+M->VAZ_REVISA)

   if Inclui .or. Altera

        Fs_TotAbat(.f.)  

        RecLock("VAZ",!Found())
        FG_GRAVAR("VAZ")
        ConfirmSx8()
        VAZ->VAZ_FILIAL := xFilial("VAZ")
        MSMM(VAZ->VAZ_OCOMEM,TamSx3("VAZ_OCORRE")[1],,&(aMemos[1][2]),1,,,"VAZ","VAZ_OCOMEM")
       
        MsUnlock()                      
       
        DbSelectArea("VAW")
        DbSetOrder(1)
        For i = 1 to Len(oAuxGetDados:aCols)
       
           If oAuxGetDados:aCols[i,FG_POSVAR("VAW_TIPABA","aHeader")] == "1"
               If Empty(oAuxGetDados:aCols[i,FG_POSVAR("VAW_GRUITE","aHeader")])
                   Loop
               Endif
           ElseIf oAuxGetDados:aCols[i,FG_POSVAR("VAW_TIPABA","aHeader")] == "2"
               If Empty(oAuxGetDados:aCols[i,FG_POSVAR("VAW_TIPSER","aHeader")])
                   Loop
               Endif
// RETIRADO POIS CAMPO VAW_DESCRI E UM CAMPO VIRTUAL E O SISTEMA NAO PERMITE ALTERA-LO 
//           ElseIf oAuxGetDados:aCols[i,FG_POSVAR("VAW_TIPABA","aHeader")] == "3"   
//               If Empty(oAuxGetDados:aCols[i,FG_POSVAR("VAW_DESCRI","aHeader")])
//                   Loop
//               Endif
           Endif
         
            DbSelectArea("VAW")
            dbSeek(xFilial("VAW")+M->VAZ_CODIGO+;
                    oAuxGetDados:aCols[i,FG_POSVAR("VAW_TIPABA","aHeader")]+;
                    oAuxGetDados:aCols[i,FG_POSVAR("VAW_GRUITE","aHeader")]+;
                    oAuxGetDados:aCols[i,FG_POSVAR("VAW_CODITE","aHeader")]+;
                    oAuxGetDados:aCols[i,FG_POSVAR("VAW_DESCRI","aHeader")]+;
                    oAuxGetDados:aCols[i,FG_POSVAR("VAW_TIPTEM","aHeader")]+;
                    oAuxGetDados:aCols[i,FG_POSVAR("VAW_TIPSER","aHeader")]+;
                    oAuxGetDados:aCols[i,FG_POSVAR("VAW_GRUSER","aHeader")]+;
                    oAuxGetDados:aCols[i,FG_POSVAR("VAW_CODSER","aHeader")]+M->VAZ_REVISA)
               

            If oAuxGetDados:aCols[i,Len(oAuxGetDados:aCols[i])]
            
                RecLock("VAW",.f.,.t.)
                DbDelete()
                MsUnlock()
                WriteSx2("VAW")
                        
            Else
                        
                RecLock("VAW",!Found())
                Fg_Gravar("VAW",oAuxGetDados:aCols,aHeader,i)
                VAW->VAW_FILIAL := xFilial("VAW")
                VAW->VAW_CODAVA := M->VAZ_CODIGO
                VAW->VAW_MOMGRA := "1" //inclusao
                VAW->VAW_REVISA := M->VAZ_REVISA
                MsUnlock()
                WriteSx2("VAW")
       
            Endif
        Next
  
           If nOpc == 3
            If VAZ->VAZ_APROVA == "1"
                FS_VEIVA610("INC")
            EndIf
        EndIf

        If VAZ->VAZ_APROVA == "1"
            FS_VEIVA610("INC")
        Else
            FS_VEIVA610(VAZ->VAZ_CHASSI)
        EndIf

        If ExistBlock("VA610DPGR")
            ExecBlock("VA610DPGR",.f.,.f.)
        EndIF

Programa Fonte
VEIVA610, VA610DPGR
Sintaxe

VA610DPGR - Gravação da Avaliação de Veículo. ( [ ] )

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
Array of Record
Retorno
    ()
Exemplos
/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܱ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±±±³Funcao    ³ VA610DPGR    ³ Autor ³ Thiago            ³ Data ³ 24/03/11 ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±±±³Descricao ³PONTO DE ENTRADA NA ROTINA DE AVALIACAO DE VEICULO          ³±±±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/User Function VA610DPGR()   MsgInfo("Executado ponto de entrada VA610DPGR")Return()
Variáveis
Nome Tipo Escopo Pode Alterar descrição
Array of Record Global Não