Quais são as propriedades editáveis numa Struct em MVC

No artigo de hoje, vamos mostrar a lista de atributos editáveis via SetProperty numa Struct em MVC.

Algumas vezes temos dúvidas, em quais propriedades conseguimos editar via método SetProperty, em uma FWFormStruct. Existem algumas constantes na FWMVCDef.ch que podemos utilizar para fazer essa manipulação.

Abaixo então, segue o nome dos atributos editáveis, tanto na ModelDef (banco de dados) como na ViewDef (visualização da tela).

ModelDef:

  • MODEL_FIELD_TITULO – Titulo
  • MODEL_FIELD_TOOLTIP – Descrição completa do campo
  • MODEL_FIELD_IDFIELD – Nome (ID)
  • MODEL_FIELD_TIPO – Tipo
  • MODEL_FIELD_TAMANHO – Tamanho
  • MODEL_FIELD_DECIMAL – Decimais
  • MODEL_FIELD_VALID – Validação
  • MODEL_FIELD_WHEN – Modo de edição
  • MODEL_FIELD_VALUES – Lista de valores permitido do campo (combo)
  • MODEL_FIELD_OBRIGAT – Indica se o campo tem preenchimento obrigatório
  • MODEL_FIELD_INIT – Inicializador padrão
  • MODEL_FIELD_KEY – Indica se o campo é chave
  • MODEL_FIELD_NOUPD – Indica se o campo pode receber valor em uma operação de update
  • MODEL_FIELD_VIRTUAL – Indica se o campo é virtual

ViewDef:

  • MVC_VIEW_IDFIELD – Nome do Campo
  • MVC_VIEW_ORDEM – Ordem
  • MVC_VIEW_TITULO – Titulo do campo
  • MVC_VIEW_DESCR – Descrição do campo
  • MVC_VIEW_HELP – Array com Help
  • MVC_VIEW_PICT – Picture
  • MVC_VIEW_PVAR – Bloco de Picture Var
  • MVC_VIEW_LOOKUP – Consulta F3
  • MVC_VIEW_CANCHANGE – Indica se o campo é editável
  • MVC_VIEW_FOLDER_NUMBER – Pasta do campo
  • MVC_VIEW_GROUP_NUMBER – Agrupamento do campo
  • MVC_VIEW_COMBOBOX – Lista de valores permitido do campo (Combo)
  • MVC_VIEW_MAXTAMCMB – Tamanho Máximo da maior opção do combo
  • MVC_VIEW_INIBROW – Inicializador de Browse
  • MVC_VIEW_VIRTUAL – Indica se o campo é virtual
  • MVC_VIEW_PICTVAR – Picture Variável

Abaixo um trecho de exemplo:

Static Function ModelDef()
    Local oStruct := FWFormStruct(1, cNomeTabela)
    Local oModel

    /*
        Para ver a lista de propriedades acesse https://tdn.totvs.com/display/framework/AdvPl+utilizando+MVC
        No PDF do manual, vá na seção 10.3 Alteração de propriedades do campo (SetProperty)
    */
    oStruct:SetProperty('ZD1_DTFORM', MODEL_FIELD_WHEN, FwBuildFeature(STRUCT_FEATURE_WHEN,   'INCLUI')) //Modo de Edição
    oStruct:SetProperty('ZD1_DTFORM', MODEL_FIELD_INIT, FwBuildFeature(STRUCT_FEATURE_INIPAD, 'Date()')) //Inicializador Padrão
    
    /*
        Continuação da declaração do MPFormModel...
    */
    oModel := MPFormModel():New(...
    ...
Return oModel

Static Function ViewDef()
    Local oModel  := FWLoadModel("NomeDoSeuModel")
    Local oStruct := FWFormStruct(2, cNomeTabela)
    Local oView

    /*
        Para ver a lista de propriedades acesse https://tdn.totvs.com/display/framework/AdvPl+utilizando+MVC
        No PDF do manual, vá na seção 10.3 Alteração de propriedades do campo (SetProperty)
    */
    oStruct:SetProperty('ZD1_DTFORM', MVC_VIEW_TITULO, 'Data de Inclusão') //Título do campo

    /*
        Continuação da declaração do FWFormView...
    */
    oView := FWFormView():New(...
    ...
Return oView

O material para esse artigo, foi extraído do manual AdvPL utilizando MVC v2 – POR.pdf, disponível nesse link https://tdn.totvs.com/display/framework/AdvPl+utilizando+MVC , recomendamos que também estudem o conteúdo do manual (que é mais amplo). A parte das propriedades estão nas páginas 57 e 58.

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

Deixe uma resposta