Você está na página 1de 40

Macros ScriptCase

Page 1 of 40

MACROS SCRIPTCASE

O ScriptCase dispe de macros e variveis especiais que permitem ao usurio manipular eventos, botes das aplicaes, controle de segurana, efetuar operaes com datas, etc. A seguir temos uma tabela na qual so apresentadas as macros e variveis especiais do Scriptcase, bem como os tipos de aplicaes nas quais atuam.

TABELA DE MACROS E VARIVEIS ESPECIAIS

Exibio
sc_ajax_message ("Mensagem", "Ttulo", "Parmetro", "Parmetros_Redir") sc_ajax_refresh () sc_block_display (Nome do bloco, on/off) sc_field_color ("Campo", "Cor") sc_field_disabled ("Nome_Campo = True/False", "Parmetro") 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_Monetrio", "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 aplicao exiba mensagens customizveis. Macro para dar um refresh na consulta Esta macro permite, dinamicamente, exibir ou no os campos de um determinado bloco. Esta macro altera a cor do texto de um determinado campo. Esta macro tem por objetivo bloquear a digitao em determinados campos do formulrio. Esta macro permite, dinamicamente, exibir ou no 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 formulrio. Esta macro altera a visualizao do campo. Esta macro e usada para formatar valores numricos. Esta macro permite, dinamicamente, exibir ou no o formulrio. Macro usada para desativar Regras de Quebras. Esta macro set o focus para um determinado campo do formulrio.

Segurana
sc_apl_status ("Aplicao", "Status") sc_ldap_login sc_reset_apl_conf ("Aplicao", "Propriedade") sc_reset_apl_status sc_reset_menu_delete sc_reset_menu_disable sc_user_logout ('nome da varivel', 'contedo da varivel', 'apl_redir.php', 'target') Esta macro apaga todas as alteraes efetuadas pela macro "sc_apl_conf". Esta macro deleta todas as variveis de status de segurana das aplicaes. 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 usurio informado do sistema. Esta macro tem por objetivo proteger ou liberar a utilizao das aplicaes em geral.

Filtro
sc_where_filter Esta macro disponibiliza o contedo da clusula where gerada pelo formulrio de filtro.

Cdigo de Barra
sc_lin_cod_barra_arrecadacao ({Cdigo_Barra}, Cdigo_Seguimento, Cdigo_Moeda, {Valor}, {Livre}) sc_lin_cod_barra_banco ({Cdigo_Barra}, Cdigo_Banco, Cdigo_Moeda, {Valor}, {Livre}, {Data_Vencimento}) sc_lin_digitavel_arrecadacao ({Linha_Digitavel}, {Cdigo_Barras}) sc_lin_digitavel_banco ({Linha_Digitavel}, {Cdigo_Barras}) Esta macro gera os valores que compem o cdigo de barras no padro Febraban arrecadao. Esta macro gera a linha digitvel para bloquetos de cobrana, a partir da linha do cdigo de barras, padro bancrio. Esta macro gera a linha digitvel para bloquetos de cobrana a partir da linha do cdigo de barras, padro arrecadao. Esta macro gera a linha digitvel para bloquetos de cobrana, a partir da linha do cdigo de barras, padro bancrio.

SQL
sc_begin_trans ("Conexo") sc_change_connection ("Conexao_Antiga", "Conexao_Nova") sc_commit_trans ("Conexo") sc_error_continue ("Evento") sc_error_delete sc_error_insert sc_error_update sc_exec_sql ("Comando SQL", "Conexo") sc_lookup (Dataset, "Comando SQL", "Conexo") sc_reset_change_connection sc_rollback_trans ("Conexo") Esta macro inicializa um conjunto de transaes na base de dados. Esta macro troca dinamicamente as conexes das aplicaes. Esta macro efetiva uma srie de transaes na base de dados. Esta macro desativa o tratamento de erros de banco de dados, padro do Scriptcase. Esta macro configura a varivel que contem a mensagem de erro do banco de dados que pode ocorrer durante a excluso de um registro. Esta macro configura a varivel que contem a mensagem de erro do banco de dados que pode ocorrer durante a incluso de um registro. Esta macro configura a varivel que contem a mensagem de erro do banco de dados que pode ocorrer durante a atualizao de um registro. Esta macro executa o comando SQL passado como parmetro ou o comando SQL contido no campo tipo ao SQL informado. Esta macro executa o comando SELECT informado no segundo parmetro e retorna os dados em uma varivel. Esta macro apaga as trocas feitas usando "sc_change_connection". Esta macro descarta um set de transaes 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", "Conexo") sc_select_field ({Campo}) sc_select_order ("Campo") sc_select_where (add) sc_sql_injection ({Meu_Campo}) ou ($Minha_Varivel) sc_sql_protect (Valor, "Tipo", "Conexo") sc_where_current sc_where_orig variveis database Variveis de Database

Esta macro executa o comando SELECT informado no segundo parmetro e retorna o dataset em uma varivel. Esta macro altera dinamicamente o campo que ser recuperado pela consulta. Esta macro altera dinamicamente o campo da clusula "ORDER BY" da consulta. Esta macro adiciona dinamicamente uma condio clusula WHERE da consulta. Esta macro protege o campo/varivel contra "SQL injection" Essa macro protege valor digitado de acordo com o banco de dados utilizado. Esta macro disponibiliza o contedo do select original mais o filtro. Esta macro disponibiliza o contedo da clusula where do select original da aplicao. Variveis especiais que contm os dados para acesso base de dados.

Data
sc_date (Data, "Formato", "Operador", D, M, A) sc_date_conv ({Campo_Data}, "Formato_Entrada", "Formato_Sada") sc_date_dif ({Data1}, "Formato Data1", {Data2}, "Formato Data2") sc_date_dif_2 ({Data1}, "Formato Data1", {Data2}, "Formato Data2", Opo) 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 contedo do campo passado como parmetro do formato de entrada para o formato de sada. Esta macro calcula a diferena entre datas em quantidade de dias. Esta macro calcula diferena 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("parmetro1")) sc_alert ("Mensagem") sc_apl_conf ("Aplicao", "Propriedade", "Valor") sc_calc_dv (Dgito, Resto, Valor, Mdulo, Pesos, Tipo) sc_changed ({Nome_Campo}) sc_confirm ("Mensagem") sc_decode ({Meu_Campo}) sc_encode ({Meu_Campo}) sc_error_exit (URL, "Target") ou (Minha_Aplicao, "Target") sc_error_message ("Texto") sc_exit (Opo) 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, Aplicao, Parmetros, "Hint", "Target", Altura, Largura) sc_log_add ("Ao", "Mensagem") sc_log_split ({descricao}) sc_mail_send (SMTP, Usr, Pw, De, Para, Assunto, Mensagem, Tipo_Mens, Cpias, Tp_Cpias, Porta, Tp_Conexao, Attachment) sc_make_link (Aplicao, Parmetros) sc_master_value ('Objeto', Valor) sc_redir (Aplicao, Parametro01; Parametro02, Target, Error) sc_reset_global ([Varivel_Global1], [Varivel_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 mtodos javascript chamados em eventos do formulrio/controle Esta macro exibe uma tela de mensagem no estilo Javascript. Esta macro altera as propriedades de execuo das aplicaes. Esta macro executa o clculo de dgitos verificadores. Esta macro retorna "true" se o valor do campo tiver sido modificado. Esta macro exibe uma tela de confirmao Javascript. Esta macro retorna, o campo ou varivel criptografada, sua forma original. Esta macro retorna, o campo ou varivel, de forma criptografada. Esta macro interrompe a execuo da aplicao, se existir mensagens de erro geradas pela macro "sc_erro_mensagem". Esta macro gera uma mensagem de erro. Esta macro fora a saida da aplicao. Esta macro atribui as propiedades de um campo para uma varivel javascript. Esta macro retorna a sigla do idioma em uso. Esta macro retorna a sigla da configurao regional em uso. Esta macro retorna o nome do tema do layout em uso. Esta macro altera dinamicamente o label dos campos que so apresentados nas linhas de quebra. Esta macro carrega, para serem usadas na aplicao, as imagens passadas como parmentro. Esta macro usada para efetuar "include" de rotinas PHP. Esta macro usada para selecionar dinamicamente as bibliotecas da aplicao. Esta macro altera dinamicamente o label do campo. Esta macro retorna o idioma e a configurao regional da aplicao. Esta macro cria dinamicamente um link para outra aplicao. Esta macro adiciona um registro a tabela de log. Esta macro retorna o que foi inserido no campo descrio 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 aplicao. Esta macro atualiza um objeto da aplicao Mestre em uma aplicao Detalhe. Esta macro tem por objetivo redirecionar para outra aplicao. Esta macro elimina as vriaveis de sesso recebidas como parmetro. Esta macro disponibiliza o nmero sequencial do registro que est sendo processado. Esta macro registra variveis de sesso. Macro usada para selecionar a regra das quebra. Esta macro altera o idioma das aplicaes. Esta macro altera a configurao regional das aplicaes. Esta macro define, dinamicamente, o tema de layout nas aplicaes. 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 sada da aplicao. Gera valor por extenso. Esta macro ativa ou desativa o controle de mensagens de advertncia

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") variveis report pdf variveis do Report PDF variveis totalizao Variveis de Totalizao variveis totalizacao(quebras) Variveis de Totalizacao (quebras)

Esta macro usada para gerar arquivo tipo ZIP, partir de uma lista de arquivos e/ou diretrios. Variveis que controla o nmero de pginas utilizadas no Report PDF Variveis especiais que contm todos os totais (gerais e por quebra). Variveis especiais que contm todos os totais por quebra.

Botes
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 boto "Copiar" selecionado em um formulrio. Esta macro retorna "true" quando o boto "Excluir" selecionado em um formulrio. Esta macro torna visvel, ou no, um boto da barra de ferramentas em tempo de execuo da aplicao. Esta macro retorna "true" quando o boto "Inserir" selecionado em um formulrio. Esta macro retorna "true" quando o boto "Novo" selecionado em um formulrio. Esta macro retorna "true" quando o boto "Alterar" selecionado em um formulrio.

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", "Aplicao", "Parmetro", "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", "Aplicao", "Parmetro", "Icone", "Hint", "Target") sc_btn_disabled ('id do boto', '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 dinmica. Esta Macro verifica se existe um item do menu. Esta macro remove dinamicamente um item do menu. Esta macro limpa o array para montagem dinmica de um menu. Esta macro atualiza um item do menu. Desabilita botes do Menu Esta macro remove tens da estrutura do menu. Esta macro desabilita tens da estrutura do menu. Macro utilizada para forar a criao do menu para dispositivos mveis. Esta macro Identifica qual item do menu foi clicado. Esta macro Identifica o nome da aplicao que foi selecionada nos itens do menu.

sc_ajax_javascript('NomeMetodoJavascript', array("parmetro1"))
Esta macro permite que sejam executados mtodos javascript chamados em eventos do formulrio/controle. A macro recebe dois parmetros: o primeiro (parmetro obrigatrio) uma string contendo o nome do mtodo javascript e o segundo (parmetro opcional) um array com os parmetros desse mtodo. Esta macro s valida em aplicaes com suporte a AJAX. Exemplos de chamadas de mtodos javascript: Ex. 1: Mtodo javascript sem parmetros: sc_ajax_javascript('nomeMetodoJavascript'); Ex. 2: Mtodo javascript que contem um parmetro: sc_ajax_javascript('nomeMetodoJavascript', array("parmetro")); Ex. 3: Mtodo javascript que contm dois paramentros: sc_ajax_javascript('nomeMetodoJavascript', array("param1","param2")); Escopo da Macro Formulrio Controle Aplicao formulrio onBlur onChange onClick onFocus onValidateFailure ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll Onchange OnClick OnFocus onValidate onValidateFailure onValidateSuccess

sc_ajax_message("Mensagem", "Ttulo", "Parmetro", "Parmetros_Redir")


Esta macro permite que a aplicao exiba mensagens customizveis, com seu uso restrito aos eventos do formulrio/controle quando se faz uso no eventos AJAX. Esta macro s valida em aplicaes com suporte a AJAX.

Paramtros
Mensagem

Descrio
Texto que ser exibido no corpo da mensagem. Este parametro de preenchimento obrigatrio.

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

Macros ScriptCase

Page 4 of 40

Ttulo String de Parametros da mensagem

Texto que ser exibido no ttulo da mensagem. Se no preenchido o ttulo da mensagem no ser exibido. Parmetro de formatao da mensagem. Ex.: modal=Y&button=Y&button_label=Ok&redir=form_employees.php&redir_target=_blank Os detalhes deste parmetro esto detalhados na tabela2.

String de parametros do Redirecionamento

Nesta propriedade podem ser definidos os valores para a aplicao 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 Parmetros da mensagem

Propriedade
modal timeout

Descrio
Flag para exibio da mensagem em modal Tempo em segundos para esconder mensagem. Se no informado mensagem ser exibida indefinidamente. Esta propriedade s funciona se a propriedade button no estiver habilitada. Exibe boto dentro da mensagem. O seu funcionamento padro fechar a mensagem. Caso seja habilitado o redirecionamento, aps fechar a mensagem a aplicao ser redirecionada. Label do boto. Esta opo 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 aplicaes 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 exibio do boto de fechar mensagem localizado na barra de titulo. Esta propriedade quando ativa fora a exibio da barra de titulo mesmo que o parametro titulo esteja vazio. Flag para exibio do icone do corpo da mensagem. Mesmo quando esta propriedade est ativa a exibio do icone depende da configurao do Tema (Esquema de exibio) usado na aplicao. String Y ou N

body_icon

Y ou N

body_icon=N

Ex. 01 sc_ajax_message ("Message", "Title", "timeout=0"); Escopo da Macro Aplicao consulta onClick Formulrio Controle Aplicao formulrio 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 Aplicao 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 Formulrio Controle onLoadAll onValidate

sc_apl_conf("Aplicao", "Propriedade", "Valor")


Esta macro permite alterar as propriedades de execuo das aplicaes, mudando sua forma de execuo em relao ao inicialmente previsto. Desta forma, podemos forar que um formulrio inicie no modo de incluso, ou uma consulta inicie pelo filtro, etc. Esta macro deve ser utilizada, por uma aplicao, para modificar as propriedades de uma outra aplicao.

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

Macros ScriptCase

Page 5 of 40

Propriedades para aplicaes de Formulrio 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 Fora o formulrio a iniciar no modo de incluso de novo registro. Habilita (on) ou desabilita (off) o boto para a incluso de novos registros. Habilita (on) ou desabilita (off) o boto para a alterao de registros. Habilita (on) ou desabilita (off) o boto para a excluso de registros. Desabilita a exibio de um campo. Habilita a exibio de um campo. Fora um campo para ser exibido como "readonly". Fora a quantidade de linhas por pgina. (apenas para formulrios de mltiplas linhas) Fora a quantidade de linhas de incluso. (apenas para formulrios de mltiplas linhas)

Propriedades para aplicaes de Consulta Propriedade start cols rows lig_edit on/off Valor filter Descricao Fora a consulta a iniciar pelo filtro. Fora a quantidade de colunas (consultas tipo vertical e slide) Fora a quantidade de linhas por pgina Habilita (on) ou desabilita (off) o boto de edio do registro (lapis)

Propriedades para todas as aplicaes Propriedade exit Valor apl/url Descricao Fora a saida da aplicao para a "aplicao" ou "url" informada. Ex. 1: Forar

a aplicao "meu_formulario" a iniciar no modo de incluso. sc_apl_conf("meu_formulario", "start", "new"); Ex. 2: No permite que a aplicao "meu_formulario" faa incluso de novos registros. sc_apl_conf("meu_formulario", "insert", "off"); Ex. 3: Exibe "meu_campo", da aplicao "meu_formulario", dinamicamente. sc_apl_conf("meu_formulario", "field_display_off", "meu_campo"); Ex. 4: Forar a aplicao "minha_consulta" a iniciar pelo filtro. sc_apl_conf("minha_consulta", "start", "filter"); Ex. 5: Forar a aplicao "minha_consulta" a exibir 20 linhas. sc_apl_conf("minha_consulta", "rows", "20"); Ex. 6: Forar a saida da aplicao "minha_consulta" para a aplicao "outra_consulta". sc_apl_conf("minha_consulta", "exit", "outra_consulta"); Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onClick onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onScriptInit Aplicao formulrio Aplicao menu onApplicationInit onScriptInit onApplicationInit onLoad

sc_apl_status("Aplicao", "Status")
Esta macro tem por objetivo proteger ou liberar a utilizao das aplicaes, quando utilizado o modulo de segurana. Assim, em funo do "Login" do usurio, podem ser determinadas as aplicaes que o mesmo pode ou no acessar.

Aplicao: o nome ou a varivel que contenha o nome da aplicao a ser ativada/desativada. Status: o valor ou a varivel que contenha o valor a ser atribudo aplicao. Os valores so: "on" para ativar e "off" para desativar. Ex. 1: sc_apl_status ('atu_cad', 'off'); Ex. 2: sc_apl_status ({var_nome_apl}, {var_status}); Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onClick onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onScriptInit Aplicao formulrio Aplicao menu onApplicationInit onScriptInit onApplicationInit onLoad

sc_appmenu_add_item("Menu_Nome", "Id_Item", "Id_Pai", "Label", "Aplicao", "Parmetro", "Icone", "Hint", "Target")


Adiciona um item dinamicamente a uma aplicao de menu. S possvel utilizar esta macro quando j existe um array gerado com a macro sc_appmenu_create antes. Parametro Id_Item Id_Pai Label Aplicao Parmetro Icone Descrio Cdigo identificador do item do menu Cdigo identificador do pai do item do menu. Se o item for raiz o valor para esse parametro deve ser passado em branco. Descrio para o item do menu Nome da aplicao ou URL para o item do menu String de parametros a serem passado a aplicao do item do menu. Ex.: param1=valor;param2=valor Caminho para icone usado no item do menu

Menu_Nome Nome da aplicao de menu

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

Macros ScriptCase

Page 6 of 40

Hint Target

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

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

sc_appmenu_create("Menu_Nome")
Esta macro inicia o array para montagem dinmica de uma aplicao de menu. Deve ser informado o nome da aplicao de menu como parmetro. Esta macro deve ser usada em eventos do controle ou no evento onload do menu. Ex. 1: sc_appmenu_create('menu_main'); Escopo da Macro Aplicao menu onApplicationInit onLoad

sc_appmenu_exist_item("Menu_Nome", "Id_Item")
Verifica se um item do menu existe e retorna um valor true ou false. Parmetro Id_Item Ex. 1: if(sc_appmenu_exist_item('menu_main', 'item_2')){ sc_appmenu_update_item('menu_main','item_2','item_1','Category Form','form_category'); } else{ sc_appmenu_add_item('menu_main','item_2','item_1','Category Form','form_category'); } Escopo da Macro Aplicao menu onApplicationInit onLoad Descrio Cdigo identificador do item do menu

Menu_Nome Nome da aplicao de menu

sc_appmenu_remove_item("Menu_Nome", "Id_Item")
Remove dinamicamente um item do menu. Para utilizar esta macro necessrio que a macro sc_appmenu_create seja executa antes da mesma. Parmetro Menu_Nome Id_Item Descrio Nome da aplicao de menu Cdigo identificador do item do menu Ex. 1: sc_appmenu_remove_item('menu_main','item_2');

Escopo da Macro Aplicao menu onApplicationInit onLoad

("Menu_Nome")
Esta macro limpa o array para montagem dinmica de uma aplicao menu. Deve ser informado o nome da aplicao de menu como parmetro. Ex. 1: sc_appmenu_reset('menu_main'); Escopo da Macro Aplicao menu

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

Macros ScriptCase

Page 7 of 40

onApplicationInit onLoad

sc_appmenu_update_item("Menu_Nome", "Id_Item", "Id_Pai", "Label", "Aplicao", "Parmetro", "Icone", "Hint", "Target")


Atualiza um item dinmicamente a uma aplicao de menu. S possvel utilizar esta macro quando j existe um array gerado com a macro sc_appmenu_create antes. S possvel utilizar esta macro nos itens que tenham sido criados com a macro sc_appmenu_add_item antes. Parmetro Id_Item Id_Pai Label Aplicao Parmetro Icone Hint Target Descrio Cdigo identificador do item do menu. Cdigo identificador do pai do item do menu. Se o item for raiz o valor para esse parametro deve ser passado em branco. Descrio para o item do menu. Nome da aplicao ou URL para o item do menu. String de parametros a serem passado a aplicao do item do menu. Ex.: param1=valor;param2=valor Caminho para icone usado no item do menu. Hint descritivo para o item do menu. Target para o link do item do menu.

Menu_Nome Nome da aplicao de menu.

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

Escopo da Macro Aplicao menu onApplicationInit onLoad

sc_begin_trans("Conexo")
Essa macro inicia um conjunto de transaes no banco de dados. Nas aplicaes de fomulrio, dos eventos que essa macro pode rodar alguns dependem da atualizao da base de dados (onAfterInsert, onAfterUpdate, onAfterDelete, onBeforeInsert, onBeforeUpdate or onBeforeDelete) so automaticamente protegidos por um controle de transao desde que a conexo seja a mesma da aplicao. Em outros casos, se o usurio deseja fazer um controle de transao, ele precisa iniciar essa macro e finalizar com "sc_commit_trans()" macro para confirmar a atualizao ou o "sc_rollback_trans" para cancelar a transao. O parmetro "conexo" opicional, necessrio apenas se o comando executado numa base de diferente da especificada na aplicao. Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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, on/off)


Permite, dinamicamente, exibir ou no os campos de um determinado bloco. Em princpio, todos os blocos so exibidos (condio "on").

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

Obs: No caso de consultas, esta macro s funciona para a orientao "slide". Escopo da Macro

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

Macros ScriptCase

Page 8 of 40

Aplicao consulta onScriptInit

Formulrio Controle Aplicao formulrio onClick onLoadAll onRefresh onScriptInit onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_btn_copy
Quando o boto "Copiar" clicado, esta macro disponibilizada, podendo ser testado e utilizado dentro dos eventos, permitindo a tomada de decises em tempo real de execuo. Ex. 1: if (sc_btn_copy) { sc_error_message("Registro foi copiado com sucesso"); } Escopo da Macro

sc_btn_delete
Quando um dos botes da barra de ferramentas de um formulrio (novo, atualizar, excluir ou incluir) so clicados, esta macro disponibilizada, podendo ser testado e utilizado dentro dos eventos, permitindo a tomada de decises em tempo real de execuo. Ex. 1: if (sc_btn_delete) { sc_error_message("Impossivel excluir este registro"); } Escopo da Macro Aplicao formulrio onValidate onValidateFailure onValidateSuccess

sc_btn_disabled('id do boto', 'on/off')


Esta macro utilizada para desabilitar ou habilitar botes da aplicao de Menu.

Ex: sc_btn_disable('btn_2', 'off'); Escopo da Macro Aplicao menu onLoad

sc_btn_display("Nome_Botao", "on/off")
Usado dentro dos eventos, podem ser ativados ou desativados os botes da barra de ferramentas. Nome_botao: o nome ou a varivel que contenha o nome do boto a ser ativado/desativado. Nome dos botes (consulta): Nome do Boto first back forward last filter pdf det_pdf pdfbw xls xml cvs rtf word print det_print summary new Descrio Navega para o incio da consulta. Navega para a pgina anterior. Navega para a pgina seguinte. Navega para a ltima pgina. Controla a exbio do boto "Filtro" na grid. Gera o PDF colorido da consulta. Gera o PDF no detalhe. Gera o PDF preto e branco da consulta. Gera o XLS. Gera o XML. Gera o CSV. Gera o RTF. Gera o Word. Abre a consulta no formato de impresso. Abre o detalhe no formato deimpresso. Controla a exibio do boto "Resumo" na grid. Controla a exibio do boto "Novo" possibilitando a incluso de novos registros. (se a aplicao tiver link para tal, ou

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

Macros ScriptCase

Page 9 of 40

se o formulrio estiver rodando em iframe da consulta) insert update delete qsearch Controla a exibio do boto "Inserir". (apenas em casos de formulrio rodando em iframe da consulta) Controla a exibio do boto "Atualizar". (apenas em casos de formulrio rodando em iframe da consulta) Controla a exibio do boto "Delete". (apenas em casos de formulrio rodando em iframe da consulta) Controla a exibio do boto "Quick Search".

Nome dos botes (Formulrio): Nome do Boto first back forward last new insert update delete copy qsearch pdf print Descrio Navega para o primeiro registro do formulrio. Navega para o registro anterior. Navega para o registro seguinte. Navega para o ltimo registro formulrio. Controla a exibio do boto "Novo" em um formulrio, usado em off o formulrio iniciado em modo de incluso. Controla a exibio do boto "Incluir". Controla a exibio do boto "Atualizar". Controla a exibio do boto "Excluir". Controla a exibio do boto "Copiar". Controla a exibio do boto "Quick Search". Gera documento PDF a partir do formulrio. Abre o formulrio no modo de impresso.

Nome dos botes (Controle): Nome do Boto ok exit facebook twitter google paypal Descrio Controla a exibio do boto "Ok" em um controle. Controla a exibio do boto "Sair". Controla a exibio do boto "Facebook". Controla a exibio do boto "Twitter" Controla a exibio do boto "Google+" Controla a exibio do boto "PayPal"

OBS. Os nomes dos botes devem estar todo em minusculo. Ex. 1: sc_btn_display ('new', 'off');

Ex. 2: Ao passarmos variveis ou campos ({campo} ou [variavel_global]) como parmetros no se faz necessrio o uso de aspas duplas ou simples antes e depois da varivel. sc_btn_display ({variavel_botao}, 'off'); Escopo da Macro Aplicao consulta onScriptInit Formulrio Controle Aplicao formulrio onLoadAll onRefresh onScriptInit onValidate onValidateFailure onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_btn_insert
Quando o boto "Inserir" clicado, esta macro disponibilizada, podendo ser testado e utilizado dentro dos eventos, permitindo a tomada de decises em tempo real de execuo. Ex. 1: if (sc_btn_insert) { sc_error_message("Registro incluido com sucesso"); } Escopo da Macro Aplicao formulrio onValidate onValidateFailure onValidateSuccess

sc_btn_new
Quando o boto "Novo" clicados, esta macro disponibilizada, podendo ser testado e utilizado dentro dos eventos, permitindo a tomada de decises em tempo real de execuo.

Ex. 1: if (sc_btn_new) { {Minha_Data} = date('Y/m/d'); } Escopo da Macro Aplicao formulrio onLoad

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

Macros ScriptCase

Page 10 of 40

sc_btn_update
Quando o boto "Alterar" clicado, esta macro disponibilizada, podendo ser testada e utilizada dentro dos eventos, permitindo a tomada de decises em tempo real de execuo. Ex. 1: if (sc_btn_update) { sc_error_message("Registro alterado com sucesso!"); } Escopo da Macro Aplicao formulrio onValidate onValidateFailure onValidateSuccess

sc_calc_dv(Dgito, Resto, Valor, Mdulo, Pesos, Tipo)


Esta macro tem por objetivo o clculo de dgitos verificadores. Parmetro Dgito Resto Valor Mdulo Pesos Tipo Descrio Varivel na qual ser retornado o dgito calculado. Varivel na qual ser retornado o "resto" da diviso do clculo do dgito. Valor ou Varivel sobre o qual ser calculado o dgito. Valor ou Varivel contendo o mdulo a ser utilizado. Se omitido ser assumido o mdulo "11". Valor ou Varivel contendo os pesos a serem utilizados. Se omitido sero assumidos os valores "98765432". Valor ou Varivel contendo o tipo de clculo das parcelas a ser utilizado, sendo: 1 para soma normal dos valores das parcelas e 2 para soma de cada algarismo das parcelas. Se omitido ser assumido o tipo "1".

Ex. 1: sc_calc_dv({meu_dig}, {meu_resto}, 1234567, 11, 98765432, 1); Calculo parcelas: 7x2= 14 ; 6x3=18 ; 5x4=20 ; 4x5=20 ; 3x6=18 ; 2x7=14 ; 1x8=8 Soma parcelas : 14+18+20+20+18+14+8 = 112 Resto da divisao de 112 / 11 = 2 Dgito : 11 - 2 = 9 Ex. 2: sc_calc_dv({meu_dig}, {meu_resto}, 1234567, 10, 12, 2); Calculo parcelas: 7x2= 14 ; 6x1=6 ; 5x2=10 ; 4x1=4 ; 3x2=6 ; 2x1=2 ; 1x2=2 Soma parcelas : 1+ 4+6+1+0+4+6+2+2 = 26 Resto da divisao de 26 / 10 = 6 Dgito : 10 - 6 = 4 Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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 alterao em determinado campo do formulrio. Ex. 1: if (sc_changed({Nome_Campo})) { Echo "O campo foi modificado"; } Escopo da Macro Aplicao consulta onGroupBy Formulrio Controle Aplicao formulrio onRefresh onBeforeUpdate onValidate onValidateFailure onValidateSuccess

sc_change_connection("Conexao_Antiga", "Conexao_Nova")
Troca dinamicamente as conexes das aplicaes Ex. 1: Trocar as conexes: sc_change_connection("Conexo_Antiga01", "Conexo_Nova01" ; "Conexo_Antiga02", "Conexo_Nova02"); Pode mudar vrias no mesmo comando, usando o separador ";"

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

Macros ScriptCase

Page 11 of 40

Ex. 2: Pode usar variveis: sc_change_connection({Senha}, [Teste] ; "Minha_Conexo", [Global_Conexo]); sc_change_connection([Conexo_Global], [Nova_Conexo]); Pode trocar, tambm, a conexo principal. As trocas s tm efeito nas aplicaes seguintes. Ex. 3: Para apagar as trocas feitas: sc_reset_change_connection();

Escopo da Macro

sc_commit_trans ("Conexo")
Esta macro tem por objetivo efetivar uma serie de transaes na base de dados. Nas aplicaes de formulrio, em eventos que cotenham qualquer macro que dependa de atualizao na base de dados (sc_AfterInsert, sc_AfterUpdate, sc_AfterDelete, sc_BeforeInsert, sc_BeforeUpdate ou sc_BeforeDelete) esto automaticamente protejidas por controle de transao, desde que a conexo seja a mesma da aplicao. Caso o usurio, em alguma destes eventos, venha a utilizar um redirecionamento de aplicao (macro "sc_redir") dever, antes do redir, utilizar esta macro para garantir as transaes efetuadas anteriormente. O parmetro "conexo" opcional, sendo necessrio, apenas, se o comando for executado em uma base de dados diferente da especificada para a aplicao. Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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, que rodem quando chamadas atravs de boto na barra de ferramentas. Tem por objetivo a confirmao de que a ao dever ser realmente executada, previnindo-se, assim, que a frmula seja executada de maneira indevida. Ex. 1: sc_confirm ("Deseja realmente executar a ao ??"); Escopo da Macro Aplicao consulta onClick Formulrio Controle Aplicao formulrio onClick onClick

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


Esta macro tem por objetivo o clculo do incremento ou decremento de datas. Para sua utilizao so necessrios alguns parmetros, conforme a seguir: Parmetro Descrio Data Formato Operador D M A Campo de data que contm a data a ser modificada. Formatao em que o campo de data se encontra. "+" para incremento e "-" para decremento. Nmero de dias a incrementar ou decrementar. Nmero de meses a incrementar ou decrementar. Nmero de anos a incrementar ou decrementar.

Ex. 1: {datanasc} = sc_date({datanasc}, "dd/mm/aaaa", "+ ", 30, 0, 0); Ex. 2: $nova_data = sc_date({datanasc}, "aaaa-mm-dd", "-", 15, 3, 2); Ex. 3: {dt_inclusao} = sc_date(date('Ymd'), "aaaammdd", "-", 0, 1, 1); OBS: Para certificar-se do formato da data, antes de utilizar a funo, ponha seu comando em algum evento: echo "form_data = " . {nome do campo de data};

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

Macros ScriptCase

Page 12 of 40

Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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}, "Formato_Entrada", "Formato_Sada")


Um trabalho relativamente complexo na programao a manipulao de datas. Para minimizar este problema o ScriptCase disponibiliza a funo para converso de datas sc_date_conv. Parmetro Descrio A ou Y M D Usado para referenciar ano. Usado para referenciar ms. Usado para referenciar Dia.

Db_Format Para formato de data do banco de dados. Ex. 1: O cdigo abaixo converte a data do formato "dd/mm/aaaa" para o formato "aaaammdd" {campo_data} = sc_date_conv({campo_data},"dd/mm/aaaa","aaaammdd"); Ex. 2: O cdigo 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","dd/mm/aaaa"); Ex. 3: O cdigo abaixo converte a data do formato "dd/mm/aaaa" para o formato nativo do Banco de dados {campo_data} = sc_date_conv({campo_data},"dd/mm/aaaa","db_format"); Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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}, "Formato Data1", {Data2}, "Formato Data2")


Esta macro calcula a diferena entre datas, em quantidade de dias. Parmetro Data1 Formato Data1 Data2 Formato Data2 Descrio Valor ou varivel contendo a primeira data. Valor ou varivel contendo o formato no qual est armazenada a data1. Valor ou varivel contendo a segunda data. Valor ou varivel contendo o formato no qual est armazenada a data2.

Ex. 1: {quantidade_dias} = sc_date_dif({data1}, "aaaa-mm-dd", {data2}, "dd/mm/aaaa"); Ex. 2: {quantidade_dias} = sc_date_dif("2000-05-01", "aaaa-mm-dd", "21/04/2004", "dd/mm/aaaa"); {quantidade_dias} seria igual a 1451 (dias) Obs: Embora os formatos possam ser diferentes, as datas devem ser compostas de dia, ms e ano Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute Aplicao consulta onApplicationInit onClick Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onApplicationInit onRefresh Aplicao formulrio Aplicao menu ajaxFieldonBlur onAfterDelete onApplicationInit onExecute

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

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}, "Formato Data1", {Data2}, "Formato Data2", Opo)


Calcula diferena entre datas, retornando a quantidade de dias, meses e anos. O resultado ser retornado em forma de array, no qual o ndice 0 ter a a quantidade de dias, o ndice 1 ter a quantidade de meses e o ndice 2 ter a quantidade de anos. Parmetro Data1 Formato Data1 Data2 Formato Data2 Opo Descrio Valor ou varivel contendo a primeira data. Valor ou varivel contendo o formato no qual est armazenada a data1. Valor ou varivel contendo a segunda data. Valor ou varivel contendo o formato no qual est armazenada a data2. 1 = no considera o dia inicial; 2 = considera o dia inicial.

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

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

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

Obs: Embora os formatos possam ser diferentes, as datas devem ser compostas de dia, ms e ano. Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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.

Ex. 1: if (sc_date_empty({data_nasc}) ) { sc_erro_mensagem("Dados invlidos"); } Escopo da Macro Aplicao em branco Aplicao consulta Formulrio Controle Aplicao de pesquisa Aplicao formulrio

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

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, o campo ou varivel criptografada, sua forma original.

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

Ex. 2: Descriptografando uma varivel do usurio: $minha_var = sc_decode($campo_cript);

OBS: A Netmake no se responsabiliza pela possvel quebra do algortimo de criptografia utilizado, uma vez que o algoriimo fornecido com o fonte aberto. Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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, o campo ou varivel, de forma criptografada. Ex. 1: Criptografando uma varivel local: $campo_criptografado = sc_encode({meu_campo});

Ex. 2: Criptografando uma varivel do usurio: $campo_criptografado = sc_encode($minha_variavel);

OBS: A Netmake no se responsabiliza pela possvel quebra do algoritimo de criptografia utilizado, uma vez que o algoritimo fornecido com o fonte aberto. Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao menu ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick onClick OnFocus onApplicationInit onExecute onLoad

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

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, padro do Scriptcase, para o evento passado como parmetro e permite que o programador trate os erros do banco de dados. Pode ser usada por exemplo quando no banco de dados existem triggers/procedures que fazem validaes referentes aos eventos de incluso, atualizao e excluso de registros. usada em conjunto com as variveis: {sc_erro_delete},{sc_erro_insert} e/ou{sc_erro_update} Os eventos a serem passados como parmetro so: inserir, delete ou update.

Ex. 1: Utilizando o evento onDelete para tratamento de mensagem devolvida por uma trigger do mssql, que cancela a excluso do registro e manda uma mensagem de erro no formato: [Microsoft][ODBC SQL Server Driver][SQL Server] Voc no pode apagar este registro. sc_error_continue("delete"); if (!empty({sc_erro_delete})) { $tmp = strrpos({sc_erro_delete}, "]"); if ($tmp !== false) { {sc_erro_delete} = substr({sc_erro_delete}, $tmp + 1); } sc_erro_mensagem({sc_erro_delete}); sc_erro_exit; } Escopo da Macro Formulrio Controle Aplicao formulrio onScriptInit onBeforeDelete onBeforeInsert onBeforeUpdate

sc_error_delete
Esta varivel retorna uma string contendo qualquer mensagem de erro do banco de dados, que ocorra ao se tentar excluir um registro. utilizada quando precisamos tratar estas mensagens. Por exemplo, no caso validaes feitas no banco de dados via triggers ou procedures que retornam mensagem. Ex. 1: Contedo da varivel {sc_erro_delete}, retornando uma mensagem de erro gerada por uma triger do banco de dados usando MsSQL. [Microsoft][ODBC SQL Server Driver][SQL Server] Voc no pode apagar este registro. OBS: Para ter acesso ao retorno do erro do banco, veja a macro "sc_error_continue". Escopo da Macro Aplicao formulrio onAfterDelete

sc_error_exit(URL, "Target") ou (Minha_Aplicao, "Target")


Interrompe a execuo da aplicao, se existir mensagens de erro geradas pela macro "sc_error_message", exibindo uma tela com as mensagens de erro. Se informada uma URL ou o nome de uma Aplicao, ser exibido, alm das mensagens de erro, um boto "OK" para redirecionar o processamento para a URL/Aplicao informada. A parmetro target e opicional.

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

Ex. 2: Exibe as mensagens de erro e o boto "OK" para redirecionar para a URL informada. sc_error_exit(http://www.meusite.com.br); Ex. 3: Exibe as mensagens de erro e o boto "OK" para redirecionar para a Aplicao informada. sc_error_exit(minha_aplicacao, "_blank"); Escopo da Macro Aplicao em branco onBeforeUpdateAll Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess OnValidate Aplicao formulrio ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick OnFocus

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

Macros ScriptCase

Page 16 of 40

onNavigate onValidate onValidateFailure onValidateSuccess

sc_error_insert
Esta varivel retorna uma string contendo qualquer mensagem de erro do banco de dados, que ocorra ao se tentar inserir um registro. utilizada quando precisamos tratar estas mensagens. Por exemplo, no caso validaes feitas no banco de dados via triggers ou procedures que retornam mensagem. Ex. 1: contedo da varivel {sc_erro_insert}, retornando uma mensagem de erro gerada por uma trigger do banco de dados usando mssql. [Microsoft][ODBC SQL Server Driver][SQL Server] Voc no pode incluir este registro. OBS: Para ter acesso ao retorno do erro do banco, veja a macro "sc_error_continue". Escopo da Macro Aplicao formulrio onAfterInsert

sc_error_message("Texto")
Esta macro tem por objetivo possibilitar ao usurio enviar mensagens de erro. Nas aplicaes de "Formulrio e Controle" as mensagens sero apresentadas juntamente com as demais mensagens de erro encontradas na aplicao, exceto se utilizada a macro "sc_erro_exit". Nas aplicaes de "Consulta e Menu" as mensagens s sero apresentadas atravs da macro "sc_erro_exit". Ex. 1: if ({desconto} > 0,10 && [glo_usuario] == 'operador') { sc_error_message("Desconto de " . {desconto} . "acima do permitido"); } Neste exemplo, se for digitado um valor no campo desconto acima de 0,10 e o usurio tentar inserir ou salvar este registro, a operao ser encerrada e a mensagem de erro ser apresentada. obrigatrio que o comando termine com ");" (fecha parentese e ponto e vrgula) que servem de delimitador para o interpredador da macro Escopo da Macro Aplicao em branco onBeforeUpdateAll Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess OnValidate Aplicao formulrio ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange OnClick OnFocus onNavigate onValidate onValidateFailure onValidateSuccess

sc_error_update
Esta varivel retorna uma string contendo qualquer mensagem de erro do banco de dados, que ocorra ao se tentar atualizar um registro. utilizada quando precisamos tratar estas mensagens. Por exemplo, no caso validaes feitas no banco de dados via triggers ou procedures que retornam mensagem. Ex. 1: contedo da varivel {sc_erro_update}, retornando uma mensagem de erro gerada por uma triger do banco de dados usando mssql. [Microsoft][ODBC SQL Server Driver][SQL Server] Voc no pode atualizar este registro. Obs: Para ter acesso ao retorno do erro do banco, veja a macro "sc_error_continue". Escopo da Macro Aplicao formulrio onAfterUpdate

sc_exec_sql ("Comando SQL", "Conexo")


Esta macro permite a execuo de comandos SQL, para os quais o usurio poder condicionar as circunstncias em que os mesmos devem ser executados. O parmetro "conexo" opcional, sendo necessrio, apenas, se o comando for executado em uma base de dados diferente da especificada para a aplicao.

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

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

Macros ScriptCase

Page 17 of 40

Aplicao em branco onBeforeUpdateAll onExecute onFooter

Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit

Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate

Aplicao formulrio Aplicao 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(Opo)
Esta macro utilizada nos eventos ou atravs de um boto PHP criado, tem por objetivo definir o retorno da aplicao aps a execuo em uma outra aplicao.

A utilizao desta macro, nesta modalidade, prov as seguintes alternativas: Opo sc_exit() sc_exit(ok) sc_exit(sel) sc_exit(ref) sc_exit(ok,ref) sc_exit(ok,sel) Descrio No exibe a tela com o boto OK e retorna para a aplicao anterior. Exibe a tela com o boto OK e retorna para a aplicao anterior. No exibe a tela com o boto OK e retorna para a aplicao corrente, refazendo o select da aplicao. No exibe a tela com o boto OK e retorna para a aplicao corrente, fazendo apenas a recarga (refresh) dos dados. Mesmo que a funo sc_exit(ref); porm, exibe a tela com o boto OK. Mesmo que a funo sc_exit(sel); porm, exibe a tela com o boto OK.

Esta opo s vlida para aplicaes de Formulrio e aplicaes de Controle. Opo sc_exit() sc_exit(c) sc_exit(r) Descrio No afeta transaes na base de dados. Realiza as transaes pendentes. No realiza as transaes pendentes.

Escopo da Macro Formulrio Controle Aplicao formulrio onClick onScriptInit onClick onScriptInit

sc_field_color("Campo", "Cor")
Esta macro tem por objetivo, de forma dinmica, alterar/restaurar a cor do texto de determinado campo da consulta.

Ex. 1: Altera em definitivo a cor de texto do campo "clienteid" da consulta. sc_field_color ("clienteid", "#33FF66"); Ex. 2: Altera a cor de texto do campo "valor_pedido", se o valor for maior que 1000. Caso contrrio, mantem a cor padro. if ({valor_pedido} > 1000) { sc_field_color ("valor_pedido", "#33FF66"); } else { sc_field_color ("valor_pedido", ""); } Ex. 3: Utilizando uma varivel local. sc_field_color ("clienteid", {cmp_cor}); Ex. 4: Utilizando uma varivel global. sc_field_color ("clienteid", [cor_global]); Escopo da Macro Aplicao consulta onRecord onScriptInit

sc_field_disabled ("Nome_Campo = True/False", "Parmetro")


Esta macro tem por objetivo bloquear a digitao em determinados campos do formulrio. Campos a serem bloqueados, devem ser seguidos da opo de bloquear "true" (default) ou no "false". O parmetro opcional, usando "I" apenas na incluso, e "U" apenas na alterao. Caso no seja informado, o ScriptCase ir usar as duas opces juntas.

Ex. 1: Bloqueio de um campo, incluso e atualizao.

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

Macros ScriptCase

Page 18 of 40

sc_field_disabled("Campo_01"); Ex. 2: Retirando o bloqueio de um campo, incluso e atualizao. sc_field_disabled("Campo_02=false"); Ex. 3: Bloqueio de vrios campos, apenas na atualizao. sc_field_disabled("Campo_01; Campo_02; Campo_03", "U"); Ex. 4: Combinao de bloqueio e desbloqueio de vrios campos, incluso e atualizao. sc_field_disabled("Campo_01=true; Campo_02=false; Campo_03=true"); Escopo da Macro Formulrio Controle Aplicao formulrio onLoadAll onLoad onNavigate

sc_field_display({Meu_Campo}, on/off)
Permite, dinamicamente, exibir ou no um determinado campo. Em princpio, todos os campos so exibidos (condio "on"). Ex. 1: if ({tp_cli} == "fisica") { sc_field_display({cnpj}, off); } else { sc_field_display({cpf}, off); } Escopo da Macro Aplicao em branco onBeforeUpdateAll Aplicao consulta onClick onScriptInit Formulrio Controle Aplicao formulrio onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onBeforeInsertAll Onchange OnClick OnFocus onLoad onLoadRecord onNavigate onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

sc_field_init_off(campo1, campo2,...)
Esta macro tem por objetivo inibir campos da consulta na carga inicial. Os campos inibidos por essa macro podem ser habilitados pela utilizao do boto "Colunas". Ex 01: sc_field_init_off ({ordem_id}, {valor_total}); Escopo da Macro Aplicao consulta onApplicationInit

sc_field_readonly({Campo}, on/off)
Permite, dinamicamente, transformar em readonly um determinado campo do formulrio.

Em princpio, os campos readonly so especificados na interface de configurao do formulrio e funcionam da seguinte forma: No modo de atualizao, os campos aparecem na forma readonly e, no modo de incluso, os campos aparecem abertos para digitao. O segundo parmetro "on/off" opcional, e serve para que, em um evento Ajax, seja possvel definir se um campo vai ficar como read-only (on) ou deixar de ser read-only (off). Ex. 1: Se desejamos que um determinado campo, especificado na interface como readonly, permanea readonly no modo de incluso, teremos: if (sc_btn_new) { sc_field_readonly({meu_campo}); } Ex. 2: Se desejamos que um determinado campo, que no tenha sido especificado na interface como readonly, aparea na forma readonly, teremos: sc_field_readonly({meu_campo}); Escopo da Macro Aplicao em branco onBeforeUpdateAll Formulrio Controle Aplicao formulrio onBlur onChange onClick onFocus ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert

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

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}, "Background-Color", "Size", "Color", "Family", "Weight")


Esta macro permite que seja modificado o estilo do campo da consulta dinamicamente. Parmetro Field Background-Color (opcional) Size (opcional) Color (opcional) Family (opcional) Weight (opcional) Descrio Nome do campo Cor de fundo da clula do campo Tamanho da fonte do campo Cor da fonte Famlia da fonte Largura da fonte

Ex. 01: sc_field_style({data_nasc}, '#33FF99', '15px', '#000000', 'Arial, sans-serif', 'bold'); Escopo da Macro Aplicao consulta onRecord onScriptInit

sc_format_num({Meu_Campo}, "Simb_Grp", "Simb_Dec", "Qtde_Dec", "Enche_Zeros", "Lado_Neg", "Simb_Monetrio", "Lado_Simb_Monetario")


Esta macro tem por objetivo a formatao de valores numricos. Parmetro Meu_Campo Simb_Grp Simb_Dec Qtde_Dec Enche_Zeros Lado_Neg Simb_Monetrio Descrio Varivel ou campo que contena o valor a ser formatado (O retorno ser na prpria varivel). Smbolo de agrupamento dos valores inteiros. Smbolo para o separador de decimais. Quantidade de decimais a ser exibida. Completa com zeros as decimais inexistentes (S = sim e N = no). Lado onde o sinal de negativo deve ser exibido (1 = esquerdo e 2 = direito). Smbolo monetrio a ser exibido.

Lado_Simb_Monetrio Lado onde o smbolo monetrio ser exibido (1 = esquerdo e 2 = direito). Ex. 1: Formatando um nmero inteiro. sc_format_num({meu_valor}, '.', '', 0, 'N', '1', ''); Valor de entrada = 001234567890 Valor de sada = 1.234.567.890 Ex. 2: Formatando um valor negativo e desprezando as casas decimais. sc_format_num({meu_valor}, '.', '', 0, 'N', '1', ''); Valor de entrada = -0012345678.90 Valor de sada = -12.345.678 Ex. 3: Formatando um valor com 4 casas decimais e prenchendo com zeros. sc_format_num({meu_valor}, '.', ',', 4, 'S', '1', ''); Valor de entrada = 0012345678.9 Valor de sada = 12.345.678,9000 Ex. 4: Formatando um valor com 2 casas decimais, prenchendo com zeros e utilizando smbolo monetrio. sc_format_num({meu_valor}, '.', ',', 2, 'S', '1', 'R$'); Valor de entrada = 0012345678.9 Valor de sada = R$ 12.345.678,90 Ex. 5: Formatando um valor com 2 casas decimais, prenchendo com zeros. sc_format_num({meu_valor}, '.', ',', 2, 'S', '1', ''); Valor de entrada = .9 Valor de sada = 0,90 Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s... 18/02/2013

Macros ScriptCase

Page 20 of 40

onValidate onValidateFailure onValidateSuccess

sc_form_show'on' ou 'off'
Esta macro permite, dinamicamente, exibir ou no o contedo do formulrio. Em princpio, o formulrio exibido (condio "on").

Ex. 1: Para no exibir o formulrio. sc_form_show = 'off'; Escopo da Macro Formulrio Controle Aplicao formulrio onLoadAll onScriptInit onLoad onScriptInit onValidate

sc_getfield('meuCampo')
A macro tem por objetivo atribuir objetos (que representam os campos do formulrio) para uma varivel javascript, permitindo ao usurio ter acesso as propriedades do objeto. Esta macro roda em eventos e mtodos javascript das aplicaes de formulrio e controle. Ex: Exibindo o valor do campo "cliente" de um formulrio cli_js = sc_getfield('cliente'); alert (cli_js.value); Escopo da Macro

sc_get_language
Esta macro retorna a sigla do idioma em uso. Ex. 1: $my_language = sc_get_language(); Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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 configurao regional em uso. Ex. 1: $my_regional = sc_get_regional(); Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao menu ajaxFieldonBlur onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate Onchange onClick OnClick OnFocus onLoad onApplicationInit onExecute onLoad

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

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 aplicao. Ex. 1: $my_theme = sc_get_theme(); Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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, dinamicamente, o label dos campos que esto especificados para serem apresentados nas linhas de quebra. Ex. 1: sc_label_quebra('estado') = "Quebra do estado"; Ex. 2: sc_label_quebra('saldo') = "Total dos Saldos"; Escopo da Macro Aplicao consulta onGroupBy

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


Esta macro utilizada para desabilitar regras de Quebra em tempo de execuo. O Id das regras de quebras devem ser passadas como parametros.

Ex: if( [usr_login_group] == 'seller' ){ sc_hide_groupby_rule('rule_1', 'rule_2'); } Escopo da Macro Aplicao consulta onApplicationInit

sc_image(Imagem01.jpg)
Todas as imagens utilizadas nas aplicaes so automticamente copiadas para cada aplicao. Caso o usario, atravs de dos eventos ou Javascript, utilize comandos para carregar imagens, estas tero que ser copiadas para a aplicao. Esta macro executa esta funo. Ex. 1: sc_image (img1.gif, img2.jpg); OBS: As imagens devero existir no diretrio de imagens do ambiente de desenvolvimento (../devel/conf/sys/img/img/). IMPORTANTE partir da verso 3.00.0144, foi implementado em (Aplicao->Configurao->Imagens Extras da Aplicao) uma interface para que o usurio possa informar as imagens extras, permitindo, inclusive, o upload de novas imagens. Desta forma, esta macro no ser mais necessria.

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

Macros ScriptCase

Page 22 of 40

Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onLoadAll onScriptInit onValidateFailure onValidateSuccess onScriptInit Aplicao formulrio Aplicao menu onApplicationInit onClick onLoad onLoadRecord onScriptInit onValidate onApplicationInit onLoad

sc_include("Arquivo", "Origem")
O Scriptcase permite que o usurio catalogue seus script's PHP e utilize-os em vrias aplicaes. Para catalogar os script's, no menu principal do Scriptcase, acessar "Configurao=>Bibliotecas. Nesta opao o usurio poder escrever seu script ou fazer "upload" de um script existente. No momento de catalogar o script, o usurio dever selecionar o contexto ao qual o script pertence, podendo ser: - Pblico: Todos os projetos podero ter acesso. - Projeto: Apenas os usurios do projeto (que estiver logado no monento) tero acesso. - Usurio: Apenas o usurio (que estiver logado no monento) ter acesso. Na utilizao da macro sc_include, o usurio dever informar o nome do script que deseja incluir e a origem do mesmo(contexto sob o qual o script foi catalogado). - Nome do script: Nome do script a ser incluido na aplicao. A Origem do contexto sob o qual o script foi catalogado, podendo ser: - em branco = Script's a nvel global, que acompanham a distribuio do Scriptcase. - pub = A nvel Pblico - prj = A nvel do Projeto - usr = A nvel do Usurio Ex. 1: Incluindo um script catalogado a nvel globa. (Scriptcase) sc_include("meu_script.php");

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

Ex. 3: Incluindo um script catalogado a nvel do usurio. sc_include("meu_script.php", "usr"); Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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", "Lib2", ...)


Esta macro usada para selecionar dinamicamente as bibliotecas da aplicao. Bibliotecas PHP fpdf fpdf_html excel rtf Ex. 1: sc_include_lib ("fpdf"); $pdf=new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Saida de texto!'); $pdf->Output(); Escopo da Macro Aplicao em branco onFooter Bibliotecas JavaScript Jquery jquery_thickbox jquery_blockui tiny_mce

sc_label({Meu_Campo})

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

Macros ScriptCase

Page 23 of 40

Esta macro tem por objetivo alterar, dinamicamente, o label dos campos de uma consulta ou formulrio. Ex. 1: Usando o nome do campo. sc_label("cliente") = "Nome do Cliente"; Ex. 2: Usando uma varivel tipo atributo para definir o campo a ser modificado. sc_label({atributo}) = "Nome do Cliente"; Ex. 3: Usando uma varivel global para definir o campo a ser modificado. sc_label([variavel_global]) = "Nome do Cliente"; Escopo da Macro Aplicao consulta onNavigate onScriptInit Formulrio Controle Aplicao formulrio onLoadAll onScriptInit onLoad onLoadRecord onNavigate onRefresh onScriptInit

sc_language
Esta macro retorna o idioma e a configurao regional atual do sistema. Ex. 1: echo "Language: ".{sc_language}; Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit Aplicao formulrio Aplicao menu onApplicationInit onScriptInit onApplicationInit onLoad

sc_ldap_login
$ldapConn = sc_ldap_login($server[, $domain, $user, $password, $dn, $group]); necessrio realizar login pra fazer qualquer consulta de LDAP, essa macro estabelece a conexo e a amarrao pelas credenciais do usurio. Seus parametros so: Servidor = Domnio = Usurio = Senha = DN = Grupo = Existem 3 possibilidades de retorno: Retorno da macro (string)'ldap_bind_error' (resource) Escopo da Macro Situao Erro com autenticao, aps conexo bem-sucedida com o servidor. Conexo e autenticao bem-sucedidos.

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

sc_link(Coluna, Aplicao, Parmetros, "Hint", "Target", Altura, Largura)


Esta macro cria ou alterar ligaes com outras aplicaes, nas aplicaes de consulta, de forma dinmica. Coluna: o nome do campo, da coluna da grid, para o qual ser gerado o link de ligao. Aplicao: Nome da aplicao para a qual queremos estabelecer o link. Parmetros: Parmetros necessrios para que a aplicao chamada possa funcionar. Devem ser informados o nome do parmetro, o sinal de atribuio "=" e o valor ou varivel a ser atribudo. Havendo mais de um parmetro, estes devero ser separados por ";" (ponto e vrgula). Hint: Observao ou dica que ser apresentada quando o cursor do mouse passar sobre o link. Target: Local onde a aplicao chamada ir funcionar, podendo ser: Target "_self" "_blank" "iframeT" "iframeL" "iframeR" "iframeB" "modal" Descrio Para execuo na mesma pgina (sobrepe a consulta); Para execuo em outra pgina (pop-up); Para execuo em um iframe, acima da consulta (Top); Para execuo em um iframe, a esquerda da consulta (Left); Para execuo em um iframe, a direita da consulta (Right); Para execuo em um iframe, abaixo da consulta (Bot); Abre uma nova janela e bloqueia qualquer interao na janela principal;

No caso de target modal, existem dois parmetros opcionais*: *Altura: Defina a altura da janela modal (default 440); *Largura: Defina a largura da janela modal (default 630);

Obs: Se omitido, ser atribudo o valor "_self". Ex. 1: Criando um link para a aplicao dados_cli.php, no campo cpf, passando a varivel global [glo_emp] como empresa e o campo (varivel local) {cpf} para a aplicao dados_cli.php: sc_link (cpf,dados_cli.php,empresa=[glo_emp];cpf={cpf},"Dados individuais do Cliente ", "_blank");

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

Macros ScriptCase

Page 24 of 40

Ex. 2: Criando um link dinmico para uma ou outra aplicao dependendo do valor no campo {tp_cli} e abrindo uma janela modal: if ({tp_cli} == "F") { sc_link (tpcli, fisica.php, empresa=[glo_emp]; cpf={cpf}," Pessoa Fsica ", "modal", 500, 700); } else{ sc_link (tpcli, juridica.php, empresa=[glo_emp]; cnpj={cnpj}," Pessoa Jurdica ", "iframeR"); }

Ex. 3: - Criando um link para uma URL: neste caso, "parmetro e target" no tm efeito. Ser executado um redirecionamento para a URL informada. sc_link (minha_coluna, http://www.scriptcase.com.br, ,"hint do link"); Escopo da Macro Aplicao consulta onRecord

sc_lin_cod_barra_arrecadacao({Cdigo_Barra}, Cdigo_Seguimento, Cdigo_Moeda, {Valor}, {Livre})


Esta macro gera os valores que compem o cdigo de barras no padro Febraban arrecadao. Parmetro Cdigo_Barra Cdigo_Moeda Valor Livre Descrio Varivel na qual ser armazenada a string contendo os valores do cdigo de barras no padro arrecadao (Febraban). Valor ou varivel que contm o cdigo da moeda. Valor ou varivel que contm o valor do documento. Valor ou varivel que contm as 29 posies livres do cdigo de barras.

Cdigo_Seguimento Valor ou varivel que contm o cdigo do seguimento.

Ex. 1: sc_lin_cod_barra_arrecadacao({codigo_barra}, 1, 6, {valor_tit}, {parte_livre}); Escopo da Macro Aplicao em branco onExecute onFooter Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao formulrio onValidate onValidateSuccess onBeforeInsert onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onValidateSuccess

sc_lin_cod_barra_banco({Cdigo_Barra}, Cdigo_Banco, Cdigo_Moeda, {Valor}, {Livre}, {Data_Vencimento})


Esta macro gera os valores que compem o cdigo de barras no padro Febraban bancrio. Parmetro Cdigo_Barra Cdigo_Banco Cdigo_Moeda Valor Livre Data_Vencimento Descrio Varivel na qual ser armazenada a string contendo os valores do cdigo de barras no padro arrecadao (Febraban). Valor ou varivel que contm o cdigo do banco. Valor ou varivel que contm o cdigo da moeda. Valor ou varivel que contm o valor do documento. Valor ou varivel que contm as 29 posies livres do cdigo de barras. Data de vencimento do documento (opcional). Se informada, o scriptcase calcular o "fator de vencimento". O formato dever ser, sempre aaaammdd.

Ex. 1: sc_lin_cod_barra_banco({Codigo_barra}, 001, 1, {valor_tit}, {parte_livre}, {data}); Escopo da Macro Aplicao em branco onExecute onFooter Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao formulrio onValidate onValidateSuccess onBeforeInsert onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onValidateSuccess

sc_lin_digitavel_arrecadacao({Linha_Digitavel}, {Cdigo_Barras})
Esta macro gera a linha digitvel para bloquetos de cobrana, a partir da linha do cdigo de barras, padro arrecadao. Parmetro Descrio

Linha_Digitavel Varivel na qual ser armazenada a string contendo a linha digitvel. Cdigo_Barras Varivel na qual est armazenada a string contendo os valores do cdigo de barras. Ex. 1: sc_lin_digitavel_arrecadacao({lin_dig}, {cod_barra}); Escopo da Macro Aplicao em branco onExecute onFooter Aplicao consulta onClick onGroupBy onHeader onNavigate Formulrio Controle Aplicao formulrio onValidate onValidateSuccess onBeforeInsert onBeforeUpdate onClick onLoad

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

Macros ScriptCase

Page 25 of 40

onRecord onScriptInit

onLoadRecord onNavigate onRefresh onValidateSuccess

sc_lin_digitavel_banco({Linha_Digitavel}, {Cdigo_Barras})
Esta macro gera a linha digitvel para bloquetos de cobrana, a partir da linha do cdigo de barras, padro bancrio. Parmetro Descrio

Linha_Digitavel Varivel na qual ser armazenada a string contendo a linha digitvel. Cdigo_Barras Varivel na qual est armazenada a string contendo os valores do cdigo de barras. Ex. 1: sc_lin_digitavel_banco({Linha_Digitavel}, {Cdigo_Barra}); Escopo da Macro Aplicao em branco onExecute onFooter Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao formulrio onValidate onValidateSuccess onBeforeInsert onBeforeUpdate onClick onLoad onLoadRecord onNavigate onRefresh onValidateSuccess

sc_log_add("Ao", "Mensagem")
Esta macro tem como objetivo adicionar um registro a tabela de log, desta forma tornando a mensagem e/ou o nome da ao customizavel para o desenvolvedor. Os parmetros podem utilizar variveis PHP. Ex: sc_log_add("access", "Aplicao foi acessada pelo usurio trial"); Escopo da Macro

sc_log_split({descricao})
Esta macro tem como objetivo possibilitar o acesso as informaes gravadas no campo descrio da tabela de log, possibilitando a manipulao dos dados anteriores e posteriores dos registros envolvidos em forma de array. Estas informaes so gravadas no campo "descrio" da tabela de log, no formato de uma string com delimitadores. Ex: $arr_description = sc_log_split({description}); Formato de entrada: -> keys fields Array ( [clienteid] => ANTON ) [fields] => Array ( [old] => Array ( [CEP] => 50710500 [Endereco] => Rua Desembargador Joao Paes 657 [Bairro] => Farol [Estado] => RS ) [new] => Array ( [CEP] => 53230630 [Endereco] => Avenida Presidente Kennedy, 1001 [Bairro] => Peixinhos [Estado] => PE ) ) ) Escopo da Macro

sc_lookup(Dataset, "Comando SQL", "Conexo")


Esta macro permite que o usurio execute comandos SQL e tenha acesso ao "dataset" proveniente do comando. O "dataset" fica disponvel, em forma de array (linha/coluna). O parmetro "conexo" opcional, sendo necessrio, apenas, se o comando for executado em uma base de dados diferente da especificada para a aplicao. Ex. 1: sc_lookup(dataset, "select clienteid, nomecliente, limitecred from clientes" );

Para ter acesso primeira linha (dataset), teremos: {clienteid} = {dataset[0][0]}; {nomecliente} = {dataset[0][1]}; {limitecred} = {dataset[0][2]}; Para ter acesso segunda linha (dataset), teremos: {clienteid} = {dataset[1][0]}; {nomecliente} = {dataset[1][1]}; {limitecred} = {dataset[1][2]}; Caso ocorra erro na execuo do comando sql, a varivel atribuida ao dataset retornar como "false" e a mensagem de erro estar disponvel na varivel "dataset_erro". importante, tambm, verificar se o select retornou dados, para evitar o acesso a variveis inexistentes, uma vez que o array de sada s ser criado se o comando select retornar dados. Ex. 2: sc_lookup(meus_dados, "select clienteid, nomecliente, limitecred from clientes"); if ({meus_dados} === false) { echo "Erro de acesso. Mensagem = " . {meus_dados_erro}; } elseif (empty({meus_dados})) { echo "Comando select no retornou dados "; } else { {clienteid} = {meus_dados[0][0]}; {nomecliente} = {meus_dados[0][1]};

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

Macros ScriptCase

Page 26 of 40

{limitecred} = {meus_dados[0][2]}; } Ex. 3 : O comando SQL tambm pode ser composto de campos da aplicao (variveis locais) ou de variveis globais: sc_lookup(dataset, "select valor pedido from pedidos where clienteid = '{clienteid} ' and cod_vendedor = [var_glo_vendedor]");

Obs: Em qualquer circunstncia, o comando tem que ser encerrado com ponto e vrgula ";". Obs2: No recomendamos o uso da macro sc_lookup com retornos muito grandes, para esse tipo de ocasio recomendamos o uso da macro sc_select Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onClick onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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, Usr, Pw, De, Para, Assunto, Mensagem, Tipo_Mens, Cpias, Tp_Cpias, Porta, Tp_Conexao, Attachment)
Esta macro tem por finalidade o envio de e-mail. Parmetro SMTP Usr Pw De Para Assunto Mensagem Tipo_Mens Cpias Tp_Cpias Porta Tp_Conexo Descrio Endereo do servidor SMTP (string ou varivel contendo o Endereo do servidor SMTP). Usurio do servidor SMTP (string ou varivel contendo o Usurio do servidor SMTP). Senha do servidor SMTP (string ou varivel contendo a Senha do servidor SMTP). E-mail de origem (string ou varivel contendo o E-mail de origem). Lista de e-mails que devem receber cpia da mensagem , podendo ser uma string ou varivel contendo um ou mais e-mail's, separados por ";", ou uma varivel contendo um array de e-mail's. Ttulo da mensagem (string ou varivel contendo o ttulo da mensagem). Mensagem a ser enviada (string ou varivel contendo a mensagem). Tipo do texto da mensagem a ser enviada, sendo: "T" para somente texto ou "H" para texto e/ou html. Lista de e-mails que devem receber cpia da mensagem, podendo ser uma string ou varivel contendo um ou mais e-mail's, separados por ";", ou uma varivel contendo um array de e-mail's. Tipo de cpias a serem enviadas: CCC para cpias visveis e BCC para cpias ocultas. Se omitido, o Scriptcase assumir o valor default: BCC. Porta utilizada pelo servidor de e-mail. Se omitido, o Scriptcase assumir os valores default: 25 para porta no segura e465 para porta segura. tp_conexao: Indicativo de conexo segura(criptografada) (S) ou no (N). Se omitido, o Scriptcase assumir o valor default:N.

OBS: Para utilizao de conexo segura, a extenso do PHP "php_openssl" dever estar habilitada. anexos: Lista de arquivos a serem anexados, podendo ser uma string ou varivel contendo um ou mais endereos de arquivos, separados por ";", ou uma varivel contendo um array de endereos de arquivos. Ex. 1: sc_mail_send('smtp.meuserver.com.br', 'usr', 'pw', 'de@netmake.com.br', 'para@netmake.com.br', 'teste envio de e-mail', 'mensagem', 'H', 'abc@cop.com.br;zxy@cop.com.br', 'H', '', '', 'c:/teste/arq.txt'); Ex. 2: Utilizando variveis como parmetros e definindo a porta. sc_mail_send([glo_smtp], [usuar], [glo_pw], {origem}, {destino}, {assunto}, {mensagem}, 'T', [glo_copias], 'CCC', '419', 'S', {anexos}); Ex. 3: Servidor sem usurio e senha e opo de no enviar cpias e sem informao da porta. sc_mail_send([glo_smtp], '', '', 'de.netmake.com.br', {destino}, {assunto}, {mensagem}, 'H', '', '', '', '', [glo_att]); A quantidade de e-mail's, efetivamente enviados, disponibilizada atravs da varivel especial "sc_mail_count". Caso ocorra erro no envio do e-mail, a varivel especial "sc_mail_ok" retornar como "false" e a mensagem de erro estar disponvel na varivel especial "sc_mail_erro". Ex. 4: sc_mail_send([glo_smtp], '', '', 'de@netmake.com.br', {destino}, {assunto}, {mensagem}, 'H'); if ({sc_mail_ok}) { echo "Enviados {sc_mail_count} e-mail com sucesso !!"; } else { sc_erro_mensagem({sc_mail_erro}); } Observao Importante: At a verso 3.00.01.134 no existiam os parmetros tp_cpias, porta, tp_conexao e anexos. Para que estes parmetros funcionem, na verso 3.00.01.135, foi introduzida uma nova classe para envio de e-mail. Verifique se no diretrio prod/third existe o sub-diretrio email_new. Caso no exista, atualize o "prod". Escopo da Macro Aplicao em branco Aplicao consulta Formulrio Controle Aplicao de pesquisa Aplicao formulrio Aplicao menu

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

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(Aplicao, Parmetros)
Esta macro tem por objetivo a criao de uma string contendo os dados de um link para outra aplicao, dentro dos padres do Scriptcase.. O uso desta macro para os casos em que o usurio esteja escrevendo seu prprio cdigo html e nescessite fazer um link para outra aplicao Scriptcase. Parmetro Descrio Aplicao Parmetro Nome da aplicao para a qual queremos estabelecer o link. Parmetros necessrios para que a aplicao chamada possa funcionar. .

Devem ser informados: o nome do parmetro, o sinal de atribuio "=" e o valor ou varivel a ser atribudo. Havendo mais de um parmetro, estes devero ser separados por ";" (ponto e vrgula).

Ex. 1: Criando uma string com um link para a aplicao dadoscli.php, sem passagem de parmetros. $string_link = sc_make_link(dadoscli.php);

Ex. 2: Criando uma string com um link para a aplicao dadoscli.php, com passagem de parmetros. $string_link = sc_make_link(dadoscli, parm1={empresa};parm2=[glo_filial]); Escopo da Macro Aplicao em branco onExecute onFooter Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle onValidate onValidateSuccess

sc_master_value('Objeto', Valor)
Esta macro tem o poder de atualizar qualquer objeto de uma aplicao Mestre, em uma aplicao Detalhe. Parmetro Objeto Valor Descrio Nome do objeto a ser atualizado na aplicao Mestre. Ao informar o nome de um campo, no necessrio utilizar as {}. Valor que o objeto especificado receber. O valor pode ser um campo ou varivel.

Ex. 1: sc_lookup(result,"SELECT SUM(Total) FROM adm_pedido_itens WHERE PedidoID = '{PedidoID}'"); [valor] = {result}[0][0]; sc_master_value('ValorPedido', [valor]); Escopo da Macro Formulrio Controle Aplicao formulrio 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 parmetros. Pode ser usada em aplicaes de menu ou menu rvore. Observe que, os parmetros a serem passados, so os "ID" dos tens. Caso o item de menu que voc remova da exibio tenha ns "filhos", estes tambm sero omitidos. Escopo da Macro Aplicao menu onApplicationInit onLoad

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

Macros ScriptCase

Page 28 of 40

sc_menu_disable(Id_Item1)
Esta macro desabilita os itens de menu passados como parmetros. pode ser usada em aplicaes de menu ou menus de rvore. Observe que, os parmetros a serem passados, so os "ID" dos tens. Caso o item de menu que voc desabilite da exibio tenha ns "filhos", estes tambm sero desabilitados. Escopo da Macro Aplicao menu onApplicationInit onLoad

sc_menu_force_mobile(boolean)
Macro utilizada para forar a criao do menu para dispositivos mveis. O parmetro (true ou false) opcional, se no for passado, assume true(ligar modo mobile)

Ex1: sc_menu_force_mobile(true); Ex2: sc_menu_force_mobile(false); Escopo da Macro Aplicao menu onLoad

sc_menu_item
Esta varivel disponvel apenas nas aplicaes de MENU e tem por objetivo dar acesso ao tem que foi selecionado no menu. Desta forma, o usurio poder tomar decises antes que a aplicao seja executada.

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

Ex 2: Se uma determinada aplicao necessitar de uma varivel global e esta no estiver preenchida, podemos chamar uma outra aplicao para que o usurio preencha a informao necessria. if ({sc_menu_item} == "item_5" && (!isset([glo_empresa]) || empty([glo_empresa]))) { sc_redir(apl_inf_emp); } Escopo da Macro Aplicao menu onExecute

sc_redir(Aplicao, Parametro01; Parametro02, Target, Error)


Esta macro tem por objetivo redirecionar o processamento para outra aplicao ou URL. Caso a aplicao de redirecionamento utilize parmetros, estes devem ser passados da seguinte forma: 1. Aps o nome da aplicao, utilizar o delimitador vrgula (,) 2. Informar o nome do parmetro, o sinal de igualdade (=) e o valor ou varivel a ser atribuida. 3. Havendo mais de um parmetro, utilizar o delimitador ponto e vrgula (;) 4. Poder ser informado o target no qual a aplicao ser aberta (default=_self), podendo ser: _self, _parent, _blank ou modal. 5. Paramentro opcional para definir se vai redirecionar caso existam mensagens de erro na aplicao. "E" no redireciona caso existam erros e "F" fora redirecionamento mesmo se houver erro na aplicao. Nas aplicaes de fomulrio, dos eventos que essa macro pode rodar alguns dependem da atualizao da base de dados (onAfterInsert, onAfterUpdate, onAfterDelete, onBeforeInsert, onBeforeUpdate or onBeforeDelete) so automaticamente protegidos por um controle de transao desde que a conexo seja a mesma da aplicao. Em outros casos, se o usurio deseja fazer um controle de transao, ele precisa iniciar essa macro e finalizar com "sc_commit_trans()" macro para confirmar a atualizao ou o "sc_rollback_trans" para cancelar a transao.

Ex. 1: Aplicao sem parmetros e sem target. if ([glo_usuario] == "teste") { sc_redir(aplx.php); } Ex. 2: Aplicao com parmetros e sem target.sc_redir(Aplicao, Parametro01; Parametro02, Target, Error) if ([glo_usuario] == "teste") { sc_redir(aplx.php, parm1={clienteid}; parm2="xxx"); } Ex. 3: Aplicao sem parmetros e com target. if ([glo_usuario] == "teste") {

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

Macros ScriptCase

Page 29 of 40

sc_redir(aplx.php, "", "_parent"); } Ex. 4: Aplicao com parmetros e com target. if ([glo_usuario] == "teste") { sc_redir(aplx.php, parm1={clienteid}; parm2="xxx", "_blank"); } Ex. 5: URL. if ([glo_usuario] == "teste") { sc_redir(http://www.minha_pagina.com.br); } OBS: Tudo que foi passado como parmetro pela macro ser acessvel como varivel global na aplicao a qual foi redirecionada. EX: sc_redir(aplx.php, parm1={clienteid}; parm2="xxx"); Na aplicao aplx.php o parmentro poder ser acessado fazendo chamada a varivel global [parm1] e [parm2] Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute Aplicao consulta onApplicationInit onClick onNavigate onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onClick onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onScriptInit OnValidate Aplicao formulrio Aplicao 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("Aplicao", "Propriedade")
Esta macro tem por objetivo apagar todas as alteraes efetuadas pela macro sc_apl_conf. O Parmetro "aplicao" opcional. Se informado, sero apagadas apenas as alteraes da aplicao informada. Ex. 1: Apagando as alteraes da aplicao "minha_apl", apenas a propriedade "start". sc_reset_apl_conf("minha_apl", "start");

Ex. 2: Apagando todas as alteraes da aplicao "minha_apl". sc_reset_apl_conf("minha_apl");

Ex. 3: Apagando as alteraes de todas as aplicaes. sc_reset_apl_conf(); Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onClick onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit Aplicao formulrio Aplicao menu onApplicationInit onScriptInit onApplicationInit onLoad

sc_reset_apl_status
Esta macro tem por objetivo limpar todas as variveis de segurana, setadas atravs da macro sc_apl_status. Ex. 1: sc_reset_apl_status(); Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onClick onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit Aplicao formulrio Aplicao menu onApplicationInit onScriptInit onApplicationInit onLoad

sc_reset_change_connection
Esta macro apaga as trocas feitas utilizando a macro "sc_change_connection". Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onScriptInit Formulrio Controle Aplicao formulrio Aplicao menu onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit onApplicationInit onLoad

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

Macros ScriptCase

Page 30 of 40

sc_reset_global([Varivel_Global1], [Varivel_Global2] ...)


Esta macro tem por objetivo apagar variveis globais, armazenadas na sesso do PHP. Ex. 1: sc_reset_global ([Login], [Senha]); Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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, deletados atravs da macro "sc_menu_delete". Ex. 1: sc_reset_menu_delete(); Escopo da Macro Aplicao menu onApplicationInit onLoad

sc_reset_menu_disable
Esta macro tem por objetivo habilitar os tens do menu, desabilitados atravs da macro "sc_menu_disable". Ex. 1: sc_reset_menu_disable(); Escopo da Macro Aplicao menu onApplicationInit onLoad

sc_rollback_trans("Conexo")
Esta macro tem por objetivo cancelar um set de transaes na base de dados. O parmetro "conexo" opcional, sendo necessrio, apenas, se o comando for executado em uma base de dados diferente da especificada para a aplicao. Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s... 18/02/2013

Macros ScriptCase

Page 31 of 40

sc_script_name
Esta macro disponvel apenas nas aplicaes de MENU e tem por objetivo dar acesso ao nome da aplicao que foi selecionada no menu. Desta forma, o usurio poder tomar decises antes que a aplicao seja executada. Ex. 1: Para limpar variveis globais. if ({sc_script_name} == "apl1") { sc_reset_global([global1], [global2]); }

Ex. 2: Se uma determinada aplicao necessitar de uma varivel global e esta no estiver preenchida, podemos chamar uma outra aplicao para que o usurio preencha a informao necessria. if ({sc_script_name} == "apl1" && (!isset([glo_empresa]) || empty([glo_empresa]))) { sc_redir(apl_inf_emp); } Escopo da Macro Aplicao menu onExecute

sc_select(dataset, "Comando SQL", "Conexo")


Esta macro permite que o usurio execute comandos SQL e tenha acesso ao "dataset" proveniente do comando. Diferente da macro sc_lookup, esta macro no manipula o dataset, deixando-o em sua forma original, cabendo ao usurio toda a manipulao. Caso ocorra erro na execuo do comando sql, a varivel atribuida ao dataset retornar como "false" e a mensagem de erro estar disponvel na varivel "dataset_erro". O parmetro "conexo" opcional, sendo necessrio se o comando for executado em uma base de dados diferente da especificada para a aplicao. Ex. 1: sc_select(meus_dados, "select clienteid, nomecliente, limitecred from clientes"); if ({meus_dados} === false) { echo "Erro de acesso. Mensagem = " . {meus_dados_erro}; } else { while (!$meus_dados->EOF){ {nome_cliente} = $meus_dados->fields[1]; $meus_dados->MoveNext(); } $meus_dados->Close(); } Ex. 2: O comando SQL tambm pode ser composto de campos da aplicao (variveis locais) ou de variveis globais: sc_select(dataset,"select valor pedido from pedidos where clienteid = '{clienteid}' and cod_vendedor = [var_glo_vendedor]");

Observao: Em qualquer circunstancia, o comando tem que ser encerrado com ponto e vrgula ";". Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onClick onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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: possvel alterar dinamicamente os campos de uma consulta, atravs da alterao dinmica do select original. Ex. 1: Temos uma tabela com as colunas ano e os meses de janeiro a dezembro. Gostaramos de ter uma consulta, que, partir de um parmetro, exibisse os anos e apenas um determinado ms. Supondo que o parmetro venha informado atravs de uma varivel global de nome "exibir_mes", nossa aplicao teria a seguinte estrutura: Clusula select: select ano, par_mes from tabela sc_select_field(par_mes) = [exibir_mes]; sc_label(par_mes) = [exibir_mes]; Desta forma, alm de alterar o select, estamos alterando o label da coluna da consulta.

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

Macros ScriptCase

Page 32 of 40

Obs: Este comando deve ser implementado no evento "onInit"; Escopo da Macro Aplicao consulta onScriptInit

sc_select_order("Campo")
possvel, em tempo de execuo da aplicao de consulta, alterar a clusula ORDER BY do select principal da consulta. Para isso, necessrio que no comando SQL original da consulta j exista pelo menos uma clusula ORDER BY, pois ser feita a subtituio de determinada clusula pela nova. Ex. 1: Clusula select: select codigo, nome, valor from tabela order by codigo Para mudar a ordem, de codigo para nome, teremos: sc_select_order("codigo") = "nome"; Ex. 2: Clusula select: select codigo, nome, valor, data from tabela order by codigo, nome, valor Para mudar a ordem, de nome para data, teremos: sc_select_order("nome") = "data"; Obs: Este comando deve estar no contexto de "processar antes do select". Escopo da Macro Aplicao consulta onScriptInit

sc_select_where(add)
possvel, em tempo de execuo da aplicao de consulta, adicionar um campo/condio clusula WHERE da consulta. Ex. 1: Adiciona tudo que estra dentro das aspas duplas ao where do select da consulta. if (empty({sc_where_atual})){ sc_select_where(add) = "where campoX > [variavel_global]"; } else{ sc_select_where(add) = "AND campoX > [variavel_global]"; } Escopo da Macro Aplicao consulta onScriptInit

sc_seq_register
Esta macro disponibiliza o nmero sequencial do registro que est sendo processado na aplicao de consulta. Est disponvel no eventoonRecord. Ex. 1: if({sc_seq_register} == 10) { // ultima linha da pgina {total} = {sum_total}; } Escopo da Macro

sc_set_focus('Campo')
Esta macro usada para setar o focus para um determinado campo do formulario. Ex. 1: sc_set_focus('nome'); Escopo da Macro Formulrio Controle Aplicao formulrio onApplicationInit onLoadAll onRefresh onScriptInit OnClick onLoad onRefresh onValidateSuccess

sc_set_global($variavel_01) ou ({Meu_Campo})
Esta macro tem por objetivo registrar variveis globais. Ser criada uma varivel de sesso com o mesmo nome e contedo da varivel local. Ex. 1: Registrando uma varivel do usurio $var_user = "algum valor"; sc_set_global($var_user); Ser criada uma varivel de sesso, com o nome "var_user", com o contedo "algum valor". Ex. 2: Registranto uma varivel de um campo da aplicao sc_set_global({campo_apl}); Ser criada uma varivel de sesso, com o nome "campo_apl", com o contedo existente na varivel.

Obs: Esta macro no faz atribuio de valores. Apenas registra as variveis na sesso do PHP.

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

Macros ScriptCase

Page 33 of 40

Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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 execuo no evento onApplicationInit.

Ex: sc_set_groupby_rule = "id da regra"; Escopo da Macro Aplicao consulta onApplicationInit

sc_set_language('String Language')
Esta macro permite que seja definido dinamicamente o idioma utilizado nas aplicaes. Ex. 1: Mudar o idioma para Ingls. sc_set_language('en_us');

Ex. 2: Mudar o idioma para Espanhol. sc_set_language('es'); Ex. 3: Mudar o idioma para Arabe. sc_set_language('ar'); Ex. 4: Mudar o idioma para Portugus. (Portugal) sc_set_language('pt_pt'); Esta macro permite, tambm, que sejam definidos o idioma e as configuraes regionais simultneamente, utilizando-se o delimitador ";" entre os parmetros. Ex. 1: Mudar o idioma para Ingls e as configuraes regionais para o Canad. sc_set_language('en_us;en_ca');

Ex. 2: Mudar o idioma para Espanhol e as configuraes regionais para o Mexico. sc_set_language('es;es_mx');

Ex. 3: Mudar o idioma para Alemo e as configuraes regionais para Luxembourg. sc_set_language('de;de_lu'); Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit OnValidate Aplicao formulrio Aplicao menu onApplicationInit onScriptInit onApplicationInit onLoad

sc_set_pdf_name"sc_meu_arquivo.pdf"
Os arquivos resultantes das exportaes de dados (PDF, XLS, XML, CSV e RTF) so gravados no diretrio "temporrio" especificado na configurao do Scriptcase, tanto em desenvolvimento quanto em produo, com o prefixo "sc_" seguido de uma identificao nica, de tal maneira que um arquivo de um determinado usurio no subscreva um outro. O prefixo "sc_" faz com que o prprio Scriptcase apague os arquivos antigos. Para atribuir nomes diferentes dos padres Scriptcase, podem ser usadas as seguintes macros: - sc_set_csv_name - sc_set_pdf_name - sc_set_rtf_name

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

Macros ScriptCase

Page 34 of 40

- sc_set_xml_name - sc_set_xls_name Ex1: sc_set_xls_name = "meu_arquivo.xls"; Ex2: sc_set_csv_name = "sc_meu_arquivo.csv"; OBS: 1) Estas macros devem ser utilizadas no evento "onScriptInit". 2) Mesmo utilizando a macro, se mantido o prefixo "sc_" (conforme Ex2), o Scriptcase apagar o arquivo, quando este atingir o tempo limite configurado (ver a configurao "Tempo de vida dos arquivos" no ambiente de produo). Escopo da Macro

sc_set_regional('String Regional')
Esta macro permite que seja definido dinamicamente a configurao regional das aplicaes. Ex. 1: sc_set_regional('en_us'); Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit OnValidate Aplicao formulrio Aplicao menu onApplicationInit onScriptInit onApplicationInit onLoad

sc_set_theme('String Tema')
Esta macro permite que seja definido, dinamicamente, o tema do layout a ser utilizado nas aplicaes. Ex. 1: sc_set_theme('Newyellow'); Escopo da Macro Aplicao em branco onExecute Aplicao consulta onApplicationInit onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onScriptInit onValidate onValidateSuccess onApplicationInit onScriptInit OnValidate Aplicao formulrio Aplicao menu onApplicationInit onScriptInit onApplicationInit onLoad

sc_site_ssl
Esta macro verifica se est sendo utilizado um site seguro (protocolo https). Ex. 1: Usando a forma afirmativa. if (sc_site_ssl){ echo "ok - Site seguro"; } Ex. 2: Usando a forma negativa. if (!sc_site_ssl){ echo "Perigo - Site no seguro"; } Ex. 3: Redirecionando se o site no for seguro. if (!sc_site_ssl){ sc_redir("http://www.pagina_erro.com.br/") ; } Obs: Esta macro funciona apenas para o Servidor WEB IIS (Internet Information Server). Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute Aplicao consulta onApplicationInit onClick onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onClick onLoadAll onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onScriptInit Aplicao formulrio Aplicao 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.gestaonanuvem.com/scriptcase7/doc/manual_mp/28-Macros/00-macros_s... 18/02/2013

Macros ScriptCase

Page 35 of 40

onValidateSuccess

sc_sql_injection({Meu_Campo}) ou ($Minha_Varivel)
Esta macro usada para proteger o campo/varivel contra "sql injection". Todos os acessos a base de dados, gerados pelo Scriptcase, tm proteo contra "sql injection". Nos comandos gerados pelo usurio (macros: sc_lookup, sc_select ou sc_exec_sql) caso seja necessrio, dever ser utilizada esta macro para proteo. Ex. 1: Protegendo uma varivel local: $campo_protect = sc_sql_injection({meu_campo});

Ex. 2: Protegendo uma varivel do usurio: $campo_protect = sc_sql_injection($minha_var);

Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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, "Tipo", "Conexo")


Essa macro ir proteger o valor de acordo com o banco de dados, a parmetro "Conexo" opicional, no informado ser utilizado a conexo ativa no momento. O parmetro tipo at o momento s pode rececer o valor "data".

Ex 01: Nesse exemplo estamos protegendo as datas passadas como parmetro para que seja interpretada de forma correta com o banco de dados ACCESS. sc_select_where(add) = " AND news_noticias.noticia_data_pub BETWEEN ".sc_sql_protect($data_inicial, "date")." AND ".sc_sql_protect($data_final, "date")."";

Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute Aplicao consulta onRecord Formulrio Controle Aplicao de pesquisa onLoadAll onValidate OnValidate Aplicao formulrio onAfterDeleteAll onAfterInsertAll onAfterUpdateAll onBeforeDeleteAll onBeforeInsertAll onValidate

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


sc_time_diff ({time1}, "Time1 Format", {time2}, "Time2 Format"); Essa macro calcula a diferena entre duas datase retorna o valor em horas. Os resultados sero retornados no formato de array, onde os ndices [1], [2] e [3] retornaro horas, minutos e segundos, respectivamente. Parmeter time1 Time1 Format time2 Time2 Format Description Valor ou varivel contendo a primeira hora. Valor ou varivel contendo o formato no qual est armazenada a hora1. Value or variable for Time2 Value or variable to specify the format of Time2

Ex. 1: Formato geral {diferencas} = sc_time_diff ({hora1}, "Formato hora1", {hora2}, "Formato hora2"); {dif_horas} = {diferencas[0]}; {dif_minutos} = {diferencas[1]}; {dif_segundos} = {diferencas[2]};

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

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

Macros ScriptCase

Page 36 of 40

{diferencas[2]} seria igual a 48 (segundos).

Ex. 3: Retornando valores negativos {diferencas} = sc_time_diff ("2012-07-21 15:22:57", "yyyy-mm-dd hh:ii:ss", "2012-07-25 05:33:45", "yyyy-mm-dd hh:ii:ss"); {diferencas[0]} seria igual a -86 (horas) {diferencas[1]} seria igual a -10 (minutos) {diferencas[2]} seria igual a -48 (segundos).

Ex. 4: Considerando apenas formato de horas - Retorno positivo {diferencas} = sc_time_diff ("18:14:55", "hh:ii:ss", "10:55:22", "hh:ii:ss"); {diferencas[0]} seria igual a 7 (horas) {diferencas[1]} seria igual a 19 (minutos) {diferencas[2]} seria igual a 33 (segundos).

Ex. 5: Considerando apenas formato de horas - Retorno negativo {diferencas} = sc_time_diff ("10:55:22", "hh:ii:ss", "18:14:55", "hh:ii:ss"); {diferencas[0]} seria igual a -7 (horas) {diferencas[1]} seria igual a -19 (minutos) {diferencas[2]} seria igual a -33 (segundos). Escopo da Macro

sc_trunc_num({Meu_Campo}, Quantidade_Decimal)
Esta macro tem por objetivo truncar valores numericos, no que exceder a quantidade de decimais especificada. Parmetro Meu_Campo Descrio Varivel que contem o valor a ser formatado (O retorno ser na prpria varivel).

Quantidade_Decimal Quantidade de decimais a ser exibida. Ex. 1: sc_trunc_num({meu_valor}, 2); Valor de entrada = 1250.235 Valor de sada = 1250.23

Valor de entrada = 1250.2 Valor de sada = 1250.20

Valor de entrada = 1250 Valor de sada = 1250.00 Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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 sada da aplicao. Ex. 1: sc_url_exit(http://www.netmake.com.br);

Ex. 2: sc_url_exit(aplx.php);

Escopo da Macro Aplicao em branco onBeforeUpdateAll Aplicao consulta onApplicationInit onClick onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onClick onLoadAll onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onScriptInit Aplicao formulrio onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit

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

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 varivel', 'contedo da varivel', 'apl_redir.php', 'target')


Esta macro utilizada para deslogar o usurio informado do sistema. Se o target no for informado, assume "_top".

Ex: sc_user_logout('usr_login', 'admin', 'ctrl_login.php', '_self'); Escopo da Macro

sc_vl_extenso(valor, tam_linha, tipo)


Gera valor por extenso, partir de um valor numrico.

Onde: valor: Valor ou varivel 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 trs linhas). tipo: Tipo do dado de entrada: "V" para valor ou "N" para nmero. Ex1: {meu_extenso} = sc_vl_extenso({meu_valor}, 50, 'V'); Ex2: {meu_extenso} = sc_vl_extenso({meu_valor}, 40, 'N'); Escopo da Macro

sc_warning'on' ou 'off'
Permite, dinamicamente, ativar ou desativar o controle de mensagens de advertencia.

As mensagens de advertencia so geradas quando feita uma referncia a uma varivel inexistente, um item de um array inexistente, etc.

Ex. 1: Para no exibir as mensagens. sc_warning = 'off'; Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onBlur onChange onClick onClick onFocus onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao 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 varivel deixa disponvel o contedo da clusula where do comando original, acrescida da ltima seleo efetuada atravs do formulrio de filtro. Ou seja, reflete a clusula where que est sendo utilizada naquele momento. Ex. 1: $salva_where = {sc_where_current};

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

Macros ScriptCase

Page 38 of 40

Escopo da Macro Aplicao em branco onFooter Aplicao consulta onGroupBy onHeader onNavigate onRecord onScriptInit

sc_where_filter
Esta varivel deixa disponvel o contedo gerado pelo "filtro", de acordo com as selees efetuadas no formulrio de filtro. Esta informao a que ser adicionada clusula where do select original da aplicao. Ex. 1: $salva_filtro = {sc_where_filter};

Escopo da Macro Aplicao em branco onFooter Aplicao consulta onGroupBy onHeader onNavigate onRecord onScriptInit

sc_where_orig
Esta macro atribui o contedo da clusula where do select original da aplicao. O usurio pode utilizar, dentro dos eventos do scriptcase, para tratar a informao, assim como disponibilizar para exibir em qualquer local da consulta. Ex. 1: $salva_where_original = {sc_where_orig};

Escopo da Macro Aplicao em branco onFooter Aplicao consulta onGroupBy onHeader onNavigate onRecord onScriptInit

sc_zip_file("Arquivo", "Zip")
Esta macro usada para gerar arquivo tipo ZIP, partir de uma lista de arquivos e/ou diretrios. No parmetro arquivo, dever ser informado um dos seguintes contedos: - O nome de um arquivo - O nome de um diretrio - Uma varivel contendo o nome de um arquivo ou o nome de um diretrio - Uma varivel contendo um array, que contenha uma lista de arquivos e/ou diretrios No parmetro zip, dever ser informado o nome do arquivo a ser gerado, ou o caminho para o arquivo a ser criado. Ex. 1: Apenas um arquivo. sc_zip_file("/teste/exemplo.htm", "/temp/teste.zip");

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

Ex. 3: Criando um array dos arquivos e diretrios. $prep = array(); $prep[] = " /teste/exemplo.htm"; $prep[] = "/teste"; sc_zip_file($prep, "/temp/teste.zip"); Escopo da Macro Aplicao em branco onBeforeUpdateAll onExecute onFooter Aplicao consulta onApplicationInit onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onApplicationInit onClick onLoadAll onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess onApplicationInit onSave onScriptInit OnValidate Aplicao formulrio Aplicao menu onAfterDelete onAfterDeleteAll onAfterInsert onAfterInsertAll onAfterUpdate onAfterUpdateAll onApplicationInit onBeforeDelete onBeforeDeleteAll onBeforeInsert onBeforeInsertAll onBeforeUpdate onClick onLoad onLoadRecord onNavigate onApplicationInit onExecute onLoad

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

Macros ScriptCase

Page 39 of 40

onRefresh onScriptInit onValidate onValidateFailure onValidateSuccess

Variveis de Database
So variveis globais que contm os valores de acesso base base de dados, que esto sendo utilizada pela conexo principal. Variveis sc_glo_servidor sc_glo_banco sc_glo_tpbanco sc_glo_usuario sc_glo_senha Descrio Contm o nome do servidor. Contm o nome da base de dados. Contm o tipo do banco (mssql, oracle, mysql, etc). Contm o nome do usurio conectado. Contm a senha de acesso.

sc_glo_senha_cript Indica se a senha de acesso est criptografada (S/N). sc_glo_decimal_db Contm o separador de decimal utilizado (ponto ou vrgula). Ex. 1: $meu_banco = [sc_glo_banco];

Estas variveis apenas informam os valores que esto sendo utilizados, no permitindo atribuio de valores. possvel definir o usurio e a senha a ser utilizado para conectar com a base de dados, atravs da alimentao das seguintes variveis. Variveis sc_db_master_usr Descrio Informa o login do usurio a ser utilizado.

sc_db_master_pass Informa a senha a ser utilizada. sc_db_master_cript Inforna (S/N) se a senha est criptografada (ver macro sc_encode).

importante observar que: o uso destas variveis s ter efeito na execuo das aplicaes posteriores, e permanecer durante toda a sesso (a menos que seja alterada).

Ex. 2: Suponha que, em uma aplicao tipo "controle", foi criado um formulrio com informao do "login" e "senha". Estes dados devem ser utilizados para conectar a base de dados, durante a execuo das aplicaes do sistema, e gostaramos de manter a senha criptografada. $temp_pass = sc_encode({senha}); [sc_db_master_usr] = {login}; [sc_db_master_pass] = $temp_pass; [sc_db_master_cript] = "S";

Escopo da Macro Aplicao em branco onExecute onFooter Aplicao consulta onClick onGroupBy onHeader onNavigate onRecord onScriptInit Formulrio Controle Aplicao de pesquisa onBlur onChange onClick onClick onLoadAll onRefresh onValidate onValidateFailure onValidateSuccess onRefresh onSave onScriptInit OnValidate Aplicao formulrio Aplicao menu ajaxFieldonBlur Onchange OnClick OnFocus onApplicationInit onExecute onLoad

variveis do Report PDF


Variveis que controlam o numero de pginas utilizada em um report PDF. Campo {sc_page_tot} Descrio Guarda o nmero total de pginas.

{sc_page_num} Guarda o nmero da pgina atual.

Escopo da Macro

Variveis de Totalizao
Variables {count_ger} {sum_parcel} {sum_balance} {count_groupby} {sum_groupby_parcel} Description Records total amount. Will show the total sum for the field "Parcel" Will show the total sum for the field "Balance" Current Group records total. Contm o somatrio do campo "saldo", da quebra de "cidade" que estiver sendo processada.

{sum_groupby_balance} Contm o somatrio do campo "saldo", da quebra de "cidade" que estiver sendo processada. matrio do campo "parcela", da quebra de "cidade" que estiver sendo processada. {sum_cidade_saldo} {sum_estado_saldo} Contm o somatrio do campo "saldo", da quebra de "cidade" que estiver sendo processada. Contm o somatrio do campo "saldo", da quebra de "estado" que estiver sendo processada;.

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

Macros ScriptCase

Page 40 of 40

Ex. 1: Em um aplicao com qubra pelo estado e cidade que totaliza um campo valor, e nas quebras usando totais, e possivel exibir a media ao inves do valor, como no exemplo: {sum_quebra_valor} = {sum_quebra_valor} / {count_quebra};

Escopo da Macro Aplicao em branco onFooter Aplicao consulta onGroupBy onHeader onRecord

Variveis de Totalizacao (quebras)


Durante o processamento das quebras, o Scriptcase disponibiliza todas as variveis de totalizao, a nvel geral e a nvel da quebra que estiver sendo processada. Supondo uma aplicao que tenha dois nveis de quebra (estado e cidade) e que totaliza dois campos (parcela e saldo). Considerando que as frmulas, definidas para serem processadas no evenro "onGroupBy" estaro atuando para os vrios nveis de quebra, as variveis especiais de totalizao, neste escopo, so referenciadas substituindo-se o nome da quebra pela palavra chave "quebra", ou seja: Variveis {count_ger} {sum_parcela} {sum_saldo} {count_quebra} {sum_quebra_saldo} Descrio Contm a quantidade total dos registros. Contm o somatrio geral do campo "parcela". Contm o somatrio geral do campo "saldo". Contm a quantidade total dos registros, da quebra que estiver sendo processada. Contm o somatrio do campo "saldo", da quebra que estiver sendo processada.

{sum_quebra_parcela} Contm o somatrio do campo "parcela", da quebra que estiver sendo processada.

Ex. 1: Em uma aplicao que tenha quebras por estado e cidade e que totalize um campo de saldo, e nos totais das quebras, desejamos exibir a mdia em substituio ao saldo. {sum_quebra_saldo} = {sum_quebra_saldo} / {count_quebra}; Escopo da Macro Aplicao consulta onGroupBy

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