[RESOLVIDO] Pegando o valor de um campo selecionado dentro de um um radio

Pessoal, tenho uma situação que não sei como resolver. Fiz este select dentro de um campo do tipo radio:

SELECT t.id, t.descricao, t.qtd, at.ordem
FROM tratamentos t, atendimento_tratamento at
where at.fkIdTratamento = t.id
and at.fkIdPaciente = ‘[idPaciente]’
and at.fkIdAtendimento = ‘{fkIdAtendimento}’
and at.qtdSolicitada > at.qtdRealizada
ORDER BY id

O mesmo está funcionando, ele mostra apenas os tratamentos que foram designados para aquele paciente.
mas como selecionei a descrição e também a ordem que eu me interesso agora, quero saber como pego esse valor da ordem no evento onValidate para que eu trate-o da seguinte forma:

em onValidate
if({ordem} == ‘Seguinte’){
sc_error_message(“Este tratamento só será realizado após concluir os atuais.”);
}

ou fazer os tratamentos que tiverem a ordem com valor = “Seguinte” , estes campos ficarem desabilitados e não escondidos, pois o usuário tem que ver quais são os próximos tratamentos a serem realizados. O que eu não quero é que o usuário passe um tratamento para o paciente que ainda não está em tempo de ser reallizado, por isso dando a mensagem e retornando ou desabilitado os radios, o usuário nunca irá cometer este erro.

Desde já agradeço a atenção de todos.

Marcelo Ferreira

Seu select deveria retornar apenas duas colunas em um lookup automático de um campi radio.

Não Haroldo, este campo qtd é necessário, em contro momento, não nesse caso de agora, o qtd ele preenche outro campo o qual será gravado na tabela atual, informando quantas sessões deste tratamento serão realizadas, quando eu clico no radio, por isso o select está selecionando 3 colunas, mas preciso nesta ocasião do campo ordem para saber se será imediato o tratamento ou será seguinte.

Selects lookups automaticos de campos, radio, combobox, autocomplete devem retornar duas colunas. A quantidade de itens no elemento esta ligada a quantidades de registros retornados.

Ok, corrido este erro do lookup retornar 2 colunas, deixei apenas as duas necessárias.

Quanto à questão mencionada neste tópico, eu resolvi com o evento onValidate inserindo o seguinte código:

$check_sql = “SELECT ordem”
. " FROM atendimento_tratamento"
. " WHERE fkIdTratamento = ‘" . {fkIdTratamento} . "’";
sc_lookup(rs, $check_sql);

if (isset({rs[0][0]})){
{attrib_ordem} = {rs[0][0]};
if({attrib_ordem} == ‘Seguinte’){
sc_error_message(“Tratamento “.{attrib_ordem}.”, será realizado após a conclusão do(s) Imediatos.”);
}
}

Com isso resolvi o problema.

1 Curtida