Iniciar formulário em modo de edição

Prezados boa noite,

Eu estou com uma situação que não estou sabendo como resolver. já usei a macro sc_app_conf para fazer o que desejo mas sem sucesso, acho que estou fazendo algo errado só não sei o que.

É o seguinte: Tenho uma app grid que ao clicar em um campo imagem ele faz um link com outra aplicação, só que esta outra aplicação deverá entrar em modo de inserção ou edição dependendo de uma condição. Ao abrir o form no onLoad está sendo carregado um select que busca umas informações, caso as informações sejam encontradas, quer dizer que não deve fazer novo insert, mas sim um update na tabela.

Só que eu não estou conseguindo fazer a aplicação ficar no modo update, sempre vem em modo insert.
Lembrando, uso o scriptcase 8.1 não sei se isso faz alguma diferença.

Se alguém souber como fazer, por favor, me ajudem, preciso muito desta ajuda.

Dese já agradecido

Olá Marcelo,

Poste como fizeste o teu IF e como primeiro teste, coloque esse código (que tem o sc_apl_conf) no OnScriptInit.

Blz Kleyber

É o seguinte, o código no onInitScript, mas neste caso piorou, porquê no onLoad a função que busca as informações carrega os campos como setados e no onInitScript ele não lê a função e deixa os campos do form vazios.

Segue o código no onInitScript, este mesmo estava no onLoad.

//CHECA POR INFORMAÇÕES DO ATENDIMENTO DO PACIENTE
$result = fbib_pegaUltimoAtendimentoPaciente([idPaciente]);
{lbl_id_atendimento} = $result[0][0];
{senha} = $result[0][1];
{tipoAtendimento} = $result[0][2];
{fkIdAtendentes} = $result[0][3];

if({lbl_id_atendimento} != ‘’){
sc_apl_conf(“form_registra_atendimento”, “update”, “on”);
}

fbib_pegaUltimoAtendimentoPaciente() é um método em uma biblioteca interna

Ok, é que a macro sc_apl_conf não funciona no OnLoad. Te sugiro dividir o código colocando no OnLoad a chamada do método e no OnScriptInit dar um ECHO no campo {lbl_id_atendimento} pra ver se realmente tem algum conteúdo nele, antes do IF.

Outra coisa é verificar se o método fbib_pegaUltimoAtendimentoPaciente está retornando dados.

Ok, Kleyber,

Este teste eu já havia feito, mas por via das dúvidas resolvi fazer novamente para ter a certeza, e o resultado é o seguinte:

o método retorna todos os dados normalmente, se tiver no onLoad, ele retorna e preenche os campos, mas se eu der um echo no onInitScript mesmo o método sendo chamado no onLoad ele não funciona, só funciona no Onload, só a macro que não roda porque ela não tem escopo em onload pelo que eu estava vendo.

mas foi isso que te sugeri. Dividir o código e deixar no OnLoad o teste e deixar o IF no OnScriptInit.

Bom dia prezado, pois é, se é que eu entendi a sugestão, acho que essa ideia não vai rolar, porque o onLoad me parece que só é executado depois que o onScript executa, pelo que eu estava vendo no manual dos eventos, então com certeza no onScript não vai ter nada para o IF comparar porque o onLoad ainda não executou, mas mesmo assim eu já havia testado dessa forma e deixei novamente, atualmente está assim:

no onScript
if({lbl_id_atendimento} != ‘’){
sc_apl_conf(“form_registra_atendimento”, “update”, “on”);
}

no onLoad.
$result = fbib_pegaUltimoAtendimentoPaciente([idPaciente]);
{lbl_id_atendimento} = $result[0][0];
{senha} = $result[0][1];
{tipoAtendimento} = $result[0][2];
{fkIdAtendentes} = $result[0][3];

[idAtendimento] = {lbl_id_atendimento};

echo {lbl_id_atendimento};