Olá pessoal, tudo bem?
Estou criando uma tela onde possuo um cabeçalho (pai) e duas grids (filha e neta) mas utilizando somente uma tabela (customizada) onde posso ter N registros na grid filha para N registros na grid neta.
Durante o preenchimento dos dados, a tela funciona corretamente, os registros da grid neta estão sendo atualizados quando eu percorro a grid filha.
O problema está sendo na confirmação da inclusão, onde é exibido o error log abaixo.
argument #0 error, expected C->A, function fieldpos on EXFORMCOMMIT(PROTHEUSFUNCTIONMVC.PRX)
Segue abaixo como estou criando minha modelDef.
oModel := MPFormModel():New("TEC002", /*bPreValidacao*/, /*{|oModel| fVldPos(oModel)}*/, /*{ | oMdl | MVC001C( oMdl ) }*/ ,, /*bCancel*/ )
oModel:addFields('ZA2_CAB',,oStrCab)
oModel:setPrimaryKey({'ZA2_FILIAL', 'ZA2_CODIGO'})
oModel:addGrid('ZA2_ITEM', 'ZA2_CAB', oStrIte)
oModel:addGrid('ZA2_COMP', 'ZA2_ITEM', oStrCmp)
aadd(aItemRel, {'ZA2_FILIAL', 'xFilial("ZA2")'})
aadd(aItemRel, {'ZA2_CODIGO', 'ZA2_CODIGO'})
oModel:setRelation('ZA2_ITEM', aItemRel, ZA2->(indexKey(1)))
aadd(aCompRel, {'ZA2_FILIAL', 'xFilial("ZA2")'})
aadd(aCompRel, {'ZA2_CODIGO', 'ZA2_CODIGO'})
aadd(aCompRel, {'ZA2_EQUIP', 'ZA2_EQUIP'})
oModel:setRelation('ZA2_COMP', aCompRel, ZA2->(indexKey(1)))
oModel:getModel('ZA2_CAB'):setDescription('CABECALHO')
oModel:getModel('ZA2_ITEM'):setDescription('ITENS')
oModel:getModel('ZA2_COMP'):setDescription('COMPONENTES')
Notei que o error log somente ocorre quando possuo mais de um registro na minha grid neta. Quando há somente um registro na grid neta para cada registro na grid filha, a inclusão ocorre normalmente.
Alguém já passou por isso ou teria algum exemplo de MVC com esse cenário e que possa compartilhar?
Obrigado pessoal.