manual macros scriptcase

40
MACROS SCRIPTCASE O ScriptCase dispõe de macros e variáveis especiais que permitem ao usuário manipular eventos, botões das aplicações, controle de segurança, efetuar operações com datas, etc. A seguir temos uma tabela na qual são apresentadas as macros e variáveis especiais do Scriptcase, bem como os tipos de aplicações nas quais atuam. TABELA DE MACROS E VARIÁVEIS ESPECIAIS Exibição sc_ajax_message ("Mensagem", "Título", "Parâmetro", "Parâmetros_Redir") Esta macro permite que a aplicação exiba mensagens customizáveis. sc_ajax_refresh () Macro para dar um refresh na consulta sc_block_display (Nome do bloco, on/off) Esta macro permite, dinamicamente, exibir ou não os campos de um determinado bloco. sc_field_color ("Campo", "Cor") Esta macro altera a cor do texto de um determinado campo. sc_field_disabled ("Nome_Campo = True/False", "Parâmetro") Esta macro tem por objetivo bloquear a digitação em determinados campos do formulário. sc_field_display ({Meu_Campo}, on/off) Esta macro permite, dinamicamente, exibir ou não um determinado campo. sc_field_init_off (campo1, campo2,...) Esta macro tem por objetivo inibir campos da consulta na carga inicial. sc_field_readonly ({Campo}, on/off) Esta macro permite, dinamicamente, transformar em readonly um determinado campo do formulário. sc_field_style ({Meu_Campo}, "Background-Color", "Size", "Color", "Family", "Weight") Esta macro altera a visualização do campo. sc_format_num ({Meu_Campo}, "Simb_Grp", "Simb_Dec", "Qtde_Dec", "Enche_Zeros", "Lado_Neg", "Simb_Monetário", "Lado_Simb_Monetario") Esta macro e usada para formatar valores numéricos. sc_form_show 'on' ou 'off' Esta macro permite, dinamicamente, exibir ou não o formulário. sc_hide_groupby_rule ('group1', 'grop2', 'group3') Macro usada para desativar Regras de Quebras. sc_set_focus ('Campo') Esta macro setá o focus para um determinado campo do formulário. Segurança sc_apl_status ("Aplicação", "Status") Esta macro tem por objetivo proteger ou liberar a utilização das aplicações em geral. sc_ldap_login sc_reset_apl_conf ("Aplicação", "Propriedade") Esta macro apaga todas as alterações efetuadas pela macro "sc_apl_conf". sc_reset_apl_status Esta macro deleta todas as variáveis de status de segurança das aplicações. sc_reset_menu_delete Esta macro restaura ítens da estrutura do menu. (retirados pela macro "sc_menu_delete"). sc_reset_menu_disable Esta macro habilita ítens da estrutura do menu (desabilitados pela macro "sc_menu_disable"). sc_user_logout ('nome da variável', 'conteúdo da variável', 'apl_redir.php', 'target') Macro utilizada para deslogar o usuário informado do sistema. Filtro sc_where_filter Esta macro disponibiliza o conteúdo da cláusula where gerada pelo formulário de filtro. Código de Barra sc_lin_cod_barra_arrecadacao ({Código_Barra}, Código_Seguimento, Código_Moeda, {Valor}, {Livre}) Esta macro gera os valores que compõem o código de barras no padrão Febraban arrecadação. sc_lin_cod_barra_banco ({Código_Barra}, Código_Banco, Código_Moeda, {Valor}, {Livre}, {Data_Vencimento}) Esta macro gera a linha digitável para bloquetos de cobrança, a partir da linha do código de barras, padrão bancário. sc_lin_digitavel_arrecadacao ({Linha_Digitavel}, {Código_Barras}) Esta macro gera a linha digitável para bloquetos de cobrança a partir da linha do código de barras, padrão arrecadação. sc_lin_digitavel_banco ({Linha_Digitavel}, {Código_Barras}) Esta macro gera a linha digitável para bloquetos de cobrança, a partir da linha do código de barras, padrão bancário. SQL sc_begin_trans ("Conexão") Esta macro inicializa um conjunto de transações na base de dados. sc_change_connection ("Conexao_Antiga", "Conexao_Nova") Esta macro troca dinamicamente as conexões das aplicações. sc_commit_trans ("Conexão") Esta macro efetiva uma série de transações na base de dados. sc_error_continue ("Evento") Esta macro desativa o tratamento de erros de banco de dados, padrão do Scriptcase. sc_error_delete Esta macro configura a variável que contem a mensagem de erro do banco de dados que pode ocorrer durante a exclusão de um registro. sc_error_insert Esta macro configura a variável que contem a mensagem de erro do banco de dados que pode ocorrer durante a inclusão de um registro. sc_error_update Esta macro configura a variável que contem a mensagem de erro do banco de dados que pode ocorrer durante a atualização de um registro. sc_exec_sql ("Comando SQL", "Conexão") Esta macro executa o comando SQL passado como parâmetro ou o comando SQL contido no campo tipo ação SQL informado. sc_lookup (Dataset, "Comando SQL", "Conexão") Esta macro executa o comando SELECT informado no segundo parâmetro e retorna os dados em uma variável. sc_reset_change_connection Esta macro apaga as trocas feitas usando "sc_change_connection". sc_rollback_trans ("Conexão") Esta macro descarta um set de transações na base de dados. Page 1 of 40 Macros ScriptCase 18/02/2013 http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Upload: juliano-cardoso

Post on 12-Aug-2015

3.806 views

Category:

Documents


23 download

TRANSCRIPT

Page 1: Manual Macros Scriptcase

MACROS SCRIPTCASE

O ScriptCase dispõe de macros e variáveis especiais que permitem ao usuário manipular eventos, botões das aplicações, controle de segurança, efetuar operações com datas, etc. A seguir temos uma tabela na qual são apresentadas as macros e variáveis especiais do Scriptcase , bem como os tipos de aplicações nas quais atuam.

TABELA DE MACROS E VARIÁVEIS ESPECIAIS

Exibição

sc_ajax_message ("Mensagem", "Título", "Parâmetro", "Parâmetros_Redir")

Esta macro permite que a aplicação exiba mensagens customizáveis.

sc_ajax_refresh () Macro para dar um refresh na consulta

sc_block_display (Nome do bloco, on/off) Esta macro permite, dinamicamente, exibir ou não os campos de um determinado bloco.

sc_field_color ("Campo", "Cor") Esta macro altera a cor do texto de um determinado campo.

sc_field_disabled ("Nome_Campo = True/False", "Parâmetro") Esta macro tem por objetivo bloquear a digitação em determinados campos do formulário.

sc_field_display ({Meu_Campo}, on/off) Esta macro permite, dinamicamente, exibir ou não um determinado campo.

sc_field_init_off (campo1, campo2,...) Esta macro tem por objetivo inibir campos da consulta na carga inicial.

sc_field_readonly ({Campo}, on/off) Esta macro permite, dinamicamente, transformar em readonly um determinado campo do formulário.

sc_field_style ({Meu_Campo}, "Background-Color", "Size", "Color", "Family", "Weight")

Esta macro altera a visualização do campo.

sc_format_num ({Meu_Campo}, "Simb_Grp", "Simb_Dec", "Qtde_Dec", "Enche_Zeros", "Lado_Neg", "Simb_Monetário", "Lado_Simb_Monetario")

Esta macro e usada para formatar valores numéricos.

sc_form_show 'on' ou 'off' Esta macro permite, dinamicamente, exibir ou não o formulário.

sc_hide_groupby_rule ('group1', 'grop2', 'group3') Macro usada para desativar Regras de Quebras.

sc_set_focus ('Campo') Esta macro setá o focus para um determinado campo do formulário.

Segurança

sc_apl_status ("Aplicação", "Status") Esta macro tem por objetivo proteger ou liberar a utilização das aplicações em geral.

sc_ldap_login

sc_reset_apl_conf ("Aplicação", "Propriedade") Esta macro apaga todas as alterações efetuadas pela macro "sc_apl_conf".

sc_reset_apl_status Esta macro deleta todas as variáveis de status de segurança das aplicações.

sc_reset_menu_delete Esta macro restaura ítens da estrutura do menu. (retirados pela macro "sc_menu_delete").

sc_reset_menu_disable Esta macro habilita ítens da estrutura do menu (desabilitados pela macro "sc_menu_disable").

sc_user_logout ('nome da variável', 'conteúdo da variável', 'apl_redir.php', 'target')

Macro utilizada para deslogar o usuário informado do sistema.

Filtro

sc_where_filter Esta macro disponibiliza o conteúdo da cláusula where gerada pelo formulário de filtro.

Código de Barra

sc_lin_cod_barra_arrecadacao ({Código_Barra}, Código_Seguimento, Código_Moeda, {Valor}, {Livre})

Esta macro gera os valores que compõem o código de barras no padrão Febraban arrecadação.

sc_lin_cod_barra_banco ({Código_Barra}, Código_Banco, Código_Moeda, {Valor}, {Livre}, {Data_Vencimento})

Esta macro gera a linha digitável para bloquetos de cobrança, a partir da linha do código de barras, padrão bancário.

sc_lin_digitavel_arrecadacao ({Linha_Digitavel}, {Código_Barras}) Esta macro gera a linha digitável para bloquetos de cobrança a partir da linha do código de barras, padrão arrecadação.

sc_lin_digitavel_banco ({Linha_Digitavel}, {Código_Barras}) Esta macro gera a linha digitável para bloquetos de cobrança, a partir da linha do código de barras, padrão bancário.

SQL

sc_begin_trans ("Conexão") Esta macro inicializa um conjunto de transações na base de dados.

sc_change_connection ("Conexao_Antiga", "Conexao_Nova") Esta macro troca dinamicamente as conexões das aplicações.

sc_commit_trans ("Conexão") Esta macro efetiva uma série de transações na base de dados.

sc_error_continue ("Evento") Esta macro desativa o tratamento de erros de banco de dados, padrão do Scriptcase.

sc_error_delete Esta macro configura a variável que contem a mensagem de erro do banco de dados que pode ocorrer durante a exclusão de um registro.

sc_error_insert Esta macro configura a variável que contem a mensagem de erro do banco de dados que pode ocorrer durante a inclusão de um registro.

sc_error_update Esta macro configura a variável que contem a mensagem de erro do banco de dados que pode ocorrer durante a atualização de um registro.

sc_exec_sql ("Comando SQL", "Conexão") Esta macro executa o comando SQL passado como parâmetro ou o comando SQL contido no campo tipo ação SQL informado.

sc_lookup (Dataset, "Comando SQL", "Conexão") Esta macro executa o comando SELECT informado no segundo parâmetro e retorna os dados em uma variável.

sc_reset_change_connection Esta macro apaga as trocas feitas usando "sc_change_connection".

sc_rollback_trans ("Conexão") Esta macro descarta um set de transações na base de dados.

Page 1 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 2: Manual Macros Scriptcase

sc_select (dataset, "Comando SQL", "Conexão") Esta macro executa o comando SELECT informado no segundo parâmetro e retorna o dataset em uma variável.

sc_select_field ({Campo}) Esta macro altera dinamicamente o campo que será recuperado pela consulta.

sc_select_order ("Campo") Esta macro altera dinamicamente o campo da cláusula "ORDER BY" da consulta.

sc_select_where (add) Esta macro adiciona dinamicamente uma condição à cláusula WHERE da consulta.

sc_sql_injection ({Meu_Campo}) ou ($Minha_Variável) Esta macro protege o campo/variável contra "SQL injection"

sc_sql_protect (Valor, "Tipo", "Conexão") Essa macro protege valor digitado de acordo com o banco de dados utilizado.

sc_where_current Esta macro disponibiliza o conteúdo do select original mais o filtro.

sc_where_orig Esta macro disponibiliza o conteúdo da cláusula where do select original da aplicação.

variáveis database Variáveis de Database Variáveis especiais que contêm os dados para acesso à base de dados.

Data

sc_date (Data, "Formato", "Operador", D, M, A) Esta macro calcula e retorna incrementos e decrementos em datas.

sc_date_conv ({Campo_Data}, "Formato_Entrada", "Formato_Saída") Esta macro converte o conteúdo do campo passado como parâmetro do formato de entrada para o formato de saída.

sc_date_dif ({Data1}, "Formato Data1", {Data2}, "Formato Data2") Esta macro calcula a diferença entre datas em quantidade de dias.

sc_date_dif_2 ({Data1}, "Formato Data1", {Data2}, "Formato Data2", Opção)

Esta macro calcula diferença entre datas, retornando a quantidade de dias, meses e anos.

sc_date_empty ({Campo_Data}) Esta macro checa se um campo do tipo data está vazio, retornando um boleano.

sc_time_diff ({hora1}, "Formato Hora1", {hora2}, "Formato Hora2")

Controle

sc_ajax_javascript ('NomeMetodoJavascript', array("parâmetro1")) Esta macro permite que sejam executados métodos javascript chamados em eventos do formulário/controle

sc_alert ("Mensagem") Esta macro exibe uma tela de mensagem no estilo Javascript.

sc_apl_conf ("Aplicação", "Propriedade", "Valor") Esta macro altera as propriedades de execução das aplicações.

sc_calc_dv (Dígito, Resto, Valor, Módulo, Pesos, Tipo) Esta macro executa o cálculo de dígitos verificadores.

sc_changed ({Nome_Campo}) Esta macro retorna "true" se o valor do campo tiver sido modificado.

sc_confirm ("Mensagem") Esta macro exibe uma tela de confirmação Javascript.

sc_decode ({Meu_Campo}) Esta macro retorna, o campo ou variável criptografada, à sua forma original.

sc_encode ({Meu_Campo}) Esta macro retorna, o campo ou variável, de forma criptografada.

sc_error_exit (URL, "Target") ou (Minha_Aplicação, "Target") Esta macro interrompe a execução da aplicação, se existir mensagens de erro geradas pela macro "sc_erro_mensagem".

sc_error_message ("Texto") Esta macro gera uma mensagem de erro.

sc_exit (Opção) Esta macro força a saida da aplicação.

sc_getfield ('meuCampo') Esta macro atribui as propiedades de um campo para uma variável javascript.

sc_get_language Esta macro retorna a sigla do idioma em uso.

sc_get_regional Esta macro retorna a sigla da configuração regional em uso.

sc_get_theme Esta macro retorna o nome do tema do layout em uso.

sc_groupby_label ("Meu_Campo") Esta macro altera dinamicamente o label dos campos que são apresentados nas linhas de quebra.

sc_image (Imagem01.jpg) Esta macro carrega, para serem usadas na aplicação, as imagens passadas como parâmentro.

sc_include ("Arquivo", "Origem") Esta macro é usada para efetuar "include" de rotinas PHP.

sc_include_lib ("Lib1", "Lib2", ...) Esta macro é usada para selecionar dinamicamente as bibliotecas da aplicação.

sc_label ({Meu_Campo}) Esta macro altera dinamicamente o label do campo.

sc_language Esta macro retorna o idioma e a configuração regional da aplicação.

sc_link (Coluna, Aplicação, Parâmetros, "Hint", "Target", Altura, Largura) Esta macro cria dinamicamente um link para outra aplicação.

sc_log_add ("Ação", "Mensagem") Esta macro adiciona um registro a tabela de log.

sc_log_split ({descricao}) Esta macro retorna o que foi inserido no campo descrição na tabela de log em forma de array.

sc_mail_send (SMTP, Usr, Pw, De, Para, Assunto, Mensagem, Tipo_Mens, Cópias, Tp_Cópias, Porta, Tp_Conexao, Attachment)

Esta macro é usada pra o envio de e-mails.

sc_make_link (Aplicação, Parâmetros) Esta macro cria uma string contendo os dados de um link para outra aplicação.

sc_master_value ('Objeto', Valor) Esta macro atualiza um objeto da aplicação Mestre em uma aplicação Detalhe.

sc_redir (Aplicação, Parametro01; Parametro02, Target, Error) Esta macro tem por objetivo redirecionar para outra aplicação.

sc_reset_global ([Variável_Global1], [Variável_Global2] ...) Esta macro elimina as váriaveis de sessão recebidas como parâmetro.

sc_seq_register Esta macro disponibiliza o número sequencial do registro que está sendo processado.

sc_set_global ($variavel_01) ou ({Meu_Campo}) Esta macro registra variáveis de sessão.

sc_set_groupby_rule Macro usada para selecionar a regra das quebra.

sc_set_language ('String Language') Esta macro altera o idioma das aplicações.

sc_set_regional ('String Regional') Esta macro altera a configuração regional das aplicações.

sc_set_theme ('String Tema') Esta macro define, dinamicamente, o tema de layout nas aplicações.

sc_site_ssl Esta macro verifica se está sendo utilizado um site seguro. (protocolo https).

sc_trunc_num ({Meu_Campo}, Quantidade_Decimal) Esta macro tem como finalidade setar o numero de casas decimais.

sc_url_exit (URL) Esta macro altera a URL de saída da aplicação.

sc_vl_extenso (valor, tam_linha, tipo) Gera valor por extenso.

sc_warning 'on' ou 'off' Esta macro ativa ou desativa o controle de mensagens de advertência

Page 2 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 3: Manual Macros Scriptcase

sc_zip_file ("Arquivo", "Zip") Esta macro é usada para gerar arquivo tipo ZIP, à partir de uma lista de arquivos e/ou diretórios.

variáveis report pdf variáveis do Report PDF Variáveis que controla o número de páginas utilizadas no Report PDF

variáveis totalização Variáveis de Totalização Variáveis especiais que contêm todos os totais (gerais e por quebra).

variáveis totalizacao(quebras) Variáveis de Totalizacao (quebras) Variáveis especiais que contêm todos os totais por quebra.

Botões

sc_btn_copy Esta macro retorna "true" quando o botão "Copiar" é selecionado em um formulário.

sc_btn_delete Esta macro retorna "true" quando o botão "Excluir" é selecionado em um formulário.

sc_btn_display ("Nome_Botao", "on/off") Esta macro torna visível, ou não, um botão da barra de ferramentas em tempo de execução da aplicação.

sc_btn_insert Esta macro retorna "true" quando o botão "Inserir" é selecionado em um formulário.

sc_btn_new Esta macro retorna "true" quando o botão "Novo" é selecionado em um formulário.

sc_btn_update Esta macro retorna "true" quando o botão "Alterar" é selecionado em um formulário.

PDF

sc_set_pdf_name "sc_meu_arquivo.pdf" Esta macro muda o nome dos arquivos exportados pela consulta no scriptcase.

Menu

sc_appmenu_add_item ("Menu_Nome", "Id_Item", "Id_Pai", "Label", "Aplicação", "Parâmetro", "Icone", "Hint", "Target")

Esta macro adiciona um item ao menu dinamicamente.

sc_appmenu_create ("Menu_Nome") Esta macro cria um menu de forma dinâmica.

sc_appmenu_exist_item ("Menu_Nome", "Id_Item") Esta Macro verifica se existe um item do menu.

sc_appmenu_remove_item ("Menu_Nome", "Id_Item") Esta macro remove dinamicamente um item do menu.

sc_appmenu_reset ("Menu_Nome") Esta macro limpa o array para montagem dinâmica de um menu.

sc_appmenu_update_item ("Menu_Nome", "Id_Item", "Id_Pai", "Label", "Aplicação", "Parâmetro", "Icone", "Hint", "Target")

Esta macro atualiza um item do menu.

sc_btn_disabled ('id do botão', 'on/off') Desabilita botões do Menu

sc_menu_delete (Id_Item1) Esta macro remove ítens da estrutura do menu.

sc_menu_disable (Id_Item1) Esta macro desabilita ítens da estrutura do menu.

sc_menu_force_mobile (boolean) Macro utilizada para forçar a criação do menu para dispositivos móveis.

sc_menu_item Esta macro Identifica qual item do menu foi clicado.

sc_script_name Esta macro Identifica o nome da aplicação que foi selecionada nos itens do menu.

sc_ajax_javascript('NomeMetodoJavascript', array("parâmetro1"))

Escopo da Macro

Esta macro permite que sejam executados métodos javascript chamados em eventos do formulário/controle .

A macro recebe dois parâmetros: o primeiro (parâmetro obrigatório) é uma string contendo o nome do método javascript e o segundo (parâmetro opcional) um array com os parâmetros desse método.

Esta macro só é valida em aplicações com suporte a AJAX. Exemplos de chamadas de métodos javascript: Ex. 1: Método javascript sem parâmetros: sc_ajax_javascript('nomeMetodoJavascript'); Ex. 2: Método javascript que contem um parâmetro: sc_ajax_javascript('nomeMetodoJavascript', array("parâmetro")); Ex. 3: Método javascript que contém dois paramentros : sc_ajax_javascript('nomeMetodoJavascript', array("param1","param2"));

Formulário Controle Aplicação formulário

onBlur onChange onClick onFocus onValidateFailure

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll Onchange OnClick OnFocus onValidate onValidateFailure onValidateSuccess

sc_ajax_message("Mensagem", "Título", "Parâmetro", "Parâmetros_Redir")

Esta macro permite que a aplicação exiba mensagens customizáveis, com seu uso restrito aos eventos do formulário/controle quando se faz uso no eventos AJAX.

Esta macro só é valida em aplicações com suporte a AJAX .

Paramêtros DescriçãoMensagem Texto que será exibido no corpo da mensagem. Este parametro é de preenchimento obrigatório.

Page 3 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 4: Manual Macros Scriptcase

Escopo da Macro

Tabela2: String de Parâmetros da mensagem

Ex. 01

sc_ajax_message ("Message", "Title", "timeout=0");

Título Texto que será exibido no título da mensagem. Se não preenchido o título da mensagem não será exibido.

String de Parametros da mensagem

Parâmetro de formatação da mensagem. Ex.: modal=Y&button=Y&button_label=Ok&redir=form_employees.php&redir_target=_blank

Os detalhes deste parâmetro estão detalhados na tabela2.

String de parametros do Redirecionamento

Nesta propriedade podem ser definidos os valores para a aplicação de redirecionamento.Esta propriedade funciona apenas se a propriedade redir for informada. Os parametros devem ser informados no seguinte formato: parametro=valor;parametro=valor.

Ex.: customer_id=ALFKI;customer_name=ALBERT FRANCINET

Propriedade Descrição Valores Exemplomodal Flag para exibição da mensagem em modal Y ou N modal=Y

timeout Tempo em segundos para esconder mensagem. Se não informado mensagem será exibida indefinidamente. Esta propriedade só funciona se a propriedade button não estiver habilitada.

Segundos timeout=5

button Exibe botão dentro da mensagem. O seu funcionamento padrão é fechar a mensagem. Caso seja habilitado o redirecionamento, após fechar a mensagem a aplicação será redirecionada.

Y ou N button=Y

button_label Label do botão. Esta opção só funciona caso a propriedade button habilidata

String button=Y&button_label=OK

top Valor para posicionamento da mensagem em pixels Apenas numeros

top=300

left Valor para posicionamento da mensagem em pixels Apenas numeros

left=200

width Valor para largura da mensagem em pixels Apenas numeros

width=320

height Valor da altura da mensagem em pixels Apenas numeros

height=30

redir Nome da aplicações ou URL para redirecionamento. Esta propriedade funciona apenas caso a propriedade button esteja habilitada.

String button=Y&redir=form_employees.php

redir_target Target para url de redicionamento. Esta propriedade funciona apenas quando a propriedade redir está habilitada.

String redir=form_employees.php&redir_target=_blank

show_close Flag para exibição do botão de fechar mensagem localizado na barra de titulo. Esta propriedade quando ativa força a exibição da barra de titulo mesmo que o parametro titulo esteja vazio.

Y ou N show_close=Y

body_icon Flag para exibição do icone do corpo da mensagem. Mesmo quando esta propriedade está ativa a exibição do icone depende da configuração do Tema (Esquema de exibição) usado na aplicação.

Y ou N body_icon=N

Aplicação consulta Formulário Controle Aplicação formulário

onClick onBlur onChange onClick onFocus

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterUpdate onAfterUpdateAll Onchange OnClick OnFocus onNavigate onValidate onValidateFailure onValidateSuccess

sc_ajax_refresh()

Escopo da Macro

Esta macro é especialmente utilizada em eventos Ajax da Consulta com o objetivo de recarregar os dados da Grid (refresh).

Ex:

sc_ajax_refresh();

Aplicação consulta

onClick

sc_alert("Mensagem")

Escopo da Macro

Esta macro envia uma mensagem, de forma incondicional, no estilo alert do Javascript. Ex. 1: sc_alert("Esta é uma mensagem de alerta!!");

Formulário Controle

onLoadAll onValidate

sc_apl_conf("Aplicação", "Propriedade", "Valor")

Esta macro permite alterar as propriedades de execução das aplicações, mudando sua forma de execução em relação ao inicialmente previsto. Desta forma, podemos forçar que um formulário inicie no modo de inclusão, ou uma consulta inicie pelo filtro, etc.

Esta macro deve ser utilizada, por uma aplicação, para modificar as propriedades de uma outra aplicação.

Page 4 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 5: Manual Macros Scriptcase

Escopo da Macro

Propriedades para aplicações de Formulário

Propriedades para aplicações de Consulta

Propriedades para todas as aplicações

Ex. 1: Forçar

a aplicação "meu_formulario" a iniciar no modo de i nclusão . sc_apl_conf("meu_formulario", "start", "new");

Ex. 2: Não permite que a aplicação "meu_formulario" faça inclusão de novos registros. sc_apl_conf("meu_formulario", "insert", "off");

Ex. 3: Exibe "meu_campo", da aplicação "meu_formulari o", dinamicamente. sc_apl_conf("meu_formulario", "field_display_off", "meu_campo");

Ex. 4: Forçar a aplicação "minha_consulta" a iniciar pelo filtro. sc_apl_conf("minha_consulta", "start", "filter");

Ex. 5: Forçar a aplicação "minha_consulta" a exibir 20 linhas. sc_apl_conf("minha_consulta", "rows", "20");

Ex. 6: Forçar a saida da aplicação "minha_consulta" para a aplicação "outra_consulta". sc_apl_conf("minha_consulta", "exit", "outra_consulta");

Propriedade Valor Descricao

start new Força o formulário a iniciar no modo de inclusão de novo registro.

insert on/off Habilita (on) ou desabilita (off) o botão para a inclusão de novos registros.

update on/off Habilita (on) ou desabilita (off) o botão para a alteração de registros.

delete on/off Habilita (on) ou desabilita (off) o botão para a exclusão de registros.

field_display_off campo Desabilita a exibição de um campo.

field_display_on campo Habilita a exibição de um campo.

field_readonly campo Força um campo para ser exibido como "readonly".

rows Força a quantidade de linhas por página. (apenas para formulários de múltiplas linhas)

rows_ins Força a quantidade de linhas de inclusão. (apenas para formulários de múltiplas linhas)

Propriedade Valor Descricao

start filter Força a consulta a iniciar pelo filtro.

cols Força a quantidade de colunas (consultas tipo vertical e slide)

rows Força a quantidade de linhas por página

lig_edit on/off Habilita (on) ou desabilita (off) o botão de edição do registro (lapis)

Propriedade Valor Descricao

exit apl/url Força a saida da aplicação para a "aplicação" ou "url" informada.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onApplicationInit onClick onScriptInit

onApplicationInit onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onScriptInit

onApplicationInit onScriptInit

onApplicationInit onLoad

sc_apl_status("Aplicação", "Status")

Escopo da Macro

Esta macro tem por objetivo proteger ou liberar a utilização das aplicações, quando utilizado o modulo de segurança. Assim, em função do "Login" do usuário, podem ser determinadas as aplicações que o mesmo pode ou não acessar.

Aplicação : É o nome ou a variável que contenha o nome da aplicação a ser ativada/desativada. Status : É o valor ou a variável que contenha o valor a ser atribuído à aplicação. Os valores são: "on" para ativar e "off" para desativar.

Ex. 1: sc_apl_status ('atu_cad', 'off');

Ex. 2: sc_apl_status ({var_nome_apl}, {var_status});

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onApplicationInit onClick onScriptInit

onApplicationInit onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onScriptInit

onApplicationInit onScriptInit

onApplicationInit onLoad

sc_appmenu_add_item("Menu_Nome", "Id_Item", "Id_Pai", "Label", "Aplicação", "Parâmetro", "Icone", "Hint", "Target")

Adiciona um item dinamicamente a uma aplicação de menu.

Só é possível utilizar esta macro quando já existe u m array gerado com a macro sc_appmenu_create antes.

Parametro Descrição

Menu_Nome Nome da aplicação de menu

Id_Item Código identificador do item do menu

Id_Pai Código identificador do pai do item do menu. Se o item for raiz o valor para esse parametro deve ser passado em branco.

Label Descrição para o item do menu

Aplicação Nome da aplicação ou URL para o item do menu

Parâmetro String de parametros a serem passado a aplicação do item do menu. Ex.: param1=valor;param2=valor

Icone Caminho para icone usado no item do menu

Page 5 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 6: Manual Macros Scriptcase

Escopo da Macro

Ex. 1: Cria um menu com nome de menu_main. sc_appmenu_create('menu_main'); Ex. 2: Adiciona ao menu 'menu_main' no lugar do item 1, o submenu Categoria . sc_appmenu_add_item('menu_main','item_1','','Categoria',''); Ex. 3: Addiciona ao menu_main de ID item_1, o form_categor ia com o nome de Catergoria. sc_appmenu_add_item('menu_main','item_2','item_1','Categoria','form_categoria');

Hint Hint descritivo para o item do menu.

Target Target para o link do item do menu. ("_self" para a mesma janela, "_blank" para outra janela e "_parent" para sair da janela)

Aplicação menu

onApplicationInit onLoad

sc_appmenu_create("Menu_Nome")

Escopo da Macro

Esta macro inicia o array para montagem dinâmica de uma aplicação de menu. Deve ser informado o nome da aplicação de menu como parâmetro.

Esta macro deve ser usada em eventos do controle ou no evento onload do menu.

Ex. 1: sc_appmenu_create('menu_main');

Aplicação menu

onApplicationInit onLoad

sc_appmenu_exist_item("Menu_Nome", "Id_Item")

Escopo da Macro

Verifica se um item do menu existe e retorna um valor true ou false.

Ex. 1:

if(sc_appmenu_exist_item('menu_main', 'item_2')){

sc_appmenu_update_item('menu_main','item_2','item_1','Category Form','form_category');

} else{

sc_appmenu_add_item('menu_main','item_2','item_1','Category Form','form_category');

}

Parâmetro Descrição

Menu_Nome Nome da aplicação de menu

Id_Item Código identificador do item do menu

Aplicação menu

onApplicationInit onLoad

sc_appmenu_remove_item("Menu_Nome", "Id_Item")

Escopo da Macro

Remove dinamicamente um item do menu.

Para utilizar esta macro é necessário que a macro sc_appmenu_create seja executa antes da mesma.

Ex. 1: sc_appmenu_remove_item('menu_main','item_2');

Parâmetro Descrição

Menu_Nome Nome da aplicação de menu

Id_Item Código identificador do item do menu

Aplicação menu

onApplicationInit onLoad

("Menu_Nome")

Escopo da Macro

Esta macro limpa o array para montagem dinâmica de uma aplicação menu.

Deve ser informado o nome da aplicação de menu como parâmetro.

Ex. 1: sc_appmenu_reset('menu_main');

Aplicação menu

Page 6 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 7: Manual Macros Scriptcase

onApplicationInit onLoad

sc_appmenu_update_item("Menu_Nome", "Id_Item", "Id_Pai", "Label", "Aplicação", "Parâmetro", "Icone", "Hint", "Target")

Escopo da Macro

Atualiza um item dinâmicamente a uma aplicação de menu.

Só é possível utilizar esta macro quando já existe u m array gerado com a macro sc_appmenu_create antes.

Só é possível utilizar esta macro nos itens que tenham sido criados com a macro sc_appmenu_add_item antes.

Ex. 1: sc_appmenu_update_item('menu_main','item_2','item_1','Category Form','form_category');

Parâmetro Descrição

Menu_Nome Nome da aplicação de menu.

Id_Item Código identificador do item do menu.

Id_Pai Código identificador do pai do item do menu. Se o item for raiz o valor para esse parametro deve ser passado em branco.

Label Descrição para o item do menu.

Aplicação Nome da aplicação ou URL para o item do menu.

Parâmetro String de parametros a serem passado a aplicação do item do menu. Ex.: param1=valor;param2=valor

Icone Caminho para icone usado no item do menu.

Hint Hint descritivo para o item do menu.

Target Target para o link do item do menu.

Aplicação menu

onApplicationInit onLoad

sc_begin_trans("Conexão")

Escopo da Macro

Essa macro inicia um conjunto de transações no banco de dados.

Nas aplicações de fomulário, dos eventos que essa macro pode rodar alguns dependem da atualização da base de dados (onAfterInsert, onAfterUpdate, onAfterDelete, onBeforeInsert, onBeforeUpdate or onBeforeDelete) são automaticamente protegidos por um controle de transação desde que a conexão seja a mesma da aplicação. Em outros casos, se o usuário deseja fazer um controle de transação, ele precisa iniciar essa macro e finalizar com "sc_commit_trans()" macro para confirmar a atualização ou o "sc_rollback_trans" para cancelar a transação.

O parâmetro "conexão" é opicional, necessário apenas se o comando é executado numa base de diferente da especificada na aplicação.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_block_display(Nome do bloco, on/off)

Escopo da Macro

Permite, dinamicamente, exibir ou não os campos de um determinado bloco.

Em princípio, todos os blocos são exibidos (condição "on").

Ex 1: if ({tipo_cliente} == "fisica") { sc_block_display(juridica, off); } else { sc_block_display(fisica, off); }

Obs: No caso de consultas, esta macro só funciona para a orientação "slide".

Page 7 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 8: Manual Macros Scriptcase

Aplicação consulta Formulário Controle Aplicação formulário

onScriptInit onClick onLoadAll onRefresh onScriptInit

onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_btn_copy

Escopo da Macro

Quando o botão "Copiar" é clicado, esta macro é disponibilizada, podendo ser testado e utilizado dentro dos eventos, permitindo a tomada de decisões em tempo real de execução.

Ex. 1:

if (sc_btn_copy)

{

sc_error_message("Registro foi copiado com sucesso");

}

sc_btn_delete

Escopo da Macro

Quando um dos botões da barra de ferramentas de um formulário (novo, atualizar, excluir ou incluir) são clicados, esta macro é disponibilizada, podendo ser testado e utilizado dentro dos eventos, permitindo a tomada de decisões em tempo real de execução. Ex. 1: if (sc_btn_delete) { sc_error_message("Impossivel excluir este registro"); }

Aplicação formulário

onValidate onValidateFailure onValidateSuccess

sc_btn_disabled('id do botão', 'on/off')

Escopo da Macro

Esta macro é utilizada para desabilitar ou habilitar botões da aplicação de Menu.

Ex:

sc_btn_disable('btn_2', 'off');

Aplicação menu

onLoad

sc_btn_display("Nome_Botao", "on/off")

Usado dentro dos eventos, podem ser ativados ou desativados os botões da barra de ferramentas. Nome_botao: É o nome ou a variável que contenha o nome do botão a ser ativado/desativado.

Nome dos botões (consulta ):

Nome do Botão Descrição

first Navega para o início da consulta.

back Navega para a página anterior.

forward Navega para a página seguinte.

last Navega para a última página.

filter Controla a exbição do botão "Filtro" na grid.

pdf Gera o PDF colorido da consulta.

det_pdf Gera o PDF no detalhe.

pdfbw Gera o PDF preto e branco da consulta.

xls Gera o XLS.

xml Gera o XML.

cvs Gera o CSV.

rtf Gera o RTF.

word Gera o Word.

print Abre a consulta no formato de impressão.

det_print Abre o detalhe no formato deimpressão.

summary Controla a exibição do botão "Resumo" na grid.

new Controla a exibição do botão "Novo" possibilitando a inclusão de novos registros. (se a aplicação tiver link para tal, ou

Page 8 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 9: Manual Macros Scriptcase

Escopo da Macro

Nome dos botões (Formulário ):

Nome dos botões (Controle ):

OBS. Os nomes dos botões devem estar todo em minusculo.

Ex. 1: sc_btn_display ('new', 'off');

Ex. 2: Ao passarmos variáveis ou campos ({campo} ou [varia vel_global]) como parâmetros não se faz necessário o uso de aspas duplas ou simples antes e depois da variável. sc_btn_display ({variavel_botao}, 'off');

se o formulário estiver rodando em iframe da consulta)

insert Controla a exibição do botão "Inserir". (apenas em casos de formulário rodando em iframe da consulta)

update Controla a exibição do botão "Atualizar". (apenas em casos de formulário rodando em iframe da consulta)

delete Controla a exibição do botão "Delete". (apenas em casos de formulário rodando em iframe da consulta)

qsearch Controla a exibição do botão "Quick Search".

Nome do Botão Descrição

first Navega para o primeiro registro do formulário.

back Navega para o registro anterior.

forward Navega para o registro seguinte.

last Navega para o último registro formulário.

new Controla a exibição do botão "Novo" em um formulário, usado em off o formulário é iniciado em modo de inclusão.

insert Controla a exibição do botão "Incluir".

update Controla a exibição do botão "Atualizar".

delete Controla a exibição do botão "Excluir".

copy Controla a exibição do botão "Copiar".

qsearch Controla a exibição do botão "Quick Search".

pdf Gera documento PDF a partir do formulário.

print Abre o formulário no modo de impressão.

Nome do Botão Descrição

ok Controla a exibição do botão "Ok" em um controle.

exit Controla a exibição do botão "Sair".

facebook Controla a exibição do botão "Facebook".

twitter Controla a exibição do botão "Twitter"

google Controla a exibição do botão "Google+"

paypal Controla a exibição do botão "PayPal"

Aplicação consulta Formulário Controle Aplicação formulário

onScriptInit onLoadAll onRefresh onScriptInit onValidate onValidateFailure

onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_btn_insert

Escopo da Macro

Quando o botão "Inserir" é clicado, esta macro é disponibilizada, podendo ser testado e utilizado dentro dos eventos, permitindo a tomada de decisões em tempo real de execução.

Ex. 1: if (sc_btn_insert) { sc_error_message("Registro incluido com sucesso"); }

Aplicação formulário

onValidate onValidateFailure onValidateSuccess

sc_btn_new

Escopo da Macro

Quando o botão "Novo" é clicados, esta macro é disponibilizada, podendo ser testado e utilizado dentro dos eventos, permitindo a tomada de decisões em tempo real de execução.

Ex. 1: if (sc_btn_new) { {Minha_Data} = date('Y/m/d'); }

Aplicação formulário

onLoad

Page 9 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 10: Manual Macros Scriptcase

sc_btn_update

Escopo da Macro

Quando o botão "Alterar" é clicado, esta macro é disponibilizada, podendo ser testada e utilizada dentro dos eventos, permitindo a tomada de decisões em tempo real de execução.

Ex. 1: if (sc_btn_update) { sc_error_message("Registro alterado com sucesso!"); }

Aplicação formulário

onValidate onValidateFailure onValidateSuccess

sc_calc_dv(Dígito, Resto, Valor, Módulo, Pesos, Tipo)

Escopo da Macro

Esta macro tem por objetivo o cálculo de dígitos verificadores.

Ex. 1: sc_calc_dv({meu_dig}, {meu_resto}, 1234567, 11, 98765432, 1); Calculo parcelas: 7x2= 14 ; 6x3=18 ; 5x4=20 ; 4x5=20 ; 3x6=18 ; 2x7=14 ; 1x8=8 Soma parcelas : 14+18+20+20+18+14+8 = 112 Resto da divisao de 112 / 11 = 2 Dígito : 11 - 2 = 9

Ex. 2: sc_calc_dv({meu_dig}, {meu_resto}, 1234567, 10, 12, 2); Calculo parcelas: 7x2= 14 ; 6x1=6 ; 5x2=10 ; 4x1=4 ; 3x2=6 ; 2x1=2 ; 1x2=2 Soma parcelas : 1+ 4+6+1+0+4+6+2+2 = 26 Resto da divisao de 26 / 10 = 6 Dígito : 10 - 6 = 4

Parâmetro Descrição

Dígito Variável na qual será retornado o dígito calculado.

Resto Variável na qual será retornado o "resto" da divisão do cálculo do dígito.

Valor Valor ou Variável sobre o qual será calculado o dígito.

Módulo Valor ou Variável contendo o módulo a ser utilizado. Se omitido será assumido o módulo "11".

Pesos Valor ou Variável contendo os pesos a serem utilizados. Se omitido serão assumidos os valores "98765432".

Tipo Valor ou Variável contendo o tipo de cálculo das parcelas a ser utilizado, sendo: 1 para soma normal dos valores das parcelas e 2 para soma de cada algarismo das parcelas. Se omitido será assumido o tipo "1".

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_changed({Nome_Campo})

Escopo da Macro

Esta macro tem por objetivo verificar se houve alteração em determinado campo do formulário.

Ex. 1: if (sc_changed({Nome_Campo})) { Echo "O campo foi modificado"; }

Aplicação consulta Formulário Controle Aplicação formulário

onGroupBy onRefresh onBeforeUpdate onValidate onValidateFailure onValidateSuccess

sc_change_connection("Conexao_Antiga", "Conexao_Nova")

Troca dinamicamente as conexões das aplicações

Ex. 1: Trocar as conexões : sc_change_connection("Conexão_Antiga01", "Conexão_Nova01" ; "Conexão_Antiga02", "Conexão_Nova02"); Pode mudar várias no mesmo comando, usando o separador ";"

Page 10 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 11: Manual Macros Scriptcase

Escopo da Macro

Ex. 2: Pode usar variáveis: sc_change_connection({Senha}, [Teste] ; "Minha_Conexão", [Global_Conexão]); sc_change_connection([Conexão_Global], [Nova_Conexão]); Pode trocar, também, a conexão principal. As trocas só têm efeito nas aplicações seguintes. Ex. 3: Para apagar as trocas feitas: sc_reset_change_connection();

sc_commit_trans ("Conexão")

Escopo da Macro

Esta macro tem por objetivo efetivar uma serie de transações na base de dados. Nas aplicações de formulário, em eventos que cotenham qualquer macro que dependa de atualização na base de dados (sc_AfterInsert, sc_AfterUpdate, sc_AfterDelete, sc_BeforeInsert, sc_BeforeUpdate ou sc_BeforeDelete) estão automaticamente protejidas por controle de transação, desde que a conexão seja a mesma da aplicação.

Caso o usuário, em alguma destes eventos, 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.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onGroupBy onHeader onNavigate onRecord onScriptInit

onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_confirm("Mensagem")

Escopo da Macro

Esta macro atua apenas em codigos PHP, que rodem quando chamadas através de botão na barra de ferramentas.

Tem por objetivo a confirmação de que a ação deverá ser realmente executada, previnindo-se, assim, que a fórmula seja executada de maneira indevida.

Ex. 1: sc_confirm ("Deseja realmente executar a ação ??");

Aplicação consulta Formulário Controle Aplicação formulário

onClick onClick onClick

sc_date(Data, "Formato", "Operador", D, M, A)

Esta macro tem por objetivo o cálculo do incremento ou decremento de datas. Para sua utilização são necessários alguns parâmetros, conforme a seguir:

Ex. 1: {datanasc} = sc_date({datanasc}, "dd/mm/aaaa", "+ ", 30, 0, 0);

Ex. 2: $nova_data = sc_date({datanasc}, "aaaa-mm-dd", "-", 15, 3, 2);

Ex. 3: {dt_inclusao} = sc_date(date('Ymd'), "aaaammdd", "-", 0, 1, 1);

OBS: Para certificar-se do formato da data, antes de utilizar a função, ponha seu comando em algum evento: echo "form_data = " . {nome do campo de data};

Parâmetro

Descrição

Data Campo de data que contém a data a ser modificada.

Formato Formatação em que o campo de data se encontra.

Operador "+" para incremento e "-" para decremento.

D Número de dias a incrementar ou decrementar.

M Número de meses a incrementar ou decrementar.

A Número de anos a incrementar ou decrementar.

Page 11 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 12: Manual Macros Scriptcase

Escopo da Macro

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate OnClick onClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_date_conv({Campo_Data}, "Formato_Entrada", "Formato_Saída")

Escopo da Macro

Um trabalho relativamente complexo na programação é a manipulação de datas. Para minimizar este problema o ScriptCase disponibiliza a função para conversão de datas sc_date_conv.

Ex. 1: O código abaixo converte a data do formato "dd/mm/a aaa" para o formato "aaaammdd" {campo_data} = sc_date_conv({campo_data},"dd/mm/aaaa","aaaammdd"); Ex. 2: O código abaixo converte a data do formato nativo d o banco de dados para o formato "dd/mm/aaaa" {campo_data} = sc_date_conv({campo_data},"db_format","dd/mm/aaaa"); Ex. 3: O código abaixo converte a data do formato "dd/mm/a aaa" para o formato nativo do Banco de dados {campo_data} = sc_date_conv({campo_data},"dd/mm/aaaa","db_format");

Parâmetro Descrição

A ou Y Usado para referenciar ano.

M Usado para referenciar mês.

D Usado para referenciar Dia.

Db_Format Para formato de data do banco de dados.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_date_dif({Data1}, "Formato Data1", {Data2}, "Formato Data2")

Escopo da Macro

Esta macro calcula a diferença entre datas, em quantidade de dias.

Ex. 1: {quantidade_dias} = sc_date_dif({data1}, "aaaa-mm-dd", {data2}, "dd/mm/aaaa");

Ex. 2: {quantidade_dias} = sc_date_dif("2000-05-01", "aaaa-mm-dd", "21/04/2004", "dd/mm/aaaa"); {quantidade_dias} seria igual a 1451 (dias)

Obs: Embora os formatos possam ser diferentes, as datas devem ser compostas de dia, mês e ano

Parâmetro Descrição

Data1 Valor ou variável contendo a primeira data.

Formato Data1 Valor ou variável contendo o formato no qual está armazenada a data1.

Data2 Valor ou variável contendo a segunda data.

Formato Data2 Valor ou variável contendo o formato no qual está armazenada a data2.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute

onApplicationInit onClick

onApplicationInit onBlur

onApplicationInit onRefresh

ajaxFieldonBlur onAfterDelete

onApplicationInit onExecute

Page 12 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 13: Manual Macros Scriptcase

onFooter onGroupBy onHeader onNavigate onRecord onScriptInit

onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onSave onScriptInit OnValidate

onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick onClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onLoad

sc_date_dif_2({Data1}, "Formato Data1", {Data2}, "Formato Data2", Opção)

Escopo da Macro

Calcula diferença entre datas, retornando a quantidade de dias, meses e anos.

O resultado será retornado em forma de array, no qual o índice 0 terá a a quantidade de dias, o índice 1 terá a quantidade de meses e o índice 2 terá a quantidade de anos.

Ex. 1: {diferencas} = sc_date_dif_2 ({data1}, "aaaa-mm-dd", {data2}, "dd/mm/aaaa", 1); {dif_dias} = {diferencas[0]}; {dif_meses} = {diferencas[1]}; {dif_anos } = {diferencas[2]};

Ex. 2: {diferencas} = sc_date_dif_2 ("2000-05-01", "aaaa-mm-dd", "21/04/2004", "dd/mm/aaaa", 1); {diferencas[0]} seria igual a 20 (dias) {diferencas[1]} seria igual a 11 (meses) {diferencas[2]} seria igual a 3 (anos).

Ex. 3: Utilizando a opção 2 . {diferencas} = sc_date_dif_2 ("2000-05-01", "aaaa-mm-dd", "21/04/2004", "dd/mm/aaaa", 2); {diferencas[0]} seria igual a 21 (dias) {diferencas[1]} seria igual a 11 (meses) {diferencas[2]} seria igual a 3 (anos).

Obs: Embora os formatos possam ser diferentes, as datas devem ser compostas de dia, mês e ano.

Parâmetro Descrição

Data1 Valor ou variável contendo a primeira data.

Formato Data1 Valor ou variável contendo o formato no qual está armazenada a data1.

Data2 Valor ou variável contendo a segunda data.

Formato Data2 Valor ou variável contendo o formato no qual está armazenada a data2.

Opção 1 = não considera o dia inicial; 2 = considera o dia inicial.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_date_empty({Campo_Data})

Escopo da Macro

Esta macro verifica se um campo do tipo data está vazio.

Ex. 1: if (sc_date_empty({data_nasc}) ) { sc_erro_mensagem("Dados inválidos"); }

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário

Page 13 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 14: Manual Macros Scriptcase

onBeforeUpdateAll onClick onHeader onRecord

onBlur onChange onClick onFocus onLoadAll onRefresh

onRefresh OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick onClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_decode({Meu_Campo})

Escopo da Macro

Esta macro retorna, o campo ou variável criptografada, à sua forma original.

Ex. 1: Descriptografando uma variável local: {meu_campo} = sc_decode($campo_cript);

Ex. 2: Descriptografando uma variável do usuário: $minha_var = sc_decode($campo_cript);

OBS: A Netmake não se responsabiliza pela possível quebra do algorítimo de criptografia utilizado, uma vez que o algoriíimo é fornecido com o fonte aberto.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_encode({Meu_Campo})

Escopo da Macro

Esta macro retorna, o campo ou variável, de forma criptografada.

Ex. 1: Criptografando uma variável local: $campo_criptografado = sc_encode({meu_campo});

Ex. 2: Criptografando uma variável do usuário: $campo_criptografado = sc_encode($minha_variavel);

OBS: A Netmake não se responsabiliza pela possível quebra do algoritimo de criptografia utilizado, uma vez que o algoritimo é fornecido com o fonte aberto.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick onClick OnFocus

onApplicationInit onExecute onLoad

Page 14 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 15: Manual Macros Scriptcase

onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_error_continue("Evento")

Escopo da Macro

Esta macro inibe o tratamento de erros de banco de dados, padrão do Scriptcase, para o evento passado como parâmetro e permite que o programador trate os erros do banco de dados. Pode ser usada por exemplo quando no banco de dados existem triggers/procedures que fazem validações referentes aos eventos de inclusão, atualização e exclusão de registros. É usada em conjunto com as variáveis: {sc_erro_delete},{sc_erro_insert} e/ou{sc_erro_update} Os eventos a serem passados como parâmetro são: inserir, delete ou update.

Ex. 1: Utilizando o evento onDelete para tratamento de mensagem devolvida por uma trigger do mssql, que cancela a exclusão do registro e manda uma mensagem de erro no formato: [Microsoft][ODBC SQL Server Driver][SQL Server] Você não pode apagar este registro. sc_error_continue("delete"); if (!empty({sc_erro_delete})) { $tmp = strrpos({sc_erro_delete}, "]"); if ($tmp !== false) { {sc_erro_delete} = substr({sc_erro_delete}, $tmp + 1); } sc_erro_mensagem({sc_erro_delete}); sc_erro_exit; }

Formulário Controle Aplicação formulário

onScriptInit onBeforeDelete onBeforeInsert onBeforeUpdate

sc_error_delete

Escopo da Macro

Esta variável retorna uma string contendo qualquer mensagem de erro do banco de dados, que ocorra ao se tentar excluir um registro. É utilizada quando precisamos tratar estas mensagens. Por exemplo, no caso validações feitas no banco de dados via triggers ou procedures que retornam mensagem.

Ex. 1: Conteúdo da variável {sc_erro_delete} , retornando uma mensagem de erro gerada por uma triger do banco de dados usando MsSQL.

“[Microsoft][ODBC SQL Server Driver][SQL Server] Você não pode apagar este registro.”

OBS: Para ter acesso ao retorno do erro do banco, veja a macro "sc_error_continue ".

Aplicação formulário

onAfterDelete

sc_error_exit(URL, "Target") ou (Minha_Aplicação, "Target")

Escopo da Macro

Interrompe a execução da aplicação, se existir mensagens de erro geradas pela macro "sc_error_message" , exibindo uma tela com as mensagens de erro.

Se informada uma URL ou o nome de uma Aplicação, será exibido, além das mensagens de erro, um botão "OK" para redirecionar o processamento para a URL/Aplicação informada.

A parâmetro target e opicional.

Ex. 1: Apenas exibe as mensagens de erro. sc_error_exit();

Ex. 2: Exibe as mensagens de erro e o botão "OK" para redirecionar para a URL informada. sc_error_exit(http://www.meusite.com.br);

Ex. 3: Exibe as mensagens de erro e o botão "OK" para redirecionar para a Aplicação informada. sc_error_exit(minha_aplicacao, "_blank");

Aplicação em branco

Formulário Controle Aplicação de pesquisa

Aplicação formulário

onBeforeUpdateAll onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

OnValidate ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick OnFocus

Page 15 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 16: Manual Macros Scriptcase

onNavigate onValidate onValidateFailure onValidateSuccess

sc_error_insert

Escopo da Macro

Esta variável retorna uma string contendo qualquer mensagem de erro do banco de dados, que ocorra ao se tentar inserir um registro. É utilizada quando precisamos tratar estas mensagens. Por exemplo, no caso validações feitas no banco de dados via triggers ou procedures que retornam mensagem.

Ex. 1: conteúdo da variável {sc_erro_insert} , retornando uma mensagem de erro gerada por uma trigger do banco de dados usando mssql.

“[Microsoft][ODBC SQL Server Driver][SQL Server] Você não pode incluir este registro.”

OBS: Para ter acesso ao retorno do erro do banco, veja a macro "sc_error_continue ".

Aplicação formulário

onAfterInsert

sc_error_message("Texto")

Escopo da Macro

Esta macro tem por objetivo possibilitar ao usuário enviar mensagens de erro. Nas aplicações de "Formulário e Controle " as mensagens serão apresentadas juntamente com as demais mensagens de erro encontradas na aplicação, exceto se utilizada a macro "sc_erro_exit ".

Nas aplicações de "Consulta e Menu " as mensagens só serão apresentadas através da macro "sc_erro_exit ".

Ex. 1: if ({desconto} > 0,10 && [glo_usuario] == 'operador') { sc_error_message("Desconto de " . {desconto} . "acima do permitido"); }

Neste exemplo, se for digitado um valor no campo desconto acima de 0,10 e o usuário tentar inserir ou salvar este registro, a operação será encerrada e a mensagem de erro será apresentada. É obrigatório que o comando termine com ");" (fecha parentese e ponto e vírgula) que servem de delimitador para o interpredador da macro

Aplicação em branco

Formulário Controle Aplicação de pesquisa

Aplicação formulário

onBeforeUpdateAll onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

OnValidate ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick OnFocus onNavigate onValidate onValidateFailure onValidateSuccess

sc_error_update

Escopo da Macro

Esta variável retorna uma string contendo qualquer mensagem de erro do banco de dados, que ocorra ao se tentar atualizar um registro. É utilizada quando precisamos tratar estas mensagens. Por exemplo, no caso validações feitas no banco de dados via triggers ou procedures que retornam mensagem.

Ex. 1: conteúdo da variável {sc_erro_update} , retornando uma mensagem de erro gerada por uma triger do banco de dados usando mssql.

“[Microsoft][ODBC SQL Server Driver][SQL Server] Você não pode atualizar este registro.”

Obs: Para ter acesso ao retorno do erro do banco, veja a macro "sc_error_continue ".

Aplicação formulário

onAfterUpdate

sc_exec_sql ("Comando SQL", "Conexão")

Escopo da Macro

Esta macro permite a execução de comandos SQL, para os quais o usuário poderá condicionar as circunstâncias em que os mesmos devem ser executados. 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.

Ex. 1: if (sc_after_delete) { sc_exec_sql("delete from outratab where chave = {chave_ant}"); }

Page 16 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 17: Manual Macros Scriptcase

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_exit(Opção)

Escopo da Macro

Esta macro é utilizada nos eventos ou através de um botão PHP criado, tem por objetivo definir o retorno da aplicação após a execução em uma outra aplicação.

A utilização desta macro, nesta modalidade, provê as seguintes alternativas:

Esta opção só é válida para aplicações de Formulário e aplicações de Controle.

Opção Descrição

sc_exit() Não exibe a tela com o botão OK e retorna para a aplicação anterior.

sc_exit(ok) Exibe a tela com o botão OK e retorna para a aplicação anterior.

sc_exit(sel) Não exibe a tela com o botão OK e retorna para a aplicação corrente, refazendo o select da aplicação.

sc_exit(ref) Não exibe a tela com o botão OK e retorna para a aplicação corrente, fazendo apenas a recarga (refresh) dos dados.

sc_exit(ok,ref) Mesmo que a função sc_exit(ref); porém, exibe a tela com o botão OK.

sc_exit(ok,sel) Mesmo que a função sc_exit(sel); porém, exibe a tela com o botão OK.

Opção Descrição

sc_exit() Não afeta transações na base de dados.

sc_exit(c) Realiza as transações pendentes.

sc_exit(r) Não realiza as transações pendentes.

Formulário Controle Aplicação formulário

onClick onScriptInit

onClick onScriptInit

sc_field_color("Campo", "Cor")

Escopo da Macro

Esta macro tem por objetivo, de forma dinâmica, alterar/restaurar a cor do texto de determinado campo da consulta .

Ex. 1: Altera em definitivo a cor de texto do campo "clienteid" da consulta. sc_field_color ("clienteid", "#33FF66");

Ex. 2: Altera a cor de texto do campo "valor_pedido" , se o valor for maior que 1000. Caso contrário, ma ntem a cor padrão. if ({valor_pedido} > 1000) { sc_field_color ("valor_pedido", "#33FF66"); } else { sc_field_color ("valor_pedido", ""); }

Ex. 3: Utilizando uma variável local. sc_field_color ("clienteid", {cmp_cor});

Ex. 4: Utilizando uma variável global. sc_field_color ("clienteid", [cor_global]);

Aplicação consulta

onRecord onScriptInit

sc_field_disabled ("Nome_Campo = True/False", "Parâmetro")

Esta macro tem por objetivo bloquear a digitação em determinados campos do formulário.

Campos a serem bloqueados, devem ser seguidos da opção de bloquear "true" (default) ou não "false".

O parâmetro é opcional, é usando "I" apenas na inclusão, e "U" apenas na alteração. Caso não seja informado, o ScriptCase irá usar as duas opcões juntas.

Ex. 1: Bloqueio de um campo, inclusão e atualização.

Page 17 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 18: Manual Macros Scriptcase

Escopo da Macro

sc_field_disabled("Campo_01");

Ex. 2: Retirando o bloqueio de um campo, inclusão e atualização. sc_field_disabled("Campo_02=false");

Ex. 3: Bloqueio de vários campos, apenas na atualiza ção. sc_field_disabled("Campo_01; Campo_02; Campo_03", "U");

Ex. 4: Combinação de bloqueio e desbloqueio de vário s campos, inclusão e atualização. sc_field_disabled("Campo_01=true; Campo_02=false; Campo_03=true");

Formulário Controle Aplicação formulário

onLoadAll onLoad onNavigate

sc_field_display({Meu_Campo}, on/off)

Escopo da Macro

Permite, dinamicamente, exibir ou não um determinado campo. Em princípio, todos os campos são exibidos (condição "on").

Ex. 1: if ({tp_cli} == "fisica") { sc_field_display({cnpj}, off); } else { sc_field_display({cpf}, off); }

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação formulário

onBeforeUpdateAll onClick onScriptInit

onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeInsertAll Onchange OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_field_init_off(campo1, campo2,...)

Escopo da Macro

Esta macro tem por objetivo inibir campos da consulta na carga inicial.

Os campos inibidos por essa macro podem ser habilitados pela utilização do botão "Colunas".

Ex 01:

sc_field_init_off ({ordem_id}, {valor_total});

Aplicação consulta

onApplicationInit

sc_field_readonly({Campo}, on/off)

Escopo da Macro

Permite, dinamicamente, transformar em readonly um determinado campo do formulário .

Em princípio, os campos readonly são especificados na interface de configuração do formulário e funcionam da seguinte forma: No modo de atualização, os campos aparecem na forma readonly e, no modo de inclusão, os campos aparecem abertos para digitação.

O segundo parâmetro "on/off" é opcional, e serve para que, em um evento Ajax, seja possível definir se um campo vai ficar como read-only (on) ou deixar de ser read-only (off).

Ex. 1: Se desejamos que um determinado campo, especif icado na interface como readonly, permaneça readonl y no modo de inclusão, teremos: if (sc_btn_new) { sc_field_readonly({meu_campo}); }

Ex. 2: Se desejamos que um determinado campo, que não tenha sido especificado na interface como readonly , apareça na forma readonly, teremos: sc_field_readonly({meu_campo});

Aplicação em branco

Formulário Controle Aplicação formulário

onBeforeUpdateAll onBlur onChange onClick onFocus

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert

Page 18 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 19: Manual Macros Scriptcase

onLoadAll onRefresh onScriptInit onValidate onValidateFailure

onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeInsertAll Onchange OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_field_style({Meu_Campo}, "Background-Color", "Size", "Color", "Family", "Weight")

Escopo da Macro

Esta macro permite que seja modificado o estilo do campo da consulta dinamicamente.

Ex. 01: sc_field_style({data_nasc}, '#33FF99', '15px', '#000000', 'Arial, sans-serif', 'bold');

Parâmetro Descrição

Field Nome do campo

Background-Color (opcional) Cor de fundo da célula do campo

Size (opcional) Tamanho da fonte do campo

Color (opcional) Cor da fonte

Family (opcional) Família da fonte

Weight (opcional) Largura da fonte

Aplicação consulta

onRecord onScriptInit

sc_format_num({Meu_Campo}, "Simb_Grp", "Simb_Dec", "Qtde_Dec", "Enche_Zeros", "Lado_Neg", "Simb_Monetário", "Lado_Simb_Monetario")

Escopo da Macro

Esta macro tem por objetivo a formatação de valores numéricos.

Ex. 1: Formatando um número inteiro. sc_format_num({meu_valor}, '.', '', 0, 'N', '1', ''); Valor de entrada = 001234567890 Valor de saída = 1.234.567.890

Ex. 2: Formatando um valor negativo e desprezando as casas decimais. sc_format_num({meu_valor}, '.', '', 0, 'N', '1', ''); Valor de entrada = -0012345678.90 Valor de saída = -12.345.678 Ex. 3: Formatando um valor com 4 casas decimais e pr enchendo com zeros. sc_format_num({meu_valor}, '.', ',', 4, 'S', '1', ''); Valor de entrada = 0012345678.9 Valor de saída = 12.345.678,9000 Ex. 4: Formatando um valor com 2 casas decimais, pre nchendo com zeros e utilizando símbolo monetário. sc_format_num({meu_valor}, '.', ',', 2, 'S', '1', 'R$'); Valor de entrada = 0012345678.9 Valor de saída = R$ 12.345.678,90 Ex. 5: Formatando um valor com 2 casas decimais, pre nchendo com zeros. sc_format_num({meu_valor}, '.', ',', 2, 'S', '1', ''); Valor de entrada = .9 Valor de saída = 0,90

Parâmetro Descrição

Meu_Campo Variável ou campo que contena o valor a ser formatado (O retorno será na própria variável).

Simb_Grp Símbolo de agrupamento dos valores inteiros.

Simb_Dec Símbolo para o separador de decimais.

Qtde_Dec Quantidade de decimais a ser exibida.

Enche_Zeros Completa com zeros as decimais inexistentes (S = sim e N = não).

Lado_Neg Lado onde o sinal de negativo deve ser exibido (1 = esquerdo e 2 = direito).

Simb_Monetário Símbolo monetário a ser exibido.

Lado_Simb_Monetário Lado onde o símbolo monetário será exibido (1 = esquerdo e 2 = direito).

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit

onApplicationInit onExecute onLoad

Page 19 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 20: Manual Macros Scriptcase

onValidate onValidateFailure onValidateSuccess

sc_form_show'on' ou 'off'

Escopo da Macro

Esta macro permite, dinamicamente, exibir ou não o conteúdo do formulário. Em princípio, o formulário é exibido (condição "on").

Ex. 1: Para não exibir o formulário. sc_form_show = 'off';

Formulário Controle Aplicação formulário

onLoadAll onScriptInit

onLoad onScriptInit onValidate

sc_getfield('meuCampo')

Escopo da Macro

A macro tem por objetivo atribuir objetos (que representam os campos do formulário) para uma variável javascript, permitindo ao usuário ter acesso as propriedades do objeto. Esta macro roda em eventos e métodos javascript das aplicações de formulário e controle.

Ex:

Exibindo o valor do campo "cliente" de um formulário cli_js = sc_getfield('cliente'); alert (cli_js.value);

sc_get_language

Escopo da Macro

Esta macro retorna a sigla do idioma em uso.

Ex. 1:

$my_language = sc_get_language();

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_get_regional

Escopo da Macro

Esta macro retorna a sigla da configuração regional em uso.

Ex. 1:

$my_regional = sc_get_regional();

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad

onApplicationInit onExecute onLoad

Page 20 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 21: Manual Macros Scriptcase

onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_get_theme

Escopo da Macro

Esta macro retorna o nome do tema do layout em uso na aplicação.

Ex. 1:

$my_theme = sc_get_theme();

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_groupby_label("Meu_Campo")

Escopo da Macro

Esta macro tem por objetivo alterar, dinamicamente, o label dos campos que estão especificados para serem apresentados nas linhas de quebra.

Ex. 1: sc_label_quebra('estado') = "Quebra do estado";

Ex. 2: sc_label_quebra('saldo') = "Total dos Saldos";

Aplicação consulta

onGroupBy

sc_hide_groupby_rule('group1', 'grop2', 'group3')

Escopo da Macro

Esta macro é utilizada para desabilitar regras de Quebra em tempo de execução.

O Id das regras de quebras devem ser passadas como parametros.

Ex:

if( [usr_login_group] == 'seller' ){

sc_hide_groupby_rule('rule_1', 'rule_2');

}

Aplicação consulta

onApplicationInit

sc_image(Imagem01.jpg)

Todas as imagens utilizadas nas aplicações são automáticamente copiadas para cada aplicação. Caso o usúario, através de dos eventos ou Javascript, utilize comandos para carregar imagens, estas terão que ser copiadas para a aplicação. Esta macro executa esta função.

Ex. 1: sc_image (img1.gif, img2.jpg);

OBS: As imagens deverão existir no diretório de imagens do ambiente de desenvolvimento (../devel/conf/sys/img/img/).

IMPORTANTE

À partir da versão 3.00.0144, foi implementado em (Aplicação->Configuração->Imagens Extras da Aplicação ) uma interface para que o usuário possa informar as imagens extras, permitindo, inclusive, o upload de novas imagens. Desta forma, esta macro não será mais necessária.

Page 21 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 22: Manual Macros Scriptcase

Escopo da Macro

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onApplicationInit onScriptInit

onApplicationInit onLoadAll onScriptInit onValidateFailure onValidateSuccess

onScriptInit onApplicationInit onClick onLoad onLoadRecord onScriptInit onValidate

onApplicationInit onLoad

sc_include("Arquivo", "Origem")

Escopo da Macro

O Scriptcase permite que o usuário catalogue seus script's PHP e utilize-os em várias aplicações. Para catalogar os script's, no menu principal do Scriptcase, acessar "Configuração=>Bibliotecas . Nesta opçao o usuário poderá escrever seu script ou fazer "upload" de um script existente.

No momento de catalogar o script, o usuário deverá selecionar o contexto ao qual o script pertence, podendo ser: - Público : Todos os projetos poderão ter acesso. - Projeto : Apenas os usuários do projeto (que estiver logado no monento) terão acesso. - Usuário : Apenas o usuário (que estiver logado no monento) terá acesso.

Na utilização da macro sc_include , o usuário deverá informar o nome do script que deseja incluir e a origem do mesmo(contexto sob o qual o script foi catalogado).

- Nome do script : Nome do script a ser incluido na aplicação.

A Origem do contexto sob o qual o script foi catalogado, podendo ser: - em branco = Script's a nível global, que acompanham a distribuição do Scriptcase . - pub = A nível Público - prj = A nível do Projeto - usr = A nível do Usuário

Ex. 1: Incluindo um script catalogado a nível globa. (Scrip tcase) sc_include("meu_script.php");

Ex. 2: Incluindo um script catalogado a nível do projeto. sc_include("meu_script.php", "prj");

Ex. 3: Incluindo um script catalogado a nível do usuário. sc_include("meu_script.php", "usr");

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_include_lib("Lib1", "Lib2", ...)

Escopo da Macro

Esta macro é usada para selecionar dinamicamente as bibliotecas da aplicação.

Ex. 1:

sc_include_lib ("fpdf"); $pdf=new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Saida de texto!'); $pdf->Output();

Bibliotecas PHP Bibliotecas JavaScript

fpdf Jquery

fpdf_html jquery_thickbox

excel jquery_blockui

rtf tiny_mce

Aplicação em branco

onFooter

sc_label({Meu_Campo})

Page 22 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 23: Manual Macros Scriptcase

Escopo da Macro

Esta macro tem por objetivo alterar, dinamicamente, o label dos campos de uma consulta ou formulário.

Ex. 1: Usando o nome do campo. sc_label("cliente") = "Nome do Cliente";

Ex. 2: Usando uma variável tipo atributo para definir o ca mpo a ser modificado. sc_label({atributo}) = "Nome do Cliente";

Ex. 3: Usando uma variável global para definir o campo a s er modificado. sc_label([variavel_global]) = "Nome do Cliente";

Aplicação consulta Formulário Controle Aplicação formulário

onNavigate onScriptInit

onLoadAll onScriptInit

onLoad onLoadRecord onNavigate onRefresh onScriptInit

sc_language

Escopo da Macro

Esta macro retorna o idioma e a configuração regional atual do sistema.

Ex. 1:

echo "Language: ".{sc_language};

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onApplicationInit onScriptInit

onApplicationInit onScriptInit onValidate onValidateSuccess

onApplicationInit onScriptInit

onApplicationInit onScriptInit

onApplicationInit onLoad

sc_ldap_login

Escopo da Macro

$ldapConn = sc_ldap_login($server[, $domain, $user, $password, $dn, $group]);

É necessário realizar login pra fazer qualquer consulta de LDAP, essa macro estabelece a conexão e a amarração pelas credenciais do usuário. Seus parametros são:

Servidor = Domínio = Usuário = Senha = DN = Grupo =

Existem 3 possibilidades de retorno:

Retorno da macro Situação

(string)'ldap_connect_error' Erro ao conectar com o servidor/serviço LDAP.

(string)'ldap_bind_error' Erro com autenticação, após conexão bem-sucedida com o servidor.

(resource) Conexão e autenticação bem-sucedidos.

sc_link(Coluna, Aplicação, Parâmetros, "Hint", "Target", Altura, Largura)

Esta macro cria ou alterar ligações com outras aplicações, nas aplicações de consulta, de forma dinâmica.

Coluna : É o nome do campo, da coluna da grid, para o qual será gerado o link de ligação. Aplicação : Nome da aplicação para a qual queremos estabelecer o link. Parâmetros : Parâmetros necessários para que a aplicação chamada possa funcionar. Devem ser informados o nome do parâmetro, o sinal de atribuição "=" e o valor ou variável a ser atribuído. Havendo mais de um parâmetro, estes deverão ser separados por ";" (ponto e vírgula). Hint : Observação ou dica que será apresentada quando o cursor do mouse passar sobre o link.

Target : Local onde a aplicação chamada irá funcionar, podendo ser:

No caso de target modal, existem dois parâmetros opcionais*:

*Altura: Defina a altura da janela modal (default 440); *Largura: Defina a largura da janela modal (default 630);

Obs: Se omitido, será atribuído o valor "_self".

Ex. 1: Criando um link para a aplicação dados_cli.php, no campo cpf, passando a variável global [glo_emp] com o empresa e o campo (variável local) {cpf} para a aplicação dados_cli.p hp: sc_link (cpf,dados_cli.php,empresa=[glo_emp];cpf={cpf},"Dados individuais do Cliente ", "_blank");

Target Descrição

"_self" Para execução na mesma página (sobrepõe a consulta);

"_blank" Para execução em outra página (pop-up);

"iframeT" Para execução em um iframe, acima da consulta (Top);

"iframeL" Para execução em um iframe, a esquerda da consulta (Left);

"iframeR" Para execução em um iframe, a direita da consulta (Right);

"iframeB" Para execução em um iframe, abaixo da consulta (Bot);

"modal" Abre uma nova janela e bloqueia qualquer interação na janela principal;

Page 23 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 24: Manual Macros Scriptcase

Escopo da Macro

Ex. 2: Criando um link dinâmico para uma ou outra aplicaçã o dependendo do valor no campo {tp_cli} e abrindo u ma janela modal: if ({tp_cli} == "F") { sc_link (tpcli, fisica.php, empresa=[glo_emp]; cpf={cpf}," Pessoa Física ", "modal", 500, 700); } else{ sc_link (tpcli, juridica.php, empresa=[glo_emp]; cnpj={cnpj}," Pessoa Jurídica ", "iframeR"); }

Ex. 3: - Criando um link para uma URL: neste caso, "parâmetr o e target" não têm efeito. Será executado um redire cionamento para a URL informada. sc_link (minha_coluna, http://www.scriptcase.com.br, ,"hint do link");

Aplicação consulta

onRecord

sc_lin_cod_barra_arrecadacao({Código_Barra}, Código_Seguimento, Código_Moeda, {Valor}, {Livre})

Escopo da Macro

Esta macro gera os valores que compõem o código de barras no padrão Febraban arrecadação.

Ex. 1: sc_lin_cod_barra_arrecadacao({codigo_barra}, 1, 6, {valor_tit}, {parte_livre});

Parâmetro Descrição

Código_Barra Variável na qual será armazenada a string contendo os valores do código de barras no padrão arrecadação (Febraban).

Código_Seguimento Valor ou variável que contém o código do seguimento.

Código_Moeda Valor ou variável que contém o código da moeda.

Valor Valor ou variável que contém o valor do documento.

Livre Valor ou variável que contém as 29 posições livres do código de barras.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação formulário

onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onValidate onValidateSuccess

onBeforeInsert onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onValidateSuccess

sc_lin_cod_barra_banco({Código_Barra}, Código_Banco, Código_Moeda, {Valor}, {Livre}, {Data_Vencimento})

Escopo da Macro

Esta macro gera os valores que compõem o código de barras no padrão Febraban bancário.

Ex. 1: sc_lin_cod_barra_banco({Codigo_barra}, 001, 1, {valor_tit}, {parte_livre}, {data});

Parâmetro Descrição

Código_Barra Variável na qual será armazenada a string contendo os valores do código de barras no padrão arrecadação (Febraban).

Código_Banco Valor ou variável que contém o código do banco.

Código_Moeda Valor ou variável que contém o código da moeda.

Valor Valor ou variável que contém o valor do documento.

Livre Valor ou variável que contém as 29 posições livres do código de barras.

Data_Vencimento Data de vencimento do documento (opcional). Se informada, o scriptcase calculará o "fator de vencimento". O formato deverá ser, sempre aaaammdd.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação formulário

onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onValidate onValidateSuccess

onBeforeInsert onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onValidateSuccess

sc_lin_digitavel_arrecadacao({Linha_Digitavel}, {Código_Barras})

Escopo da Macro

Esta macro gera a linha digitável para bloquetos de cobrança, a partir da linha do código de barras, padrão arrecadação.

Ex. 1: sc_lin_digitavel_arrecadacao({lin_dig}, {cod_barra});

Parâmetro Descrição

Linha_Digitavel Variável na qual será armazenada a string contendo a linha digitável.

Código_Barras Variável na qual está armazenada a string contendo os valores do código de barras.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação formulário

onExecute onFooter

onClick onGroupBy onHeader onNavigate

onValidate onValidateSuccess

onBeforeInsert onBeforeUpdate onClick onLoad

Page 24 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 25: Manual Macros Scriptcase

onRecord onScriptInit

onLoadRecord onNavigate onRefresh onValidateSuccess

sc_lin_digitavel_banco({Linha_Digitavel}, {Código_Barras})

Escopo da Macro

Esta macro gera a linha digitável para bloquetos de cobrança, a partir da linha do código de barras, padrão bancário.

Ex. 1: sc_lin_digitavel_banco({Linha_Digitavel}, {Código_Barra});

Parâmetro Descrição

Linha_Digitavel Variável na qual será armazenada a string contendo a linha digitável.

Código_Barras Variável na qual está armazenada a string contendo os valores do código de barras.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação formulário

onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onValidate onValidateSuccess

onBeforeInsert onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onValidateSuccess

sc_log_add("Ação", "Mensagem")

Escopo da Macro

Esta macro tem como objetivo adicionar um registro a tabela de log, desta forma tornando a mensagem e/ou o nome da ação customizavel para o desenvolvedor. Os parâmetros podem utilizar variáveis PHP.

Ex:

sc_log_add("access", "Aplicação foi acessada pelo usuário trial");

sc_log_split({descricao})

Escopo da Macro

Esta macro tem como objetivo possibilitar o acesso as informações gravadas no campo descrição da tabela de log, possibilitando a manipulação dos dados anteriores e posteriores dos registros envolvidos em forma de array. Estas informações são gravadas no campo "descrição" da tabela de log, no formato de uma string com delimitadores.

Ex:

$arr_description = sc_log_split({description});

Formato de entrada: -> keys fields Array ( [clienteid] => ANTON ) [fields] => Array ( [old] => Array ( [CEP] => 50710500 [Endereco] => Rua Desembargador Joao Paes 657 [Bairro] => Farol [Estado] => RS ) [new] => Array ( [CEP] => 53230630 [Endereco] => Avenida Presidente Kennedy, 1001 [Bairro] => Peixinhos [Estado] => PE ) ) )

sc_lookup(Dataset, "Comando SQL", "Conexão")

Esta macro permite que o usuário execute comandos SQL e tenha acesso ao "dataset" proveniente do comando. O "dataset" fica disponível, em forma de array (linha/coluna).

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 .

Ex. 1: sc_lookup(dataset, "select clienteid, nomecliente, limitecred from clientes" );

Para ter acesso à primeira linha (dataset), teremos: {clienteid} = {dataset[0][0]}; {nomecliente} = {dataset[0][1]}; {limitecred} = {dataset[0][2]};

Para ter acesso à segunda linha (dataset), teremos: {clienteid} = {dataset[1][0]}; {nomecliente} = {dataset[1][1]}; {limitecred} = {dataset[1][2]};

Caso ocorra erro na execução do comando sql, a variável atribuida ao dataset retornará como "false" e a mensagem de erro estará disponível na variável "dataset_erro ". É importante, também, verificar se o select retornou dados , para evitar o acesso a variáveis inexistentes, uma vez que o array de saída só será criado se o comando select retornar dados .

Ex. 2: sc_lookup(meus_dados, "select clienteid, nomecliente, limitecred from clientes"); if ({meus_dados} === false) { echo "Erro de acesso. Mensagem = " . {meus_dados_erro}; } elseif (empty({meus_dados})) { echo "Comando select não retornou dados "; } else { {clienteid} = {meus_dados[0][0]}; {nomecliente} = {meus_dados[0][1]};

Page 25 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 26: Manual Macros Scriptcase

Escopo da Macro

{limitecred} = {meus_dados[0][2]}; }

Ex. 3 : O comando SQL também pode ser composto de cam pos da aplicação (variáveis locais) ou de variáveis globais: sc_lookup(dataset, "select valor pedido from pedidos where clienteid = '{clienteid} ' and cod_vendedor = [var_glo_vendedor]");

Obs : Em qualquer circunstância, o comando tem que ser encerrado com ponto e vírgula ";".

Obs2: Não recomendamos o uso da macro sc_lookup com retornos muito grandes, para esse tipo de ocasião recomendamos o uso da macro sc_select

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onClick onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick onClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateSuccess

onApplicationInit onExecute onLoad

sc_mail_send(SMTP, Usr, Pw, De, Para, Assunto, Mensagem, Tipo_Mens, Cópias, Tp_Cópias, Porta, Tp_Conexao, Attachment)

Escopo da Macro

Esta macro tem por finalidade o envio de e-mail.

OBS: Para utilização de conexão segura , a extensão do PHP "php_openssl " deverá estar habilitada . anexos : Lista de arquivos a serem anexados, podendo ser uma string ou variável contendo um ou mais endereços de arquivos, separados por ";", ou uma variável contendo um array de endereços de arquivos.

Ex. 1: sc_mail_send('smtp.meuserver.com.br', 'usr', 'pw', '[email protected]', '[email protected]', 'teste envio de e-mail', 'mensagem', 'H', '[email protected];[email protected]', 'H', '', '', 'c:/teste/arq.txt');

Ex. 2: Utilizando variáveis como parâmetros e defini ndo a porta. sc_mail_send([glo_smtp], [usuar], [glo_pw], {origem}, {destino}, {assunto}, {mensagem}, 'T', [glo_copias], 'CCC', '419', 'S', {anexos});

Ex. 3: Servidor sem usuário e senha e opção de não en viar cópias e sem informação da porta. sc_mail_send([glo_smtp], '', '', 'de.netmake.com.br', {destino}, {assunto}, {mensagem}, 'H', '', '', '', '', [glo_att]);

A quantidade de e-mail's, efetivamente enviados, é disponibilizada através da variável especial "sc_mail_count ".

Caso ocorra erro no envio do e-mail, a variável especial "sc_mail_ok " retornará como "false" e a mensagem de erro estará disponível na variável especial "sc_mail_erro ".

Ex. 4: sc_mail_send([glo_smtp], '', '', '[email protected]', {destino}, {assunto}, {mensagem}, 'H'); if ({sc_mail_ok}) { echo "Enviados {sc_mail_count} e-mail com sucesso !!"; } else { sc_erro_mensagem({sc_mail_erro}); }

Observação Importante: Até a versão 3.00.01.134 não existiam os parâmetros tp_cópias, porta, tp_conexao e anexos . Para que estes parâmetros funcionem, na versão 3.00.01.135, foi introduzida uma nova classe para envio de e-mail. Verifique se no diretório prod/third existe o sub-diretório email_new . Caso não exista, atualize o "prod ".

Parâmetro Descrição

SMTP Endereço do servidor SMTP (string ou variável contendo o Endereço do servidor SMTP).

Usr Usuário do servidor SMTP (string ou variável contendo o Usuário do servidor SMTP).

Pw Senha do servidor SMTP (string ou variável contendo a Senha do servidor SMTP).

De E-mail de origem (string ou variável contendo o E-mail de origem).

Para Lista de e-mails que devem receber cópia da mensagem , podendo ser uma string ou variável contendo um ou mais e-mail's, separados por ";", ou uma variável contendo um array de e-mail's.

Assunto Título da mensagem (string ou variável contendo o título da mensagem).

Mensagem Mensagem a ser enviada (string ou variável contendo a mensagem).

Tipo_Mens Tipo do texto da mensagem a ser enviada, sendo: "T" para somente texto ou "H" para texto e/ou html.

Cópias Lista de e-mails que devem receber cópia da mensagem, podendo ser uma string ou variável contendo um ou mais e-mail's, separados por ";", ou uma variável contendo um array de e-mail's.

Tp_Cópias Tipo de cópias a serem enviadas: CCC para cópias visíveis e BCC para cópias ocultas. Se omitido, o Scriptcase assumirá o valor default: BCC.

Porta Porta utilizada pelo servidor de e-mail. Se omitido, o Scriptcase assumirá os valores default: 25 para porta não segura e465 para porta segura.

Tp_Conexão tp_conexao : Indicativo de conexão segura(criptografada) (S) ou não (N). Se omitido, o Scriptcase assumirá o valor default:N.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

Page 26 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 27: Manual Macros Scriptcase

onBeforeUpdateAll onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onClick onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onSave onScriptInit OnValidate

onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_make_link(Aplicação, Parâmetros)

Escopo da Macro

Esta macro tem por objetivo a criação de uma string contendo os dados de um link para outra aplicação, dentro dos padrões do Scriptcase..

O uso desta macro é para os casos em que o usuário esteja escrevendo seu próprio código html e nescessite fazer um link para outra aplicação Scriptcase.

Devem ser informados: o nome do parâmetro, o sinal de atribuição "=" e o valor ou variável a ser atribuído. Havendo mais de um parâmetro, estes deverão ser separados por ";" (ponto e vírgula).

Ex. 1: Criando uma string com um link para a aplicaç ão dadoscli.php, sem passagem de parâmetros. $string_link = sc_make_link(dadoscli.php);

Ex. 2: Criando uma string com um link para a aplicaç ão dadoscli.php, com passagem de parâmetros. $string_link = sc_make_link(dadoscli, parm1={empresa};parm2=[glo_filial]);

Parâmetro Descrição

Aplicação Nome da aplicação para a qual queremos estabelecer o link.

Parâmetro Parâmetros necessários para que a aplicação chamada possa funcionar. .

Aplicação em branco

Aplicação consulta Formulário Controle

onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onValidate onValidateSuccess

sc_master_value('Objeto', Valor)

Escopo da Macro

Esta macro tem o poder de atualizar qualquer objeto de uma aplicação Mestre, em uma aplicação Detalhe.

Ex. 1: sc_lookup(result,"SELECT SUM(Total) FROM adm_pedido_itens WHERE PedidoID = '{PedidoID}'"); [valor] = {result}[0][0]; sc_master_value('ValorPedido', [valor]);

Parâmetro Descrição

Objeto Nome do objeto a ser atualizado na aplicação Mestre. Ao informar o nome de um campo, não é necessário utilizar as {}.

Valor Valor que o objeto especificado receberá. O valor pode ser um campo ou variável.

Formulário Controle Aplicação formulário

onLoadAll onRefresh onScriptInit

onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeInsert onBeforeUpdate onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure

sc_menu_delete(Id_Item1)

Escopo da Macro

Esta macro retira os itens de menu passados por parâmetros. Pode ser usada em aplicações de menu ou menu árvore.

Observe que, os parâmetros a serem passados, são os "ID" dos ítens.

Caso o item de menu que você remova da exibição tenha nós "filhos", estes também serão omitidos.

Aplicação menu

onApplicationInit onLoad

Page 27 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 28: Manual Macros Scriptcase

sc_menu_disable(Id_Item1)

Escopo da Macro

Esta macro desabilita os itens de menu passados como parâmetros. pode ser usada em aplicações de menu ou menus de árvore.

Observe que, os parâmetros a serem passados, são os "ID" dos ítens.

Caso o item de menu que você desabilite da exibição tenha nós "filhos", estes também serão desabilitados.

Aplicação menu

onApplicationInit onLoad

sc_menu_force_mobile(boolean)

Escopo da Macro

Macro utilizada para forçar a criação do menu para dispositivos móveis.

O parâmetro (true ou false) é opcional, se não for passado, assume true(ligar modo mobile)

Ex1:

sc_menu_force_mobile(true);

Ex2:

sc_menu_force_mobile(false);

Aplicação menu

onLoad

sc_menu_item

Escopo da Macro

Esta variável é disponível apenas nas aplicações de MENU e tem por objetivo dar acesso ao ítem que foi selecionado no menu. Desta forma, o usuário poderá tomar decisões antes que a aplicação seja executada.

Ex. 1: Para limpar variáveis globais. if ({sc_menu_item} == "item_1") { sc_reset_global([global1], [global2]); }

Ex 2: Se uma determinada aplicação necessitar de uma variável global e esta não estiver preenchida, pode mos chamar uma outra aplicação para que o usuário preencha a informação necessária. if ({sc_menu_item} == "item_5" && (!isset([glo_empresa]) || empty([glo_empresa]))) { sc_redir(apl_inf_emp); }

Aplicação menu

onExecute

sc_redir(Aplicação, Parametro01; Parametro02, Target, Error)

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, _blank ou modal. 5. Paramentro opcional para definir se vai redirecionar caso existam mensagens de erro na aplicação. "E" não redireciona caso existam erros e "F" força redirecionamento mesmo se houver erro na aplicação.

Nas aplicações de fomulário, dos eventos que essa macro pode rodar alguns dependem da atualização da base de dados (onAfterInsert, onAfterUpdate, onAfterDelete, onBeforeInsert, onBeforeUpdate or onBeforeDelete) são automaticamente protegidos por um controle de transação desde que a conexão seja a mesma da aplicação. Em outros casos, se o usuário deseja fazer um controle de transação, ele precisa iniciar essa macro e finalizar com "sc_commit_trans()" macro para confirmar a atualização ou o "sc_rollback_trans" para cancelar a transação.

Ex. 1: Aplicação sem parâmetros e sem target. if ([glo_usuario] == "teste") { sc_redir(aplx.php); } Ex. 2: Aplicação com parâmetros e sem target .sc_redir(Aplicação, Parametro01; Parametro02, Target , Error) if ([glo_usuario] == "teste") { sc_redir(aplx.php, parm1={clienteid}; parm2="xxx"); } Ex. 3: Aplicação sem parâmetros e com target. if ([glo_usuario] == "teste") {

Page 28 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 29: Manual Macros Scriptcase

Escopo da Macro

sc_redir(aplx.php, "", "_parent"); } Ex. 4: Aplicação com parâmetros e com target. if ([glo_usuario] == "teste") { sc_redir(aplx.php, parm1={clienteid}; parm2="xxx", "_blank"); } Ex. 5: URL. if ([glo_usuario] == "teste") { sc_redir(http://www.minha_pagina.com.br); }

OBS: Tudo que foi passado como parâmetro pela macro será acessível como variável global na aplicação a qual foi redirecionada.

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

Na aplicação aplx.php o parâmentro poderá ser acessado fazendo chamada a variável global [parm1] e [parm2]

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute

onApplicationInit onClick onNavigate onScriptInit

onApplicationInit onClick onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onScriptInit OnValidate

onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate onClick onLoad onScriptInit onValidate onValidateSuccess

onApplicationInit onExecute onLoad

sc_reset_apl_conf("Aplicação", "Propriedade")

Escopo da Macro

Esta macro tem por objetivo apagar todas as alterações efetuadas pela macro sc_apl_conf. O Parâmetro "aplicação" é opcional. Se informado, serão apagadas apenas as alterações da aplicação informada.

Ex. 1: Apagando as alterações da aplicação "minha_apl", ap enas a propriedade "start". sc_reset_apl_conf("minha_apl", "start");

Ex. 2: Apagando todas as alterações da aplicação "minha_ap l". sc_reset_apl_conf("minha_apl");

Ex. 3: Apagando as alterações de todas as aplicações. sc_reset_apl_conf();

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onApplicationInit onClick onScriptInit

onApplicationInit onScriptInit onValidate onValidateSuccess

onApplicationInit onScriptInit

onApplicationInit onScriptInit

onApplicationInit onLoad

sc_reset_apl_status

Escopo da Macro

Esta macro tem por objetivo limpar todas as variáveis de segurança, setadas através da macro sc_apl_status.

Ex. 1:

sc_reset_apl_status();

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onApplicationInit onClick onScriptInit

onApplicationInit onScriptInit onValidate onValidateSuccess

onApplicationInit onScriptInit

onApplicationInit onScriptInit

onApplicationInit onLoad

sc_reset_change_connection

Escopo da Macro

Esta macro apaga as trocas feitas utilizando a macro "sc_change_connection".

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação formulário Aplicação menu

onExecute onApplicationInit onScriptInit

onApplicationInit onScriptInit onValidate onValidateSuccess

onApplicationInit onScriptInit

onApplicationInit onLoad

Page 29 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 30: Manual Macros Scriptcase

sc_reset_global([Variável_Global1], [Variável_Global2] ...)

Escopo da Macro

Esta macro tem por objetivo apagar variáveis globais, armazenadas na sessão do PHP.

Ex. 1:

sc_reset_global ([Login], [Senha]);

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_reset_menu_delete

Escopo da Macro

Esta macro tem por objetivo restaurar os ítens do menu, deletados através da macro "sc_menu_delete".

Ex. 1:

sc_reset_menu_delete();

Aplicação menu

onApplicationInit onLoad

sc_reset_menu_disable

Escopo da Macro

Esta macro tem por objetivo habilitar os ítens do menu, desabilitados através da macro "sc_menu_disable".

Ex. 1:

sc_reset_menu_disable();

Aplicação menu

onApplicationInit onLoad

sc_rollback_trans("Conexão")

Escopo da Macro

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

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.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onBlur onChange onClick onClick onFocus onLoadAll onRefresh onValidate onValidateFailure onValidateSuccess

onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick onClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

Page 30 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 31: Manual Macros Scriptcase

sc_script_name

Escopo da Macro

Esta macro é disponível apenas nas aplicações de MENU e tem por objetivo dar acesso ao nome da aplicação que foi selecionada no menu. Desta forma, o usuário poderá tomar decisões antes que a aplicação seja executada. Ex. 1: Para limpar variáveis globais. if ({sc_script_name} == "apl1") { sc_reset_global([global1], [global2]); }

Ex. 2: Se uma determinada aplicação necessitar de uma variável global e esta não estiver preenchida, pod emos chamar uma outra aplicação para que o usuário preencha a informação necessária. if ({sc_script_name} == "apl1" && (!isset([glo_empresa]) || empty([glo_empresa]))) { sc_redir(apl_inf_emp); }

Aplicação menu

onExecute

sc_select(dataset, "Comando SQL", "Conexão")

Escopo da Macro

Esta macro permite que o usuário execute comandos SQL e tenha acesso ao "dataset" proveniente do comando. Diferente da macro sc_lookup, esta macro não manipula o dataset, deixando-o em sua forma original, cabendo ao usuário toda a manipulação.

Caso ocorra erro na execução do comando sql, a variável atribuida ao dataset retornará como "false" e a mensagem de erro estará disponível na variável "dataset_erro".

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

Ex. 1: sc_select(meus_dados, "select clienteid, nomecliente, limitecred from clientes"); if ({meus_dados} === false) { echo "Erro de acesso. Mensagem = " . {meus_dados_erro}; } else { while (!$meus_dados->EOF){ {nome_cliente} = $meus_dados->fields[1]; $meus_dados->MoveNext(); } $meus_dados->Close(); }

Ex. 2: O comando SQL também pode ser composto de camp os da aplicação (variáveis locais) ou de variáveis globais: sc_select(dataset,"select valor pedido from pedidos where clienteid = '{clienteid}' and cod_vendedor = [var_glo_vendedor]");

Observação : Em qualquer circunstancia, o comando tem que ser encerrado com ponto e vírgula ";".

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onClick onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_select_field({Campo})

Esta macro modifica o SELECT dinamicamente:

É possível alterar dinamicamente os campos de uma consulta, através da alteração dinâmica do select original.

Ex. 1: Temos uma tabela com as colunas ano e os meses de janeiro a dezembro. Gostaríamos de ter uma consulta, que, à partir de um parâmetro, exibisse os anos e apenas um determinado mês. Supondo que o parâmetro venha informado através de uma variável global de nome "exibir_mes", nossa aplicação teria a seguinte estrutura:

Cláusula select: select ano, par_mes from tabela

sc_select_field(par_mes) = [exibir_mes]; sc_label(par_mes) = [exibir_mes];

Desta forma, além de alterar o select, estamos alterando o label da coluna da consulta.

Page 31 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 32: Manual Macros Scriptcase

Escopo da Macro

Obs: Este comando deve ser implementado no evento "onInit";

Aplicação consulta

onScriptInit

sc_select_order("Campo")

Escopo da Macro

É possível, em tempo de execução da aplicação de consulta, alterar a cláusula ORDER BY do select principal da consulta. Para isso, é necessário que no comando SQL original da consulta já exista pelo menos uma cláusula ORDER BY, pois será feita a subtituição de determinada cláusula pela nova.

Ex. 1: Cláusula select: select codigo, nome, valor from tabela order by codigo Para mudar a ordem, de codigo para nome, teremos: sc_select_order("codigo") = "nome"; Ex. 2: Cláusula select: select codigo, nome, valor, data from tabela order by codigo, nome, valor Para mudar a ordem, de nome para data, teremos: sc_select_order("nome") = "data";

Obs: Este comando deve estar no contexto de "processar antes do select".

Aplicação consulta

onScriptInit

sc_select_where(add)

Escopo da Macro

É possível, em tempo de execução da aplicação de consulta, adicionar um campo/condição à cláusula WHERE da consulta.

Ex. 1: Adiciona tudo que estra dentro das aspas duplas ao where do select da consulta. if (empty({sc_where_atual})){ sc_select_where(add) = "where campoX > [variavel_global]"; } else{ sc_select_where(add) = "AND campoX > [variavel_global]"; }

Aplicação consulta

onScriptInit

sc_seq_register

Escopo da Macro

Esta macro disponibiliza o número sequencial do registro que está sendo processado na aplicação de consulta. Está disponível no eventoonRecord.

Ex. 1: if({sc_seq_register} == 10) { // ultima linha da página {total} = {sum_total}; }

sc_set_focus('Campo')

Escopo da Macro

Esta macro é usada para setar o focus para um determinado campo do formulario.

Ex. 1:

sc_set_focus('nome');

Formulário Controle Aplicação formulário

onApplicationInit onLoadAll onRefresh onScriptInit

OnClick onLoad onRefresh onValidateSuccess

sc_set_global($variavel_01) ou ({Meu_Campo})

Esta macro tem por objetivo registrar variáveis globais. Será criada uma variável de sessão com o mesmo nome e conteúdo da variável local.

Ex. 1: Registrando uma variável do usuário $var_user = "algum valor"; sc_set_global($var_user);

Será criada uma variável de sessão, com o nome "var_user", com o conteúdo "algum valor".

Ex. 2: Registranto uma variável de um campo da aplicação sc_set_global({campo_apl});

Será criada uma variável de sessão, com o nome "campo_apl", com o conteúdo existente na variável.

Obs : Esta macro não faz atribuição de valores. Apenas registra as variáveis na sessão do PHP.

Page 32 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 33: Manual Macros Scriptcase

Escopo da Macro

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_set_groupby_rule

Escopo da Macro

Esta macro é utilizada para selecionar uma regra de quebra em tempo de execução no evento onApplicationInit.

Ex:

sc_set_groupby_rule = "id da regra";

Aplicação consulta

onApplicationInit

sc_set_language('String Language')

Escopo da Macro

Esta macro permite que seja definido dinamicamente o idioma utilizado nas aplicações.

Ex. 1: Mudar o idioma para Inglês. sc_set_language('en_us');

Ex. 2: Mudar o idioma para Espanhol. sc_set_language('es');

Ex. 3: Mudar o idioma para Arabe. sc_set_language('ar');

Ex. 4: Mudar o idioma para Português. (Portugal) sc_set_language('pt_pt');

Esta macro permite, também, que sejam definidos o idioma e as configurações regionais simultâneamen te, utilizando-se o delimitador ";" entre os parâmetros.

Ex. 1: Mudar o idioma para Inglês e as configurações regionais para o Canadá. sc_set_language('en_us;en_ca');

Ex. 2: Mudar o idioma para Espanhol e as configurações regi onais para o Mexico. sc_set_language('es;es_mx');

Ex. 3: Mudar o idioma para Alemão e as configurações regio nais para Luxembourg. sc_set_language('de;de_lu');

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onApplicationInit onScriptInit

onApplicationInit onScriptInit onValidate onValidateSuccess

onApplicationInit onScriptInit OnValidate

onApplicationInit onScriptInit

onApplicationInit onLoad

sc_set_pdf_name"sc_meu_arquivo.pdf"

Os arquivos resultantes das exportações de dados (PDF, XLS, XML, CSV e RTF) são gravados no diretório "temporário" especificado na configuração do Scriptcase, tanto em desenvolvimento quanto em produção, com o prefixo "sc_" seguido de uma identificação única, de tal maneira que um arquivo de um determinado usuário não subscreva um outro.

O prefixo "sc_" faz com que o próprio Scriptcase apague os arquivos antigos. Para atribuir nomes diferentes dos padrões Scriptcase, podem ser usadas as seguintes macros:

- sc_set_csv_name

- sc_set_pdf_name

- sc_set_rtf_name

Page 33 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 34: Manual Macros Scriptcase

Escopo da Macro

- sc_set_xml_name

- sc_set_xls_name

Ex1:

sc_set_xls_name = "meu_arquivo.xls";

Ex2:

sc_set_csv_name = "sc_meu_arquivo.csv";

OBS:

1) Estas macros devem ser utilizadas no evento "onScriptInit".

2) Mesmo utilizando a macro, se mantido o prefixo "sc_" (conforme Ex2), o Scriptcase apagará o arquivo, quando este atingir o tempo limite configurado (ver a configuração "Tempo de vida dos arquivos" no ambiente de produção).

sc_set_regional('String Regional')

Escopo da Macro

Esta macro permite que seja definido dinamicamente a configuração regional das aplicações.

Ex. 1: sc_set_regional('en_us');

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onApplicationInit onScriptInit

onApplicationInit onScriptInit onValidate onValidateSuccess

onApplicationInit onScriptInit OnValidate

onApplicationInit onScriptInit

onApplicationInit onLoad

sc_set_theme('String Tema')

Escopo da Macro

Esta macro permite que seja definido, dinamicamente, o tema do layout a ser utilizado nas aplicações.

Ex. 1: sc_set_theme('Newyellow');

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onApplicationInit onScriptInit

onApplicationInit onScriptInit onValidate onValidateSuccess

onApplicationInit onScriptInit OnValidate

onApplicationInit onScriptInit

onApplicationInit onLoad

sc_site_ssl

Escopo da Macro

Esta macro verifica se está sendo utilizado um site seguro (protocolo https).

Ex. 1: Usando a forma afirmativa. if (sc_site_ssl){ echo "ok - Site seguro"; } Ex. 2: Usando a forma negativa. if (!sc_site_ssl){ echo "Perigo - Site não é seguro"; } Ex. 3: Redirecionando se o site não for seguro. if (!sc_site_ssl){ sc_redir("http://www.pagina_erro.com.br/") ; }

Obs: Esta macro funciona apenas para o Servidor WEB IIS (Internet Information Server).

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute

onApplicationInit onClick onScriptInit

onApplicationInit onClick onLoadAll onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onScriptInit

onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure

onApplicationInit onLoad

Page 34 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 35: Manual Macros Scriptcase

onValidateSuccess

sc_sql_injection({Meu_Campo}) ou ($Minha_Variável)

Escopo da Macro

Esta macro é usada para proteger o campo/variável contra "sql injection".

Todos os acessos a base de dados, gerados pelo Scriptcase, têm proteção contra "sql injection". Nos comandos gerados pelo usuário (macros: sc_lookup, sc_select ou sc_exec_sql) caso seja necessário, deverá ser utilizada esta macro para proteção.

Ex. 1: Protegendo uma variável local: $campo_protect = sc_sql_injection({meu_campo});

Ex. 2: Protegendo uma variável do usuário: $campo_protect = sc_sql_injection($minha_var);

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onExecute onLoad

sc_sql_protect(Valor, "Tipo", "Conexão")

Escopo da Macro

Essa macro irá proteger o valor de acordo com o banco de dados, a parâmetro "Conexão" é opicional, não informado será utilizado a conexão ativa no momento. O parâmetro tipo até o momento só pode rececer o valor "data". Ex 01: Nesse exemplo estamos protegendo as datas pas sadas como parâmetro para que seja interpretada de forma correta com o banco de dados ACCESS. sc_select_where(add) = " AND news_noticias.noticia_data_pub BETWEEN ".sc_sql_protect($data_inicial, "date")." AND ".sc_sql_protect($data_final, "date")."";

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário

onBeforeUpdateAll onExecute

onRecord onLoadAll onValidate

OnValidate onAfterDeleteAll onAfterInsertAll onAfterUpdateAll onBeforeDeleteAll onBeforeInsertAll onValidate

sc_time_diff({hora1}, "Formato Hora1", {hora2}, "Formato Hora2")

sc_time_diff ({time1}, "Time1 Format", {time2}, "Ti me2 Format"); Essa macro calcula a diferença entre duas datase re torna o valor em horas. Os resultados serão retornados no formato de array, onde os índices [1], [2] e [3] retornarão horas, m inutos e segundos, respectivamente.

Ex. 1: Formato geral {diferencas} = sc_time_diff ({hora1}, "Formato ho ra1", {hora2}, "Formato hora2"); {dif_horas} = {diferencas[0]}; {dif_minutos} = {diferencas[1]}; {dif_segundos} = {diferencas[2]}; Ex. 2: Retornando valores positivos {diferencas} = sc_time_diff ("2012-07-25 05:33:45", "yyyy-mm-dd hh:ii:ss", "2012-07-21 15:22:57", "yyy y-mm-dd hh:ii:ss"); {diferencas[0]} seria igual a 86 (horas) {diferencas[1]} seria igual a 10 (minutos)

Parâmeter Description

time1 Valor ou variável contendo a primeira hora.

Time1 Format Valor ou variável contendo o formato n o qual está armazenada a hora1.

time2 Value or variable for Time2

Time2 Format Value or variable to specify the forma t of Time2

Page 35 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 36: Manual Macros Scriptcase

Escopo da Macro

{diferencas[2]} seria igual a 48 (segundos). Ex. 3: Retornando valores negativos {diferencas} = sc_time_diff ("2012-07-21 15:22:57", "yyyy-mm-dd hh:ii:ss", "2012-07-25 05:33:45", "yyy y-mm-dd hh:ii:ss"); {diferencas[0]} seria igual a -86 (horas) {diferencas[1]} seria igual a -10 (minutos) {diferencas[2]} seria igual a -48 (segundos). Ex. 4: Considerando apenas formato de horas - Retor no positivo {diferencas} = sc_time_diff ("18:14:55", "hh:ii:ss" , "10:55:22", "hh:ii:ss"); {diferencas[0]} seria igual a 7 (horas) {diferencas[1]} seria igual a 19 (minutos) {diferencas[2]} seria igual a 33 (segundos). Ex. 5: Considerando apenas formato de horas - Retor no negativo {diferencas} = sc_time_diff ("10:55:22", "hh:ii:ss" , "18:14:55", "hh:ii:ss"); {diferencas[0]} seria igual a -7 (horas) {diferencas[1]} seria igual a -19 (minutos) {diferencas[2]} seria igual a -33 (segundos).

sc_trunc_num({Meu_Campo}, Quantidade_Decimal)

Escopo da Macro

Esta macro tem por objetivo truncar valores numericos, no que exceder a quantidade de decimais especificada.

Ex. 1: sc_trunc_num({meu_valor}, 2);

Valor de entrada = 1250.235 Valor de saída = 1250.23

Valor de entrada = 1250.2 Valor de saída = 1250.20

Valor de entrada = 1250 Valor de saída = 1250.00

Parâmetro Descrição

Meu_Campo Variável que contem o valor a ser formatado (O retorno será na própria variável).

Quantidade_Decimal Quantidade de decimais a ser exibida.

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_url_exit(URL)

Escopo da Macro

Esta macro altera a URL de saída da aplicação.

Ex. 1: sc_url_exit(http://www.netmake.com.br);

Ex. 2: sc_url_exit(aplx.php);

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário

onBeforeUpdateAll onApplicationInit onClick onNavigate onRecord onScriptInit

onApplicationInit onClick onLoadAll onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onScriptInit

onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit

Page 36 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 37: Manual Macros Scriptcase

onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_user_logout('nome da variável', 'conteúdo da variável', 'apl_redir.php', 'target')

Escopo da Macro

Esta macro é utilizada para deslogar o usuário informado do sistema.

Se o target não for informado, assume "_top".

Ex:

sc_user_logout('usr_login', 'admin', 'ctrl_login.php', '_self');

sc_vl_extenso(valor, tam_linha, tipo)

Escopo da Macro

Gera valor por extenso, à partir de um valor numérico.

Onde:

valor: Valor ou variável que cotenha o valor a ser convertido para extenso. tam_linha: Tamanho de cada linha a ser gerada com o valor por extenso (O ScripCase divide o valor por extenso em até três linhas). tipo: Tipo do dado de entrada: "V" para valor ou "N" para número.

Ex1:

{meu_extenso} = sc_vl_extenso({meu_valor}, 50, 'V');

Ex2:

{meu_extenso} = sc_vl_extenso({meu_valor}, 40, 'N');

sc_warning'on' ou 'off'

Escopo da Macro

Permite, dinamicamente, ativar ou desativar o controle de mensagens de advertencia.

As mensagens de advertencia são geradas quando é feita uma referência a uma variável inexistente, um item de um array inexistente, etc.

Ex. 1: Para não exibir as mensagens. sc_warning = 'off';

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick onClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onExecute onLoad

sc_where_current

Esta variável deixa disponível o conteúdo da cláusula where do comando original, acrescida da última seleção efetuada através do formulário de filtro. Ou seja, reflete a cláusula where que está sendo utilizada naquele momento.

Ex. 1: $salva_where = {sc_where_current};

Page 37 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 38: Manual Macros Scriptcase

Escopo da Macro

Aplicação em branco

Aplicação consulta

onFooter onGroupBy onHeader onNavigate onRecord onScriptInit

sc_where_filter

Escopo da Macro

Esta variável deixa disponível o conteúdo gerado pelo "filtro", de acordo com as seleções efetuadas no formulário de filtro. Esta informação é a que será adicionada à cláusula where do select original da aplicação.

Ex. 1: $salva_filtro = {sc_where_filter};

Aplicação em branco

Aplicação consulta

onFooter onGroupBy onHeader onNavigate onRecord onScriptInit

sc_where_orig

Escopo da Macro

Esta macro atribui o conteúdo da cláusula where do select original da aplicação. O usuário pode utilizar, dentro dos eventos do scriptcase, para tratar a informação, assim como disponibilizar para exibir em qualquer local da consulta.

Ex. 1: $salva_where_original = {sc_where_orig};

Aplicação em branco

Aplicação consulta

onFooter onGroupBy onHeader onNavigate onRecord onScriptInit

sc_zip_file("Arquivo", "Zip")

Escopo da Macro

Esta macro é usada para gerar arquivo tipo ZIP, à partir de uma lista de arquivos e/ou diretórios.

No parâmetro arquivo, deverá ser informado um dos seguintes conteúdos: - O nome de um arquivo - O nome de um diretório - Uma variável contendo o nome de um arquivo ou o nome de um diretório - Uma variável contendo um array, que contenha uma lista de arquivos e/ou diretórios

No parâmetro zip, deverá ser informado o nome do arquivo a ser gerado, ou o caminho para o arquivo a ser criado.

Ex. 1: Apenas um arquivo. sc_zip_file("/teste/exemplo.htm", "/temp/teste.zip");

Ex. 2: Apenas um diretório. sc_zip_file("/teste", "/temp/teste.zip");

Ex. 3: Criando um array dos arquivos e diretórios. $prep = array(); $prep[] = " /teste/exemplo.htm"; $prep[] = "/teste"; sc_zip_file($prep, "/temp/teste.zip");

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onBeforeUpdateAll onExecute onFooter

onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onApplicationInit onClick onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

onApplicationInit onSave onScriptInit OnValidate

onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate onClick onLoad onLoadRecord onNavigate

onApplicationInit onExecute onLoad

Page 38 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 39: Manual Macros Scriptcase

onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

Variáveis de Database

Escopo da Macro

São variáveis globais que contêm os valores de acesso à base base de dados, que estâo sendo utilizada pela conexão principal.

Ex. 1: $meu_banco = [sc_glo_banco];

Estas variáveis apenas informam os valores que estão sendo utilizados, não permitindo atribuição de valores.

É possível definir o usuário e a senha a ser utilizado para conectar com a base de dados, através da alimentação das seguintes variáveis.

É importante observar que: o uso destas variáveis só terá efeito na execução das aplicações posteriores, e permanecerá durante toda a sessão (a menos que seja alterada).

Ex. 2: Suponha que, em uma aplicação tipo "controle", foi criado um formulário com informação do "login" e "senha". Estes dados devem ser utilizados para conectar a base de dados, durante a execução das aplicações do sistema, e gostaríamos de manter a senha criptografada. $temp_pass = sc_encode({senha}); [sc_db_master_usr] = {login}; [sc_db_master_pass] = $temp_pass; [sc_db_master_cript] = "S";

Variáveis Descrição

sc_glo_servidor Contém o nome do servidor.

sc_glo_banco Contém o nome da base de dados.

sc_glo_tpbanco Contém o tipo do banco (mssql, oracle, mysql, etc).

sc_glo_usuario Contém o nome do usuário conectado.

sc_glo_senha Contém a senha de acesso.

sc_glo_senha_cript Indica se a senha de acesso está criptografada (S/N).

sc_glo_decimal_db Contém o separador de decimal utilizado (ponto ou vírgula).

Variáveis Descrição

sc_db_master_usr Informa o login do usuário a ser utilizado.

sc_db_master_pass Informa a senha a ser utilizada.

sc_db_master_cript Inforna (S/N) se a senha está criptografada (ver macro sc_encode).

Aplicação em branco

Aplicação consulta Formulário Controle Aplicação de pesquisa

Aplicação formulário Aplicação menu

onExecute onFooter

onClick onGroupBy onHeader onNavigate onRecord onScriptInit

onBlur onChange onClick onClick onLoadAll onRefresh onValidate onValidateFailure onValidateSuccess

onRefresh onSave onScriptInit OnValidate

ajaxFieldonBlur Onchange OnClick OnFocus

onApplicationInit onExecute onLoad

variáveis do Report PDF

Escopo da Macro

Variáveis que controlam o numero de páginas utilizada em um report PDF.

Campo Descrição

{sc_page_num} Guarda o número da página atual.

{sc_page_tot} Guarda o número total de páginas.

Variáveis de Totalização

Variables Description

{count_ger} Records total amount.

{sum_parcel} Will show the total sum for the field "Parcel"

{sum_balance} Will show the total sum for the field "Balance"

{count_groupby} Current Group records total.

{sum_groupby_parcel} Contém o somatório do campo "saldo", da quebra de "cidade" que estiver sendo processada.

{sum_groupby_balance} Contém o somatório do campo "saldo", da quebra de "cidade" que estiver sendo processada.

matório do campo "parcela", da quebra de "cidade" que estiver sendo processada.

{sum_cidade_saldo} Contém o somatório do campo "saldo", da quebra de "cidade" que estiver sendo processada.

{sum_estado_saldo} Contém o somatório do campo "saldo", da quebra de "estado" que estiver sendo processada;.

Page 39 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...

Page 40: Manual Macros Scriptcase

Escopo da Macro

Ex. 1: Em um aplicação com qubra pelo estado e cidade que t otaliza um campo valor, e nas quebras usando totais , e possivel exibir a media ao inves do valor, como no exemplo: {sum_quebra_valor} = {sum_quebra_valor} / {count_quebra};

Aplicação em branco

Aplicação consulta

onFooter onGroupBy onHeader onRecord

Variáveis de Totalizacao (quebras)

Escopo da Macro

Durante o processamento das quebras, o Scriptcase disponibiliza todas as variáveis de totalização, a nível geral e a nível da quebra que estiver sendo processada. Supondo uma aplicação que tenha dois níveis de quebra (estado e cidade ) e que totaliza dois campos (parcela e saldo ). Considerando que as fórmulas, definidas para serem processadas no evenro "onGroupBy " estarão atuando para os vários níveis de quebra, as variáveis especiais de totalização, neste escopo, são referenciadas substituindo-se o nome da quebra pela palavra chave "quebra ", ou seja:

Ex. 1: Em uma aplicação que tenha quebras por estado e cidade e que totalize um campo de saldo, e nos totais das quebras, desejamos exibir a média em substituição ao saldo. {sum_quebra_saldo} = {sum_quebra_saldo} / {count_quebra};

Variáveis Descrição

{count_ger} Contém a quantidade total dos registros.

{sum_parcela} Contém o somatório geral do campo "parcela".

{sum_saldo} Contém o somatório geral do campo "saldo".

{count_quebra} Contém a quantidade total dos registros, da quebra que estiver sendo processada.

{sum_quebra_parcela} Contém o somatório do campo "parcela", da quebra que estiver sendo processada.

{sum_quebra_saldo} Contém o somatório do campo "saldo", da quebra que estiver sendo processada.

Aplicação consulta

onGroupBy

Page 40 of 40Macros ScriptCase

18/02/2013http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s...