Atualizar campo Select após fechar modal

Olá pessoal,

Tenho uma aplicação do ipo Formulário, c_CadProdutos, onde enho alguns campos do tipo select. E, nesta mesma aplicação, tenho botões na barra de ferramentas que estão dentro de um grupo que criei chamado utilitários. Nesse grupo ficam botões do tipo ajax que chamam aplicações referentes a cada campo select. Por exemplo, tenho um botão que chama a aplicação, também do tipo formulário, de Fornecedor para criar um novo fornecedor. O meu código está assim:

sc_redir(c_CadFornecedor, , “modal”,"",“400”,“950”);

Beleza, ele chama a aplicação, faço as inclusão dos dados mas, ao retornar à página anterior, como faço para atualizar apenas o Select referente a esse cadastro, ou seja o campo {IDFORNECEDOR} ? Preciso fazer isso em todas as janelas modais que se referem a cada select.

Grato,

Ilano.

Nas Aplicações que você chama em ‘Modal’ nelas no Evento > onValidateSuccess, Coloque:

sc_commit_trans(); // Aqui força o SC a atualizar as base de dados com os dados novos.

sc_redir(sua_aplicacao.php, ‘’, “_parent”); // Retorna a aplicação de Origem e já recarrega tudo que foi atualizado nas tabelas no ‘Modal’.

Olá Jailton,

Tudo bem? Desde já agradeço sua atenção. Infelizmente não está dando certo.
No cadastro de Produtos, chamo o cadastro de Fornecedores como postei anteriormente, e no cadastro de Fornecedores, no evento OnValidateSucess fiz como você indicou:

sc_commit_trans();
sc_redir(c_CadProdutos.php, ‘’, “_parent”);

Porém, usando a linha sc_redir(c_CadProdutos.php, ‘’, “_parent”); até retorno à página mas o registro não é alterado e nem atualizado nem campo select que está na página c_CadProdutos e nem no banco.

Já se eu deixar só a linha sc_commit_trans(); o registro é salvo em c_CadFornecedores e no banco mas não atualiza o campo select na página c_CadProdutos.

Agora, só um detalhe, essas duas linhas que você postou, podem ser usadas em uma aplicação de cadastro ou é só em uma aplicação de controle? Porque a janela modal (c_CadFornecedores) é do tipo formulário.

Tire o código do OnValidateSucess e coloque no OnAfterInsert e OnAfterUpdate em ‘Fornecedores’.

Veja se vai ‘voltar’ ao registro correto que chamou a aplicação se não você, vai ter que criar uma variável global,
de origem no OnLoad:
[glo_ProdutoID]={ProdutoID}; // Marcar como variável Global de Saída.

No Cadastro de Fornecedores no OnAfterInsert e OnAfterUpdate use:
sc_commit_trans();
sc_redir(form_associados.php, produtoid=[glo_ProdutoID], “_parent”);

** Observação, mesmo que seu campo original Esteja com letras Maiúsculas e Minusculas, etc na hora de redirecionar passar tudo em letras minusculas,
exemplo, ProdutoID vira produtoid

Jailton,

Cara, deu certo, atualizou mas, tem um problema. Se eu tiver criando um novo produto, ele ainda não foi salvo certo, então ainda não foi gerado o ID, e se eu adicionar um novo fornecedor, aí ele sai do novo registro e vai para o último fazendo com que eu tenha que refazer. Como posso atualizar só o select sem precisar recarregar a página toda?

Neste caso você só habilita o botão de Fornecedor quando o produto já tiver sido finalizado a inclusão:
No OnLoad Cadastro de Produtos:
if (empty({ProdutoID})) {
sc_btn_display(‘Forncedores’, ‘off’);
} else {
sc_btn_display(‘Forncedores’, ‘on’);
}