Árvore de páginas

Ponto-de-Entrada: VM000AGB1 Grava a alteração de informação
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 VM000AGB1 está localizado após a gravação do veículo (VV1) na tabela de produtos (SB1) na rotina de Entrada de Veículos. Isto possibilita a gravação e alteração de informações da tabela SB1.
Eventos

            aIncSB1 := {}
            aAdd(aIncSB1,{"B1_FILIAL"  ,xFilial("SB1")    ,Nil})
            aAdd(aIncSB1,{"B1_COD"     ,cCodSB1           ,Nil})
            aAdd(aIncSB1,{"B1_CODITE"  ,VVG->VVG_CHAINT   ,Nil})
            aAdd(aIncSB1,{"B1_DESC"    ,VVG->VVG_CHASSI   ,Nil})
            aAdd(aIncSB1,{"B1_TIPO"    ,GetMv("MV_TIPVEI"),Nil})
            aAdd(aIncSB1,{"B1_UM"      ,"UN"               ,Nil})
            aAdd(aIncSB1,{"B1_LOCPAD"  ,VVG->VVG_LOCPAD   ,Nil})
            aAdd(aIncSB1,{"B1_PICM"    ,nPICM             ,Nil})
            aAdd(aIncSB1,{"B1_IPI"     ,VVG->VVG_ALIIPI   ,Nil})
            aAdd(aIncSB1,{"B1_TE"      ,VVG->VVG_CODTES   ,Nil})
            aAdd(aIncSB1,{"B1_PRV1"    ,VV1->VV1_SUGVDA   ,Nil})
            aAdd(aIncSB1,{"B1_CONTA"   ,VVG->VVG_CONTA    ,Nil})
            aAdd(aIncSB1,{"B1_CC"      ,VVG->VVG_CENCUS   ,Nil})
            aAdd(aIncSB1,{"B1_PESO"    ,1                  ,Nil})
            aAdd(aIncSB1,{"B1_TIPOCQ"  ,"M"                ,Nil})
            aAdd(aIncSB1,{"B1_FABRIC"  ,cNomFab            ,Nil})
            aAdd(aIncSB1,{"B1_CONTRAT" ,"N"                ,Nil})
            aAdd(aIncSB1,{"B1_LOCALIZ" ,"N"                ,Nil})
            aAdd(aIncSB1,{"B1_CODBAR"  ,VVG->VVG_CHAINT   ,Nil})
            aAdd(aIncSB1,{"B1_ORIGEM"  ,VVG->VVG_SITTRI   ,Nil})
            aAdd(aIncSB1,{"B1_IRRF"    ,"N"                ,Nil})
            aAdd(aIncSB1,{"B1_CONTSOC" ,"N"                ,Nil})
            aAdd(aIncSB1,{"B1_MRP"     ,"N"                ,Nil})
            aAdd(aIncSB1,{"B1_GRUPO"   ,GetMv("MV_GRUVEI") ,Nil})
            aAdd(aIncSB1,{"B1_GRTRIB"  ,VV1->VV1_GRTRIB    ,Nil})
            aAdd(aIncSB1,{"B1_PPIS"    ,nAliPis                 ,Nil})
            aAdd(aIncSB1,{"B1_PCOFINS" ,nAliCof                 ,Nil})
            if GetNewPar("MV_MARGSOL",0) > 0
                aAdd(aIncSB1,{"B1_PICMENT"  ,GetNewPar("MV_MARGSOL",0) ,Nil})
            Endif
           
            lMsErroAuto := .f.
            MSExecAuto({|x| mata010(x)},aIncSB1)  // ??? Como Fazer alteracao
            if lMsErroAuto
                MostraErro()
                Help(" ",1,"ERROCADPRO") // Erro no Cadastro do Veiculo
                DisarmTransaction()
                Break
            Endif
           
            if !( SB1->(EOF()) )
                DBSelectArea("SB1")
                RecLock("SB1",.f.)
                ConfirmSx8()
                Msunlock()
            endif

            //Ponto de Entrada p/ Atualizar o Cadastro de Veiculos
            If ExistBlock("VA010DPGR")
                ExecBlock("VA010DPGR",.f.,.f.,{VV1->VV1_CHAINT,3,0})
            EndIf

        Else

            cCodSb1 := SB1->B1_COD
            VV2->(dbSeek(xFilial("VV2")+VV1->VV1_CODMAR+VV1->VV1_MODVEI))
            if VV8->(dbSeek(xFilial("VV8")+VV2->VV2_TIPVEI))
                if M->VVG_ESTVEI == "0" //Novo
                    nPICM := VV8->VV8_ALINOV
                Else
                    nPICM := VV8->VV8_ALIUSA
                Endif
            Endif
           
            dbSelectArea("SB1")
            RecLock("SB1",.f.)
            SB1->B1_LOCPAD := VVG->VVG_LOCPAD
            SB1->B1_PICM   := nPICM
            SB1->B1_IPI    := VVG->VVG_ALIIPI
            SB1->B1_TE     := VVG->VVG_CODTES
            SB1->B1_PRV1   := VV1->VV1_SUGVDA
            SB1->B1_CONTA  := VVG->VVG_CONTA
            SB1->B1_CC     := VVG->VVG_CENCUS
            SB1->B1_ORIGEM := VVG->VVG_SITTRI
            MsUnlock()
            // Ponto de Entrada apos gravacao do SB1
            If ExistBlock("VM000AGB1")
                ExecBlock("VM000AGB1",.f.,.f.)
            EndIf
        Endif

Programa Fonte
VEIVM000, VM000AGB1
Sintaxe

VM000AGB1 Grava a alteração de informação ( [ ] )

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
Array of Record
Retorno
    ()
Exemplos
/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܱ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±±±³Fun‡„o    ³ VM000AGB1³ Autor ³ Otavio Favarelli      ³ Data ³ 11/11/09 ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±±±³Descri‡„o ³ Ponto de entrada para gravar ou alterar informacoes geradas³±±±±³          ³ na tabela SB1 a partir de um veiculo que foi dado entrada. ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Sintaxe   ³                                                            ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Uso       ³                                                            ³±±±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/User Function VM000AGB1()	MsgAlert("O ponto de entrada VM000AGB1 foi executado com sucesso!","Sucesso!")Return
Variáveis
Nome Tipo Escopo Pode Alterar descrição
Array of Record Global Não