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