a

Atualizando campos da Consulta com o botão RUN

Esta opção na consulta permite criar um botão para processar um código PHP em registros selecionados (checkbox).

   

Criando um Novo Botão

1. Criando um novo botão na Consulta para acessar as várias linhas do campo pedido.

   

2.Informe o nome do botão: "Discount" e o tipo "Run".

   

3. Este tipo de botão possui 2 eventos para processar códigos PHP.

onRecord: Percorre cada registro que foi selecionado.
onFinish: Processo executado após todos os registros selecionados.

   

4. No código do nosso botão precisaremos de algumas variáveis globais, então, primeiramente, vamos criar estas variáveis acessando o evento onScriptInit no menu da aplicação...

   

...e utilize o código abaixo

onScriptInit

[i] = 0;

Chave do Array

[total_chked] = array();

Array onde manteremos os valores selecionados.

5. Agora, poderemos usar [i] e [total_chked] nos eventos onRecord e onFinish do botão Run.

Evento do Botão: Onrecord

onRecord

$arr=[i];
[arr_vl][$arr]={ProductID};
[i]++;
$vl_discount = {UnitPrice} - {UnitPrice}* 0.05;
sc_exec_sql("UPDATE products SET TotalValue = $vl_discount WHERE ProductID = {ProductID}");

 

Evento do Botão: OnFinish

Event Button: OnFinish
[tot] = [arr_vl];

 

6. Acesse o menu "Layout>>Cabeçalho e Rodapé” e habilite a visualização do rodapé, pois usaremos o evento onFooter da aplicação.

   

7. Agora vamos usar o evento onRecord da aplicação para mudar a cor do campo...

   

Evento da Consulta: onRecord

if(!empty([tot])){
$total=[tot];
if (in_array({ProductID}, $total, true)) {
sc_field_style('TotalValue', '#FF0000');
}else{
sc_field_style('TotalValue', '');
}
}

 

8. E o evento onFooter da aplicação para limpar o array.

   

Event Grid: onFooter

[tot]= array();

 

9. Agora devemos acessar o menu “Aplicação>>Variáveis Globais” para setar [tot], [arr_vl] e [i] como variáveis de "SAÍDA".

   

10. Execute o aplicativo , selecione os registros e clique no Botão "Discount".