Autor Tópico: [Resolvido] Novo Campo Botão Run  (Lida 1336 vezes)

Alexandre Luiz

  • Iniciante
  • **
  • Mensagens: 97
    • Email
[Resolvido] Novo Campo Botão Run
« Online: Dezembro 19, 2013, 03:44:21 pm »
Prezados boa tarde!

Dúvida de um leigo principiante.

Em uma consulta criei um novo campo "usuario" , onde eu preencho ele aleatoriamente com o nome dos funcionários.
Criei um botão tipo Run para salvar os dados em outra Tabela, todos campos são salvos normalmente , porem o campo criado "usuario" está vazio.

botão run > onRecord

$id = {Tab_User.id_user} // ok, salvo na nova tabela
$funcionario = {usuario} // $funcionario não recebe valor.



« Última modificação: Dezembro 20, 2013, 12:53:39 pm por Alexandre Luiz »

Haroldo

  • Expert
  • *****
  • Mensagens: 6277
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Novo Campo Botão Run
« Responder #1 Online: Dezembro 19, 2013, 04:28:18 pm »
colo o codigo no evento onfinish

Alexandre Luiz

  • Iniciante
  • **
  • Mensagens: 97
    • Email
Re:Novo Campo Botão Run
« Responder #2 Online: Dezembro 20, 2013, 08:09:28 am »
colo o codigo no evento onfinish

Bom dia Haroldo,

Mesmo assim ele não gravou o campo criado na variavel, e tem de ser no evento OnRecord mesmo para gravar  cada registro da consulta .
com certeza é algo simples, porem ... me batendo.

Wennys Carlos

  • Avançado
  • ****
  • Mensagens: 254
    • Email
Re:Novo Campo Botão Run
« Responder #3 Online: Dezembro 20, 2013, 08:20:52 am »
Os eventos do botão Run não reconhecem campos criados manualmente.

Só reconhecem os campos vindos do comando SQL.
Wennys Carlos

Alexandre Luiz

  • Iniciante
  • **
  • Mensagens: 97
    • Email
Re:Novo Campo Botão Run
« Responder #4 Online: Dezembro 20, 2013, 09:22:25 am »
Wennys

Verdade, porem não é o "problema" em si do campo novo, notei que no evento OnRecord lê os campo e  dados do SQL , se alterado qualquer campo do grid da consulta e salvar em outra tabela, ele vai gravar o valor que esta no SQL e não o da consulta. (risos) deve ser por este motivo que chama-se "Consulta".
Vou verificar como contornar, talvez filtro + Form ,   exatamente o filtro me fez escolher a aplicação consulta.
Vou falar minha necessidade talvez os colegas tenham uma solução pratica.

Tenho uma tabela com chamados pendentes que preciso distribuir aleatoriamente entre analistas em outra tabela, porem antes é necessário filtrar algumas informações.

Enquanto escrevia veio a ideia de invés mostrar para quem foi distribuído no grid da consulta, fazer  a distribuição no evento OnRecord da run , o inconveniente é que não vou ver préviamente para quem esta direcionando o chamado.

Att.



Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Novo Campo Botão Run
« Responder #5 Online: Dezembro 20, 2013, 11:50:09 pm »
Wennys

Verdade, porem não é o "problema" em si do campo novo, notei que no evento OnRecord lê os campo e  dados do SQL , se alterado qualquer campo do grid da consulta e salvar em outra tabela, ele vai gravar o valor que esta no SQL e não o da consulta. (risos) deve ser por este motivo que chama-se "Consulta".
Vou verificar como contornar, talvez filtro + Form ,   exatamente o filtro me fez escolher a aplicação consulta.
Vou falar minha necessidade talvez os colegas tenham uma solução pratica.

Tenho uma tabela com chamados pendentes que preciso distribuir aleatoriamente entre analistas em outra tabela, porem antes é necessário filtrar algumas informações.

Enquanto escrevia veio a ideia de invés mostrar para quem foi distribuído no grid da consulta, fazer  a distribuição no evento OnRecord da run , o inconveniente é que não vou ver préviamente para quem esta direcionando o chamado.

Att.

Você pode fazer assim,

No evento onScriptInit crie uma variável global, desmarque(SESSION, POST, GET) e coloque ela como saida,
exemplo de código no onScriptIni.
Código: [Selecionar]
[meusApelidos] = array();

No evento onRecord, mova os valores para os campos e para a variável, colocando a chave o Id da linha, supondo que é um cadastro de clientes,
temos um "idCliente" e temos um campo criado manualmente com o nome de "apelido", exemplo do código
Código: [Selecionar]
{apelido} = "Algum valor aletório";
[meusApleidos][{idCliente}] = {apelido};

Agora no botão RUN no onRecord sempre que estiver processando uma linha, busque o valor desejado no array, exemplo do onRecord;
Código: [Selecionar]
$nick = [meusApelidos][{idCliente}];

$sql = "INSERT INTO `algo`(`apelido`, `idCliente`) values ('" . $nick . "', " . {idCliente} . ")";
sc_exec_sql($sql);

Muito bem, fiz esse exemplo sem testar, mais creio que funcionara perfeitamente. Poderia ao invés de usar a variável global usar um atributo, não sei se funcionaria perfeitamente pois atributos tem alguns bugzinhos.

Espero que de certo!
[/code]
« Última modificação: Dezembro 20, 2013, 11:53:02 pm por Almeida »

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

Alexandre Luiz

  • Iniciante
  • **
  • Mensagens: 97
    • Email
Re:[Resolvido] Novo Campo Botão Run
« Responder #6 Online: Dezembro 26, 2013, 10:25:26 am »
Funcionou perfeitmente Almeida, muito Obrigado!