Modificando propriedade de campo em tempo de execução: 'MVC_VIEW_CANCHANGE'

Olá,

No código abaixo eu busco alterar em tempo de execução a propriedade de dois campos, ao clicar em botão no Outras Ações.

Mas não há resultado esperado. Alguma ideia de onde eu posso estar errando?

Static Function InputGrau(oView)
    Local cIDUser     := RetCodUsr()
    Local cUserList := SuperGetMV("ES_909VIT", .T., "")

    oView := FWViewActive()

    If oView:GetOperation() == MODEL_OPERATION_UPDATE

        If !( cIDUser $ cUserList )
            Help( , , "FB009VIT", , "Usuário sem permissão para alterar o Grau médio.", 1, 0, , , , , ,{"Verifique com a gestão."}  )
            Return
        Else
            oView:GetModel("ZVLMASTER"):SetValue("ZVL_RELGRA", 0)
            oView:GetModel("ZVLMASTER"):SetValue("ZVL_BABMED", 0)
            oView:GetModel("ZVLMASTER"):SetValue("ZVL_BABFIN", 0)

            oView:GetViewStruct("ZVLMASTER"):SetProperty('ZVL_RELGRA', MVC_VIEW_CANCHANGE , .F. )
            oView:GetViewStruct("ZVLMASTER"):SetProperty('ZVL_BABMED', MVC_VIEW_CANCHANGE , .T. )

            oView:Refresh("ZVLMASTER")
        Endif
    Endif
Return
compartilhar
  • Everson, já tentou colocar a sua função dentro do X3_WHEN do campo e retornar um valor lógico para permitir a edição ou não?

    Daniel Mendes   05 de Jan de 2023
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags mvc setproperty ou faça a sua própria pergunta.