Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS DMS

Linha de Produto:

Linha Protheus

Segmento:

Varejo

Módulo:

TOTVS DMS (Linha Protheus) - Veículos (SIGAVEI)

Função:Cadastro de Veículos (VEIA070)
País:Brasil
Ticket:

19425369

Requisito/Story/Issue (informe o requisito relacionado) :

DVARMIL-3678


02. SITUAÇÃO/REQUISITO

Ao alterar um cadastro de veículos pela rotina Cadastro de Veículos (VEIA070) alguns campos como Procedência (VV1_PROVEI), Estado do Veículo (VV1_ESTVEI), etc... estão bloqueados para edição.

03. SOLUÇÃO

Alterado o processo Cadastro de Veículos (VEIA070) para que não seja bloqueada a edição de campos como Procedência (VV1_PROVEI), Estado do Veículo (VV1_ESTVEI), etc... 


Procedimentos para utilização:

A validação passará a ser de responsabilidade do usuário e deverá ser feita através de ponto de entrada no padrão MVC como no exemplo abaixo.

#Include "TOTVS.ch"
#Include "FWMVCDEF.ch"



User Function VEIA070()
    Local aParam     := PARAMIXB  // PARÂMETROS PASSADOS PARA O PONTO
    Local xRet       := .T.       // RETORNO LÓGICO PARA PROSSEGUIMENTO DA ROTINA
    Local oObj       := NIL       // OBJETO QUE ARMAZENARÁ O MODELO TOTAL
    Local cIdPonto   := Space(0)  // ID DO MOMENTO DA CHAMADA DO PONTO
    Local aCpoPossiv := {}        // ESTRUTURA DA TABELA
    Local cCpoNaoAlt := ""        // Campos que NAO podem ser Alterados
    Local nCntFor    := 0
    Local bAuxWhen

    // CERTIFICA-SE QUE EXISTEM PARÂMETROS PARA O MOMENTO
    If (!aParam == NIL)
        oObj     := aParam[1]
        cIdPonto := aParam[2]
        cIdModel := aParam[3]

        // VALIDAÇÃO ANTES DA ATIVAÇÃO DO MODELO
        If (cIdPonto == "MODELVLDACTIVE")

            aCpoPossiv := FWFormStruct(3,"VV1")

            cCpoNaoAlt += "VV1_CODMAR/VV1_CHASSI/VV1_MODVEI/VV1_SEGMOD/VV1_COMMOD/"
            cCpoNaoAlt += "VV1_FABMOD/VV1_CARROC/VV1_CORVEI/VV1_CORFXA/VV1_COMVEI/"
            cCpoNaoAlt += "VV1_NUMDIF/VV1_TIPDIF/VV1_RENAVA/VV1_PESBRU/VV1_RELDIF/"
            cCpoNaoAlt += "VV1_CAMBIO/VV1_CAPTRA/VV1_SERMOT/VV1_TIPCAB/VV1_QTDCIL/"
            cCpoNaoAlt += "VV1_TIPCAM/VV1_NUMLOT/VV1_CILMOT/VV1_TIPMOT/VV1_QTDEIX/"
            cCpoNaoAlt += "VV1_POTMOT/VV1_DISEIX/VV1_PRIREV/VV1_PORTAS/VV1_CM3/"
            cCpoNaoAlt += "VV1_PESLIQ/VV1_3EIXO/VV1_TANQUE/VV1_PRCADA/VV1_FABMES/"
            cCpoNaoAlt += "VV1_FABANO/VV1_DISCAT/VV1_SIMRAV/VV1_LCVM/VV1_NUMCMO/VV1_CLCVM/"
            cCpoNaoAlt += "VV1_CAPCAR/VV1_NUMMOT/VV1_PROVEI/VV1_ESTVEI/VV1_PLAVEI/"

            For nCntFor := 1 to len(aCpoPossiv[1])
                If !aCpoPossiv[1,nCntFor,14] .and. aCpoPossiv[1,nCntFor,3]+"/" $ cCpoNaoAlt // Somente campos que existem
                    bAuxWhen := FWBuildFeature(STRUCT_FEATURE_WHEN, 'VA0700021_WHEN("' + aCpoPossiv[1,nCntFor,3] + '")') // Função reponsável pelos critérios do WHEN
                    oObj:GetModel("MODEL_VV1"):GetStruct():SetProperty(aCpoPossiv[1,nCntFor,3], MODEL_FIELD_WHEN, bAuxWhen)
                EndIf
            Next
           
        EndIf
    EndIf
Return (xRet)


04. DEMAIS INFORMAÇÕES

05. ASSUNTOS RELACIONADOS

  • Não há.