Para certas tabelas do RM Saúde, existem tabelas de campos complementares, que podem ser cadastrados e automaticamente aparecem nos respectivos cadastros. Ou seja, é permitido ao cliente criar seus próprios campos no banco sem que eles influenciem em regras de negócio.
A LibRM possui a funcionalidade de gerar automaticamente tais campos em tela.
Para tal, basta adicionar, no método RMSDataServer.DoReadRecord
, uma busca pelos campos complementares, conforme abaixo:
this.DBS.QueryFill(dataSet, [NOME_TABELA],
@"SELECT *
FROM [TABELA_COMPL](NOLOCK)
WHERE [WHERE_CLAUSULE]", primaryKey);
E, após isso, chamar o método GetUserFields
, passando o dataset, nome da tabela e primary key.
Entretanto, não conseguimos usar tal funcionalidade em processos. Como poderíamos fazê-lo?
Edit 1: Encontrei no Form de processo RM.Prj.Contrato.PrjContratoLiberarPdoForm
uma funcionalidade semelhante, utilizando o componente RMSUserFieldsView
, entretanto ele cria associações com alguns RMSBindingSource
de uma forma diferente que o processo que estou utilizando (RM.Sau.RegistroAtendimento.SauPatientDischargeProcForm
) e mesmo criando conforme está no código, aparece o erro de Objecto não instanciado.