Se alguma pergunta ou resposta lhe foi útil, não deixe de dar seu voto positivo!

Erro ao extender rotina MVC MATA430

Boa tarde,

Necessito adicionar campos ao cabeçalho da rotina MATA430 para tal ao invés de utilizar apenas o ponto de entrada preferi herdar os modelos e extender o que é necessário. Ocorre que ao tentar adicionar o campo ao FWFormModelStruct recebo o seguinte erro: erro no parâmetro FWFormModelStruct: Classe desativada para usar este método ADDFIELD - FWFORMMODELSTRUCT.PRX(370)

Segue o trecho do código:

    local oModel := FWLoadModel('MATA430')
    local oMaster := oModel:GetModel('MASTER')
    local oStrutC0 := FWFormStruct( 1, 'SC0', { |cCampo| SC0STRUT(cCampo) } )
    local oStrutLoc := oModel:GetModelStruct('MASTER')[3]:GetStruct()
    local i

    For i := 1 To Len(oStrutC0:aFields)
        If !aScan(oStrutLoc:aFields, {|x| AllTrim(x[3]) == AllTrim(oStrutC0:aFields[i][3])})
            oStrutLoc:AddField(oStrutC0:aFields[i][1],; //titulo do campo
            oStrutC0:aFields[i][2],; //tooltip
            oStrutC0:aFields[i][3],;//nome do campo
            oStrutC0:aFields[i][4],; //tipo
            oStrutC0:aFields[i][5],; //tamanho
            oStrutC0:aFields[i][6],; //decimais
            oStrutC0:aFields[i][7],; //bloco de validacao
            oStrutC0:aFields[i][8],; //blocl para o when
            oStrutC0:aFields[i][9],; //lista de valores permitido do campo
            oStrutC0:aFields[i][10],; //obrigatorio
            oStrutC0:aFields[i][11],; //bloco iniciacao do valor padrao do campo
            oStrutC0:aFields[i][12],; //indica se é um campo chave
            oStrutC0:aFields[i][13],; //indica se é nao pode receber valor em uma operação de update
            oStrutC0:aFields[i][14]) //indica se é um campo virtual)
        EndIf
    Next
compartilhar
  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 advpl mvc pontodeentrada ou faça a sua própria pergunta.