João,
Para situações como essa, você deve criar uma nova rotina e "herdar" o model e view da rotina que você deseja fazer essa alteração.
Imagine que você tem a rotina XISTO.PRW e é ela que você deseja criar novos campos.
Você vai criar uma nova rotina, XPTO.PRW e nela criar um MVC normalmente, porém não vai criar o model e view do zero, vai ler do XISTO.PRW:
#include "protheus.ch"
user function xpto()
//Aqui seria a função principal, onde você criaria o browse etc...
return
static function modelDef()
local oModel as object
oModel := FWLoadModel("XISTO")
//Aqui eu faço as devidas alterações
return oModel
static function viewDef()
local oView as object
oView := FWLoadView("XISTO")
//Aqui eu faço as devidas alterações
return oView
Você também pode fazer o mesmo para browsedef etc... Porém você deve tratar caso o retorno seja nulo, pois não necessariamente a rotina XISTO implementou tais recursos.
Esse recurso de reutilização de model e view pode ser feito de diversas formas e rotinas, é um recurso bem legal que infelizmente muita gente não utiliza e acabam criando uma rotina do zero.
Documentação:
https://tdn.totvs.com.br/display/framework/FWLoadView
https://tdn.totvs.com.br/display/framework/FWLoadBrw
https://tdn.totvs.com.br/display/framework/FWLoadModel