[Resolvido] Multiplos registros dinâmicos

Cenário: vários psicólogos atendem diferentes quantidades de clientes. Preciso a cada final de mês, informar quantidade de sessões que cada paciente se consultou, com seu respectivo psicólogo. Isto é, no banco de dados, preciso preencher apenas os campos nº de sessões. O resto já tenho.

Solução adotada:

Form de controle: chama um form de múltiplos registros. Passa o código do psicólogo e o cód do cliente (variáveis globais)

Form de Múltiplos registros: usa as globais para selecionar os registros no banco. armazena o recordset em um array global. (coloquei isso no OnApplicationInit)

Problema:

O SC deveria colocar o código e o nome do paciente em sua respectiva linha no formulário de múltiplos registros. Mas só pega o primeiro paciente do array. (coloquei o código no OnLoadRecord)

É bem vinda qualquer ajuda, inclusive se for de mudar completamente a estratégia.

Muito grato.

O SC não é uma linguagem.

Seu código deve ter problemas.

Eu não entendi sua lógica e nem seu objetivo.

Acho melhor fazer em JavaScript.

Boa noite Haroldo. Grato pela resposta.

O objetivo era fazer variar a quantidade de linhas de um formulário de múltiplos registros. A variação seria definida pelo campo paciente. O campo é um lookup que armazena o código o paciente, mas mostra o nome. Cada psicólogo tem uma quantidade diferente de pacientes. E eu precisava que os nomes dos pacientes viessem preenchidos.

O form de múltiplos registros é chamado por um form de controle, com passagem de parâmetros.

Resolvi com um código PHP no evento onValidate do formulário de controle. Antes de redirecionar para o form de múltiplos registros já dou um insert no banco de dados. Aí o objetivo foi atingido.

De qualquer modo, grato pelo comentário. Abraço.

A macro para controle de linhas deve vir na aplicação anterior a que se deseja aplicar o recurso, ou seja na app de controle.

Eu faria isso com uma tabela temporária pré preenchida onde o formulário exibiria sempre o total de registros.

Isso. Foi assim que fiz.

A macro que contra o nº de linhas ficou no OnValidate do form de controle. Apenas não usei uma tabela temporária, porque o caso não exige. Obrigado, mais uma vez.

1 Curtida