Autor Tópico: sc_redir() no onAfterInsert  (Lida 4231 vezes)

leosallesdf

  • Novato
  • *
  • Mensagens: 22
    • Sites DF
    • Email
sc_redir() no onAfterInsert
« Online: Julho 09, 2007, 05:05:38 pm »
coloquei o seguinte comando no evento onAfterInsert

 sc_redir(sicasp_tela_confirmacao_dados_pessoais.php);

só que ele redireciona antes de salvar no banco...

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: sc_redir() no onAfterInsert
« Responder #1 Online: Julho 10, 2007, 12:28:29 pm »
Bem em aplicação formulario, no menu Aplicação/Configuração você tem URL de saída e habilitar URL após o procesamento do formulário.
Mas seu exemplo acima deveria funcionar.

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: sc_redir() no onAfterInsert
« Responder #2 Online: Julho 10, 2007, 12:43:29 pm »
Realmente fiz  o teste, e após o envio, é redirecionadomas não é salvo os registros.
É mais um caso para o ´SUPER SUPORTE NETMAKE´.

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: sc_redir() no onAfterInsert
« Responder #3 Online: Julho 10, 2007, 06:24:50 pm »
pelo Suporte, é necessário executar a macro sc_commit_trans("conexão") antes da sc_redir, para bancos com controle de transação ativos, mesmo assiim fiz os testes e ainda não funcionou.

Mas você pode criar uma variavel de sessão e atribuir um valor a ela na onafterinsert, e na onload testar essa variavel e se contiver o valor executar a sc_redir, não esquecendo de limpar ou remover a variavel em questão.

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: sc_redir() no onAfterInsert
« Responder #4 Online: Julho 10, 2007, 06:41:33 pm »
RETIFICANDO:

a macro sc_commit_trans(); antes da sc_redir, funciona perfeitamente.


leosallesdf

  • Novato
  • *
  • Mensagens: 22
    • Sites DF
    • Email
Re: sc_redir() no onAfterInsert
« Responder #5 Online: Julho 11, 2007, 03:21:21 pm »
Boa dica!

Funcionou perfeitamente
. Segue a ajuda da macro sc_commit_trans:


sc_commit_trans (conexão)

Esta macro tem por objetivo efetivar um set de transações na base de dados.

Nas aplicações de formulário, as fórmulas PHP que cotenham qualquer  macro que dependa de atualização na base de dados (sc_after_insert, sc_after_update, sc_after_delete, sc_before_insert, sc_before_update ou sc_before_delete ) estão automaticamente protejidas por controle de transação, desde que a conexão seja a mesma da aplicação.
Ou seja, o Scriptcase só efetivará a atualização da base de dados após o processamento de todas estas fórmulas.
Caso o usuário, em alguma  destas fórmulas,  venha a utilizar  um redirecionamento de aplicação  (macro  "sc_redir") deverá, antes do redir, utilizar esta macro para garantir as transações efetuadas anteriormente. 

O parâmetro "conexção" é opcional, sendo necessário, apenas, se o comando for executado em uma base de dados diferente da especificada para a aplicação.


netsoft

  • Visitante
Re: sc_redir() no onAfterInsert
« Responder #6 Online: Agosto 09, 2007, 07:47:28 pm »
desculpe trazer este topico de volta, mas para usar o ""sc_redir"", eu tenho que colocar o php ou basta colocar o nome da aplicação ?

netsoft

  • Visitante
Re: sc_redir() no onAfterInsert
« Responder #7 Online: Agosto 09, 2007, 07:58:06 pm »
desculpe trazer este topico de volta, mas para usar o ""sc_redir"", eu tenho que colocar o php ou basta colocar o nome da aplicação ?

é isto mesmo, só que, tenho a mensagem antes

sc_alert("Para incluir itens de orçamento você deve  primeiro incluir um orçamento !!!");
sc_redir("InclusaoOrcamentos");


mas não da tempo de aparecer, o que fazer ?

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: sc_redir() no onAfterInsert
« Responder #8 Online: Agosto 10, 2007, 08:07:14 am »
Realmente não vai aaparecer a mensagem.
Faça po seguinte, crie um formulário de controle, só para esse tipo de mensagem, crie o parâmetro texto_mensagem, apicacao_redir, param_1, param2...
De o sc_redir nessa aplicação passando a menagem, aplicaçao de redireckionamento, e outros parâmetros se quiser, e na onvalidate da aplicação controle vc redireciona para a aplicação que deseja.
A formatação da macro sc_redir é:

sc_redir(apl, parm1; parm2; ..., target)
sc_redir (apl, parm1; parm2; ..., target)


Esta macro tem por objetivo redirecionar o processamento para outra aplicação ou URL.

 

Caso a aplicação de redirecionamento utilize parâmetros, estes devem ser passados da seguinte forma:

1. Após o nome da aplicação, utilizar o delimitador vírgula (,)
2. Informar o nome do parâmetro, o sinal de igualdade (=) e o valor ou variável a ser atribuida.
3. Havendo mais de um parâmetro, utilizar o delimitador ponto e vírgula (;)
4. Poderá ser informado o target no qual a aplicação será aberta (default=_self), podendo ser: _self, _parent ou _blank.


Ex1: Aplicação sem parâmetros e sem target

if ([glo_usuario] == "teste"){
   
    sc_redir(aplx.php);

}


Ex2: Aplicação com parâmetros e sem target

if ([glo_usuario] == "teste"){

    sc_redir(aplx.php, parm1={clienteid}; parm2="xxx");

}


Ex3: Aplicação sem parâmetros e com target

if ([glo_usuario] == "teste"){

    sc_redir(aplx.php, "", "_parent");

}


Ex4: Aplicação com parâmetros e com target

if ([glo_usuario] == "teste"){

    sc_redir(aplx.php, parm1={clienteid}; parm2="xxx", "_blank");

}


Ex5: URL

if ([glo_usuario] == "teste"){

    sc_redir(http://www.minha_pagina.com.br);

}