Macros ScriptCasePage 1 of 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") sc_ajax_refresh () sc_block_display (Nome do bloco, on/off) sc_field_color ("Campo", "Cor") sc_field_disabled ("Nome_Campo = True/False", "Parâmetro") sc_field_display ({Meu_Campo}, on/off) sc_field_init_off (campo1, campo2,...) sc_field_readonly ({Campo}, on/off) sc_field_style ({Meu_Campo}, "Background-Color", "Size", "Color", "Family", "Weight") sc_format_num ({Meu_Campo}, "Simb_Grp", "Simb_Dec", "Qtde_Dec", "Enche_Zeros", "Lado_Neg", "Simb_Monetário", "Lado_Simb_Monetario") sc_form_show 'on' ou 'off' sc_hide_groupby_rule ('group1', 'grop2', 'group3') sc_set_focus ('Campo') Esta macro permite que a aplicação exiba mensagens customizáveis. Macro para dar um refresh na consulta Esta macro permite, dinamicamente, exibir ou não os campos de um determinado bloco. Esta macro altera a cor do texto de um determinado campo. Esta macro tem por objetivo bloquear a digitação em determinados campos do formulário. Esta macro permite, dinamicamente, exibir ou não um determinado campo. Esta macro tem por objetivo inibir campos da consulta na carga inicial. Esta macro permite, dinamicamente, transformar em readonly um determinado campo do formulário. Esta macro altera a visualização do campo. Esta macro e usada para formatar valores numéricos. Esta macro permite, dinamicamente, exibir ou não o formulário. Macro usada para desativar Regras de Quebras. Esta macro setá o focus para um determinado campo do formulário. Segurança sc_apl_status ("Aplicação", "Status") sc_ldap_login sc_reset_apl_conf ("Aplicação", "Propriedade") sc_reset_apl_status sc_reset_menu_delete sc_reset_menu_disable sc_user_logout ('nome da variável', 'conteúdo da variável', 'apl_redir.php', 'target') Esta macro apaga todas as alterações efetuadas pela macro "sc_apl_conf". Esta macro deleta todas as variáveis de status de segurança das aplicações. Esta macro restaura ítens da estrutura do menu. (retirados pela macro "sc_menu_delete"). Esta macro habilita ítens da estrutura do menu (desabilitados pela macro "sc_menu_disable"). Macro utilizada para deslogar o usuário informado do sistema. Esta macro tem por objetivo proteger ou liberar a utilização das aplicações em geral. 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}) sc_lin_cod_barra_banco ({Código_Barra}, Código_Banco, Código_Moeda, {Valor}, {Livre}, {Data_Vencimento}) sc_lin_digitavel_arrecadacao ({Linha_Digitavel}, {Código_Barras}) sc_lin_digitavel_banco ({Linha_Digitavel}, {Código_Barras}) Esta macro gera os valores que compõem o código de barras no padrão Febraban arrecadação. 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. 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. 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") sc_change_connection ("Conexao_Antiga", "Conexao_Nova") sc_commit_trans ("Conexão") sc_error_continue ("Evento") sc_error_delete sc_error_insert sc_error_update sc_exec_sql ("Comando SQL", "Conexão") sc_lookup (Dataset, "Comando SQL", "Conexão") sc_reset_change_connection sc_rollback_trans ("Conexão") Esta macro inicializa um conjunto de transações na base de dados. Esta macro troca dinamicamente as conexões das aplicações. Esta macro efetiva uma série de transações na base de dados. Esta macro desativa o tratamento de erros de banco de dados, padrão do Scriptcase. 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. 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. 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. Esta macro executa o comando SQL passado como parâmetro ou o comando SQL contido no campo tipo ação SQL informado. Esta macro executa o comando SELECT informado no segundo parâmetro e retorna os dados em uma variável. Esta macro apaga as trocas feitas usando "sc_change_connection". Esta macro descarta um set de transações na base de dados. http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s... 18/02/2013 Macros ScriptCase Page 2 of 40 sc_select (dataset, "Comando SQL", "Conexão") sc_select_field ({Campo}) sc_select_order ("Campo") sc_select_where (add) sc_sql_injection ({Meu_Campo}) ou ($Minha_Variável) sc_sql_protect (Valor, "Tipo", "Conexão") sc_where_current sc_where_orig variáveis database Variáveis de Database Esta macro executa o comando SELECT informado no segundo parâmetro e retorna o dataset em uma variável. Esta macro altera dinamicamente o campo que será recuperado pela consulta. Esta macro altera dinamicamente o campo da cláusula "ORDER BY" da consulta. Esta macro adiciona dinamicamente uma condição à cláusula WHERE da consulta. Esta macro protege o campo/variável contra "SQL injection" Essa macro protege valor digitado de acordo com o banco de dados utilizado. Esta macro disponibiliza o conteúdo do select original mais o filtro. Esta macro disponibiliza o conteúdo da cláusula where do select original da aplicação. Variáveis especiais que contêm os dados para acesso à base de dados. Data sc_date (Data, "Formato", "Operador", D, M, A) sc_date_conv ({Campo_Data}, "Formato_Entrada", "Formato_Saída") sc_date_dif ({Data1}, "Formato Data1", {Data2}, "Formato Data2") sc_date_dif_2 ({Data1}, "Formato Data1", {Data2}, "Formato Data2", Opção) sc_date_empty ({Campo_Data}) sc_time_diff ({hora1}, "Formato Hora1", {hora2}, "Formato Hora2") Esta macro calcula e retorna incrementos e decrementos em datas. Esta macro converte o conteúdo do campo passado como parâmetro do formato de entrada para o formato de saída. Esta macro calcula a diferença entre datas em quantidade de dias. Esta macro calcula diferença entre datas, retornando a quantidade de dias, meses e anos. Esta macro checa se um campo do tipo data está vazio, retornando um boleano. Controle sc_ajax_javascript ('NomeMetodoJavascript', array("parâmetro1")) sc_alert ("Mensagem") sc_apl_conf ("Aplicação", "Propriedade", "Valor") sc_calc_dv (Dígito, Resto, Valor, Módulo, Pesos, Tipo) sc_changed ({Nome_Campo}) sc_confirm ("Mensagem") sc_decode ({Meu_Campo}) sc_encode ({Meu_Campo}) sc_error_exit (URL, "Target") ou (Minha_Aplicação, "Target") sc_error_message ("Texto") sc_exit (Opção) sc_getfield ('meuCampo') sc_get_language sc_get_regional sc_get_theme sc_groupby_label ("Meu_Campo") sc_image (Imagem01.jpg) sc_include ("Arquivo", "Origem") sc_include_lib ("Lib1", "Lib2", ...) sc_label ({Meu_Campo}) sc_language sc_link (Coluna, Aplicação, Parâmetros, "Hint", "Target", Altura, Largura) sc_log_add ("Ação", "Mensagem") sc_log_split ({descricao}) sc_mail_send (SMTP, Usr, Pw, De, Para, Assunto, Mensagem, Tipo_Mens, Cópias, Tp_Cópias, Porta, Tp_Conexao, Attachment) sc_make_link (Aplicação, Parâmetros) sc_master_value ('Objeto', Valor) sc_redir (Aplicação, Parametro01; Parametro02, Target, Error) sc_reset_global ([Variável_Global1], [Variável_Global2] ...) sc_seq_register sc_set_global ($variavel_01) ou ({Meu_Campo}) sc_set_groupby_rule sc_set_language ('String Language') sc_set_regional ('String Regional') sc_set_theme ('String Tema') sc_site_ssl sc_trunc_num ({Meu_Campo}, Quantidade_Decimal) sc_url_exit (URL) sc_vl_extenso (valor, tam_linha, tipo) sc_warning 'on' ou 'off' Esta macro permite que sejam executados métodos javascript chamados em eventos do formulário/controle Esta macro exibe uma tela de mensagem no estilo Javascript. Esta macro altera as propriedades de execução das aplicações. Esta macro executa o cálculo de dígitos verificadores. Esta macro retorna "true" se o valor do campo tiver sido modificado. Esta macro exibe uma tela de confirmação Javascript. Esta macro retorna, o campo ou variável criptografada, à sua forma original. Esta macro retorna, o campo ou variável, de forma criptografada. Esta macro interrompe a execução da aplicação, se existir mensagens de erro geradas pela macro "sc_erro_mensagem". Esta macro gera uma mensagem de erro. Esta macro força a saida da aplicação. Esta macro atribui as propiedades de um campo para uma variável javascript. Esta macro retorna a sigla do idioma em uso. Esta macro retorna a sigla da configuração regional em uso. Esta macro retorna o nome do tema do layout em uso. Esta macro altera dinamicamente o label dos campos que são apresentados nas linhas de quebra. Esta macro carrega, para serem usadas na aplicação, as imagens passadas como parâmentro. Esta macro é usada para efetuar "include" de rotinas PHP. Esta macro é usada para selecionar dinamicamente as bibliotecas da aplicação. Esta macro altera dinamicamente o label do campo. Esta macro retorna o idioma e a configuração regional da aplicação. Esta macro cria dinamicamente um link para outra aplicação. Esta macro adiciona um registro a tabela de log. Esta macro retorna o que foi inserido no campo descrição na tabela de log em forma de array. Esta macro é usada pra o envio de e-mails. Esta macro cria uma string contendo os dados de um link para outra aplicação. Esta macro atualiza um objeto da aplicação Mestre em uma aplicação Detalhe. Esta macro tem por objetivo redirecionar para outra aplicação. Esta macro elimina as váriaveis de sessão recebidas como parâmetro. Esta macro disponibiliza o número sequencial do registro que está sendo processado. Esta macro registra variáveis de sessão. Macro usada para selecionar a regra das quebra. Esta macro altera o idioma das aplicações. Esta macro altera a configuração regional das aplicações. Esta macro define, dinamicamente, o tema de layout nas aplicações. Esta macro verifica se está sendo utilizado um site seguro. (protocolo https). Esta macro tem como finalidade setar o numero de casas decimais. Esta macro altera a URL de saída da aplicação. Gera valor por extenso. Esta macro ativa ou desativa o controle de mensagens de advertência http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s... 18/02/2013 Macros ScriptCase Page 3 of 40 sc_zip_file ("Arquivo", "Zip") variáveis report pdf variáveis do Report PDF variáveis totalização Variáveis de Totalização variáveis totalizacao(quebras) Variáveis de Totalizacao (quebras) Esta macro é usada para gerar arquivo tipo ZIP, à partir de uma lista de arquivos e/ou diretórios. Variáveis que controla o número de páginas utilizadas no Report PDF Variáveis especiais que contêm todos os totais (gerais e por quebra). Variáveis especiais que contêm todos os totais por quebra. Botões sc_btn_copy sc_btn_delete sc_btn_display ("Nome_Botao", "on/off") sc_btn_insert sc_btn_new sc_btn_update Esta macro retorna "true" quando o botão "Copiar" é selecionado em um formulário. Esta macro retorna "true" quando o botão "Excluir" é selecionado em um formulário. Esta macro torna visível, ou não, um botão da barra de ferramentas em tempo de execução da aplicação. Esta macro retorna "true" quando o botão "Inserir" é selecionado em um formulário. Esta macro retorna "true" quando o botão "Novo" é selecionado em um formulário. 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") sc_appmenu_create ("Menu_Nome") sc_appmenu_exist_item ("Menu_Nome", "Id_Item") sc_appmenu_remove_item ("Menu_Nome", "Id_Item") sc_appmenu_reset ("Menu_Nome") sc_appmenu_update_item ("Menu_Nome", "Id_Item", "Id_Pai", "Label", "Aplicação", "Parâmetro", "Icone", "Hint", "Target") sc_btn_disabled ('id do botão', 'on/off') sc_menu_delete (Id_Item1) sc_menu_disable (Id_Item1) sc_menu_force_mobile (boolean) sc_menu_item sc_script_name Esta macro adiciona um item ao menu dinamicamente. Esta macro cria um menu de forma dinâmica. Esta Macro verifica se existe um item do menu. Esta macro remove dinamicamente um item do menu. Esta macro limpa o array para montagem dinâmica de um menu. Esta macro atualiza um item do menu. Desabilita botões do Menu Esta macro remove ítens da estrutura do menu. Esta macro desabilita ítens da estrutura do menu. Macro utilizada para forçar a criação do menu para dispositivos móveis. Esta macro Identifica qual item do menu foi clicado. Esta macro Identifica o nome da aplicação que foi selecionada nos itens do menu. sc_ajax_javascript('NomeMetodoJavascript', array("parâmetro1")) 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")); Escopo da Macro 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 Mensagem Descrição Texto que será exibido no corpo da mensagem. Este parametro é de preenchimento obrigatório. http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s... 18/02/2013 Macros ScriptCase Page 4 of 40 Título String de Parametros da mensagem Texto que será exibido no título da mensagem. Se não preenchido o título da mensagem não será exibido. 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 Tabela2: String de Parâmetros da mensagem Propriedade modal timeout Descrição Flag para exibição da mensagem em modal 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. 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. Label do botão. Esta opção só funciona caso a propriedade button habilidata Valor para posicionamento da mensagem em pixels Valor para posicionamento da mensagem em pixels Valor para largura da mensagem em pixels Valor da altura da mensagem em pixels Valores Y ou N Segundos modal=Y timeout=5 Exemplo button Y ou N button=Y button_label top left width height redir redir_target show_close String Apenas numeros Apenas numeros Apenas numeros Apenas numeros button=Y&button_label=OK top=300 left=200 width=320 height=30 button=Y&redir=form_employees.php redir=form_employees.php&redir_target=_blank show_close=Y Nome da aplicações ou URL para redirecionamento. Esta propriedade String funciona apenas caso a propriedade button esteja habilitada. Target para url de redicionamento. Esta propriedade funciona apenas quando a propriedade redir está habilitada. 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. 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. String Y ou N body_icon Y ou N body_icon=N Ex. 01 sc_ajax_message ("Message", "Title", "timeout=0"); Escopo da Macro Aplicação consulta onClick Formulário Controle Aplicação formulário onBlur onChange onClick onFocus ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterUpdate onAfterUpdateAll Onchange OnClick OnFocus onNavigate onValidate onValidateFailure onValidateSuccess sc_ajax_refresh() Esta macro é especialmente utilizada em eventos Ajax da Consulta com o objetivo de recarregar os dados da Grid (refresh). Ex: sc_ajax_refresh(); Escopo da Macro Aplicação consulta onClick sc_alert("Mensagem") Esta macro envia uma mensagem, de forma incondicional, no estilo alert do Javascript. Ex. 1: sc_alert("Esta é uma mensagem de alerta!!"); Escopo da Macro 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. http://www.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s... 18/02/2013 : param1=valor. sc_apl_conf("minha_consulta". Assim. dinamicamente. Força um campo para ser exibido como "readonly". "Label". sc_apl_conf("minha_consulta".param2=valor Caminho para icone usado no item do menu Menu_Nome Nome da aplicação de menu http://www. Parametro Id_Item Id_Pai Label Aplicação Parâmetro Icone Descrição Código identificador do item do menu Código identificador do pai do item do menu. Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onClick onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onScriptInit Aplicação formulário Aplicação menu onApplicationInit onScriptInit onApplicationInit onLoad sc_apl_status("Aplicação". "Target") Adiciona um item dinamicamente a uma aplicação de menu. "meu_campo"). "insert". "start".com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. 18/02/2013 . 6: Forçar a saida da aplicação "minha_consulta" para a aplicação "outra_consulta". "20"). Os valores são: "on" para ativar e "off" para desativar. quando utilizado o modulo de segurança. Ex. Ex. Habilita (on) ou desabilita (off) o botão para a inclusão de novos registros. Ex. Desabilita a exibição de um campo. 3: Exibe "meu_campo". "Status") Esta macro tem por objetivo proteger ou liberar a utilização das aplicações. (apenas para formulários de múltiplas linhas) Força a quantidade de linhas de inclusão. "outra_consulta"). Ex.Macros ScriptCase Page 5 of 40 Propriedades para aplicações de Formulário Propriedade start insert update delete field_display_off field_display_on field_readonly rows rows_ins Valor new on/off on/off on/off campo campo campo Descricao Força o formulário a iniciar no modo de inclusão de novo registro. Habilita (on) ou desabilita (off) o botão para a exclusão de registros. "Id_Pai". podem ser determinadas as aplicações que o mesmo pode ou não acessar. Só é possível utilizar esta macro quando já existe um array gerado com a macro sc_appmenu_create antes. Ex. "Parâmetro". "exit". 2: sc_apl_status ({var_nome_apl}. (apenas para formulários de múltiplas linhas) Propriedades para aplicações de Consulta Propriedade start cols rows lig_edit on/off Valor filter Descricao Força a consulta a iniciar pelo filtro. 4: Forçar a aplicação "minha_consulta" a iniciar pelo filtro. "Id_Item". "off"). 1: sc_apl_status ('atu_cad'. "filter"). Status: É o valor ou a variável que contenha o valor a ser atribuído à aplicação. 5: Forçar a aplicação "minha_consulta" a exibir 20 linhas. Ex. sc_apl_conf("meu_formulario". Ex. "Aplicação". Se o item for raiz o valor para esse parametro deve ser passado em branco. {var_status}). sc_apl_conf("meu_formulario". "Hint". em função do "Login" do usuário. Aplicação: É o nome ou a variável que contenha o nome da aplicação a ser ativada/desativada. Habilita a exibição de um campo. sc_apl_conf("meu_formulario". Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onClick onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onScriptInit Aplicação formulário Aplicação menu onApplicationInit onScriptInit onApplicationInit onLoad sc_appmenu_add_item("Menu_Nome". Força a quantidade de colunas (consultas tipo vertical e slide) Força a quantidade de linhas por página Habilita (on) ou desabilita (off) o botão de edição do registro (lapis) Propriedades para todas as aplicações Propriedade exit Valor apl/url Descricao Força a saida da aplicação para a "aplicação" ou "url" informada.. "field_display_off". Força a quantidade de linhas por página. Ex. da aplicação "meu_formulario". Descrição para o item do menu Nome da aplicação ou URL para o item do menu String de parametros a serem passado a aplicação do item do menu. sc_apl_conf("minha_consulta". 2: Não permite que a aplicação "meu_formulario" faça inclusão de novos registros. "rows". "new"). 1: Forçar a aplicação "meu_formulario" a iniciar no modo de inclusão. Habilita (on) ou desabilita (off) o botão para a alteração de registros. "Icone". Ex. 'off').gestaonanuvem. "start".. 'form_category'). 18/02/2013 . sc_appmenu_add_item('menu_main'. Escopo da Macro Aplicação menu onApplicationInit onLoad sc_appmenu_exist_item("Menu_Nome". Parâmetro Id_Item Ex.'item_2'). Deve ser informado o nome da aplicação de menu como parâmetro..'item_1'.'item_2'.'form_categoria'). } Escopo da Macro Aplicação menu onApplicationInit onLoad Descrição Código identificador do item do menu Menu_Nome Nome da aplicação de menu sc_appmenu_remove_item("Menu_Nome". o submenu Categoria. o form_categoria com o nome de Catergoria. sc_appmenu_create('menu_main')..'item_2'. Ex.'form_category').'item_1'.'Category Form'. "Id_Item") Verifica se um item do menu existe e retorna um valor true ou false. Esta macro deve ser usada em eventos do controle ou no evento onload do menu.'Categoria'. 2: Adiciona ao menu 'menu_main' no lugar do item 1.''). 1: sc_appmenu_remove_item('menu_main'. 1: Cria um menu com nome de menu_main. Parâmetro Menu_Nome Id_Item Descrição Nome da aplicação de menu Código identificador do item do menu Ex. Escopo da Macro Aplicação menu onApplicationInit onLoad sc_appmenu_create("Menu_Nome") Esta macro inicia o array para montagem dinâmica de uma aplicação de menu. 1: sc_appmenu_create('menu_main').'item_1'. } else{ sc_appmenu_add_item('menu_main'. 3: Addiciona ao menu_main de ID item_1.''. 'item_2')){ sc_appmenu_update_item('menu_main'. Deve ser informado o nome da aplicação de menu como parâmetro.'item_1'. "_blank" para outra janela e "_parent" para sair da janela) Ex. Ex. sc_appmenu_add_item('menu_main'.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. ("_self" para a mesma janela.'Categoria'.Macros ScriptCase Page 6 of 40 Hint Target Hint descritivo para o item do menu. Escopo da Macro Aplicação menu onApplicationInit onLoad ("Menu_Nome") Esta macro limpa o array para montagem dinâmica de uma aplicação menu. Target para o link do item do menu.'item_2'. "Id_Item") Remove dinamicamente um item do menu. 1: if(sc_appmenu_exist_item('menu_main'.'Category Form'. 1: sc_appmenu_reset('menu_main'). Para utilizar esta macro é necessário que a macro sc_appmenu_create seja executa antes da mesma. Escopo da Macro Aplicação menu http://www. Ex. Ex.gestaonanuvem. se o usuário deseja fazer um controle de transação. "Icone". Parâmetro Id_Item Id_Pai Label Aplicação Parâmetro Icone Hint Target Descrição Código identificador do item do menu. onAfterUpdate. "Hint". Escopo da Macro Aplicação menu onApplicationInit onLoad sc_begin_trans("Conexão") Essa macro inicia um conjunto de transações no banco de dados. Ex 1: if ({tipo_cliente} == "fisica") { sc_block_display(juridica..com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. } Obs: No caso de consultas. Em outros casos.Macros ScriptCase Page 7 of 40 onApplicationInit onLoad sc_appmenu_update_item("Menu_Nome". 18/02/2013 .'item_2'. dinamicamente. on/off) Permite. Em princípio. Descrição para o item do menu. "Id_Pai". Se o item for raiz o valor para esse parametro deve ser passado em branco. dos eventos que essa macro pode rodar alguns dependem da atualização da base de dados (onAfterInsert. 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. "Label". String de parametros a serem passado a aplicação do item do menu.gestaonanuvem. Código identificador do pai do item do menu. off). todos os blocos são exibidos (condição "on"). Nas aplicações de fomulário. "Target") Atualiza um item dinâmicamente a uma aplicação de menu. Ex.: param1=valor. Target para o link do item do menu. Só é possível utilizar esta macro nos itens que tenham sido criados com a macro sc_appmenu_add_item antes. onBeforeUpdate or onBeforeDelete) são automaticamente protegidos por um controle de transação desde que a conexão seja a mesma da aplicação.'item_1'. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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. Hint descritivo para o item do menu. necessário apenas se o comando é executado numa base de diferente da especificada na aplicação. off). "Id_Item".'Category Form'. } else { sc_block_display(fisica. onBeforeInsert. onAfterDelete. Ex. "Parâmetro".param2=valor Caminho para icone usado no item do menu. Escopo da Macro http://www. Nome da aplicação ou URL para o item do menu. O parâmetro "conexão" é opicional.. esta macro só funciona para a orientação "slide". "Aplicação". 1: sc_appmenu_update_item('menu_main'. Só é possível utilizar esta macro quando já existe um array gerado com a macro sc_appmenu_create antes.'form_category'). Menu_Nome Nome da aplicação de menu. exibir ou não os campos de um determinado bloco. Abre o detalhe no formato deimpressão. Controla a exibição do botão "Novo" possibilitando a inclusão de novos registros. Ex. } Escopo da Macro sc_btn_delete Quando um dos botões da barra de ferramentas de um formulário (novo. 1: if (sc_btn_copy) { sc_error_message("Registro foi copiado com sucesso").com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s.. 1: if (sc_btn_delete) { sc_error_message("Impossivel excluir este registro"). podendo ser testado e utilizado dentro dos eventos. excluir ou incluir) são clicados. 18/02/2013 . permitindo a tomada de decisões em tempo real de execução. "on/off") Usado dentro dos eventos. Ex: sc_btn_disable('btn_2'. Escopo da Macro Aplicação menu onLoad sc_btn_display("Nome_Botao". ou http://www. (se a aplicação tiver link para tal. Controla a exibição do botão "Resumo" na grid. Gera o XML. Gera o XLS. Abre a consulta no formato de impressão. podendo ser testado e utilizado dentro dos eventos. permitindo a tomada de decisões em tempo real de execução. podem ser ativados ou desativados os botões da barra de ferramentas.Macros ScriptCase Page 8 of 40 Aplicação consulta onScriptInit Formulário Controle Aplicação formulário onClick onLoadAll onRefresh onScriptInit onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess sc_btn_copy Quando o botão "Copiar" é clicado. 'on/off') Esta macro é utilizada para desabilitar ou habilitar botões da aplicação de Menu. Navega para a página seguinte. atualizar. Gera o Word. Gera o PDF colorido da consulta. 'off'). Gera o PDF no detalhe. Gera o RTF. Nome dos botões (consulta): Nome do Botão first back forward last filter pdf det_pdf pdfbw xls xml cvs rtf word print det_print summary new Descrição Navega para o início da consulta. Controla a exbição do botão "Filtro" na grid. Gera o CSV.gestaonanuvem. esta macro é disponibilizada. } Escopo da Macro Aplicação formulário onValidate onValidateFailure onValidateSuccess sc_btn_disabled('id do botão'. esta macro é disponibilizada. Gera o PDF preto e branco da consulta. Nome_botao: É o nome ou a variável que contenha o nome do botão a ser ativado/desativado. Navega para a última página. Ex.. Navega para a página anterior. (apenas em casos de formulário rodando em iframe da consulta) Controla a exibição do botão "Quick Search". Controla a exibição do botão "Copiar".Macros ScriptCase Page 9 of 40 se o formulário estiver rodando em iframe da consulta) insert update delete qsearch Controla a exibição do botão "Inserir". esta macro é disponibilizada. esta macro é disponibilizada. 'off'). Ex.. permitindo a tomada de decisões em tempo real de execução. Ex. Controla a exibição do botão "Novo" em um formulário. Ex. 1: if (sc_btn_new) { {Minha_Data} = date('Y/m/d'). podendo ser testado e utilizado dentro dos eventos. sc_btn_display ({variavel_botao}. permitindo a tomada de decisões em tempo real de execução. Nome dos botões (Controle): Nome do Botão ok exit facebook twitter google paypal Descrição Controla a exibição do botão "Ok" em um controle. } Escopo da Macro Aplicação formulário onValidate onValidateFailure onValidateSuccess sc_btn_new Quando o botão "Novo" é clicados. Os nomes dos botões devem estar todo em minusculo. Navega para o registro seguinte. Escopo da Macro Aplicação consulta onScriptInit Formulário Controle Aplicação formulário onLoadAll onRefresh onScriptInit onValidate onValidateFailure onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess sc_btn_insert Quando o botão "Inserir" é clicado. 1: sc_btn_display ('new'. Controla a exibição do botão "Sair". } Escopo da Macro Aplicação formulário onLoad http://www. Controla a exibição do botão "Quick Search". Ex. usado em off o formulário é iniciado em modo de inclusão. 'off'). 18/02/2013 . Abre o formulário no modo de impressão. Controla a exibição do botão "Excluir". Controla a exibição do botão "Facebook". 1: if (sc_btn_insert) { sc_error_message("Registro incluido com sucesso"). Controla a exibição do botão "Atualizar". Navega para o último registro formulário.gestaonanuvem. (apenas em casos de formulário rodando em iframe da consulta) Controla a exibição do botão "Delete". Controla a exibição do botão "Incluir". Nome dos botões (Formulário): Nome do Botão first back forward last new insert update delete copy qsearch pdf print Descrição Navega para o primeiro registro do formulário. Gera documento PDF a partir do formulário.. podendo ser testado e utilizado dentro dos eventos. (apenas em casos de formulário rodando em iframe da consulta) Controla a exibição do botão "Atualizar". Navega para o registro anterior.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Controla a exibição do botão "Twitter" Controla a exibição do botão "Google+" Controla a exibição do botão "PayPal" OBS. 2: Ao passarmos variáveis ou campos ({campo} ou [variavel_global]) como parâmetros não se faz necessário o uso de aspas duplas ou simples antes e depois da variável. 6x1=6 .gestaonanuvem. 1: if (sc_btn_update) { sc_error_message("Registro alterado com sucesso!"). 1234567. Módulo. Parâmetro Dígito Resto Valor Módulo Pesos Tipo Descrição Variável na qual será retornado o dígito calculado. 2: sc_calc_dv({meu_dig}. } Escopo da Macro Aplicação consulta onGroupBy Formulário Controle Aplicação formulário onRefresh onBeforeUpdate onValidate onValidateFailure onValidateSuccess sc_change_connection("Conexao_Antiga". Ex. Valor. "Conexao_Nova") Troca dinamicamente as conexões das aplicações Ex. 18/02/2013 . 98765432. 5x2=10 . Pesos. esta macro é disponibilizada. Variável na qual será retornado o "resto" da divisão do cálculo do dígito. usando o separador ".. 4x1=4 . 12. 2x7=14 . podendo ser testada e utilizada dentro dos eventos.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Calculo parcelas: 7x2= 14 . 1x8=8 Soma parcelas : 14+18+20+20+18+14+8 = 112 Resto da divisao de 112 / 11 = 2 Dígito : 11 . Tipo) Esta macro tem por objetivo o cálculo de dígitos verificadores. {meu_resto}. 11." http://www. {meu_resto}.. "Conexão_Nova02"). Valor ou Variável sobre o qual será calculado o dígito. 4x5=20 . Se omitido será assumido o módulo "11". Pode mudar várias no mesmo comando. 10. Valor ou Variável contendo os pesos a serem utilizados. 2x1=2 . 1: if (sc_changed({Nome_Campo})) { Echo "O campo foi modificado". Se omitido será assumido o tipo "1". 1x2=2 Soma parcelas : 1+ 4+6+1+0+4+6+2+2 = 26 Resto da divisao de 26 / 10 = 6 Dígito : 10 . 5x4=20 . Calculo parcelas: 7x2= 14 .2 = 9 Ex. 3x2=6 . 1: sc_calc_dv({meu_dig}. Ex.6 = 4 Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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}) Esta macro tem por objetivo verificar se houve alteração em determinado campo do formulário. 2). Valor ou Variável contendo o módulo a ser utilizado. 1). sendo: 1 para soma normal dos valores das parcelas e 2 para soma de cada algarismo das parcelas. } Escopo da Macro Aplicação formulário onValidate onValidateFailure onValidateSuccess sc_calc_dv(Dígito. Valor ou Variável contendo o tipo de cálculo das parcelas a ser utilizado. permitindo a tomada de decisões em tempo real de execução. Se omitido serão assumidos os valores "98765432". 1234567. Ex. "Conexão_Nova01" . 3x6=18 . "Conexão_Antiga02".Macros ScriptCase Page 10 of 40 sc_btn_update Quando o botão "Alterar" é clicado. 6x3=18 . Resto. 1: Trocar as conexões: sc_change_connection("Conexão_Antiga01". 2: $nova_data = sc_date({datanasc}. conforme a seguir: Parâmetro Descrição Data Formato Operador D M A Campo de data que contém a data a ser modificada. Pode trocar.. em alguma destes eventos. Formatação em que o campo de data se encontra. "-". "+ ". Número de dias a incrementar ou decrementar. "aaaammdd". "Formato".gestaonanuvem. Ex.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. sc_BeforeInsert. Escopo da Macro sc_commit_trans ("Conexão") Esta macro tem por objetivo efetivar uma serie de transações na base de dados. 1). Ex. [Teste] . Ex. "-". O parâmetro "conexão" é opcional. 3: Para apagar as trocas feitas: sc_reset_change_connection(). Ex. "aaaa-mm-dd". 1. 2: Pode usar variáveis: sc_change_connection({Senha}. 2). assim. "Minha_Conexão". M. 0). sc_AfterUpdate. Número de meses a incrementar ou decrementar. "dd/mm/aaaa". 0. [Global_Conexão]). Número de anos a incrementar ou decrementar. {nome do campo de data}. D. A) Esta macro tem por objetivo o cálculo do incremento ou decremento de datas. sc_change_connection([Conexão_Global]. Ex. venha a utilizar um redirecionamento de aplicação (macro "sc_redir") deverá. 3: {dt_inclusao} = sc_date(date('Ymd'). sendo necessário. se o comando for executado em uma base de dados diferente da especificada para a aplicação. também. ponha seu comando em algum evento: echo "form_data = " . Caso o usuário. "+" para incremento e "-" para decremento. Nas aplicações de formulário. Escopo da Macro Aplicação consulta onClick Formulário Controle Aplicação formulário onClick onClick sc_date(Data.Macros ScriptCase Page 11 of 40 Ex. 18/02/2013 . OBS: Para certificar-se do formato da data. sc_AfterDelete. [Nova_Conexão]). que a fórmula seja executada de maneira indevida. 15. 1: {datanasc} = sc_date({datanasc}. previnindo-se. desde que a conexão seja a mesma da aplicação. utilizar esta macro para garantir as transações efetuadas anteriormente. Para sua utilização são necessários alguns parâmetros. antes do redir. "Operador". As trocas só têm efeito nas aplicações seguintes. sc_BeforeUpdate ou sc_BeforeDelete) estão automaticamente protejidas por controle de transação. antes de utilizar a função. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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") Esta macro atua apenas em codigos PHP. 1: sc_confirm ("Deseja realmente executar a ação ??"). 0. apenas. em eventos que cotenham qualquer macro que dependa de atualização na base de dados (sc_AfterInsert. 30. que rodem quando chamadas através de botão na barra de ferramentas. a conexão principal. Tem por objetivo a confirmação de que a ação deverá ser realmente executada. 3. http://www.. Ex. "Formato_Saída") Um trabalho relativamente complexo na programação é a manipulação de datas. 1: {quantidade_dias} = sc_date_dif({data1}. 2: {quantidade_dias} = sc_date_dif("2000-05-01"."db_format"). Para minimizar este problema o ScriptCase disponibiliza a função para conversão de datas sc_date_conv. Ex. "aaaa-mm-dd". {data2}. {quantidade_dias} seria igual a 1451 (dias) Obs: Embora os formatos possam ser diferentes. Valor ou variável contendo o formato no qual está armazenada a data2. "dd/mm/aaaa"). Ex. Parâmetro Data1 Formato Data1 Data2 Formato Data2 Descrição Valor ou variável contendo a primeira data.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Ex. 18/02/2013 . Db_Format Para formato de data do banco de dados. {Data2}. "Formato_Entrada".Macros ScriptCase Page 12 of 40 Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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}. mês e ano Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute Aplicação consulta onApplicationInit onClick Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onApplicationInit onRefresh Aplicação formulário Aplicação menu ajaxFieldonBlur onAfterDelete onApplicationInit onExecute http://www. Valor ou variável contendo a segunda data. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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}.. em quantidade de dias. "aaaa-mm-dd"."dd/mm/aaaa"."dd/mm/aaaa"). 2: O código abaixo converte a data do formato nativo do banco de dados para o formato "dd/mm/aaaa" {campo_data} = sc_date_conv({campo_data}."db_format".."aaaammdd"). as datas devem ser compostas de dia."dd/mm/aaaa". 1: O código abaixo converte a data do formato "dd/mm/aaaa" para o formato "aaaammdd" {campo_data} = sc_date_conv({campo_data}. 3: O código abaixo converte a data do formato "dd/mm/aaaa" para o formato nativo do Banco de dados {campo_data} = sc_date_conv({campo_data}. Ex. "dd/mm/aaaa"). Usado para referenciar Dia.gestaonanuvem. "Formato Data2") Esta macro calcula a diferença entre datas. Parâmetro Descrição A ou Y M D Usado para referenciar ano. Usado para referenciar mês. "Formato Data1". Valor ou variável contendo o formato no qual está armazenada a data1. "21/04/2004". 3: Utilizando a opção 2. Valor ou variável contendo o formato no qual está armazenada a data1. Valor ou variável contendo o formato no qual está armazenada a data2. 1). {dif_anos } = {diferencas[2]}. 2: {diferencas} = sc_date_dif_2 ("2000-05-01". {dif_dias} = {diferencas[0]}. "aaaa-mm-dd".. "aaaa-mm-dd". "Formato Data2". 18/02/2013 . Parâmetro Data1 Formato Data1 Data2 Formato Data2 Opção Descrição Valor ou variável contendo a primeira data. Opção) Calcula diferença entre datas. "aaaa-mm-dd". {dif_meses} = {diferencas[1]}. no qual o índice 0 terá a a quantidade de dias. {diferencas} = sc_date_dif_2 ("2000-05-01". Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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}) Esta macro verifica se um campo do tipo data está vazio. 1: if (sc_date_empty({data_nasc}) ) { sc_erro_mensagem("Dados inválidos"). Obs: Embora os formatos possam ser diferentes. retornando a quantidade de dias. Ex.. O resultado será retornado em forma de array.gestaonanuvem. {Data2}. meses e anos. "dd/mm/aaaa". o índice 1 terá a quantidade de meses e o índice 2 terá a quantidade de anos. } Escopo da Macro Aplicação em branco Aplicação consulta Formulário Controle Aplicação de pesquisa Aplicação formulário http://www. {data2}. "dd/mm/aaaa". Ex. 2). Ex. Valor ou variável contendo a segunda data.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. "Formato Data1".Macros ScriptCase Page 13 of 40 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}. {diferencas[0]} seria igual a 21 (dias) {diferencas[1]} seria igual a 11 (meses) {diferencas[2]} seria igual a 3 (anos). mês e ano. 1 = não considera o dia inicial. 1). as datas devem ser compostas de dia. "dd/mm/aaaa". {diferencas[0]} seria igual a 20 (dias) {diferencas[1]} seria igual a 11 (meses) {diferencas[2]} seria igual a 3 (anos). "21/04/2004". "21/04/2004". Ex. 2 = considera o dia inicial. 1: {diferencas} = sc_date_dif_2 ({data1}. OBS: A Netmake não se responsabiliza pela possível quebra do algoritimo de criptografia utilizado. 2: Descriptografando uma variável do usuário: $minha_var = sc_decode($campo_cript).. uma vez que o algoriíimo é fornecido com o fonte aberto. o campo ou variável criptografada. de forma criptografada. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick onClick OnFocus onApplicationInit onExecute onLoad http://www. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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}) Esta macro retorna. 1: Descriptografando uma variável local: {meu_campo} = sc_decode($campo_cript). OBS: A Netmake não se responsabiliza pela possível quebra do algorítimo de criptografia utilizado.. 2: Criptografando uma variável do usuário: $campo_criptografado = sc_encode($minha_variavel). Ex.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Ex. o campo ou variável.gestaonanuvem. Ex. 18/02/2013 . 1: Criptografando uma variável local: $campo_criptografado = sc_encode({meu_campo}). uma vez que o algoritimo é fornecido com o fonte aberto.Macros ScriptCase Page 14 of 40 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}) Esta macro retorna. Ex. à sua forma original. Por exemplo.Macros ScriptCase Page 15 of 40 onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess sc_error_continue("Evento") Esta macro inibe o tratamento de erros de banco de dados. exibindo uma tela com as mensagens de erro. 3: Exibe as mensagens de erro e o botão "OK" para redirecionar para a Aplicação informada. para o evento passado como parâmetro e permite que o programador trate os erros do banco de dados. 1: Apenas exibe as mensagens de erro. Escopo da Macro Aplicação formulário onAfterDelete sc_error_exit(URL. padrão do Scriptcase. 1: Conteúdo da variável {sc_erro_delete}. sc_error_exit().com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Ex. É utilizada quando precisamos tratar estas mensagens. "_blank"). Ex. Ex. no caso validações feitas no banco de dados via triggers ou procedures que retornam mensagem. } sc_erro_mensagem({sc_erro_delete}). 1: Utilizando o evento onDelete para tratamento de mensagem devolvida por uma trigger do mssql. "Target") Interrompe a execução da aplicação. Se informada uma URL ou o nome de uma Aplicação. sc_erro_exit.. Escopo da Macro Aplicação em branco onBeforeUpdateAll Formulário Controle Aplicação de pesquisa onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess OnValidate Aplicação formulário ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick OnFocus http://www. será exibido. 2: Exibe as mensagens de erro e o botão "OK" para redirecionar para a URL informada. que ocorra ao se tentar excluir um registro. veja a macro "sc_error_continue".br). sc_error_exit(http://www. } Escopo da Macro Formulário Controle Aplicação formulário onScriptInit onBeforeDelete onBeforeInsert onBeforeUpdate sc_error_delete Esta variável retorna uma string contendo qualquer mensagem de erro do banco de dados.{sc_erro_insert} e/ou{sc_erro_update} Os eventos a serem passados como parâmetro são: inserir. atualização e exclusão de registros.” OBS: Para ter acesso ao retorno do erro do banco. if (!empty({sc_erro_delete})) { $tmp = strrpos({sc_erro_delete}. Pode ser usada por exemplo quando no banco de dados existem triggers/procedures que fazem validações referentes aos eventos de inclusão. sc_error_exit(minha_aplicacao. sc_error_continue("delete"). delete ou update.gestaonanuvem. se existir mensagens de erro geradas pela macro "sc_error_message". if ($tmp !== false) { {sc_erro_delete} = substr({sc_erro_delete}. retornando uma mensagem de erro gerada por uma triger do banco de dados usando MsSQL. $tmp + 1).com. 18/02/2013 . além das mensagens de erro. um botão "OK" para redirecionar o processamento para a URL/Aplicação informada. Ex.meusite. "Target") ou (Minha_Aplicação. "]"). A parâmetro target e opicional. É usada em conjunto com as variáveis: {sc_erro_delete}. Ex. “[Microsoft][ODBC SQL Server Driver][SQL Server] Você não pode apagar este registro. 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.. } Escopo da Macro http://www. Nas aplicações de "Formulário e Controle" as mensagens serão apresentadas juntamente com as demais mensagens de erro encontradas na aplicação. 1: if ({desconto} > 0. que ocorra ao se tentar inserir um registro. "acima do permitido"). se o comando for executado em uma base de dados diferente da especificada para a aplicação. 1: if (sc_after_delete) { sc_exec_sql("delete from outratab where chave = {chave_ant}").. Ex. se for digitado um valor no campo desconto acima de 0. É utilizada quando precisamos tratar estas mensagens. veja a macro "sc_error_continue". É utilizada quando precisamos tratar estas mensagens. que ocorra ao se tentar atualizar um registro. veja a macro "sc_error_continue". 1: conteúdo da variável {sc_erro_update}. retornando uma mensagem de erro gerada por uma triger do banco de dados usando mssql. 1: conteúdo da variável {sc_erro_insert}.Macros ScriptCase Page 16 of 40 onNavigate onValidate onValidateFailure onValidateSuccess sc_error_insert Esta variável retorna uma string contendo qualquer mensagem de erro do banco de dados. Por exemplo.” Obs: Para ter acesso ao retorno do erro do banco. "Conexão") Esta macro permite a execução de comandos SQL. {desconto} . Por exemplo. } Neste exemplo. O parâmetro "conexão" é opcional. Escopo da Macro Aplicação formulário onAfterUpdate sc_exec_sql ("Comando SQL". “[Microsoft][ODBC SQL Server Driver][SQL Server] Você não pode incluir este registro." (fecha parentese e ponto e vírgula) que servem de delimitador para o interpredador da macro Escopo da Macro Aplicação em branco onBeforeUpdateAll Formulário Controle Aplicação de pesquisa onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess OnValidate Aplicação formulário ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick OnFocus onNavigate onValidate onValidateFailure onValidateSuccess sc_error_update Esta variável retorna uma string contendo qualquer mensagem de erro do banco de dados. 18/02/2013 .. Nas aplicações de "Consulta e Menu" as mensagens só serão apresentadas através da macro "sc_erro_exit". sendo necessário. no caso validações feitas no banco de dados via triggers ou procedures que retornam mensagem.” OBS: Para ter acesso ao retorno do erro do banco.gestaonanuvem. Ex. Ex.10 e o usuário tentar inserir ou salvar este registro. no caso validações feitas no banco de dados via triggers ou procedures que retornam mensagem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. a operação será encerrada e a mensagem de erro será apresentada. apenas. para os quais o usuário poderá condicionar as circunstâncias em que os mesmos devem ser executados. Escopo da Macro Aplicação formulário onAfterInsert sc_error_message("Texto") Esta macro tem por objetivo possibilitar ao usuário enviar mensagens de erro. retornando uma mensagem de erro gerada por uma trigger do banco de dados usando mssql.10 && [glo_usuario] == 'operador') { sc_error_message("Desconto de " . exceto se utilizada a macro "sc_erro_exit". É obrigatório que o comando termine com "). Ex. “[Microsoft][ODBC SQL Server Driver][SQL Server] Você não pode atualizar este registro. Ex. Caso não seja informado. se o valor for maior que 1000. } Ex. sc_field_color ("clienteid". exibe a tela com o botão OK.. porém. Ex. Ex. "#33FF66"). 1: Bloqueio de um campo. {cmp_cor}). Ex. e "U" apenas na alteração. [cor_global]). Realiza as transações pendentes. Não exibe a tela com o botão OK e retorna para a aplicação corrente. ""). 3: Utilizando uma variável local. Não realiza as transações pendentes. A utilização desta macro. Esta opção só é válida para aplicações de Formulário e aplicações de Controle. porém. provê as seguintes alternativas: Opção sc_exit() sc_exit(ok) sc_exit(sel) sc_exit(ref) sc_exit(ok.sel) Descrição Não exibe a tela com o botão OK e retorna para a aplicação anterior. 18/02/2013 . 2: Altera a cor de texto do campo "valor_pedido". Escopo da Macro Formulário Controle Aplicação formulário onClick onScriptInit onClick onScriptInit sc_field_color("Campo". Campos a serem bloqueados.ref) sc_exit(ok. 4: Utilizando uma variável global. Exibe a tela com o botão OK e retorna para a aplicação anterior. "Cor") Esta macro tem por objetivo. 1: Altera em definitivo a cor de texto do campo "clienteid" da consulta. if ({valor_pedido} > 1000) { sc_field_color ("valor_pedido". } else { sc_field_color ("valor_pedido". o ScriptCase irá usar as duas opcões juntas. devem ser seguidos da opção de bloquear "true" (default) ou não "false". sc_field_color ("clienteid". Caso contrário. http://www.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Mesmo que a função sc_exit(ref). sc_field_color ("clienteid". tem por objetivo definir o retorno da aplicação após a execução em uma outra aplicação. exibe a tela com o botão OK. "#33FF66").. refazendo o select da aplicação.gestaonanuvem. de forma dinâmica.Macros ScriptCase Page 17 of 40 Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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) Esta macro é utilizada nos eventos ou através de um botão PHP criado. Não exibe a tela com o botão OK e retorna para a aplicação corrente. mantem a cor padrão. Mesmo que a função sc_exit(sel). nesta modalidade. alterar/restaurar a cor do texto de determinado campo da consulta. fazendo apenas a recarga (refresh) dos dados. inclusão e atualização. Opção sc_exit() sc_exit(c) sc_exit(r) Descrição Não afeta transações na base de dados. Escopo da Macro Aplicação consulta onRecord onScriptInit sc_field_disabled ("Nome_Campo = True/False". O parâmetro é opcional. é usando "I" apenas na inclusão. "Parâmetro") Esta macro tem por objetivo bloquear a digitação em determinados campos do formulário. Campo_03=true").) Esta macro tem por objetivo inibir campos da consulta na carga inicial. em um evento Ajax. sc_field_disabled("Campo_02=false"). Campo_03". os campos readonly são especificados na interface de configuração do formulário e funcionam da seguinte forma: No modo de atualização. inclusão e atualização. 3: Bloqueio de vários campos. no modo de inclusão. Ex. inclusão e atualização. apareça na forma readonly.. } Escopo da Macro Aplicação em branco onBeforeUpdateAll Aplicação consulta onClick onScriptInit Formulário Controle Aplicação formulário 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. Ex. teremos: sc_field_readonly({meu_campo}). Campo_02. on/off) Permite. sc_field_disabled("Campo_01. e serve para que. {valor_total}). O segundo parâmetro "on/off" é opcional. Ex. } Ex. Campo_02=false. os campos aparecem na forma readonly e. os campos aparecem abertos para digitação.gestaonanuvem. apenas na atualização. Ex 01: sc_field_init_off ({ordem_id}. campo2. Ex. on/off) Permite. Escopo da Macro Aplicação em branco onBeforeUpdateAll Formulário Controle Aplicação formulário onBlur onChange onClick onFocus ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert http://www. Em princípio. Em princípio. dinamicamente. que não tenha sido especificado na interface como readonly.. especificado na interface como readonly. off). 1: if ({tp_cli} == "fisica") { sc_field_display({cnpj}. 1: Se desejamos que um determinado campo. Escopo da Macro Formulário Controle Aplicação formulário onLoadAll onLoad onNavigate sc_field_display({Meu_Campo}. off). Escopo da Macro Aplicação consulta onApplicationInit sc_field_readonly({Campo}. Os campos inibidos por essa macro podem ser habilitados pela utilização do botão "Colunas".. } else { sc_field_display({cpf}.. "U"). 2: Se desejamos que um determinado campo. permaneça readonly no modo de inclusão. 2: Retirando o bloqueio de um campo. 18/02/2013 .. Ex.Macros ScriptCase Page 18 of 40 sc_field_disabled("Campo_01"). todos os campos são exibidos (condição "on"). exibir ou não um determinado campo. sc_field_disabled("Campo_01=true. teremos: if (sc_btn_new) { sc_field_readonly({meu_campo}). dinamicamente.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. transformar em readonly um determinado campo do formulário. 4: Combinação de bloqueio e desbloqueio de vários campos. seja possível definir se um campo vai ficar como read-only (on) ou deixar de ser read-only (off). Valor de entrada = 0012345678. "Lado_Neg". sc_format_num({meu_valor}.234. Parâmetro Field Background-Color (opcional) Size (opcional) Color (opcional) Family (opcional) Weight (opcional) Descrição Nome do campo Cor de fundo da célula do campo Tamanho da fonte do campo Cor da fonte Família da fonte Largura da fonte Ex. 0. sans-serif'..890 Ex. Quantidade de decimais a ser exibida. 'S'. ''). Símbolo para o separador de decimais. 'N'. '1'. 1: Formatando um número inteiro. "Lado_Simb_Monetario") Esta macro tem por objetivo a formatação de valores numéricos.'.90 Valor de saída = -12.678 Ex. Ex. 2. '. sc_format_num({meu_valor}. 'bold'). Completa com zeros as decimais inexistentes (S = sim e N = não). "Size".678. Valor de entrada = . '.90 Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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 http://www. "Background-Color". '.345.345. "Simb_Grp".. 'S'. 'R$'). sc_format_num({meu_valor}. Valor de entrada = -0012345678. 4. '. 0.'.'. "Enche_Zeros". 'Arial. '1'. 5: Formatando um valor com 2 casas decimais. sc_format_num({meu_valor}.'. '1'. ''). "Color".gestaonanuvem. 4: Formatando um valor com 2 casas decimais. '#33FF99'. Símbolo monetário a ser exibido. '1'.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s.9 Valor de saída = R$ 12. Lado onde o sinal de negativo deve ser exibido (1 = esquerdo e 2 = direito).678. '.9 Valor de saída = 0. ''). Valor de entrada = 0012345678. '. "Weight") Esta macro permite que seja modificado o estilo do campo da consulta dinamicamente. 2: Formatando um valor negativo e desprezando as casas decimais.9 Valor de saída = 12.9000 Ex.'. ''). prenchendo com zeros e utilizando símbolo monetário. 2. Símbolo de agrupamento dos valores inteiros.'. ''. 18/02/2013 . prenchendo com zeros.Macros ScriptCase Page 19 of 40 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}.90 Ex. '. '15px'. "Family". sc_format_num({meu_valor}. Parâmetro Meu_Campo Simb_Grp Simb_Dec Qtde_Dec Enche_Zeros Lado_Neg Simb_Monetário Descrição Variável ou campo que contena o valor a ser formatado (O retorno será na própria variável). Valor de entrada = 001234567890 Valor de saída = 1. Escopo da Macro Aplicação consulta onRecord onScriptInit sc_format_num({Meu_Campo}. '.'.345. 01: sc_field_style({data_nasc}. 'N'. "Simb_Monetário". "Qtde_Dec". 'S'. ''. 3: Formatando um valor com 4 casas decimais e prenchendo com zeros.'. '1'. Lado_Simb_Monetário Lado onde o símbolo monetário será exibido (1 = esquerdo e 2 = direito). '#000000'.567. "Simb_Dec". 1: $my_regional = sc_get_regional(). 1: Para não exibir o formulário. Em princípio. permitindo ao usuário ter acesso as propriedades do objeto.. 18/02/2013 . Ex.. dinamicamente. Ex. 1: $my_language = sc_get_language(). Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onApplicationInit onExecute onLoad http://www. exibir ou não o conteúdo do formulário. Esta macro roda em eventos e métodos javascript das aplicações de formulário e controle. Escopo da Macro Formulário Controle Aplicação formulário onLoadAll onScriptInit onLoad onScriptInit onValidate sc_getfield('meuCampo') A macro tem por objetivo atribuir objetos (que representam os campos do formulário) para uma variável javascript. Ex.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s.gestaonanuvem.Macros ScriptCase Page 20 of 40 onValidate onValidateFailure onValidateSuccess sc_form_show'on' ou 'off' Esta macro permite. sc_form_show = 'off'. o formulário é exibido (condição "on"). alert (cli_js. Escopo da Macro sc_get_language Esta macro retorna a sigla do idioma em uso. Ex: Exibindo o valor do campo "cliente" de um formulário cli_js = sc_getfield('cliente'). Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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 Esta macro retorna a sigla da configuração regional em uso.value). o upload de novas imagens. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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") Esta macro tem por objetivo alterar. foi implementado em (Aplicação->Configuração->Imagens Extras da Aplicação) uma interface para que o usuário possa informar as imagens extras. Ex. 1: $my_theme = sc_get_theme(). OBS: As imagens deverão existir no diretório de imagens do ambiente de desenvolvimento (. esta macro não será mais necessária. utilize comandos para carregar imagens..gif. 18/02/2013 . através de dos eventos ou Javascript. dinamicamente. Ex. img2. 'group3') Esta macro é utilizada para desabilitar regras de Quebra em tempo de execução. o label dos campos que estão especificados para serem apresentados nas linhas de quebra. Desta forma. Escopo da Macro Aplicação consulta onGroupBy sc_hide_groupby_rule('group1'. Esta macro executa esta função. estas terão que ser copiadas para a aplicação. http://www.. Ex. inclusive.Macros ScriptCase Page 21 of 40 onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess sc_get_theme Esta macro retorna o nome do tema do layout em uso na aplicação.jpg) Todas as imagens utilizadas nas aplicações são automáticamente copiadas para cada aplicação. Caso o usúario.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s.gestaonanuvem.. Ex: if( [usr_login_group] == 'seller' ){ sc_hide_groupby_rule('rule_1'./devel/conf/sys/img/img/). O Id das regras de quebras devem ser passadas como parametros.jpg). permitindo.0144. } Escopo da Macro Aplicação consulta onApplicationInit sc_image(Imagem01. 1: sc_image (img1. 2: sc_label_quebra('saldo') = "Total dos Saldos". 1: sc_label_quebra('estado') = "Quebra do estado".00. 'rule_2'). IMPORTANTE À partir da versão 3. 'grop2'. Ex. "prj").10. que acompanham a distribuição do Scriptcase.usr = A nível do Usuário Ex. . .Usuário: Apenas o usuário (que estiver logado no monento) terá acesso.'Saida de texto!'). "usr").php".em branco = Script's a nível global. Bibliotecas PHP fpdf fpdf_html excel rtf Ex.pub = A nível Público .'B'..prj = A nível do Projeto . o usuário deverá selecionar o contexto ao qual o script pertence. (Scriptcase) sc_include("meu_script.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s.Nome do script: Nome do script a ser incluido na aplicação. . no menu principal do Scriptcase.php"). $pdf->Cell(40. $pdf->Output()...Público: Todos os projetos poderão ter acesso.Projeto: Apenas os usuários do projeto (que estiver logado no monento) terão acesso.php". $pdf->AddPage().Macros ScriptCase Page 22 of 40 Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onLoadAll onScriptInit onValidateFailure onValidateSuccess onScriptInit Aplicação formulário Aplicação menu onApplicationInit onClick onLoad onLoadRecord onScriptInit onValidate onApplicationInit onLoad sc_include("Arquivo". . No momento de catalogar o script. sc_include("meu_script..) Esta macro é usada para selecionar dinamicamente as bibliotecas da aplicação. 2: Incluindo um script catalogado a nível do projeto.gestaonanuvem. podendo ser: . Escopo da Macro Aplicação em branco onFooter Bibliotecas JavaScript Jquery jquery_thickbox jquery_blockui tiny_mce sc_label({Meu_Campo}) http://www. Ex. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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". Na utilização da macro sc_include.16). $pdf->SetFont('Arial'. 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). "Lib2". sc_include("meu_script. . A Origem do contexto sob o qual o script foi catalogado. Para catalogar os script's. 3: Incluindo um script catalogado a nível do usuário. 1: sc_include_lib ("fpdf"). 18/02/2013 . acessar "Configuração=>Bibliotecas. 1: Incluindo um script catalogado a nível globa. podendo ser: . "Origem") O Scriptcase permite que o usuário catalogue seus script's PHP e utilize-os em várias aplicações. $pdf=new FPDF(). Ex. Nesta opçao o usuário poderá escrever seu script ou fazer "upload" de um script existente. o label dos campos de uma consulta ou formulário. 1: echo "Language: ". Parâmetros: Parâmetros necessários para que a aplicação chamada possa funcionar. Ex. (string)'ldap_connect_error' Erro ao conectar com o servidor/serviço LDAP.{sc_language}. Ex.dados_cli. $group]). 3: Usando uma variável global para definir o campo a ser modificado. 1: Usando o nome do campo. $domain.php. Para execução em um iframe.php: sc_link (cpf. nas aplicações de consulta. Havendo mais de um parâmetro.php. Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit Aplicação formulário Aplicação menu onApplicationInit onScriptInit onApplicationInit onLoad sc_ldap_login $ldapConn = sc_ldap_login($server[. É necessário realizar login pra fazer qualquer consulta de LDAP. "Hint". Aplicação: Nome da aplicação para a qual queremos estabelecer o link."Dados individuais do Cliente ".. da coluna da grid. Abre uma nova janela e bloqueia qualquer interação na janela principal. acima da consulta (Top). abaixo da consulta (Bot). o sinal de atribuição "=" e o valor ou variável a ser atribuído. Devem ser informados o nome do parâmetro. Escopo da Macro Aplicação consulta onNavigate onScriptInit Formulário Controle Aplicação formulário onLoadAll onScriptInit onLoad onLoadRecord onNavigate onRefresh onScriptInit sc_language Esta macro retorna o idioma e a configuração regional atual do sistema. Seus parametros são: Servidor = Domínio = Usuário = Senha = DN = Grupo = Existem 3 possibilidades de retorno: Retorno da macro (string)'ldap_bind_error' (resource) Escopo da Macro Situação Erro com autenticação.cpf={cpf}. $password. Para execução em outra página (pop-up).gestaonanuvem. existem dois parâmetros opcionais*: *Altura: Defina a altura da janela modal (default 440). dinamicamente. Aplicação. Altura. "Target". 1: Criando um link para a aplicação dados_cli. $dn.. Para execução em um iframe. Obs: Se omitido. http://www. estes deverão ser separados por ". 18/02/2013 ." (ponto e vírgula).com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. passando a variável global [glo_emp] como empresa e o campo (variável local) {cpf} para a aplicação dados_cli. *Largura: Defina a largura da janela modal (default 630). Target: Local onde a aplicação chamada irá funcionar. sc_label({atributo}) = "Nome do Cliente".empresa=[glo_emp]. será atribuído o valor "_self". Conexão e autenticação bem-sucedidos.Macros ScriptCase Page 23 of 40 Esta macro tem por objetivo alterar. para o qual será gerado o link de ligação. 2: Usando uma variável tipo atributo para definir o campo a ser modificado. Ex. de forma dinâmica. no campo cpf. sc_label([variavel_global]) = "Nome do Cliente". Para execução em um iframe. Para execução em um iframe. a esquerda da consulta (Left). podendo ser: Target "_self" "_blank" "iframeT" "iframeL" "iframeR" "iframeB" "modal" Descrição Para execução na mesma página (sobrepõe a consulta). Ex. após conexão bem-sucedida com o servidor. sc_link(Coluna. "_blank"). essa macro estabelece a conexão e a amarração pelas credenciais do usuário. Parâmetros. Ex. Coluna: É o nome do campo. No caso de target modal. Largura) Esta macro cria ou alterar ligações com outras aplicações. Hint: Observação ou dica que será apresentada quando o cursor do mouse passar sobre o link. sc_label("cliente") = "Nome do Cliente". $user. a direita da consulta (Right). Valor ou variável que contém as 29 posições livres do código de barras.php. {Código_Barras}) Esta macro gera a linha digitável para bloquetos de cobrança. } Ex. Escopo da Macro Aplicação em branco onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate Formulário Controle Aplicação formulário onValidate onValidateSuccess onBeforeInsert onBeforeUpdate onClick onLoad http://www.Macros ScriptCase Page 24 of 40 Ex. empresa=[glo_emp].com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Código_Moeda. 700). empresa=[glo_emp]. Valor ou variável que contém o código do banco. Valor ou variável que contém o valor do documento. sc_link (minha_coluna. 1. 1: sc_lin_cod_barra_banco({Codigo_barra}.php.."hint do link"). 500.Criando um link para uma URL: neste caso. Código_Moeda. cnpj={cnpj}. Parâmetro Código_Barra Código_Banco Código_Moeda Valor Livre Data_Vencimento Descrição Variável na qual será armazenada a string contendo os valores do código de barras no padrão arrecadação (Febraban)." Pessoa Jurídica ". http://www. Será executado um redirecionamento para a URL informada. Código_Barras Variável na qual está armazenada a string contendo os valores do código de barras. "iframeR"). Parâmetro Descrição Linha_Digitavel Variável na qual será armazenada a string contendo a linha digitável. 001. {Livre}. Data de vencimento do documento (opcional). Ex. 3: . Valor ou variável que contém o código da moeda. padrão arrecadação. O formato deverá ser. Escopo da Macro Aplicação em branco onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação formulário onValidate onValidateSuccess onBeforeInsert onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onValidateSuccess sc_lin_digitavel_arrecadacao({Linha_Digitavel}. {Valor}.scriptcase.. cpf={cpf}. 1: sc_lin_cod_barra_arrecadacao({codigo_barra}. Código_Seguimento Valor ou variável que contém o código do seguimento. a partir da linha do código de barras. . Escopo da Macro Aplicação consulta onRecord sc_lin_cod_barra_arrecadacao({Código_Barra}. o scriptcase calculará o "fator de vencimento". "modal". {data}). {Valor}. Escopo da Macro Aplicação em branco onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação formulário onValidate onValidateSuccess onBeforeInsert onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onValidateSuccess sc_lin_cod_barra_banco({Código_Barra}. Se informada. {valor_tit}. 18/02/2013 . 1: sc_lin_digitavel_arrecadacao({lin_dig}. Código_Banco. sempre aaaammdd. 6. 1. {Data_Vencimento}) Esta macro gera os valores que compõem o código de barras no padrão Febraban bancário. {cod_barra}). Valor ou variável que contém o valor do documento. {parte_livre}." Pessoa Física ".gestaonanuvem. Parâmetro Código_Barra Código_Moeda Valor Livre Descrição Variável na qual será armazenada a string contendo os valores do código de barras no padrão arrecadação (Febraban). Valor ou variável que contém as 29 posições livres do código de barras. Ex. Valor ou variável que contém o código da moeda. Código_Seguimento. } else{ sc_link (tpcli. {valor_tit}. "parâmetro e target" não têm efeito.com. juridica.br. Ex. {Livre}) Esta macro gera os valores que compõem o código de barras no padrão Febraban arrecadação. 2: Criando um link dinâmico para uma ou outra aplicação dependendo do valor no campo {tp_cli} e abrindo uma janela modal: if ({tp_cli} == "F") { sc_link (tpcli. {parte_livre}). fisica. 1: sc_lookup(dataset. uma vez que o array de saída só será criado se o comando select retornar dados. 2: sc_lookup(meus_dados. limitecred from clientes"). sendo necessário. {limitecred} = {dataset[0][2]}. 18/02/2013 . {meus_dados_erro}.Macros ScriptCase Page 25 of 40 onRecord onScriptInit onLoadRecord onNavigate onRefresh onValidateSuccess sc_lin_digitavel_banco({Linha_Digitavel}. teremos: {clienteid} = {dataset[1][0]}. Ex: $arr_description = sc_log_split({description}). também.. a variável atribuida ao dataset retornará como "false" e a mensagem de erro estará disponível na variável "dataset_erro". } else { {clienteid} = {meus_dados[0][0]}. http://www. "select clienteid. 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. "Comando SQL". Ex.gestaonanuvem. 1: sc_lin_digitavel_banco({Linha_Digitavel}. Parâmetro Descrição Linha_Digitavel Variável na qual será armazenada a string contendo a linha digitável. se o comando for executado em uma base de dados diferente da especificada para a aplicação. Ex. verificar se o select retornou dados. Os parâmetros podem utilizar variáveis PHP. padrão bancário. {nomecliente} = {dataset[0][1]}. teremos: {clienteid} = {dataset[0][0]}. {nomecliente} = {dataset[1][1]}. Para ter acesso à segunda linha (dataset). O "dataset" fica disponível. Para ter acesso à primeira linha (dataset). limitecred from clientes" ). Escopo da Macro Aplicação em branco onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação formulário onValidate onValidateSuccess onBeforeInsert onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onValidateSuccess sc_log_add("Ação". a partir da linha do código de barras. "Aplicação foi acessada pelo usuário trial"). {Código_Barra}). Mensagem = " . Estas informações são gravadas no campo "descrição" da tabela de log. apenas. Ex: sc_log_add("access". Escopo da Macro sc_log_split({descricao}) Esta macro tem como objetivo possibilitar o acesso as informações gravadas no campo descrição da tabela de log. "select clienteid. Caso ocorra erro na execução do comando sql. no formato de uma string com delimitadores. "Mensagem") Esta macro tem como objetivo adicionar um registro a tabela de log. {nomecliente} = {meus_dados[0][1]}. {Código_Barras}) Esta macro gera a linha digitável para bloquetos de cobrança. 1001 [Bairro] => Peixinhos [Estado] => PE ) ) ) Escopo da Macro sc_lookup(Dataset. nomecliente. } elseif (empty({meus_dados})) { echo "Comando select não retornou dados ". É importante. if ({meus_dados} === false) { echo "Erro de acesso.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. nomecliente. Ex. para evitar o acesso a variáveis inexistentes. {limitecred} = {dataset[1][2]}. desta forma tornando a mensagem e/ou o nome da ação customizavel para o desenvolvedor. possibilitando a manipulação dos dados anteriores e posteriores dos registros envolvidos em forma de array.. "Conexão") Esta macro permite que o usuário execute comandos SQL e tenha acesso ao "dataset" proveniente do comando. em forma de array (linha/coluna). O parâmetro "conexão" é opcional. Código_Barras Variável na qual está armazenada a string contendo os valores do código de barras. Obs: Em qualquer circunstância. Porta utilizada pelo servidor de e-mail. para esse tipo de ocasião recomendamos o uso da macro sc_select Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onClick onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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.Macros ScriptCase Page 26 of 40 {limitecred} = {meus_dados[0][2]}. {mensagem}.". {origem}. {mensagem}. '
[email protected]'). Para. 'H'. if ({sc_mail_ok}) { echo "Enviados {sc_mail_count} e-mail com sucesso !!". o comando tem que ser encerrado com ponto e vírgula ". } Observação Importante: Até a versão 3.. Tp_Cópias. } else { sc_erro_mensagem({sc_mail_erro}). Ex. efetivamente enviados. {destino}.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s.00. foi introduzida uma nova classe para envio de e-mail. {anexos}).meuserver. E-mail de origem (string ou variável contendo o E-mail de origem).". Se omitido. 'mensagem'. 'S'. 'de@netmake. {assunto}. Assunto.com. {destino}. Tipo do texto da mensagem a ser enviada. ''. tp_conexao e anexos. Cópias. [glo_att]). ''.com. Senha do servidor SMTP (string ou variável contendo a Senha do servidor SMTP). atualize o "prod".01. Pw. Verifique se no diretório prod/third existe o sub-diretório email_new.gestaonanuvem.br. 'de. Mensagem a ser enviada (string ou variável contendo a mensagem). Lista de e-mails que devem receber cópia da mensagem . podendo ser uma string ou variável contendo um ou mais e-mail'
[email protected]. Ex. Usuário do servidor SMTP (string ou variável contendo o Usuário do servidor SMTP).br'. 2: Utilizando variáveis como parâmetros e definindo a porta. sc_mail_send([glo_smtp].br'.com. porta. 'T'. Tipo de cópias a serem enviadas: CCC para cópias visíveis e BCC para cópias ocultas. separados por ". ''.135.com. Se omitido. 'CCC'. [glo_pw]. na versão 3. anexos: Lista de arquivos a serem anexados. Para que estes parâmetros funcionem. 3: Servidor sem usuário e senha e opção de não enviar cópias e sem informação da porta. ou uma variável contendo um array de endereços de arquivos. 'usr'. '
[email protected]'. {mensagem}. 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". ''.br'. Tipo_Mens. Escopo da Macro Aplicação em branco Aplicação consulta Formulário Controle Aplicação de pesquisa Aplicação formulário Aplicação menu http://www.com. podendo ser uma string ou variável contendo um ou mais e-mail's. '419'. ''. {assunto}. Mensagem. 3 : O comando SQL também pode ser composto de campos da aplicação (variáveis locais) ou de variáveis globais: sc_lookup(dataset. separados por ". o Scriptcase assumirá os valores default: 25 para porta não segura e465 para porta segura. Caso ocorra erro no envio do e-mail. 'H'). ''. Tp_Conexao.br'. Lista de e-mails que devem receber cópia da mensagem. ou uma variável contendo um array de e-mail's.com. tp_conexao: Indicativo de conexão segura(criptografada) (S) ou não (N). 18/02/2013 . 1: sc_mail_send('smtp. [usuar]. podendo ser uma string ou variável contendo um ou mais endereços de arquivos.00. Título da mensagem (string ou variável contendo o título da mensagem). ''. Ex. Obs2: Não recomendamos o uso da macro sc_lookup com retornos muito grandes. 'teste envio de e-mail'.". 'para@netmake.. o Scriptcase assumirá o valor default:N. [glo_copias]. sc_mail_send([glo_smtp]. De. Usr. Se omitido. 'H'. OBS: Para utilização de conexão segura.".com. o Scriptcase assumirá o valor default: BCC. ''.01. 4: sc_mail_send([glo_smtp].br'. Attachment) Esta macro tem por finalidade o envio de e-mail. {destino}. Caso não exista.134 não existiam os parâmetros tp_cópias. é disponibilizada através da variável especial "sc_mail_count". {assunto}. } Ex. Porta. ou uma variável contendo um array de e-mail's. Ex. 'pw'. A quantidade de e-mail's. "select valor pedido from pedidos where clienteid = '{clienteid} ' and cod_vendedor = [var_glo_vendedor]"). ''. sendo: "T" para somente texto ou "H" para texto e/ou html. 'H'. 'c:/teste/arq. a extensão do PHP "php_openssl" deverá estar habilitada. separados por ". Parâmetro SMTP Usr Pw De Para Assunto Mensagem Tipo_Mens Cópias Tp_Cópias Porta Tp_Conexão Descrição Endereço do servidor SMTP (string ou variável contendo o Endereço do servidor SMTP). ''. sem passagem de parâmetros. os parâmetros a serem passados. Observe que. Parâmetro Objeto Valor Descrição Nome do objeto a ser atualizado na aplicação Mestre.php. Havendo mais de um parâmetro.Macros ScriptCase Page 27 of 40 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âmetro Descrição Aplicação Parâmetro Nome da aplicação para a qual queremos estabelecer o link. 1: sc_lookup(result. o sinal de atribuição "=" e o valor ou variável a ser atribuído. [valor]). Ao informar o nome de um campo. . 1: Criando uma string com um link para a aplicação dadoscli. Escopo da Macro Aplicação em branco onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle onValidate onValidateSuccess sc_master_value('Objeto'. O valor pode ser um campo ou variável. estes deverão ser separados por ".. 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. são os "ID" dos ítens. Ex. 18/02/2013 .parm2=[glo_filial]). Escopo da Macro 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) Esta macro retira os itens de menu passados por parâmetros. Ex. Caso o item de menu que você remova da exibição tenha nós "filhos". estes também serão omitidos." (ponto e vírgula). [valor] = {result}[0][0]. em uma aplicação Detalhe. Pode ser usada em aplicações de menu ou menu árvore.php."SELECT SUM(Total) FROM adm_pedido_itens WHERE PedidoID = '{PedidoID}'"). 2: Criando uma string com um link para a aplicação dadoscli.gestaonanuvem. Parâmetros) Esta macro tem por objetivo a criação de uma string contendo os dados de um link para outra aplicação. $string_link = sc_make_link(dadoscli. Valor que o objeto especificado receberá. não é necessário utilizar as {}. Valor) Esta macro tem o poder de atualizar qualquer objeto de uma aplicação Mestre. Devem ser informados: o nome do parâmetro... Parâmetros necessários para que a aplicação chamada possa funcionar. Ex. parm1={empresa}. $string_link = sc_make_link(dadoscli. Escopo da Macro Aplicação menu onApplicationInit onLoad http://www.php). dentro dos padrões do Scriptcase. com passagem de parâmetros.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. sc_master_value('ValorPedido'. assume true(ligar modo mobile) Ex1: sc_menu_force_mobile(true). Nas aplicações de fomulário. pode ser usada em aplicações de menu ou menus de árvore..com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Parametro01. 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. Error) Esta macro tem por objetivo redirecionar o processamento para outra aplicação ou URL. podendo ser: _self.) 2. 1: Para limpar variáveis globais. parm2="xxx"). Ex. Informar o nome do parâmetro. } Ex 2: Se uma determinada aplicação necessitar de uma variável global e esta não estiver preenchida. Ex2: sc_menu_force_mobile(false). if ([glo_usuario] == "teste") { sc_redir(aplx. podemos chamar uma outra aplicação para que o usuário preencha a informação necessária. } Ex.) 4. Target.sc_redir(Aplicação. } Ex. dos eventos que essa macro pode rodar alguns dependem da atualização da base de dados (onAfterInsert. _parent. Caso o item de menu que você desabilite da exibição tenha nós "filhos". estes também serão desabilitados. Observe que. Poderá ser informado o target no qual a aplicação será aberta (default=_self). _blank ou modal. utilizar o delimitador vírgula (. o sinal de igualdade (=) e o valor ou variável a ser atribuida. o usuário poderá tomar decisões antes que a aplicação seja executada. Desta forma. parm1={clienteid}. if ({sc_menu_item} == "item_1") { sc_reset_global([global1]. Error) if ([glo_usuario] == "teste") { sc_redir(aplx.. Escopo da Macro Aplicação menu onApplicationInit onLoad sc_menu_force_mobile(boolean) Macro utilizada para forçar a criação do menu para dispositivos móveis.Macros ScriptCase Page 28 of 40 sc_menu_disable(Id_Item1) Esta macro desabilita os itens de menu passados como parâmetros. 3: Aplicação sem parâmetros e com target. são os "ID" dos ítens. "E" não redireciona caso existam erros e "F" força redirecionamento mesmo se houver erro na aplicação.php. se não for passado. Target. utilizar o delimitador ponto e vírgula (. 18/02/2013 . [global2]). Após o nome da aplicação. } Escopo da Macro Aplicação menu onExecute sc_redir(Aplicação. Paramentro opcional para definir se vai redirecionar caso existam mensagens de erro na aplicação. onBeforeUpdate or onBeforeDelete) são automaticamente protegidos por um controle de transação desde que a conexão seja a mesma da aplicação. 5. os parâmetros a serem passados. onBeforeInsert.gestaonanuvem. Caso a aplicação de redirecionamento utilize parâmetros.php). onAfterUpdate. onAfterDelete. Havendo mais de um parâmetro. Parametro01. 2: Aplicação com parâmetros e sem target. if ([glo_usuario] == "teste") { http://www. Em outros casos. 1: Aplicação sem parâmetros e sem target. O parâmetro (true ou false) é opcional. se o usuário deseja fazer um controle de transação. Parametro02. estes devem ser passados da seguinte forma: 1. Ex. Parametro02. 3. if ({sc_menu_item} == "item_5" && (!isset([glo_empresa]) || empty([glo_empresa]))) { sc_redir(apl_inf_emp). Escopo da Macro Aplicação menu onLoad sc_menu_item Esta variável é disponível apenas nas aplicações de MENU e tem por objetivo dar acesso ao ítem que foi selecionado no menu. } Ex.br). Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onScriptInit Formulário Controle Aplicação formulário Aplicação menu onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit onApplicationInit onLoad http://www.. Ex. serão apagadas apenas as alterações da aplicação informada. 18/02/2013 .Macros ScriptCase Page 29 of 40 sc_redir(aplx. 3: Apagando as alterações de todas as aplicações. setadas através da macro sc_apl_status. } Ex. Ex. } OBS: Tudo que foi passado como parâmetro pela macro será acessível como variável global na aplicação a qual foi redirecionada. "start").php. apenas a propriedade "start". "". 1: Apagando as alterações da aplicação "minha_apl". sc_reset_apl_conf(). parm1={clienteid}. "_blank"). 4: Aplicação com parâmetros e com target. Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onClick onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit Aplicação formulário Aplicação menu onApplicationInit onScriptInit onApplicationInit onLoad sc_reset_change_connection Esta macro apaga as trocas feitas utilizando a macro "sc_change_connection".php o parâmentro poderá ser acessado fazendo chamada a variável global [parm1] e [parm2] Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute Aplicação consulta onApplicationInit onClick onNavigate onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onClick onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onScriptInit OnValidate Aplicação formulário Aplicação menu 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".. Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onClick onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit Aplicação formulário Aplicação menu onApplicationInit onScriptInit onApplicationInit onLoad sc_reset_apl_status Esta macro tem por objetivo limpar todas as variáveis de segurança. if ([glo_usuario] == "teste") { sc_redir(http://www. sc_reset_apl_conf("minha_apl"). Se informado. Ex. EX: sc_redir(aplx. parm2="xxx". Na aplicação aplx.gestaonanuvem. Ex. if ([glo_usuario] == "teste") { sc_redir(aplx. O Parâmetro "aplicação" é opcional.php.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. "_parent"). 1: sc_reset_apl_status(). parm1={clienteid}. parm2="xxx"). sc_reset_apl_conf("minha_apl".com.php.minha_pagina. 5: URL. 2: Apagando todas as alterações da aplicação "minha_apl". "Propriedade") Esta macro tem por objetivo apagar todas as alterações efetuadas pela macro sc_apl_conf. Ex. O parâmetro "conexão" é opcional.Macros ScriptCase Page 30 of 40 sc_reset_global([Variável_Global1]. 18/02/2013 . armazenadas na sessão do PHP.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. desabilitados através da macro "sc_menu_disable".. Escopo da Macro Aplicação menu onApplicationInit onLoad sc_rollback_trans("Conexão") Esta macro tem por objetivo cancelar um set de transações na base de dados... deletados através da macro "sc_menu_delete". 1: sc_reset_menu_disable(). 1: sc_reset_global ([Login]. se o comando for executado em uma base de dados diferente da especificada para a aplicação. 1: sc_reset_menu_delete().. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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 http://www. Escopo da Macro Aplicação menu onApplicationInit onLoad sc_reset_menu_disable Esta macro tem por objetivo habilitar os ítens do menu.gestaonanuvem. apenas. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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 Esta macro tem por objetivo restaurar os ítens do menu. sendo necessário. Ex.) Esta macro tem por objetivo apagar variáveis globais. Ex. [Senha]). [Variável_Global2] . if ({sc_script_name} == "apl1") { sc_reset_global([global1]. par_mes from tabela sc_select_field(par_mes) = [exibir_mes]. Desta forma. "Conexão") Esta macro permite que o usuário execute comandos SQL e tenha acesso ao "dataset" proveniente do comando. que. através da alteração dinâmica do select original. podemos chamar uma outra aplicação para que o usuário preencha a informação necessária. 1: sc_select(meus_dados. } Ex. cabendo ao usuário toda a manipulação. Ex. } Escopo da Macro Aplicação menu onExecute sc_select(dataset. Observação: Em qualquer circunstancia. à partir de um parâmetro. 2: O comando SQL também pode ser composto de campos da aplicação (variáveis locais) ou de variáveis globais: sc_select(dataset. $meus_dados->MoveNext().gestaonanuvem. Gostaríamos de ter uma consulta. Caso ocorra erro na execução do comando sql. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onClick onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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. limitecred from clientes"). nossa aplicação teria a seguinte estrutura: Cláusula select: select ano. Mensagem = " . nomecliente. "select clienteid. esta macro não manipula o dataset. Desta forma. if ({sc_script_name} == "apl1" && (!isset([glo_empresa]) || empty([glo_empresa]))) { sc_redir(apl_inf_emp). O parâmetro "conexção" é opcional. 18/02/2013 . Supondo que o parâmetro venha informado através de uma variável global de nome "exibir_mes". sendo necessário se o comando for executado em uma base de dados diferente da especificada para a aplicação. 1: Para limpar variáveis globais. exibisse os anos e apenas um determinado mês. } $meus_dados->Close(). o comando tem que ser encerrado com ponto e vírgula ".com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s."select valor pedido from pedidos where clienteid = '{clienteid}' and cod_vendedor = [var_glo_vendedor]"). Ex.". "Comando SQL". Ex. http://www. estamos alterando o label da coluna da consulta. if ({meus_dados} === false) { echo "Erro de acesso. [global2]). Diferente da macro sc_lookup. 2: Se uma determinada aplicação necessitar de uma variável global e esta não estiver preenchida. sc_label(par_mes) = [exibir_mes]. além de alterar o select. } Ex.. deixando-o em sua forma original.Macros ScriptCase Page 31 of 40 sc_script_name 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. a variável atribuida ao dataset retornará como "false" e a mensagem de erro estará disponível na variável "dataset_erro". o usuário poderá tomar decisões antes que a aplicação seja executada. } else { while (!$meus_dados->EOF){ {nome_cliente} = $meus_dados->fields[1]. {meus_dados_erro}.. 1: Temos uma tabela com as colunas ano e os meses de janeiro a dezembro. 1: Registrando uma variável do usuário $var_user = "algum valor". nome. em tempo de execução da aplicação de consulta. com o nome "campo_apl". Apenas registra as variáveis na sessão do PHP.. Escopo da Macro Aplicação consulta onScriptInit sc_select_where(add) É possível. teremos: sc_select_order("codigo") = "nome". Ex. nome. de nome para data. data from tabela order by codigo. valor. com o conteúdo existente na variável. 2: Cláusula select: select codigo. sc_set_global($var_user). Será criada uma variável de sessão com o mesmo nome e conteúdo da variável local. 18/02/2013 . em tempo de execução da aplicação de consulta. http://www. Ex. Será criada uma variável de sessão. valor from tabela order by codigo Para mudar a ordem. teremos: sc_select_order("nome") = "data". nome. 1: if({sc_seq_register} == 10) { // ultima linha da página {total} = {sum_total}. 1: Cláusula select: select codigo. valor Para mudar a ordem.gestaonanuvem. Ex. adicionar um campo/condição à cláusula WHERE da consulta. 1: sc_set_focus('nome'). pois será feita a subtituição de determinada cláusula pela nova. Ex. } else{ sc_select_where(add) = "AND campoX > [variavel_global]". Será criada uma variável de sessão. Obs: Este comando deve estar no contexto de "processar antes do select". } Escopo da Macro Aplicação consulta onScriptInit sc_seq_register Esta macro disponibiliza o número sequencial do registro que está sendo processado na aplicação de consulta. com o nome "var_user".com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Ex. Ex. Escopo da Macro 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. } Escopo da Macro sc_set_focus('Campo') Esta macro é usada para setar o focus para um determinado campo do formulario. Obs: Esta macro não faz atribuição de valores. de codigo para nome. alterar a cláusula ORDER BY do select principal da consulta. é necessário que no comando SQL original da consulta já exista pelo menos uma cláusula ORDER BY.Macros ScriptCase Page 32 of 40 Obs: Este comando deve ser implementado no evento "onInit". Ex. 2: Registranto uma variável de um campo da aplicação sc_set_global({campo_apl}). com o conteúdo "algum valor". Está disponível no eventoonRecord. Escopo da Macro Aplicação consulta onScriptInit sc_select_order("Campo") É possível. Para isso.. if (empty({sc_where_atual})){ sc_select_where(add) = "where campoX > [variavel_global]". 1: Adiciona tudo que estra dentro das aspas duplas ao where do select da consulta. 4: Mudar o idioma para Português. XML.es_mx'). Ex. Ex.pdf" Os arquivos resultantes das exportações de dados (PDF. podem ser usadas as seguintes macros: . sc_set_language('es'). Escopo da Macro Aplicação consulta onApplicationInit sc_set_language('String Language') Esta macro permite que seja definido dinamicamente o idioma utilizado nas aplicações.de_lu'). sc_set_language('ar')..com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s.en_ca'). Ex. 2: Mudar o idioma para Espanhol. sc_set_language('en_us'). Ex. com o prefixo "sc_" seguido de uma identificação única. sc_set_language('de. 3: Mudar o idioma para Arabe. Ex. Para atribuir nomes diferentes dos padrões Scriptcase. Ex. CSV e RTF) são gravados no diretório "temporário" especificado na configuração do Scriptcase. tanto em desenvolvimento quanto em produção. 1: Mudar o idioma para Inglês." entre os parâmetros. sc_set_language('en_us. que sejam definidos o idioma e as configurações regionais simultâneamente. O prefixo "sc_" faz com que o próprio Scriptcase apague os arquivos antigos. XLS. utilizando-se o delimitador ". Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit OnValidate Aplicação formulário Aplicação menu onApplicationInit onScriptInit onApplicationInit onLoad sc_set_pdf_name"sc_meu_arquivo.sc_set_csv_name .gestaonanuvem. também. sc_set_language('es. de tal maneira que um arquivo de um determinado usuário não subscreva um outro.sc_set_pdf_name . Esta macro permite.sc_set_rtf_name http://www. 2: Mudar o idioma para Espanhol e as configurações regionais para o Mexico. 3: Mudar o idioma para Alemão e as configurações regionais para Luxembourg. (Portugal) sc_set_language('pt_pt'). Ex: sc_set_groupby_rule = "id da regra". Ex..Macros ScriptCase Page 33 of 40 Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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 Esta macro é utilizada para selecionar uma regra de quebra em tempo de execução no evento onApplicationInit. 1: Mudar o idioma para Inglês e as configurações regionais para o Canadá. 18/02/2013 . Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit OnValidate Aplicação formulário Aplicação menu onApplicationInit onScriptInit onApplicationInit onLoad sc_site_ssl Esta macro verifica se está sendo utilizado um site seguro (protocolo https). OBS: 1) Estas macros devem ser utilizadas no evento "onScriptInit". 1: sc_set_theme('Newyellow'). quando este atingir o tempo limite configurado (ver a configuração "Tempo de vida dos arquivos" no ambiente de produção). Ex2: sc_set_csv_name = "sc_meu_arquivo.com.sc_set_xls_name Ex1: sc_set_xls_name = "meu_arquivo. if (!sc_site_ssl){ sc_redir("http://www. o Scriptcase apagará o arquivo. if (!sc_site_ssl){ echo "Perigo .Macros ScriptCase Page 34 of 40 .Site não é seguro".. 2) Mesmo utilizando a macro. Ex. Escopo da Macro Aplicação em branco onExecute Aplicação consulta onApplicationInit onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit OnValidate Aplicação formulário Aplicação menu onApplicationInit onScriptInit onApplicationInit onLoad sc_set_theme('String Tema') Esta macro permite que seja definido. if (sc_site_ssl){ echo "ok . dinamicamente. } Obs: Esta macro funciona apenas para o Servidor WEB IIS (Internet Information Server). } Ex. Ex.pagina_erro.csv". 1: sc_set_regional('en_us'). se mantido o prefixo "sc_" (conforme Ex2). Escopo da Macro sc_set_regional('String Regional') Esta macro permite que seja definido dinamicamente a configuração regional das aplicações.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s.Site seguro".br/") . } Ex. 2: Usando a forma negativa. 18/02/2013 . 1: Usando a forma afirmativa. o tema do layout a ser utilizado nas aplicações. 3: Redirecionando se o site não for seguro. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute Aplicação consulta onApplicationInit onClick onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onClick onLoadAll onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onScriptInit Aplicação formulário Aplicação menu onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onApplicationInit onLoad http://www. Ex.sc_set_xml_name .xls"..gestaonanuvem. Ex. {dif_horas} = {diferencas[0]}.Macros ScriptCase Page 35 of 40 onValidateSuccess sc_sql_injection({Meu_Campo}) ou ($Minha_Variável) Esta macro é usada para proteger o campo/variável contra "sql injection". minutos e segundos. respectivamente. "Formato hora1".sc_sql_protect($data_final. [2] e [3] retornarão horas. "date"). {diferencas[0]} seria igual a 86 (horas) {diferencas[1]} seria igual a 10 (minutos) http://www. "Time2 Format"). onde os índices [1]. Ex 01: Nesse exemplo estamos protegendo as datas passadas como parâmetro para que seja interpretada de forma correta com o banco de dados ACCESS. "Time1 Format". 18/02/2013 . "Tipo". gerados pelo Scriptcase.gestaonanuvem. Os resultados serão retornados no formato de array. Nos comandos gerados pelo usuário (macros: sc_lookup. {hora2}. {hora2}. têm proteção contra "sql injection". "date").noticia_data_pub BETWEEN ". Essa macro calcula a diferença entre duas datase retorna o valor em horas. deverá ser utilizada esta macro para proteção. Ex.sc_sql_protect($data_inicial. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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." AND ". "2012-07-21 15:22:57". a parâmetro "Conexão" é opicional. Parâmeter time1 Time1 Format time2 Time2 Format Description Valor ou variável contendo a primeira hora. 2: Retornando valores positivos {diferencas} = sc_time_diff ("2012-07-25 05:33:45"."". 1: Protegendo uma variável local: $campo_protect = sc_sql_injection({meu_campo}). 1: Formato geral {diferencas} = sc_time_diff ({hora1}. O parâmetro tipo até o momento só pode rececer o valor "data". "yyyy-mm-dd hh:ii:ss"). {dif_segundos} = {diferencas[2]}. sc_select ou sc_exec_sql) caso seja necessário. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute Aplicação consulta onRecord Formulário Controle Aplicação de pesquisa onLoadAll onValidate OnValidate Aplicação formulário onAfterDeleteAll onAfterInsertAll onAfterUpdateAll onBeforeDeleteAll onBeforeInsertAll onValidate sc_time_diff({hora1}. 2: Protegendo uma variável do usuário: $campo_protect = sc_sql_injection($minha_var). "Formato Hora1".. sc_select_where(add) = " AND news_noticias. "yyyy-mm-dd hh:ii:ss". "Conexão") Essa macro irá proteger o valor de acordo com o banco de dados. "Formato Hora2") sc_time_diff ({time1}. Valor ou variável contendo o formato no qual está armazenada a hora1.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. {dif_minutos} = {diferencas[1]}.. "Formato hora2"). {time2}. não informado será utilizado a conexão ativa no momento. Ex. Value or variable for Time2 Value or variable to specify the format of Time2 Ex. Todos os acessos a base de dados. "10:55:22".com. Escopo da Macro sc_trunc_num({Meu_Campo}. "18:14:55".2 Valor de saída = 1250. Valor de entrada = 1250. 2: sc_url_exit(aplx.netmake.Retorno positivo {diferencas} = sc_time_diff ("18:14:55". "hh:ii:ss". "hh:ii:ss").br). 5: Considerando apenas formato de horas . Quantidade_Decimal) Esta macro tem por objetivo truncar valores numericos. 4: Considerando apenas formato de horas . "yyyy-mm-dd hh:ii:ss").. "yyyy-mm-dd hh:ii:ss".20 Valor de entrada = 1250 Valor de saída = 1250. "hh:ii:ss"). Ex. {diferencas[0]} seria igual a 7 (horas) {diferencas[1]} seria igual a 19 (minutos) {diferencas[2]} seria igual a 33 (segundos).. 3: Retornando valores negativos {diferencas} = sc_time_diff ("2012-07-21 15:22:57". Ex. Ex.00 Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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) Esta macro altera a URL de saída da aplicação.23 Valor de entrada = 1250. "2012-07-25 05:33:45". no que exceder a quantidade de decimais especificada.gestaonanuvem.235 Valor de saída = 1250. Parâmetro Meu_Campo Descrição Variável que contem o valor a ser formatado (O retorno será na própria variável). Escopo da Macro Aplicação em branco onBeforeUpdateAll Aplicação consulta onApplicationInit onClick onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onClick onLoadAll onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onScriptInit Aplicação formulário onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit http://www. "hh:ii:ss". {diferencas[0]} seria igual a -7 (horas) {diferencas[1]} seria igual a -19 (minutos) {diferencas[2]} seria igual a -33 (segundos).com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Ex. 1: sc_trunc_num({meu_valor}. 2). Ex. Ex.php).Retorno negativo {diferencas} = sc_time_diff ("10:55:22". Quantidade_Decimal Quantidade de decimais a ser exibida. 18/02/2013 .Macros ScriptCase Page 36 of 40 {diferencas[2]} seria igual a 48 (segundos). {diferencas[0]} seria igual a -86 (horas) {diferencas[1]} seria igual a -10 (minutos) {diferencas[2]} seria igual a -48 (segundos). 1: sc_url_exit(http://www. 'admin'. Escopo da Macro sc_warning'on' ou 'off' Permite.gestaonanuvem. um item de um array inexistente. acrescida da última seleção efetuada através do formulário de filtro. à partir de um valor numérico. '_self'). 1: $salva_where = {sc_where_current}. assume "_top". Ex2: {meu_extenso} = sc_vl_extenso({meu_valor}. 'conteúdo da variável'.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Ex1: {meu_extenso} = sc_vl_extenso({meu_valor}. Ex. 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). 40. Ex. 'apl_redir. Ou seja. 18/02/2013 . 'N').php'. tam_linha. ativar ou desativar o controle de mensagens de advertencia. 'target') Esta macro é utilizada para deslogar o usuário informado do sistema. 'ctrl_login. tipo) Gera valor por extenso. dinamicamente.Macros ScriptCase Page 37 of 40 onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess sc_user_logout('nome da variável'. sc_warning = 'off'. 'V'). Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu 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.php'.. 1: Para não exibir as mensagens. reflete a cláusula where que está sendo utilizada naquele momento. Escopo da Macro sc_vl_extenso(valor. 50. Se o target não for informado. etc. Ex: sc_user_logout('usr_login'. http://www. tipo: Tipo do dado de entrada: "V" para valor ou "N" para número. As mensagens de advertencia são geradas quando é feita uma referência a uma variável inexistente.. Escopo da Macro Aplicação em branco onBeforeUpdateAll onExecute onFooter Aplicação consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onApplicationInit onClick onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onSave onScriptInit OnValidate Aplicação formulário Aplicação menu onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate onClick onLoad onLoadRecord onNavigate onApplicationInit onExecute onLoad http://www. "/temp/teste. Ex. 3: Criando um array dos arquivos e diretórios.htm".com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Ex. 2: Apenas um diretório.. para tratar a informação.Uma variável contendo um array. deverá ser informado o nome do arquivo a ser gerado. deverá ser informado um dos seguintes conteúdos: . $prep = array(). "/temp/teste. Ex. Ex. 18/02/2013 . $prep[] = "/teste". "/temp/teste. "Zip") Esta macro é usada para gerar arquivo tipo ZIP. 1: Apenas um arquivo.O nome de um diretório .htm". à partir de uma lista de arquivos e/ou diretórios. No parâmetro arquivo.zip"). assim como disponibilizar para exibir em qualquer local da consulta. 1: $salva_where_original = {sc_where_orig}. sc_zip_file("/teste/exemplo..zip").Uma variável contendo o nome de um arquivo ou o nome de um diretório .gestaonanuvem. O usuário pode utilizar. sc_zip_file($prep. Ex.Macros ScriptCase Page 38 of 40 Escopo da Macro Aplicação em branco onFooter Aplicação consulta onGroupBy onHeader onNavigate onRecord onScriptInit sc_where_filter Esta variável deixa disponível o conteúdo gerado pelo "filtro".zip"). $prep[] = " /teste/exemplo. 1: $salva_filtro = {sc_where_filter}. Escopo da Macro Aplicação em branco onFooter Aplicação consulta onGroupBy onHeader onNavigate onRecord onScriptInit sc_zip_file("Arquivo". ou o caminho para o arquivo a ser criado. que contenha uma lista de arquivos e/ou diretórios No parâmetro zip. de acordo com as seleções efetuadas no formulário de filtro. sc_zip_file("/teste". Esta informação é a que será adicionada à cláusula where do select original da aplicação. dentro dos eventos do scriptcase. Escopo da Macro Aplicação em branco onFooter Aplicação consulta onGroupBy onHeader onNavigate onRecord onScriptInit sc_where_orig Esta macro atribui o conteúdo da cláusula where do select original da aplicação.O nome de um arquivo . que estâo sendo utilizada pela conexão principal. da quebra de "cidade" que estiver sendo processada. durante a execução das aplicações do sistema. e gostaríamos de manter a senha criptografada. É importante observar que: o uso destas variáveis só terá efeito na execução das aplicações posteriores. sc_glo_senha_cript Indica se a senha de acesso está criptografada (S/N). 2: Suponha que. Contém o somatório do campo "saldo". da quebra de "cidade" que estiver sendo processada. Will show the total sum for the field "Parcel" Will show the total sum for the field "Balance" Current Group records total. [sc_db_master_cript] = "S". Variáveis sc_db_master_usr Descrição Informa o login do usuário a ser utilizado. sc_glo_decimal_db Contém o separador de decimal utilizado (ponto ou vírgula). 18/02/2013 . etc). sc_db_master_cript Inforna (S/N) se a senha está criptografada (ver macro sc_encode). foi criado um formulário com informação do "login" e "senha". Variáveis sc_glo_servidor sc_glo_banco sc_glo_tpbanco sc_glo_usuario sc_glo_senha Descrição Contém o nome do servidor. Ex. Estes dados devem ser utilizados para conectar a base de dados.. É possível definir o usuário e a senha a ser utilizado para conectar com a base de dados. [sc_db_master_usr] = {login}. e permanecerá durante toda a sessão (a menos que seja alterada). matório do campo "parcela".com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. mysql. da quebra de "cidade" que estiver sendo processada. Escopo da Macro Aplicação em branco onExecute onFooter Aplicação consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulário Controle Aplicação de pesquisa onBlur onChange onClick onClick onLoadAll onRefresh onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicação formulário Aplicação menu ajaxFieldonBlur Onchange OnClick OnFocus onApplicationInit onExecute onLoad variáveis do Report PDF Variáveis que controlam o numero de páginas utilizada em um report PDF. Estas variáveis apenas informam os valores que estão sendo utilizados. http://www. {sc_page_num} Guarda o número da página atual. Contém o nome da base de dados.gestaonanuvem. Contém o nome do usuário conectado.. em uma aplicação tipo "controle". $temp_pass = sc_encode({senha}). Ex. Escopo da Macro Variáveis de Totalização Variables {count_ger} {sum_parcel} {sum_balance} {count_groupby} {sum_groupby_parcel} Description Records total amount. Campo {sc_page_tot} Descrição Guarda o número total de páginas. Contém o tipo do banco (mssql. através da alimentação das seguintes variáveis. da quebra de "cidade" que estiver sendo processada. não permitindo atribuição de valores.Macros ScriptCase Page 39 of 40 onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess Variáveis de Database São variáveis globais que contêm os valores de acesso à base base de dados. sc_db_master_pass Informa a senha a ser utilizada. oracle. Contém a senha de acesso.. 1: $meu_banco = [sc_glo_banco]. [sc_db_master_pass] = $temp_pass. {sum_cidade_saldo} {sum_estado_saldo} Contém o somatório do campo "saldo". Contém o somatório do campo "saldo". da quebra de "estado" que estiver sendo processada. {sum_groupby_balance} Contém o somatório do campo "saldo". desejamos exibir a média em substituição ao saldo. as variáveis especiais de totalização. Contém a quantidade total dos registros. da quebra que estiver sendo processada. como no exemplo: {sum_quebra_valor} = {sum_quebra_valor} / {count_quebra}. Escopo da Macro Aplicação em branco onFooter Aplicação consulta onGroupBy onHeader onRecord Variáveis de Totalizacao (quebras) Durante o processamento das quebras. Escopo da Macro Aplicação consulta onGroupBy http://www. 1: Em um aplicação com qubra pelo estado e cidade que totaliza um campo valor.. o Scriptcase disponibiliza todas as variáveis de totalização. definidas para serem processadas no evenro "onGroupBy" estarão atuando para os vários níveis de quebra. da quebra que estiver sendo processada.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s. Contém o somatório geral do campo "parcela". {sum_quebra_parcela} Contém o somatório do campo "parcela". e nos totais das quebras. são referenciadas substituindo-se o nome da quebra pela palavra chave "quebra". e nas quebras usando totais. Contém o somatório do campo "saldo". e possivel exibir a media ao inves do valor. da quebra que estiver sendo processada.gestaonanuvem. ou seja: Variáveis {count_ger} {sum_parcela} {sum_saldo} {count_quebra} {sum_quebra_saldo} Descrição Contém a quantidade total dos registros. Ex.. 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. Contém o somatório geral do campo "saldo". 18/02/2013 . neste escopo. a nível geral e a nível da quebra que estiver sendo processada.Macros ScriptCase Page 40 of 40 Ex. 1: Em uma aplicação que tenha quebras por estado e cidade e que totalize um campo de saldo. {sum_quebra_saldo} = {sum_quebra_saldo} / {count_quebra}.