Feedback
ScriptCase Macros

SCRIPTCASE MACROS

 

Scriptcase tiene macros y variables especiales que le permiten al usuario manipular eventos, botones, aplicaciones, control de seguridad, manipular fechas, etc.

Sigue una tabla de todas las macros y variables especiales de ScriptCase, incluida la lista de aplicaciones que funciona para cada una.

MACROS AND SPECIAL VARIABLES


SQL
sc_begin_trans ("Conexión")
Esta macro inicia un conjunto de transacciones en la base de datos.
sc_change_connection ("Conexión_antigua", "Nueva_conexión")
Esta macro cambia dinámicamente las conexiones de la aplicación.
sc_commit_trans ("Conexion")
Hace que todas las modificaciones de datos realizadas desde el comienzo de la transacción sean parte permanente de la base de datos.
Esta macro se usa para combinar dos o más cadenas y/o campos de la tabla.
sc_connection_edit ("Nombre_Conexion", $ arr_conn)
Esta macro edita una conexión existente en tiempo de ejecución.
sc_connection_new ("Nombre_de_Conexion", $arr_conn)
Esta macro crea nuevas conexiones dinámicamente.

Esta macro desactiva el mensaje de tratamiento de error de base de datos estándar de Scriptcase para un evento.

Esta macro configura la variable que contiene el mensaje de error de la base de datos que puede ocurrir durante la exclusión de un registro.
Esta macro configura la variable que contiene el mensaje de error de mensaje de error que puede ocurrir durante la adición del registro.
Esta macro configura la variable que contiene el mensaje de error de la base de datos que puede ocurrir durante la actualización de un regis
sc_exec_sql ("Comando SQL", "Conexión")
Esta macro ejecuta comandos SQL pasados como parámetro o un comando SQL en el tipo de acción de campo SQL.
sc_lookup (Conjunto de datos, "Comando SQL", "Conexión")
Esta macro ejecuta un comando SELECT almacenado en el segundo parámetro y devuelve los datos en una variable.
sc_lookup_field (dataset, "SQL Command", "connection_name")
Esta macro ejecuta el comando SELECT informado que devuelve los datos en una matriz donde el índice es el nombre de la columna.
Esta macro borra los cambios realizados usando "sc_change_connection".
Esta macro deshace las ediciones de conexión realizadas por la macro "sc_connection_edit".
Esta macro deshace las conexiones hechas por la macro "sc_connection_new".
Esta macro descarta un conjunto de transacciones en la base de datos.
sc_select (conjunto de datos, "Comando SQL", "Conexión")
Esta macro ejecuta los comandos pasados en el segundo parámetro y devuelve el conjunto de datos en una variable.
sc_select_field ({Campo})
Esta macro modifica dinámicamente un campo que se recuperará en la Consulta.
sc_select_order ("Campo")
Esta macro modifica dinámicamente el campo de cláusulas grillas "ORDER BY".
Esta macro agrega dinámicamente una condición a la cláusula WHERE de la grilla.
Esta macro permite cambiar el tipo de retorno del conjunto de datos de los comandos seleccionados
sc_sql_injection ({Mi_Campo}) o ($Mi_Variable)
Esta macro se usa para proteger el campo / variable contra "inyección SQL".
sc_sql_protect (Valor, "Tipo", "Conexión")
Esta macro protege el valor pasado como parámetro de acuerdo con la base de datos utilizada.
Esta macro se usa para hacer una referencia de la cláusula where actualmente utilizada.
Esta macro guarda el contenido de la cláusula where de la aplicación original.
Variables - Database Variables de base de datos
Variables globales que contienen valores de acceso a la base de datos utilizados por la conexión principal.


Fecha
sc_date (Fecha, "Formato", "Operador", D, M, Y)
Esta macro calcula y devuelve incrementos y decrementos usando fechas.
sc_date_conv ({Field_Date}, "Input_Format", "Output_Format")
Esta macro convierte el campo de fecha pasado como parámetro con un formato de entrada a otro campo con un formato de salida.
sc_date_dif ({Date1}, "Format Date1", {Date2}, "Format Date2")
Esta macro calcula la diferencia entre dos fechas (pasadas como parámetros) devolviendo el resultado en días.
sc_date_dif_2 ({Date1}, "Format Date1", {Date2}, "Format Date2", Option)
Esta macro calcula la diferencia entre dos fechas que devuelven la cantidad de días, meses y años.
sc_date_empty ({Campo_Fecha})

Calcula la diferencia entre dos fechas (pasadas como parámetros) que devuelve la cantidad de días, meses y años.

sc_time_diff ({datetime_01}, "Date_01 Format", {datetime_02}, "Date_02 Format")
Calcula la diferencia en horas, devolviendo la cantidad de horas, minutos y segundos.


Controle
Devuelve el estado actual del botón ajax creado en la barra de acción.
sc_actionbar_disable ("boton_nombre")
Deshabilita los botones creados en la barra de acciones.
sc_actionbar_enable ("boton_nombre")
Habilita los botones creados en la barra de acciones.
sc_actionbar_hide ("boton_nombre")
Oculta los botones creados en la barra de acciones.
sc_actionbar_show ("boton_nombre")
Muestra los botones creados en la barra de acción.
sc_actionbar_state ("nombre_boton", "nombre_estado")
Cambia el estado actual del botón en la barra de acciones.
sc_ajax_javascript ('NombreDelMétodoDeJavascript',array("parámetro"))
Esta macro permite la ejecución de métodos de JavaScript en eventos de formulario / control
sc_alert ("Mensaje", $array)
Esta macro muestra una pantalla de mensaje Javascript.
sc_api_download (profile, settings, file, destination)
Esta macro se usa para descargar archivos usando las API de almacenamiento.
sc_api_gc_get_obj ($app_name , $json_oauth, $auth_code)
La macro sc_api_gc_get_obj genera el token_code
sc_api_gc_get_url ($app_name, $json_oauth)
Esta macro genera una URL para la autenticación del usuario de la cuenta de Google utilizada para la configuración de la API.
sc_api_upload (profile, settings, file, parents)
Esta macro se usa para cargar archivos usando las API de almacenamiento.
sc_apl_conf ("Aplicación", "Propiedad", "Valor")
Esta macro cambia las propiedades de ejecución de las aplicaciones.
sc_apl_default ("aplicacion", "tipo");
Esta macro permite que el usuario defina en su aplicación inicial lo que sucederá cuando la aplicación pierda la sesión.
sc_calc_dv (Dígitos, Descanso, Valor, Módulo, Pesos, Tipo)
Este macro calcule los dígitos de verificación.
sc_call_api ($profile, $arr_settings)
Esta macro le permite utilizar las API de Scriptcase de la API
Controla dinámicamente la visualización de captcha en la aplicación.
sc_changed ({Nombre_Campo})
Esta macro retorna "verdadero" si el nombre del campo ha sido cambiado.
sc_confirm ("Mensaje")
Esta macro muestra una pantalla de confirmación de Javascript.
sc_decode ({Mi_Campo})
Esta macro devuelve el campo o la variable cifrada a su valor original.
sc_encode ({Mi_Campo})
Esta macro devuelve el campo o la variable con el contenido cifrado.
sc_error_exit (URL / Mi_Aplicación, "Target");

Esta macro interrumpe la ejecución de la aplicación si hay mensajes de error generados por la macro "sc_error_message".

Esta macro genera un mensaje de error.
sc_exit (Opción)
Esta macro fuerza la salida de la aplicación.
sc_field_no_validate ('nombre_del_campo')
Ignora las validaciones definidas en la pantalla de configuración de campos, tales como: Campo requerido, tipos de caracteres, entre otros.
sc_getfield ("miCampo")
Esta macro asigna las propiedades de un campo a una variable javascript.
Esta macro devuelve la abreviatura del lenguaje utilizado.
Esta macro devuelve la abreviatura de la configuración regional utilizada.
Esta macro devuelve el nombre del tema de la aplicación.
Esta macro identifica el paso actual del asistente de formularios
sc_groupby_label ("Mi_Campo")
Esta macro modifica dinámicamente la etiqueta de campo que se muestra en las líneas de Agrupación.
sc_image (Imagen01.jpg)
Esta macro carga imágenes pasadas como parámetro para usar en la aplicación.
sc_include ("Archivo", "Fuente")
Esta macro se usa para "incluir" rutinas PHP.
sc_include_lib ("Lib1", "Lib2", ...)
Esta macro se usa para seleccionar dinámicamente las bibliotecas de aplicaciones.
sc_include_library ("Destino", "Nombre de la biblioteca", "Archivo", "include_once", "Requerir")
Esta macro incluye un archivo PHP de una librería en la aplicación.
sc_label ({Mi_Campo})
Esta macro se usa para modificar dinámicamente la etiqueta del campo de formulario de cuadrícula.
Esta macro devuelve el idioma de la aplicación.
sc_log_add ("Acción", "Descripción")
Esta macro agregará un registro en la tabla de registro.
sc_log_split ({descripcion})
Esta macro devuelve lo que se insertó en el campo "descripción" de la tabla de registro en un formato de matriz.
sc_mail_send (SMTP, Usr, Pw, From, To, Asunto, Mensaje, Mens_Type, Copies, Copies_Type, Port, Connection_Type, Attachment, SSL)

Esta macro se usa para enviar correos electrónicos.

sc_master_value ("Objeto", "Valor")
Esta macro actualiza un objeto de aplicación maestra desde una aplicación de detalle.
sc_redir (Aplicación, Parámetro01; Parámetro02; Destino, Error, height_modal, width_modal)
(Aplicación, Parámetro01; Parámetro02; Destino, Error, height_modal, width_modal)
Esta macro tiene que restablecer la configuración de la macro sc_apl_default.
sc_reset_global ([Global_Variable1], [Global_Variable2] ...)
Esta macro elimina las variables de sesión recibidas como parámetro.
sc_send_mail_api ($arr_settings)

Permite el envío dinámico de correos electrónicos incrustados con Mandrill y Amazon SES

sc_send_sms ($arr_settings)
Esta macro se usa para enviar mensajes de texto SMS
Esta macro proporciona el número secuencial de registro.
sc_set_global ($variavel_01) ou ({Mi_Campo})

Esta macro se usa para registrar variables de sesión.

Macro se usa para seleccionar una regla de Agrupación específica
sc_set_language ('String Language')
Esta macro permite cambiar dinámicamente el idioma de la aplicación.
sc_set_regional ('String Regional')
Esta macro permite cambiar dinámicamente la configuración regional de la aplicación.
sc_set_theme ('String Theme')
Esta macro se usa para definir dinámicamente los temas de la aplicación.
Esta macro verifica si se ha utilizado un sitio seguro. (protocolo https)
sc_statistic (arr_val, tp_var)
Calcula y devuelve una matriz con valores estadísticos, a partir de una matriz con valores numéricos.
sc_trunc_num ({Mi_Campo}, Cantidad_Decimal)
Esta macro se usa para establecer el número de decimales.
Esta macro modifica la aplicación de destino de la dirección URL.
sc_url_library ("Destino", "Nombre de la biblioteca", "Archivo")
Esta macro devuelve la ruta de un archivo, dentro de una biblioteca, para ser utilizado en las aplicaciones.
sc_warning 'on' o 'off'
Esta macro activa o desactiva dinámicamente el control de mensajes de advertencia.
sc_webservice ("Método", "URL", "Puerto", "Método de envío", "Matriz de parámetros", "Matriz de ajustes", "Tiempo de espera", "Retorno
Esta macro se usa para comunicarse con un servicio web.
sc_zip_file ("Archivo", "Zip")
Esta macro se usa para generar archivos ZIP desde una lista de archivos y/o directorios.
Variables - Totalling Totalización de variables
Variables que contiene todos los totales (generales y para agrupar).
Variables - Totalling (group by) Totalización de variables (agrupación)
Rompiendo variables de totales.


Búsqueda
Esta macro se usa para guardar el contenido de la cláusula where generado a través del formulario de filtro.


Seguridad
sc_apl_status ("Aplicación", "Status")
Esta macro Activa / Desactiva las aplicaciones a nivel de usuario.

Esta macro establece la conexión con las credenciales del usuario.

Macro liberaba la conexión después de usar la macro sc_ldap_login

sc_reset_apl_conf ("Aplicación", "Propiedad")
Esta macro elimina todas las modificaciones efectuadas por la macro "sc_apl_conf".
Esta macro elimina todas las variables de estado de seguridad de la aplicación.
Esta macro restaura una estructura de elemento de menú. (eliminado por la macro "sc_menu_delete").
Esta macro se usa para habilitar una estructura de elemento de menú. (deshabilitado por la macro "sc_menu_disable").
sc_user_logout ('nombre de variable', 'contenido de variable', 'apl_redir.php', 'target')

Macro utilizada para registrar el usuario en el sistema.



Exibición
sc_ajax_message ("Mensaje", "Título", "Parámetros", "Parameters_Redir", "String_toast");
Esta macro permite que la aplicación muestre mensajes personalizados.

Macro para actualizar la grid

sc_block_display (Nombre del bloque, on/off)
Esta macro muestra / oculta dinámicamente los campos de un bloque específico.
sc_change_css ("atributo", "valor", "nombre_campo")
Permite manipular las propiedades CSS de los campos y filas de la consulta.
sc_field_color ("Campo", "Color")
Esta macro cambia el color de un texto de campo determinado.
sc_field_disabled ("Field_Name = True / False", "Parameter")

Esta macro se utiliza para bloquear un campo para obtener los datos que se escribirían en él.

sc_field_disabled_record ("Field_Name = True / False", "Parametre")
Esta macro tiene el objetivo de bloquear la escritura en campos determinados en los Formularios.
sc_field_display ({Mi_Campo}, on / off)
Esta macro muestra dinámicamente o no un campo específico.
sc_field_init_off (campo1, campo2,...)
Esta macro está diseñada para inhibir los campos de consulta en la carga inicial.
Esta macro dinámicamente establece un atributo de campo de campo a "sólo lectura"
sc_field_style ({Mi_Campo}, "Background-Color", "Size", "Color", "Family", "Weight")
Esta macro le permite modificar dinámicamente el estilo de campo de Consulta.
Esta macro desactiva la visualización del pie de página.
sc_format_num ({Mi_Campo}, "Simb_Grp", "Simb_Dec", "Qtde_Dec", "Enche_Zeros", "Lado_Neg", "Simb_Monetário", "Lado_Simb_Monetario")
Esta macro se utiliza para dar formato a números numéricos.
sc_format_num_region ({Mi_Campo}, "Qtde_Dec", "Insert_Zeros", "Monetary_Sym")
Esta macro tiene el objetivo de formato de números, utilizando la configuración regional
sc_form_show 'on' o 'off'
Esta macro muestra dinámicamente o no la forma.

Esta macro proporciona el nombre de la regla Agrupación que se ejecuta en ese momento.

Inhibe la visualización del encabezado.
sc_hide_groupby_rule ('group1', 'grop2', 'group3')

Macro utilizada para deshabilitar las reglas de Agrupación

sc_set_focus ('Campo')
Esta macro se usa para establecer el foco en un campo de formulario.
sc_text_style ({My_Field}, "Color de fondo", "Tamaño", "Color", "Familia", "Peso")
Esta macro permite modificar dinámicamente el estilo del texto del campo de la Consulta.


Botones
Esta macro devuelve "verdadero" cuando se selecciona el botón "copiar" en un formulario.
Esta macro devuelve "verdadero" cuando se selecciona el botón "Eliminar" en un formulario.
sc_btn_disabled ("boton_nombre", "status")
Está destinado a habilitar o deshabilitar dinámicamente un botón de la barra de herramientas.
sc_btn_display ("Nombre_Boton", "on/off")
Esta macro muestra y oculta botones en la barra de herramientas en tiempo de ejecución.
Esta macro devuelve "verdadero" cuando se selecciona el botón "Agregar" en un formulario.
sc_btn_label ("btn_name", "new_label")
Esta macro se utiliza para cambiar la etiqueta de los botones.
Esta macro devuelve "verdadero" cuando se selecciona el botón "Agregar nuevo" en un formulario.
Esta macro devuelve "verdadero" cuando se selecciona el botón "Guardar" en un formulario.


PDF
Cambia el nombre de los archivos exportados por la consulta.
Variables - Authentication Variables de autenticación
Usuario/Contraseña para el servidor WEB.


Menú
sc_appmenu_add_item ("Menu_Name", "Id_Item", "Id_Parent", "Etiqueta", "Aplicación", "Parámetros", "Icono", "Sugerencia", "Objetivo")
Esta macro agrega dinámicamente un elemento al menú.
sc_appmenu_create ("Menu_Name")
Esta macro crea dinámicamente un elemento de menú.
sc_appmenu_exist_item ("Menu_Name", "Id_Item")
Esta macro comprueba si hay un elemento de menú.
sc_appmenu_remove_item ("Menu_Name", "Id_Item")
Esta macro elimina dinámicamente un elemento del menú.
sc_appmenu_reset ("Menu_Name")
Esta macro reinicia la matriz utilizada en la creación dinámica de una aplicación de menú.
sc_appmenu_update_item ("Menu_Name", "Id_Item", "Id_Parent", "Etiqueta", "Aplicación", "Parámetros", "Icono", "Sugerencia", "Objetivo")
Esta macro actualiza un elemento de menú.
sc_btn_disable ('id_boton', 'on/off')

Macro utilizada para desactivar los botones de Menú.

sc_menu_delete (Id_Item1)
Esta macro elimina elementos de la estructura del menú.
sc_menu_disable (Id_Item1)
Esta macro desactiva los elementos de la estructura del menú.

Macro solía forzar la creación de menús para dispositivos móviles.

Esta macro identifica el elemento de menú seleccionado.

Esta macro identifica el nombre de la aplicación que se seleccionó en el menú.





sc_actionbar_clicked_state()

La macro sc_actionbar_clicked_state() hace posible que el desarrollador recupere el estado actual del botón al momento de hacer clic en el botón ajax en la barra de acción.

De esta manera, puede validar el estado actual del botón y cambiarlo de acuerdo con su regla comercial.

Esta macro es exclusiva para usar el evento ajax del botón de la barra de acción.

Ejemplos


Ejemplo: Identificación del estado actual del botón en el evento ajax, para cambiar el estado al hacer clic.

if (sc_actionbar_clicked_state() == 'pending') {

sc_actionbar_state('ajax_btn', 'sent');


} else {

sc_actionbar_state('ajax_btn', 'pending');

}

Ejemplo: Ejemplo para ver el valor actual del botón.

echo sc_actionbar_clicked_state();
 

Macro Scope

Aplicación Grid
onClick



sc_actionbar_disable("boton_nombre")

Deshabilita el botón de la barra de acción, por lo que no está disponible para hacer clic.

Esta macro se puede usar para cualquier tipo de botón (enlace o ajax) en la barra de acción.

Definición de parámetros

Parámetro Sintaxis Descripción
boton_nombre

No es posible utilizar variables, el nombre del botón debe informarse mediante comillas dobles o simples.

Ejemplo
sc_actionbar_disable("ajax_btn");

Este parámetro es obligatorio.

Debemos informar el nombre del botón de la barra de acción que se desactivará.

 

 

Ejemplos


 

Ejemplo 1: Uso básico de las macros

sc_actionbar_disable("boton_nombre");

 

Ejemplo 2: Deshabilitar el botón de enlace al detalle del pedido si no hay artículos en el pedido.

// Ejemplo creado en el evento onRecord del grid usando la tabla order y orderdetail
// Si no hay artículos en el pedido, el botón estará deshabilitado

$query = "SELECT count(*) FROM OrderDetails WHERE OrderID = ". {OrderID}; sc_lookup(ds, $query); if ({ds[0][0]} == 0) {

//Ejemplo de uso de la macro sc_actionbar_disable sc_actionbar_disable("boton_nombre");

} else {

sc_actionbar_enable("boton_nombre");

}

Macro Scope

Aplicación Grid
onClick
onRecord



sc_actionbar_enable("boton_nombre")

Habilita el botón de la barra de acción, haciéndolo disponible para hacer clic.

Esta macro se puede usar para cualquier tipo de botón (enlace o ajax) en la barra de acción.

Definición de parámetros

Parámetro Sintaxis Descripción
boton_nombre

No es posible utilizar variables, el nombre del botón debe informarse mediante comillas dobles o simples.

Example
sc_actionbar_enable("ajax_btn");

Este parámetro es obligatorio.

Debemos informar el nombre del botón de la barra de acción que se habilitará.

 

 

Examples


 

Example 1: Uso básico de macro sc_actionbar_enable

sc_actionbar_enable("boton_nombre");

 

Example 2: Enabling the link button to the order detail if there is any record to be displayed.

// Ejemplo creado en el evento onRecord de la grid usando la tabla de pedidos y la tabla de detalles de pedidos
// Si no hay artículos pedidos en la medición, el botón estará deshabilitado

$query = "SELECT count(*) FROM OrderDetails WHERE OrderID =" . {OrderID}; sc_lookup(ds, $query); if ({ds[0][0]} <> 0) {
//Ejemplo de uso de la macro sc_actionbar_enable sc_actionbar_enable("boton_nombre"); } else {
sc_actionbar_disable("boton_nombre");
}
 

Macro Scope

Aplicación Grid
onClick
onRecord



sc_actionbar_hide("boton_nombre")

This macro displays the action bar button, hidden using the sc_actionbar_hide macro

This macro can be used for any type of button (link or ajax) on the action bar.

Definición de parámetros

Parameter Syntax Description
boton_nombre

No es posible utilizar variables. El nombre del botón debe informarse mediante comillas dobles o simples.

 

Example
sc_actionbar_hide("ajax_btn");

Este parámetro es obligatorio.

Debemos informar el nombre del botón de la barra de acción que se debe ocultar.

 

Exemplos


 

Example 1: Basic macro usage

sc_actionbar_hide("boton_nombre");

 

Example 2: Showing the order detail link button if there are any records to show.

// Ejemplo creado en el evento onRecord de la grid usando la tabla order y orderdetail
// Si no hay artículos en el pedido, el botón de enlace de detalles se ocultará.
$query = "SELECT count(*) FROM OrderDetails WHERE OrderID =" . {OrderID};
sc_lookup(ds, $query);

if ({ds[0][0]} == 0) {

     //Example of using the macro sc_actionbar_hide
     sc_actionbar_hide("boton_nombre");

} else {

     sc_actionbar_show("boton_nombre");

}

Macro Scope

Aplicación Grid
onClick
onRecord



sc_actionbar_show("boton_nombre")

Esta macro muestra el botón de la barra de acciones, oculto mediante la macro sc_actionbar_hide

Esta macro se puede usar para cualquier tipo de botón (enlace o ajax) en la barra de acción.

Definición de parámetros

Parámetro Sintaxis Descripción
boton_nombre

No es posible utilizar variables. El nombre del botón debe informarse mediante comillas dobles o simples.

 

Example
sc_actionbar_show("ajax_btn");

Este parámetro es obligatorio.

Debemos informar el nombre del botón de la barra de acción que se mostrará.

 

Exemplos


 

Ejemplo 1: Uso básico de macros

sc_actionbar_show("boton_nombre");

 

Ejemplo 2: Mostrar el botón de enlace de detalles del pedido si hay algún registro para mostrar.

// Ejemplo creado en el evento onRecord de la consulta usando la tabla order y orderdetail
// Si no hay artículos en el pedido, el botón no se mostrará

$query = "SELECT count(*) FROM OrderDetails WHERE OrderID =" . {OrderID}; sc_lookup(ds, $query); if ({ds[0][0]} <> 0) {
//Exemplo de utilização da macro sc_actionbar_show("boton_nombre");
} else {

    sc_actionbar_hide("boton_nombre");

}

Macro Scope

Aplicación Grid
onClick
onRecord



sc_actionbar_state("nombre_boton", "nombre_estado")

Esta macro le permite cambiar el estado actual del botón de la barra de acción.

Para usar el evento ajax del botón, recomendamos usar esta macro junto con sc_actionbar_clicked_state(); que permite recuperar el estado actual del botón.

Definición de parámetros

Parámetros Valores Descripción
button_name

El nombre del botón debe informarse mediante comillas dobles o simples.

Ejemplo

En negrita, se puede ver el ejemplo de cómo el parámetro button_name debe ser informado:

sc_actionbar_state("ajax_btn""sent");

Este es un parámetro obligatorio.

Debe informar el nombre del botón creado en la barra de acción.

state_name

El nombre del estado debe informarse mediante comillas dobles o simples.

Ejemplo

En negrita, se puede ver el ejemplo de cómo el parámetro state_name debe ser informado:

sc_actionbar_state("ajax_btn""sent");

Este es un parámetro obligatorio.

Debe informar el nombre del siguiente estado que asumirá el botón.

Ejemplos



Ejemplo
: cambiar el estado del botón ajax_btn entre pendiente y enviado en el evento onclick del botón.

if (sc_actionbar_clicked_state() == 'pending') {
sc_actionbar_state('ajax_btn', 'sent'); } else { sc_actionbar_state('ajax_btn', 'pending');
}


Ejemplo
: cambiar el estado del botón ajax_btn entre pendiente y enviado, y almacenar el cambio en la base en el campo email_sent.

if (sc_actionbar_clicked_state() == 'pending') {

	$update = "update orders set email_sent = 'S' WHERE orderid =". {orderid};
sc_exec_sql($update); sc_actionbar_state('ajax_btn', 'sent');
} else { $update = "update orders set email_sent = 'N' WHERE orderid =". {orderid};
sc_exec_sql($update); sc_actionbar_state('ajax_btn', 'pending');
}


Ejemplo
: Visualización del estado del botón ajax_btn según el valor almacenado en el campo email_sent en el evento onRecord de la aplicación Grid.

if ({email_sent} == 'S') {

    sc_actionbar_state('ajax_btn', 'sent');
} else { sc_actionbar_state('ajax_btn', 'pending');
}

Macro Scope

Aplicación Grid
onClick
onRecord



sc_ajax_javascript('NombreDelMétodoDeJavascript',array("parámetro"))

Esta macro permite la ejecución de métodos JavaScript llamados desde algunos eventos en formularios, aplicaciones de control y calendario.

Para usar esta macro, necesitas crear un método javascript en Configuración de programación.


Esta macro recibe dos parámetros:

El primer parámetro (obligatorio) recibe el nombre del método javascript.
El segundo (opcional) recibe una matriz con los parámetros del método.


Ejemplos:

Ej.1:javascript de método sin parámetros:
sc_ajax_javascript ('method_name');
sc_ajax_javascript ('suma');

Ej.2: Método JavaScript con un parámetro:
sc_ajax_javascript ('method_name', array ("paramameter"));


Ej. 3: Método javascript con dos parámetros:
sc_ajax_javascript ('method_name', array("param1", "param2"));

Ejemplo que usa variables globales:
sc_ajax_javascript ('suma', array([num1], [num2]));


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onValidate
onValidateFailure
onValidateSuccess
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onValidateFailure



sc_ajax_message("Mensaje", "Título", "Parámetros", "Parameters_Redir", "String_toast");

Esta macro permite que la aplicación muestre mensajes personalizables, con su uso restringido a eventos de forma / control cuando se usa en eventos AJAX.

Esta macro solo es válida en aplicaciones compatibles con AJAX.

Descripción de los parámetros

Parámetros Descripción
Mensaje Mensaje de texto que se mostrará en el cuerpo del mensaje. Este parámetro es obligatorio.
Título Texto que se mostrará en el título del mensaje. Si no se completa, el título del mensaje no se mostrará.
Cadena de parámetros del mensaje

Parámetro de formato de mensaje.
Ejemplo: modal = Y & button = Y & button_label = Ok & redir = form_employees.php & redir_target = _blank

Los detalles de este parámetro se detallan en la tabla 2.

Cadena de parámetro de redireccion

En esta propiedad se pueden definir los valores para la aplicación de redireccionamiento. Esta propiedad funciona solo si la propiedad redir es informada. Los parámetros se deben ingresar en el siguiente formato: parámetro = valor, parámetro = valor.

Por ejemplo, customer_id = ALFKI; customer_name = ALBERT FRANCINET

Cadena de parámetro Toast

Parámetro de formato de mensaje utilizando Toast.

- toast: Y o N
 
- toast_pos: 'top', 'top-start', 'top-end', 'center', 'center-start', 'center-end', 'bottom', 'bottom-start', 'bottom-end'
 
- type: 'warning', 'error', 'success', 'info', 'question'

 

Tabla2: Cadena de parámetros de mensaje

Parámetros Descripción Valores Exemplo
modal Flag para exibição da mensagem em modal Y o N modal=Y
timeout Tiempo en segundos para ocultar el mensaje. Si no se ingresa el mensaje se mostrará de forma indefinida. Esta propiedad solo funciona si la propiedad del botón no está habilitada. Seconds timeout=5
button Muestra el botón dentro del mensaje. Su operación por defecto es cerrar el mensaje. Si la redirección está habilitada, después de cerrar el mensaje, la aplicación será redirigida. Y o N button=Y
button_label Etiqueta de botón. Esta opción solo funciona si la propiedad del botón habilitó. String button=Y&button_label=OK
top Valor de posicionamiento del mensaje en píxeles desde el margen superior. Pixels Number top=300
left Valor de posicionamiento del mensaje en píxeles desde el margen izquierdo. Pixels Number left=200
width Valor del ancho del cuadro de mensaje en píxeles Pixels Number width=320
height Valor de altura del cuadro de mensaje en píxeles Pixels Number height=30
redir URL o nombre de la aplicación para redireccionar. Esta macro funciona solo si la propiedad "button" está habilitada. String button=Y&redir=form_employees.php
redir_target Objetivo para redireccionar. Esta propiedad solo funciona cuando la propiedad "redir" está habilitada. String redir=form_employees.php&redir_target=_blank
show_close Bandera para la exposición del botón "cerrar" en la barra de título del cuadro de mensaje. Cuando se activa, este parámetro hace que se muestre una barra de título, incluso si no hay un título definido. Y o N show_close=Y
body_icon Bandera para mostrar un icono en el cuerpo del mensaje. La exposición de iconos depende de la configuración del tema de aplicaciones (esquemas de exposición). Y o N body_icon=N

 

Ejemplo 01

sc_ajax_message ("Mensaje", "Título", "timeout=0");

 

Ejemplo 02: Usando Toast

sc_ajax_message ("Mensaje", "Título", "toast=Y&toasto_pos=center-start&type=success");

 

Para mostrar el mensaje utilizando Toast, esta opción debe estar habilitada en la interfaz de la aplicación.


Macro Scope

Aplicación Calendario Aplicación Grid Aplicación Formulário Aplicación Controle
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onClick ajaxFieldonBlur
Onchange
OnClick
OnFocus
onBlur
onChange
onClick
onFocus



sc_ajax_refresh

Esta macro se usa especialmente en eventos Ajax de Grid con el propósito de volver a cargar los datos del Grid (actualizar).

Ej:

sc_ajax_refresh ();


Macro Scope

Aplicación Grid
onClick



sc_alert("Mensaje", $array)

Esta macro envía un mensaje en estilo de alerta en Javascript o Sweetalert2.

Obs

Para mostrar el mensaje usando la biblioteca sweetalert2, es necesario que la opción ”Usar SweetAlert” esté habilitada en la aplicación donde se usará la macro.

Esta opción se puede habilitar en el menú de configuración de la aplicación. Para acceder a él, haga clic en: Aplicación> Configuración la opción se encuentra en el bloque de Configuración de las Notificaciones.


Verifique a continuación los parámetros admitidos por la macro:

  • Mensaje: Parámetro obligatorio que contiene el mensaje que se mostrará.
  • $array: Este parámetro es opcional cuando se usa la macro, más obligatorio cuando queremos usar Sweetalert2.
    Cuando se usa, espera recibir una matriz con la configuración de Sweetalert2.

Verifique la lista de configuraciones aceptadas por Sweetalert2 en esta macro:

Parámetro Valor Descripción
title Ejemplo de cómo se debe informar dentro de la matriz:'title' => 'Título' Texto que se mostrará en el título de la tarjeta, si la opción de brindis es marcado como falso. 'toast' => false
type

Ejemplo de cómo se debe informar dentro de la matriz: 'type' => 'warning'

Lista de opciones aceptadas:

  • success
  • error
  • warning
  • info
Define el tipo de mensaje que se mostrará.
timer Ejemplo de cómo se debe informar dentro de la matriz: 'timer' => '2000' Define el tiempo en milisegundos que se mostrará el mensaje.
showConfirmButton

Ejemplo de cómo se debe informar dentro de la matriz: 'showConfirmButton' => false

Lista de opciones aceptadas:

  • True:Mostrar el botón de confirmación.
  • false: No muestra el botón de confirmación.
Define si se muestra un botón de confirmación.
position

Ejemplo de cómo se debe informar dentro de la matriz: 'position' => 'bottom-end',

Lista de opciones aceptadas:

  • top
  • top-start
  • top-end
  • center
  • center-start
  • center-end
  • bottom
  • bottom-start
  • bottom-end
Define la posición donde se mostrará la ventana emergente.
toast Ejemplo de cómo se debe informar dentro de la matriz: 'toast' => true Define el uso de toast para la visualización de mensajes. Cuando está habilitada, esta opción no muestra el botón de confirmación.


Verifique a continuación los ejemplos de uso de la macro:


Ejemplo 1: Mensaje usando Sweetalert
sc_alert("¡Este es un mensaje de alerta!");

 

Ejemplo 2: Mensaje usando Sweetalert2

$params = array(
'title' => 'Título',
'type' => 'success',
'timer' => '2000',
'showConfirmButton' => false,
'position' => 'bottom-end',
'toast' => true
);

sc_alert("Insertado con éxito!", $params);


Macro Scope

Aplicación Blank Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból
onExecute onApplicationInit
onFooter
onHeader
onScriptInit
onFooter
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad



sc_api_download(profile, settings, file, destination)

Esta macro se utiliza para descargar los archivos almacenados en los servicios de Storage disponibles en Scriptcase, estos son: Google Drive, DropBox y Amazon S3.

En primer lugar, es necesario crear las claves para utilizar estas API, ya sea para su uso con la macro o mediante la interfaz de la herramienta.

Vea a continuación cómo obtener las credenciales para cada uno de ellos.

Consulte la lista de parámetros a continuación.

Parameters Value Description
profile

Ejemplo de cómo se debe informar el parámetro.

'profile' => 'profile_name',

Este parámetro acepta solo el nombre del perfil creado.

Haga clic aquí, para ver cómo crear un perfil.

Debemos informar el nombre del perfil que se está creando en la opción APIs del menú Herramientas.

Cuando se utiliza, este parámetro carga la configuración informada cuando se crea el perfil.

Cuando se utiliza, el parámetro de configuración no necesita ser informado.

Para obtener más detalles, consulte Uso de la macro con perfil

settings

Ejemplo de cómo se debe informar el parámetro.

'settings' => [
'app_name' => 'scriptcase',
'gateway' => 'dropbox',
'api_key' => '',
'api_secret' => '',
'access_token' => '',
],

Nota: Para obtener más información sobre el parámetro, consulte la tabla de configuración exclusiva a continuación, para cada una de las API

Recibe una matriz con las credenciales de acceso para la API que se utilizará.

Cuando se utiliza, no es necesario introducir el parámetro de perfil.

file

Ejemplo de cómo se debe informar el parámetro.

'file' => {image_file_name},

Opciones permitidas:

  • {image_file_name}
  • [variable global]
  • 'Ruta de archivo'

Este parámetro recibe la ruta completa hasta que se localiza el archivo.

Cuando se utiliza un campo, debe ser del tipo de archivo de nombre de carga.

destination

Ejemplo de cómo se debe informar el parámetro.

Usando un campo
'parents' => {field_name},

Ingresando una String
'parents' => ‘folder_name’,

Opciones permitidas:

  • {nombre del campo}
  • [variable global]
  • "Nombre de carpeta o ruta de almacenamiento en la nube local"

Directorio donde se almacenará el archivo

Cuando no se le informa, el archivo se almacenará en la raíz del servidor de almacenamiento.

Usando la macro con perfil

El uso de la macro con un perfil, requiere la creación previa de la misma.
Haga clic aquí para ver cómo crear un perfil en cada una de las API de almacenamiento disponibles. 

El perfil, o perfil, contiene los datos para usar la API deseada, por lo tanto, cuando se usa un perfil en la macro, no es necesario usar el parámetro settings.

El parámetro de perfil acepta solo el nombre del perfil creado, para el uso dinámico de la macro, será necesario utilizar los parámetros settings.

Ejemplo de uso de la macro con el perfil.

sc_api_upload([
'profile' => 'minha_api',
'file' => {archivo},
'destination' => 'destino',
]);

Usando la macro con el parámetro de configuración

La matriz con las credenciales de acceso que se deben pasar en el parámetro de configuración varía según la API utilizada. 

Vea a continuación cómo utilizar este parámetro de acuerdo con cada una de las API disponibles. 

Cuando se utiliza el parámetro de configuración en la configuración en la macro, no es necesario informar un perfil.

Uso De La Macro Con La Configuración - API De Google Drive

Primero, debemos tener las credenciales para usar la API de Google Drive en la mano, haga clic aquí para aprender cómo obtenerlas. 

Después de configurar las credenciales, vea a continuación todos los valores de la matriz que deben pasarse en el parámetro de configuración usando la API de Google Drive. 

Todos los valores a continuación son obligatorios cuando se usa el parámetro de configuración 

Índice  Valor  Descripción
app_name

Ejemplo de cómo se debe informar el parámetro. 

'app_name' => 'scriptcase', 

Este índice acepta solo cadenas


Nombre de la aplicación ingresado al crear las credenciales de acceso.

gateway

Ejemplo de cómo se debe informar el parámetro. 

'gateway' => 'google_driver',

Este índice acepta solo cadenas


Nombre de la puerta de enlace para identificar la API utilizada.
json_oauth

Ejemplo de cómo se debe informar el parámetro. 

'json_oauth' => 'JSON', 

Lista de opciones aceptadas: 

  • 'String'
  • {nombre del campo} 
  • $ variable

Recibe el contenido del archivo de autenticación generado por el usuario (JSON). 

Este archivo debe descargarse después de crear las credenciales en el sitio web de Google.

auth_code

Ejemplo de cómo se debe informar el parámetro. 

'auth_code' => '5/4wHt7TBTY4MtvQ',

Lista de opciones aceptadas: 

  • {nombre del campo} 
  • $ variable 

Recibe el código auth_code, generado después de configurar la API siguiendo los pasos descritos en el tutorial 

Cómo generar el auth_code para usar la API del controlador de Google 

token_code

Ejemplo de cómo se debe informar el parámetro. 

'token_code' => '',

Lista de opciones aceptadas: 

  • 'String'
  • {nombre del campo}
  • $ variable
Es posible generar token_code usando nuestra macro sc_api_gc_get_obj

Ejemplos de uso de la macro con Google Drive, usando el parámetro de configuración 

sc_api_download([
  'settings' => [
    'app_name' => {appname},
    'gateway' => 'google_drive',
    'json_oauth' => {jsonoauth},
    'auth_code' => {authcode},
    'token_code' => {tokencode},
  ],
'file' => {archivo},
'destination' => {destino},
]);

Usar La Macro Con La Configuración - Dropbox

En primer lugar, debemos tener las credenciales para usar la API de Dropbox a la mano, haga clic aquí para saber cómo obtenerlas. 

Después de configurar las credenciales, vea a continuación todos los valores de la matriz que se deben pasar en el parámetro de configuración usando la API de Dropbox. 

Todos los valores a continuación son obligatorios cuando se usa el parámetro de configuración

Índice  Valor  Descripción
app_name

Ejemplo de cómo se debe informar el parámetro. 

'gateway' => 'scriptcase',

Este índice acepta solo cadenas

Nombre de la aplicación ingresado al crear las credenciales de acceso.
gateway

Ejemplo de cómo se debe informar el parámetro. 

'gateway' => 'google_driver', 

Este índice acepta solo cadenas

Nombre de la puerta de enlace para identificar la API utilizada. 
api_key

Ejemplo de cómo se debe informar el parámetro. 

'api_key' => {field_name}, 

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $ variable
Reciba el api_key, disponible al configurar la API.
api_secret

Ejemplo de cómo se debe informar el parámetro. 

'api_secret’  => {field_name},

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $variable
Recibe api_secret, disponible al configurar las credenciales de la API.  

Ejemplos de uso de la macro con Dropbox, usando el parámetro de configuración 

sc_api_download([
'settings' => [

'gateway' => 'dropbox',
'api_key' => {apikey},
'api_secret' => {apisecret},
'access_token' => {accesstoken},
],
'file' => {archivo},
'destination' => {destino},
]);

Uso De La Macro Con Configuraciones - Amazon S3 

Debemos tener las credenciales para usar la API de almacenamiento de Amazon S3 a mano, haga clic aquí para aprender cómo obtenerlas. 

Después de configurar las credenciales, consulte a continuación todos los valores de la matriz que se deben pasar en el parámetro de configuración mediante la API de Amazon S3. 

Todos los valores a continuación son obligatorios cuando se usa el parámetro de configuración.

Indice  Valor  Descripción 
app_name

Ejemplo de cómo se debe informar el parámetro. 

'app_name' => 'scriptcase',

Este índice acepta solo cadenas


Nombre de la aplicación ingresado al crear las credenciales de acceso. 
gateway

Ejemplo de cómo se debe informar el parámetro. 

'gateway' => 'google_driver', 

Este índice acepta solo cadenas


Nombre de la puerta de enlace para identificar la API utilizada.
api_key

Ejemplo de cómo se debe informar el parámetro. 

'api_key' => {field_name},

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $ variable

Reciba el api_key, disponible al configurar la API.
api_secret

Ejemplo de cómo se debe informar el parámetro. 

'api_secret' => {field_name},

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $ variable 

Recibe api_secret, disponible al configurar las credenciales de la API.

region

Ejemplo de cómo se debe informar el parámetro. 

'region' => 'us-east-1',

El parámetro de región de la macro acepta solo el código de región. 

Para que sea más fácil, siga un enlace para verificar el código de cada región. 

https://docs.aws.amazon.com/general/latest/gr/rande.html 

Recibe el código de región, el mismo utilizado en la creación de credenciales.
bucket

Ejemplo de cómo se debe informar el parámetro. 

'bucket' => 'bucket_name',

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $ variable
Recibe el nombre del depósito creado al configurar las credenciales de la API. 

  

Ejemplos de uso de la macro con Amazon S3, usando el parámetro de configuración 

sc_api_download([
  'settings' => [
    'app_name' => 'scriptcase',
    'gateway' => 'S3',
    'api_key' => {apikey},
    'api_secret' => {apisecret},
    'region' => {api_region},
    'bucket' => {api_bucket},
  ],
'file' => {archivo},
'destination' => {destino},
]);

Macro Scope

Aplicación Grid Aplicación Formulário
onRecord onLoad
onLoadRecord



sc_api_gc_get_obj($app_name , $json_oauth, $auth_code)

La macro sc_api_gc_get_obj genera el token_code.

Tiene tres parámetros:

  1. app_name: recibe el app_name, disponible en la configuración de tu api. Este parámetro acepta cadenas o variables.
  2. json_oauth: recibe el contenido del archivo json, este archivo está disponible para descargar en la configuración de su API. Este parámetro acepta cadenas o variables.
  3. auth_code: recibe el auth_code generado en el paso anterior u otro auth_code válido que ya ha generado.

Para obtener más información de uso y ejemplos, visite nuestro artículo de la base de conocimientos: Cómo generar el código de autenticación y el código de token


Macro Scope

Aplicación Calendario Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu
onApplicationInit
onScriptInit
onScriptInit onFilterInit onScriptInit onApplicationInit
onScriptInit
onApplicationInit



sc_api_gc_get_url($app_name, $json_oauth)

La macro sc_api_gc_get_url genera una URL para la autenticación del usuario de la cuenta de Google que se utiliza para la configuración de la API.

Tiene dos parámetros:
  1. app_name - Recibe el nombre de la aplicación, disponible en su configuración de api. Este parámetro acepta cadenas o variables.
  2. json_oauth - Recibe el contenido del archivo json, este archivo está disponible para descargar en la configuración de su api. Este parámetro acepta cadenas o variables.

Para obtener más información de uso y ejemplos, visite nuestro artículo de la base de conocimientos: Cómo generar el código de autenticación y el código de token


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación ReportPDF
onApplicationInit
onScriptInit
onScriptInit onScriptInit onApplicationInit onApplicationInit



sc_api_upload(profile, settings, file, parents)

Esta macro se utiliza para cargar archivos en la nube utilizando las API de almacenamiento de Google, Amazon y DropBox.  

En primer lugar, es necesario crear las claves para usar la API, ya sea con la macro o en la interfaz de campos. 

Después de obtener las credenciales, continúe con la configuración de la macro. 

Consulte la lista de parámetros a continuación.

Parámetros  Valor  Descripción 
profile

Ejemplo de cómo se debe informar el parámetro. v

'profile' => 'my_api',

Este parámetro acepta solo el nombre del perfil creado. 

Haga clic aquí para ver cómo crear un perfil.

Debemos informar el nombre del perfil que se está creando en la opción APIs del menú Herramientas. 

Cuando se usa, este parámetro carga la configuración informada al crear el perfil. 

Cuando se utiliza, el parámetro de configuración no necesita ser informado. 

Para obtener más detalles, consulte Uso de la macro con perfil 

settings

Ejemplo de cómo se debe informar el parámetro. 

'configuración' => [
'app_name' => 'scriptcase',
'gateway' => 'dropbox',
'api_key' => '',
'api_secret' => '',
'access_token' => '',
],

Nota: Para obtener más información sobre el parámetro, consulte la tabla de configuración exclusiva a continuación, para cada una de las API

Recibe una matriz con las credenciales de acceso para la API que se utilizará. 

Cuando se utiliza, no es necesario introducir el parámetro de perfil. 

file

Ejemplo de cómo se debe informar el parámetro. 

'file' => {upload_name_file},

Lista de opciones aceptadas: 

  • {upload_name_file} 
  • [variable global] 
  • "Cadena de ruta de archivo" 

Este parámetro recibe la ruta completa hasta que se localiza el archivo. 

Cuando se utiliza un campo, debe ser del tipo de archivo de carga.

parents

Ejemplo de cómo se debe informar el parámetro. 

Usando un campo
'parents' => {text_field_name},

Ingresando una cadena
'parent' => 'nombre_carpeta',

Lista de opciones aceptadas: 

  • {text_field_name}
  • [variable global] 
  • "Nombre de carpeta o ruta de almacenamiento en la nube local"

Directorio donde se almacenará el archivo 

Cuando no se le informa, el archivo se almacenará en la raíz del servidor de almacenamiento.

 

Como se vio anteriormente, el parámetro de settings recibe una matriz con las credenciales de acceso para la API utilizada.   

Este parámetro debe usarse solo cuando no hemos definido un perfil en el menú Herramientas> API 

Cada API tiene su propia configuración para el parámetro settings, vea a continuación cómo debe configurarse cada una. 

Usando la macro con perfil

El uso de la macro con un perfil, requiere la creación previa de la misma.
Haga clic aquí para ver cómo crear un perfil en cada una de las API de almacenamiento disponibles. 

El perfil, o perfil, contiene los datos para usar la API deseada, por lo tanto, cuando se usa un perfil en la macro, no es necesario usar el parámetro settings.

El parámetro de perfil acepta solo el nombre del perfil creado, para el uso dinámico de la macro, será necesario utilizar los parámetros settings.

Ejemplo de uso de la macro con el perfil.

sc_api_upload ([ 
   'profile' => 'my_api', 
   'file' => {archivo}, 
   'parents' => 'pasta_no_drive', 
]);

Usando la macro con el parámetro de configuración

La matriz con las credenciales de acceso que se deben pasar en el parámetro de configuración varía según la API utilizada. 

Vea a continuación cómo utilizar este parámetro de acuerdo con cada una de las API disponibles. 

Cuando se utiliza el parámetro de configuración en la configuración en la macro, no es necesario informar un perfil.

Uso de la macro con la configuración - API de Google Drive

Primero, debemos tener las credenciales para usar la API de Google Drive en la mano, haga clic aquí para aprender cómo obtenerlas. 

Después de configurar las credenciales, vea a continuación todos los valores de la matriz que deben pasarse en el parámetro de configuración usando la API de Google Drive. 

Todos los valores a continuación son obligatorios cuando se usa el parámetro de configuración 

Índice  Valor  Descripción
app_name

Ejemplo de cómo se debe informar el parámetro. 

'app_name' => 'scriptcase', 

Este índice acepta solo cadenas


Nombre de la aplicación ingresado al crear las credenciales de acceso.

gateway

Ejemplo de cómo se debe informar el parámetro. 

'gateway' => 'google_driver',

Este índice acepta solo cadenas


Nombre de la puerta de enlace para identificar la API utilizada.
json_oauth

Ejemplo de cómo se debe informar el parámetro. 

'json_oauth' => 'JSON', 

Lista de opciones aceptadas: 

  • 'String'
  • {nombre del campo} 
  • $ variable

Recibe el contenido del archivo de autenticación generado por el usuario (JSON). 

Este archivo debe descargarse después de crear las credenciales en el sitio web de Google.

auth_code

Ejemplo de cómo se debe informar el parámetro. 

'auth_code' => '5/4wHt7TBTY4MtvQ',

Lista de opciones aceptadas: 

  • {nombre del campo} 
  • $ variable 

Recibe el código auth_code, generado después de configurar la API siguiendo los pasos descritos en el tutorial 

Cómo generar el auth_code para usar la API del controlador de Google 

token_code

Ejemplo de cómo se debe informar el parámetro. 

'token_code' => '',

Lista de opciones aceptadas: 

  • 'String'
  • {nombre del campo}
  • $ variable
Es posible generar token_code usando nuestra macro sc_api_gc_get_obj

Ejemplos de uso de la macro con Google Drive, usando el parámetro de configuración 

sc_api_upload([ 
   'settings' => [ 
       'app_name' => 'scriptcase', 
       'gateway' => 'google_drive', 
       'json_oauth' => '', 
       'auth_code' => '', 
       'token_code' => '', 
   ], 
   'file' => {archivo}, 
   'parents' => '', 
]); 

 

Usar la macro con la configuración - Dropbox

En primer lugar, debemos tener las credenciales para usar la API de Dropbox a la mano, haga clic aquí para saber cómo obtenerlas. 

Después de configurar las credenciales, vea a continuación todos los valores de la matriz que se deben pasar en el parámetro de configuración usando la API de Dropbox. 

Todos los valores a continuación son obligatorios cuando se usa el parámetro de configuración

Índice  Valor  Descripción
app_name

Ejemplo de cómo se debe informar el parámetro. 

'gateway' => 'scriptcase',

Este índice acepta solo cadenas

Nombre de la aplicación ingresado al crear las credenciales de acceso.
gateway

Ejemplo de cómo se debe informar el parámetro. 

'gateway' => 'google_driver', 

Este índice acepta solo cadenas

Nombre de la puerta de enlace para identificar la API utilizada. 
api_key

Ejemplo de cómo se debe informar el parámetro. 

'api_key' => {field_name}, 

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $ variable
Reciba el api_key, disponible al configurar la API.
api_secret

Ejemplo de cómo se debe informar el parámetro. 

'api_secret’  => {field_name},

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $variable
Recibe api_secret, disponible al configurar las credenciales de la API.  

Ejemplos de uso de la macro con Dropbox, usando el parámetro de configuración 

sc_api_upload ([ 
   'configuración' => [ 
       'app_name' => 'scriptcase', 
       'gateway' => 'dropbox', 
       'api_key' => '', 
       'api_secret' => '', 
       'access_token' => '', 
   ], 
   'archivo' => {archivo}, 
   'padres' => '', 
]); 

  

Uso de la macro con configuraciones - Amazon S3 

Debemos tener las credenciales para usar la API de almacenamiento de Amazon S3 a mano, haga clic aquí para aprender cómo obtenerlas. 

Después de configurar las credenciales, consulte a continuación todos los valores de la matriz que se deben pasar en el parámetro de configuración mediante la API de Amazon S3. 

Todos los valores a continuación son obligatorios cuando se usa el parámetro de configuración.

Indice  Valor  Descripción 
app_name

Ejemplo de cómo se debe informar el parámetro. 

'app_name' => 'scriptcase',

Este índice acepta solo cadenas


Nombre de la aplicación ingresado al crear las credenciales de acceso. 
gateway

Ejemplo de cómo se debe informar el parámetro. 

'gateway' => 'google_driver', 

Este índice acepta solo cadenas


Nombre de la puerta de enlace para identificar la API utilizada.
api_key

Ejemplo de cómo se debe informar el parámetro. 

'api_key' => {field_name},

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $ variable

Reciba el api_key, disponible al configurar la API.
api_secret

Ejemplo de cómo se debe informar el parámetro. 

'api_secret' => {field_name},

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $ variable 

Recibe api_secret, disponible al configurar las credenciales de la API.

region

Ejemplo de cómo se debe informar el parámetro. 

'region' => 'us-east-1',

El parámetro de región de la macro acepta solo el código de región. 

Para que sea más fácil, siga un enlace para verificar el código de cada región. 

https://docs.aws.amazon.com/general/latest/gr/rande.html 

Recibe el código de región, el mismo utilizado en la creación de credenciales.
bucket

Ejemplo de cómo se debe informar el parámetro. 

'bucket' => 'bucket_name',

Lista de opciones aceptadas: 

  • 'String' 
  • {nombre del campo} 
  • $ variable
Recibe el nombre del depósito creado al configurar las credenciales de la API. 

Ejemplos de uso de la macro con Amazon S3, usando el parámetro de configuración 

sc_api_upload ([ 
   'configuración' => [ 
       'app_name' => 'scriptcase', 
       'gateway' => 'S3', 
       'api_key' => '', 
       'api_secret' => '', 
       'región' => '', 
       'cubo' => '', 
   ], 
   'archivo' => {archivo}, 
   'padres' => '', 
]);


Macro Scope

Aplicación Formulário Aplicación Controle
onAfterDelete
onAfterUpdateAll
onBeforeInsertAll
onValidate
onValidate



sc_apl_conf("Aplicación", "Propiedad", "Valor")

Ver un vídeo tutorial

Esta macro permite modificar la propiedad de la aplicación. El usuario puede determinar si un Formulario se iniciará en modo de inserción, o una grid se iniciará por filtro, etc.

Esta macro debe ser usada por una aplicación para modificar las propiedades de otra aplicación.


Propiedades para aplicaciones Formularios

Propiedad Valor Descripción
start new Fuerza al formulario a comenzar en el modo de inserción para agregar nuevos registros.
insert on/off Habilita (on) o deshabilita (off) el botón para la inclusión de nuevos registros.
update on/off Habilita (on) o deshabilita (off) el botón para la inclusión de nuevos registros.
delete on/off Habilita (on) o deshabilita el botón para cambiar los registros..
field_display_off field Dinámicamente oculta un campo.
field_display_on field Muestra dinámicamente un campo.
field_readonly field Fuerza un campo para que se muestre como "readonly"..
rows   Fuerza el número de líneas para cada una de las páginas (solo para formularios de multiples registros).
rows_ins   Fueza el número de líneas para insertar (solo para formulario de multiples registros).


Propiedad para aplicaciones Grid

Propiedad Valor Descripción
start filter Fuerza a la grid a comenzar por el filtro.
cols   Fuerza el número de columnas. (tipo vertical y deslizante)
rows   Fuerza a la grid a comenzar por el filtro..
lig_edit on/off Habilita (on) o deshabilita el botón de edición del registro (lápiz)

 

Propiedad para todas las aplicaciones

Propiedad Valor Descripción
exit apl/url Fuerza la aplicación a salir a una ubicación especificada.

 

Ej. 1: Fuerza a la aplicación de formulario "my_form" a comenzar en el modo de inserción.
sc_apl_conf("my_form", "start", "new");

 

Ej. 2: No permite que la aplicación de formulario"my_form" agregue nuevos registros.
sc_apl_conf("my_form", "add", "off");

 

Ej. 3: Muestra un campo "my_field", de una aplicación de formulario "my_form", dinámicamente.
sc_apl_conf("my_form", "field_display_off", "my_field");

 

Ej. 4: Fuerza a la aplicación de formulario "my_query" a iniciar por el filtro.
sc_apl_conf("my_form", "field_display_on", "my_field");

 

Ej. 5: Fuerza a la aplicación de grid "my_grid" a iniciar en modo filtro.
sc_apl_conf("my_grid", "start", "filter");

 

Ej. 6: Fuerza la aplicacion de grid "my_grid"a mostrar N lineas en este ejemplo 20.
sc_apl_conf("my_grid", "rows", "20");

 

Ej. 7: Oculta un campo "my_field" en la aplicación de formulario "my_form" dinámicamente.
sc_apl_conf("my_form", "field_display_off", "my_field");

Ej. 8: Usa el boton del menu de la barra de herramientas.
if ({sc_menu_item} == "btn_1")
{
sc_apl_conf("form_customer", "start", "new");
}

 


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onFilterInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onScriptInit



sc_apl_default("aplicacion", "tipo");

Esta macro permite que el usuario defina en su aplicación inicial lo que sucederá cuando la aplicación pierda la sesión.

La macro tiene los siguientes parámetros:

Apl: Aquí es necesario informar a qué aplicación se redirigirá la macro después de perder la sesión.

Tipo: Aquí informaremos al tipo de redireccionamiento que se producirá. Hay dos tipos:

  • R: La aplicación solo redireccionará a la aplicación inicial.
  • M: Se mostrará un mensaje antes del redireccionamiento.

Ejemplo: En una aplicación de inicio de sesión definida como la aplicación inicial, podemos definir que esta aplicación se redireccionará a sí mismo.
sc_apl_default("app_login","R")


Macro Scope

Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onCalendarScriptInit
onScriptInit
onScriptInit onScriptInit onFilterInit onScriptInit onScriptInit onScriptInit



sc_apl_status("Aplicación", "Status")

Usado para controlar el acceso de seguridad. Estas macros activan / desactivan las aplicaciones a las que un usuario tiene acceso.


Applicación: Es el nombre o la variable que contiene el nombre de la aplicación para activar / desactivar.
Estado: Es el valor o la variable que contiene el valor que se debe atribuir a la aplicación. Los valores son: "on" para activar y "off" para desactivar.

 

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


Ej. 2:
sc_apl_status ({var_name_appl}, {var_status});


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onFilterInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onLoad
onApplicationInit
onLoad
onApplicationInit
onScriptInit



sc_appmenu_add_item("Menu_Name", "Id_Item", "Id_Parent", "Etiqueta", "Aplicación", "Parámetros", "Icono", "Sugerencia", "Objetivo")

Agrega dinámicamente  un elemento a una aplicación de menú.

Solo es posible usar esta macro cuando hay una matriz creada anteriormente por la macro sc_appmenu_create.

Parametro Descripción
Menu_name Nombre del menú de la aplicación.
Id_item ID del elemento de menú.
Id_Parent ID del elemento de menú. Si el elemento es raíz, el valor ese parámetro se debe pasar en blanco.
Label Descripción para el elemento de menú
Aplicación Elemento de menú URL o nombre de la aplicación...
Parametros Cadena con parámetros para pasar a la aplicación del elemento de menú.
Ej.: param1=valor;param2=valor
Icon Ruta del icono utilizado en el elemento del menú.
Hint Descripción descriptiva del elemento del menú.
Target Objetivo para el enlace del elemento de menú. ("_self" para usar la misma ventana, "_blank" a una nueva y "_parent" para salir de la ventana.

 

 

Ej. 1: Crea un menú llamado menu_main.
sc_appmenu_create('menu_main');


Ej. 2:
Agrega un en el menu_main el elemento_1 llamado Category.
sc_appmenu_add_item('menu_main','item_1','','Category','');


Ej. 3: Agrega en el menú_main (elemento_2) al elemento_1 Nombre Categoría vinculado a form_category pasando algunos parámetros.
sc_appmenu_add_item('menu_main','item_2','item_1','Category Form','form_category','param1=value;param2=value');


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_appmenu_create("Menu_Name")

Esta macro inicia la matriz para el ensamblaje dinámico de una aplicación de menú. El nombre de la aplicación del menú debe ingresarse como parámetro.

Esta macro debe usarse en eventos de control o en el evento onload del menú.

 

Ej. 1:
sc_appmenu_create ('menu_main');


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_appmenu_exist_item("Menu_Name", "Id_Item")

Compruebe si existe un elemento de menú y devuelva un valor verdadero o falso.

Parametros Descripción
Menu_Name Menú de nombre de la aplicación
Id_Item Código de identificación del elemento del menú


Ej. 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');

}


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_appmenu_remove_item("Menu_Name", "Id_Item")

Elimina dinamicamente un elemento del Manu.

Para usar esta macro antes es necesario ejecutar la macro sc_appmenu_create.

Parametro Descripción
menu_name Nombre de la aplicación del menu
id_item Menu item id

 

 

 

 

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


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_appmenu_reset("Menu_Name")

Esta macro borra la matriz para el ensamblaje dinámico de una aplicación de menú.

El nombre de la aplicación del menú debe ingresarse como parámetro.

 

Ej. 1:
sc_appmenu_reset ('menu_main');


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_appmenu_update_item("Menu_Name", "Id_Item", "Id_Parent", "Etiqueta", "Aplicación", "Parámetros", "Icono", "Sugerencia", "Objetivo")

Actualiza dinámicamente un elemento a una aplicación de menú.

Solo puede usar esta macro cuando ya hay una matriz generada con la macro sc_appmenu_create antes.

Esta macro solo se puede usar en elementos que se crearon con la macro sc_appmenu_add_item anteriormente.

 

Parametos Descripción
menu_name Nombre del elemento del menu
id_item ID del elemento del menu
id_parent ID del elemento del menú de la aplicación. Para las raíces se pasa el valor nulo / vacío.
Label Descripción elemento del menu aplicación
Aplication Elemento de menu o nombre de la aplicación
Parameters Cadena con paramentro para pasar al elemento del menu
Ej.: param1 = valor; param2 = valor
Icon Ruta de icono utilizada en el elemento del menu
Hint Sugerencia descriptiva para el elemento de menu
Target Objetivo para el enlace del elemento del menu

 

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


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_begin_trans("Conexión")

Esta macro inicia un conjunto de transacciones en la base de datos.

Para el uso de esta macro necesita tener una base de datos transaccional.

En las aplicaciones de formulario, los eventos (onAfterInsert, onAfterUpdate, onAfterDelete, onBeforeInsert, onBeforeUpdate o onBeforeDelete) están protegidos automáticamente por un control de transacción, ya que la conexión es la misma que la de la aplicación.

En los otros casos, si el usuario necesita realizar un control de transacción, debe comenzar con esta macro y finalizar con la macro sc_commit_trans() para confirmar las actualizaciones o sc_rollback_trans() para cancelar las transacciones.

El parámetro "conexión" es opcional, necesario solo si el comando se ejecuta en una conexión diferente de la aplicación real.
Ej:
           sc_begin_trans();
           if({campo} == 1)
           {
                 sc_rollback_trans();
           }
          else
          {
                 sc_commit_trans();
          }

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_block_display(Nombre del bloque, on/off)

Determina dinámicamente los campos de visualización de un bloque específico.

Por defecto, se muestran todos los bloques (condición "activada").

 

Ej. 1:
if ({type_customeri} == "personal")
{
sc_block_display(company, off);
}
else
{
sc_block_display(personal, off);
}

 

Ej. 2:  Usando una variable local como segundo parámetro

$var = "off";

sc_block_display(company, $var);

 

Obs: En las grid, esta macro solo funciona con orientación de "diapositiva".


Macro Scope

Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle
onAfterInsert
onAfterUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onScriptInit onScriptInit
onRecord
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onClick
onScriptInit
onLoadAll
onRefresh



sc_btn_copy

Disponible cuando se hace clic en el botón "Copiar". Se puede probar y usar dentro de los eventos de ScriptCase, lo que permite una programación específica en tiempo de ejecución.

 

Ej. 1:

if (sc_btn_copy)

{

sc_message("Registro copiado exitosamente!");

}


Macro Scope

Aplicación Calendario Aplicación Formulário
onScriptInit
onLoad
onScriptInit
onLoad



sc_btn_delete

Ver un video tutorial

Disponible cuando se hace clic en el botón "Eliminar". Se puede probar y usar dentro de los eventos de ScriptCase, lo que permite una programación específica en tiempo de ejecución.

Ej. 1:
if (sc_btn_delete)
{
sc_error_message("No fue posible eliminar este registro");
}


Macro Scope

Aplicación Calendario Aplicación Formulário
onValidate
onValidateFailure
onValidateSuccess
onValidate
onValidateFailure
onValidateSuccess



sc_btn_disable('id_boton', 'on/off')

Ver un vídeo tutorial

Esta macro se usa para deshabilitar o habilitar botones desde una aplicación de menú.

 

Ej:

sc_btn_disable('btn_2', 'off');


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onLoad



sc_btn_disabled("boton_nombre", "status")

Esta macro está destinada a habilitar o deshabilitar dinámicamente un botón de la barra de herramientas.

Tiene dos parámetros obligatorios:

Parametro Valor Descripción
nombre_boton

El valor debe informarse mediante variables o en formato de cadena, con comillas simples o dobles.

En negrita, aquí está el ejemplo de cómo se debe ingresar el parámetro:

sc_btn_disabled('update', 'off');

Obs: Los nombres de los botones deben estar en minúsculas.

Este parámetro define el botón cuya visualización cambiará.

Los nombres de los botones están disponibles en la tabla siguiente, separados por aplicación.

status

Al igual que el nombre del campo, el parámetro solo acepta cadenas, protegidas con comillas simples o dobles.

En negrita, aquí está el ejemplo de cómo se debe ingresar el parámetro:

sc_btn_disabled('update', 'off');

Este parámetro define si el botón está habilitado, cuando está on encendido, o deshabilitado si está off apagado

Valores aceptados en el parámetro:

  • on - El botón se muestra deshabilitado;
  • off - El botón se muestra habilitado;

 


Nombre de los botones de grid

Nombre del botón Descripción
first Navegue para la primera página.
back Navega para la página anterior.
forward Navega para la página siguiente.
last Navega para a última página.
filter Controle la visualización del botón "Filtro" en la grid.
pdf Genera archivo PDF a color.
det_pdf Genera archivo PDF en el detalle.
pdfbw Genera archivo PDF blanco y negro de la grid.
xls Genera archivo XLS.
xml Genera archivo XML.
csv Genera archivo CSV.
rtf Genera archivo RTF.
word Genera archivo Word.
json Genera archivo JSON.
print Abre la consulta en formato de impresión.
det_print Abre el detalle en formato de impresión.
summary Controla la visualización del botón "Resumen" en la cuadrícula.
new Controla la visualización del botón "Nuevo", lo que permite la inclusión de nuevos registros. (si la aplicación tiene un enlace o si el formulario se está ejecutando en el iframe de la consulta)
insert Controla la visualización del botón "Insertar". (solo en casos de formulario que se ejecuta en iframe de consulta)
update Controla la visualización del botón "Actualizar". (solo en casos de formulario que se ejecuta en iframe de consulta)
delete Controla la visualización del botón "Eliminar". (solo en los casos en que el formulario se ejecuta en el iframe de la consulta)
groupby Controla la visualización del botón "Agrupación".
dynsearch Controla la visualización del botón "Filtro dinámico".
gridsave Controla la visualización del botón "Guardar grid".
sel_col Botón Seleccionar columnas
sort_col Botón Ordenar

 

 


Nombre de los botones de la aplicación Calendario y Formulario

Nombre del botón Descripción
first Navega para el primeir registro del formulario.
back Navega para el registro anterior.
forward Navega para el registro siguiente.
last Navega para el último registro del formulário.
new Controla la visualización del botón "Nuevo" en un formulario, usado en off el formulario es iniciado en modo incluir.
insert Controla la visualización del botón "Incluir".
update Controla la visualización del botón "Actualizar".
delete Controla la visualización del botón "Excluir".
copy Controla la visualización del botón "Copiar".
dynsearch

Controla la visualización del botón "Filtro dinâmico".

pdf

Genera archivo PDF a partir del formulario.

print

Abre el formulario en formato de impresión.

 


Nombre de los botones del Control

Nombre del botón
Descripción
ok Controla la visualización del botón "Ok" en el control.
exit Controla la visualización del botón "Salir".
facebook Controla la visualización del botón "Facebook".
twitter Controla la visualización del botón "Twitter"
google Controla la visualización del botón "Google+"
paypal Controla la visualización del botón "PayPal"

 

 


Ejemplo: Habilitando botón delete apenas para el usuario 'admin' con comillas.

if ( [user_login] == 'admin' ) {

    sc_btn_disabled('delete', 'on');

} else {

    sc_btn_disabled('delete', 'off');

}

 

Ejemplo: Usando variables.

Obs: Pueden ser utilizadas variables globales o locales.

if ( [user_login] == 'admin' ) {

    sc_btn_disabled([btn_name], [status]);

} else {

    sc_btn_disabled([btn_name], [status]);

}


Macro Scope

Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle
onAfterDelete
onAfterInsert
onAfterUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onScriptInit onScriptInit onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onScriptInit
onLoad
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess



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

Utilizado dentro de los eventos, los botones de la barra de herramientas se pueden habilitar o deshabilitar.

Button_Name: es el nombre o la variable que contiene el nombre del botón que se habilitará / deshabilitará.

Nombre de botones (Grid):

 

Nombre del botón
Descripción
first Ir para la primera pagina del grid.
back Ir para la pagina anterior del grid.
forward Ir para la proxima pagina del grid.
last Ir para la ultima pagina del grid.
filter Muestra el boton "Filtro".
pdf Genera PDF a color.
det_pdf Genera PDF detalle
pdfbw Genera PDF blanco y negro.
xls Genera archivo XLS.
xml Genera archivo XML.
csv Genera archivo CVS.
rtf Genera archivo RTF.
word Genera archivo Word.
json Genera archivo JSON.
print Muestra el boton "Imprimir" en la grid.
det_print Muestra el botón "Imprimir" en los detalles.
resumen
summary Muestra el boton "Resumen" en la grid.
new Muestra el botón "Nuevo". (si la aplicación tiene un enlace o si el formulario se está ejecutando en el iframe de la grid)
insert Muestra el boton "incluir" en el formulario (solo para formularios ejecutados desde el iframe del grid)
update Muestra el boton "actualizar" del formulario (solo para formularios ejecutados desde el iframe del grid)
delete Muestra el boton "eliminar" del formulario (solo para formularios ejecutados desde el iframe del grid)
qsearch Muestra el boton "Busqueda rapida/Quick Search" en la grid.
dynsearch Muestra el boton "Busqueda dinaminca" en la grid.
gridsave Muestra el boton "Guardar Grid" en la grid.
sel_col Botón Seleccionar columnas
sort_col Botón Ordenar

 

Nombre del botón: (Formulario):

Nombre del botón.
Descripción
first Ir para la primera pagina del form.
back Ir para la pagina anterior del form.
forward Ir para la proxima pagina del form.
last Ir para la ultima pagina del grid.
new Muestra el boton the "nuevo" en el form, si está apagado, el formulario comenzará en modo de inserción.
insert Muestra botón "Incluir" en el formulario.
update Muestra botón "Actualizar" en el formulario.
delete Muestra botón "Eliminare" en el formulario.
copy Muestra botón "Copiar" en el formulario.
qsearch Muestra "Quick Search/Busqueda Rapida" en el formulario.
pdf Genera archivo PDF en el formulario.
print Abrir el formulario en modo impimir.
dynsearch Muestra boton "Busqueda dinamica" en el grid.

 

Nombre del botón (Control):

Nombre del botón. Descripción
ok Muestra boton "Ok" en la aplicación control.
exit Muestra boton "Exit" en la aplicación control.
facebook Muestra boton "Facebook" en la aplicación control.
twitter Muestra boton "Twitter" en la aplicación control.
google Muestra boton "Google+" en la aplicación control.
paypal Muestra boton "PayPal" en la aplicación control.

OBS. Importante: los nombres de los botones deben estar en minúsculas.

 

Ej. 1:
sc_btn_display ('nuevo', 'off');

 

Ej. 2: Usando una variable local como segundo parámetro

$var = "off";
sc_btn_display ('new', $var);

 

Ej. 3: Al pasar variables o campos ({field} o [global_variable]) como parámetros, no es necesario utilizar comillas dobles o simples antes y después de la variable.


sc_btn_display ({variable_button}, 'off');


Macro Scope

Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle
onAfterDelete
onAfterInsert
onAfterUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onScriptInit onScriptInit onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure



sc_btn_insert

Ver un vídeo tutorial

Disponible cuando se hace clic en el botón "Agregar". Se puede probar y usar dentro de los eventos de ScriptCase, lo que permite una programación específica en tiempo de ejecución.

 

Ej. 1:
if (sc_btn_insert)
{
sc_message("Registro insertado exitosamente");

}


Macro Scope

Aplicación Calendario Aplicación Formulário
onValidate
onValidateFailure
onValidateSuccess
onValidate
onValidateFailure
onValidateSuccess



sc_btn_label("btn_name", "new_label")

Esta macro se utiliza para cambiar dinámicamente la etiqueta de los botones, ya sean creados por el desarrollador o por el propio Scriptcase.

Para ello, es necesario informar dos parámetros obligatorios,  'btn_name' e 'new_label' (nombre del botón, y nueva etiqueta).

Parametro Valor Descripción
btn_name

El parámetro se puede ingresar usando variables (globales o locales) o cadena (usando comillas dobles o simples)

En negrita, aquí está el ejemplo de cómo se debe ingresar el parámetro:

sc_btn_label('update', 'Actualizar Registro');

Valores aceptados en el parametro:

  • String - Protegida por comillas simples o dobles.
    Ej.: 'update'
  • Variables - Locales o globalesEj.: $btn_update

Recibe el nombre de los botones a los que se les cambiará la etiqueta.

Los nombres de los botones, que son creados automáticamente por Scriptcase, están disponibles a continuación, separados por aplicación.

new_label

El parámetro se puede ingresar usando variables (globales o locales) o cadena (usando comillas dobles o simples)

sc_btn_label('update', 'Actualizar Registro');

Valores aceptados en el parametro:

  • String - Protegido por comillas simple o dobles. Ej.: 'Actualizar Registro'
  • Variáveis - Local o global. Ej.: $new_label
  • Lang -variable lang. Ej.: {lang_btn_label}

Este parámetro recibe la nueva etiqueta del botón informado en el parámetro anterior.

Además de la cadena y la variable, también es posible utilizar un idioma para definir la etiqueta, lo que permite la traducción de la internacionalización de su aplicación.

 

Clique aqui y vea ejemplos de como usar la macro.

 


Nombre de los botones de la Grid y del grafico.

Nombre del botón Descripción
first

Navega para el inicio de la grid.

back Navega para la pagina anterior.
forward Navega para la pagina siguiente.
last Navega para la última página.
filter Controla la exibición del botón "Filtro" de la grid.
pdf Genera el PDF a color de la grid.
det_pdf Genera PDF del detalle.
pdfbw Genera PDF blanco y negro de la grid.
xls Genera archivo XLS.
xml Genera archivo  XML.
csv Genera archivo CSV.
rtf Genera archivo RTF.
word Genera archivo Word.
json Genera archivo JSON.
print Abre la grid en formato de impresión.
det_print Abre el detalle en formato de impresión.
summary Controla la visualización del botón "Resumen" en la grid.
new

Controla la visualización del botón "Nuevo", permitiendo agregar nuevos registros.

Nota: si la aplicación tiene un enlace a ella, o si el formulario se está ejecutando en el iframe de la grid

insert

Controla la visualización del botón "Agregar".

Nota: solo en los casos en que el formulario se ejecuta en iframe de la grid

update

Controla la visualización del botón "Actualizar".

Nota: solo en los casos en que el formulario se ejecuta en iframe de la grid

delete

Controla la visualización del botón "Eliminar".

Nota: solo en los casos en que el formulario se ejecuta en iframe de la grid

groupby Controla la visualización del botón "Agrupación".
dynsearch Controla la visualización del botón "Filtro dinamico".
gridsave Controla la visualización del botón "Guardar Grid".
sel_col Botón de selecionar columnas
sort_col Botón de ordenar

 

Nombre de los botones del formulario y calendario

Nombre del botón Descripción
first Navega para el primer registro del formulario.
back Navega para el registro anteriordel formulario.
forward Navega para el registro siguiente del formulario.
last Navega para el utlimo registro del formulario.
new Controla la visualización del botón "Nuevo" en un formulario, usado en 'off' el formulario es iniciado en modo agregar o nuevo.
insert Controla la visualización del botón "Agregar".
update Controla la visualización del botón "Actualizar".
delete Controla la visualización del botón "Eliminar".
copy Controla la visualización del botón "Copiar".
dynsearch

Controla la visualización del botón "Filtro dinâmico".

pdf

Genera documento PDF a partir del formulário.

print

Abre el formulário en modo impreción.

 

Nombre de los botones de la grid.

Nombre del botón
Descripción
ok Controla la exibición del botón "Ok" en el form control.
exit Controla la exibición del botón "Sair".
facebook Controla la exibición del botón "Facebook".
twitter Controla la exibición del botón "Twitter"
paypal Controla la exibición del botón "PayPal"

 


Ejemplo: Parametro con string

sc_btn_label('update', 'Actualizar registro');

 

Ejemplo: Parametro con lang

sc_btn_label("update", {lang_btn_label});

 

Ejemplo: Parametro con variable Global

[btn_name] = "update";
[label] = "update";
sc_btn_label([btn_name], [label]);

 

Ejemplo: Parametro con variable local

$btn_name = "update";
$label= "update";
sc_btn_label($btn_name, $label);

Macro Scope

Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle
onAfterDelete
onAfterInsert
onAfterUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onScriptInit onScriptInit onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onScriptInit
onLoad
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure



sc_btn_new

Disponible cuando se hace clic en el botón "Agregar nuevo". Se puede probar y usar dentro de los eventos de ScriptCase, lo que permite una programación específica en tiempo de ejecución.

 

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

Disponible cuando se hace clic en el botón "Agregar nuevo". Se puede probar y usar dentro de los eventos de ScriptCase, lo que permite una programación específica en tiempo de ejecución.

 

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


Macro Scope

Aplicación Calendario Aplicación Formulário
onLoad onLoad



sc_btn_update

Ver un video tutorial

Disponible cuando se hace clic en el botón "Guardar". Se puede probar y usar dentro de los eventos de ScriptCase, lo que permite una programación específica en tiempo de ejecución.

 

Ej. 1:
  if (sc_btn_update)
{
  sc_error_message("Record updated successfully");
}


Macro Scope

Aplicación Calendario Aplicación Formulário
onValidate
onValidateFailure
onValidateSuccess
onValidate
onValidateFailure
onValidateSuccess



sc_calc_dv(Dígitos, Descanso, Valor, Módulo, Pesos, Tipo)

Esta macro tiene como objetivo calcular los dígitos de verificación.

 

Parámetros

Descripción

Digit Variable que recibirá el dígito calculado.
Rest Variable que recibirá el "resto" de la división.
Value Valor o variable para calcular el dígito.
Module
Weights Valor o variable que contiene los pesos que se utilizarán. El valor predeterminado son los valores "98765432".
Type Valor o variable que contiene el cálculo de parcelas a utilizar: 1 a la suma normal de los valores de las parcelas y 2 a la suma de cada algoritmo de las parcelas. El valor predeterminado es "1".

 

Ej. 1:
sc_calc_dv({my_dv}, {my_rest}, 1234567, 11, 98765432, 1);
Cálculo de parcelas: 7x2 = 14; 6x3 = 18; 5x4 = 20; 4x5 = 20; 3x6 = 18; 2x7 = 14; 1x8 = 8
Suma de paquetes: 14 + 18 + 20 + 20 + 18 + 14 + 8 = 112
Resto de la división de 112/11 = 2
Dígito: 11 - 2 = 9

 

Ej. 2:
sc_calc_dv ({my_dv}, {my_rest}, 1234567, 10, 12, 2);
Cálculo de parcelas: 7x2 = 14; 6x1 = 6; 5x2 = 10; 4x1 = 4; 3x2 = 6; 2x1 = 2; 1x2 = 2
Suma de paquetes: 1 + 4 + 6 + 1 + 0 + 4 + 6 + 2 + 2 = 26
Resto de la división de 26/10 = 6
Dígito: 10 - 6 = 4


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_call_api($profile, $arr_settings)

Permite utilizar las API integradas con Scriptcase. Actualmente ofrecemos la integración con Mandrill y Amazon SES API.

Esta macro tiene dos parámetros:

Parámetros Descripción
$profile Parámetro requerido. Puede ser vacío '' o contener el nombre de la puerta de enlace configurada en "Herramientas> API".
$arr_settings This parameter is optional, as long as the "profile" is not empty.Cuando el mismo es informado debe contenr un Array con la puerta usada y la API key.

 

Ej.1 - Configuración de parámetros, array con información de la API.

$settings = array( 'settings' => ['gateway' => 'mandrill', 'api_key'=> {api_key}] );

$mandrill = sc_call_api('', $settings);

 

Ej. 2: Envío de correo electrónico usando Mandril.

$txt_no_tags = strip_tags({body});

$arr_merge = array(
                'name'  => '',
                'type'  => 'to',
                'email' => 'example@exemple.com'
            );

$var_config = array( 'settings' => ['gateway' => 'mandrill', 'api_key'=> {api_key}] );

$mandrill = sc_call_api('', $var_config);
$var_msg = array(
              'from_email'                     => {from_email},
              'from_name'                      => {from_name},
               'html'                          => {body},
               'text'                          => $txt_no_tags,
               'to'                            => array($arr_merge),              
               'subject'                       => {subject},
               'important'                     => true,            
               'auto_text'                     => null,
               'auto_html'                     => null,
               'inline_css'                    => null,
               'metadata'                      => array('website' => 'www.scriptcase.net')
   );

$async = false;
$return = $mandrill->messages->send($var_msg, $async);

Ej. 3 - Envío de SMS usando clickatell.

$var_config     = array( 
  'message'     => [
    'to'      => {sms_to},
    'message'     => {sms_txt},
    ],
    'settings'    => [
    'gateway'   => {gateway},
    'auth_token'  => {auth_token},
    ] 
);

sc_send_sms($var_config);

Ej. 4 - Uso de la macro con PayPal

  $arr_settings = [
            'gateway' => 'paypal',
            'environment' => 'sandbox',
            'auth_email' => 'vitorjamil@gmail.com',
            'auth_token' => '72AE21503DDA4840BE1DC7945F6D1CE1'
                 ];
sc_call_api('',$arr_settings);

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onHeader
onScriptInit
onRecord
onFilterInit
onFilterSave
onFilterValidate
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_captcha_display("on/off")

Controla dinámicamente si se muestra el captcha/recaptcha configurado en la aplicación.

Para utilizar la macro, la aplicación debe estar previamente configurada con el recurso.

Ejemplo

if ( $_SERVER['REMOTE_ADDR'] == '127.0.0.1' ) {

    sc_captcha_display("on");

} else {

  sc_captcha_display("off");
 

Macro Scope

Aplicación Formulário Aplicación Controle
onScriptInit
onLoad
onScriptInit
onLoadAll



sc_changed({Nombre_Campo})

Ver un video tutorial

Macro para comprobar si se ha cambiado el nombre del campo.

Ej. 1:
if (sc_changed({my_field}))
{
Echo "Filed has been changed";
}


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
onBeforeUpdate
onValidate
onValidateFailure
onValidateSuccess
onBeforeUpdate
onValidate
onValidateFailure
onValidateSuccess
onRefresh



sc_change_connection("Conexión_antigua", "Nueva_conexión")

Ver un video tutorial

Esta macro cambia dinámicamente las conexiones de la aplicación

Ej. 1: Para cambiar las conexiones:

sc_change_connection("Old_Concection01", "New_Connection01" ; "Old_Concection02", "New_Connection02");



Permite cambiar más de una aplicación / conexión en un comando. Se pueden pasar múltiples conexiones como parámetros que deben estar separados por un ";".

 

Ej. 2: Usando variables:

sc_change_connection([Global_Connetion], [Test_Connection]);


Los cambios tienen efecto en las próximas aplicaciones.

 

Ej. 3: Cambiar la conexión principal de la aplicación

sc_change_connection({Password}, [Test] ; "Mi_Conexion", [Global_Connection]);


Los cambios tienen efecto en las próximas aplicaciones.

 

Ej. 4: Para eliminar los cambios:

Para recuperar su configuración anterior puede usar la macro sc_reset_change_connection();


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onExecute onScriptInit
onLoad
onHeader
onScriptInit
onApplicationInit
onScriptInit
onScriptInit
onLoad
onLoadRecord
onScriptInit
onLoadAll
onHeader
onScriptInit
onRecord



sc_change_css("atributo", "valor", "nombre_campo")

Esta macro permite manipular las propiedades CSS de los campos y filas de la consulta

De esta forma puedes cambiar el aspecto de la aplicación de forma dinámica y con muchas más opciones de modificación

 

Lista de parámetros

parámetros valores paramétricos Descripción
nombre_del_atributo

Este parámetro recibe el nombre del atributo css a modificar, que debe introducirse entre comillas dobles, comillas simples.

En este parámetro se puede utilizar el atributo sc_badge que aplica un css predefinido al texto.

Ejemplo con atributo color

sc_change_css('color''#dcfce7');

Ejemplo com sc_badge

sc_change_css('sc_badge''#dcfce7', 'field_name');

Este parámetro es obligatorio

y establece el atributo CSS que se modificará.

valor

Este parámetro define el valor del atributo introducido en el parámetro anterior y debe introducirse entre comillas dobles o simples.

Cuando se utiliza el atributo sc_badge en paramentro el valor del atributo debe ser uno de los colores listados a continuación:

azul, marrón, cian, gris, verde, naranja, rosa, morado, rojo, amarillo y cadena vacía

Si no se introduce ningún valor, pasando la cadena vacía, la insignia se eliminará del campo.

Ejemplo de configuración del color del atributo color

sc_change_css('color', '#dcfce7');

Ejemplo con sc_badge

sc_change_css('sc_badge', 'green', 'field_name');

Parámetro obligatorio que define el valor del atributo indicado anteriormente.

nombre_del_campo

El nombre del botón debe informarse mediante comillas dobles, comillas simples o variables.

Ejemplo

En este ejemplo estamos definiendo el cambio de color de fuente del campo fld_status

sc_change_css('color', '#dcfce7', 'fld_status');

Atributo opcional.

Define el campo donde se aplicará el CSS, si no se informa ningún valor el cambio se realizará en todos los campos de la línea.

Para utilizar el atributo sc_badge es obligatorio informar del nombre del campo, de lo contrario el css no se aplicará a ningún campo.

Ejemplo


Ejemplo de cambio del color de la fuente y utilización del sc_badge

switch({taskstatus}) {
	case 'COMPLETED':
		sc_change_css('color', '#dcfce7', 'taskstatus');
		sc_change_css('sc_badge', 'green', 'taskstatus');
		break;
		
	case 'IN-PROGRESS':
		sc_change_css('color', '#1e40af', 'taskstatus');
		sc_change_css('sc_badge', 'blue', 'taskstatus');
		break;
		
	case 'NOT-STARTED':
		sc_change_css('color', '#991b1b', 'taskstatus');
		sc_change_css('sc_badge', 'red', 'taskstatus');
		break;
}

Ejemplo de utilización de la macro con atributos css

switch({taskstatus}) {
	case 'COMPLETED':
		sc_change_css('color', '#166534', 'taskstatus');
		sc_change_css('background-color', '#dcfce7', 'taskstatus');
		sc_change_css('padding-right', '0.6em', 'taskstatus');
		sc_change_css('padding-left', '0.6em', 'taskstatus');
		sc_change_css('border-radius', '14px', 'taskstatus');
		sc_change_css('font-weight', 'bold', 'taskstatus');
		sc_change_css('width', 'fit-content', 'taskstatus');
		sc_change_css('display', 'block', 'taskstatus');
		sc_change_css('padding-top', '0.2em', 'taskstatus');
		sc_change_css('padding-bottom', '0.2em', 'taskstatus');
		sc_change_css('font-size', '60%', 'taskstatus');
		sc_change_css('margin', '10%', 'taskstatus');
		break;
		
	case 'IN-PROGRESS':
		sc_change_css('color', '#1e40af', 'taskstatus');
		sc_change_css('background-color', '#dbeafe', 'taskstatus');
		sc_change_css('padding-right', '0.6em', 'taskstatus');
		sc_change_css('padding-left', '0.6em', 'taskstatus');
		sc_change_css('border-radius', '14px', 'taskstatus');
		sc_change_css('font-weight', 'bold', 'taskstatus');
		sc_change_css('width', 'fit-content', 'taskstatus');
		sc_change_css('display', 'block', 'taskstatus');
		sc_change_css('padding-top', '0.2em', 'taskstatus');
		sc_change_css('padding-bottom', '0.2em', 'taskstatus');
		sc_change_css('font-size', '60%', 'taskstatus');
		sc_change_css('margin', '10%', 'taskstatus');
		break;
		
	case 'NOT-STARTED':
		sc_change_css('color', '#991b1b', 'taskstatus');
		sc_change_css('background-color', '#fee2e2', 'taskstatus');
		sc_change_css('padding-right', '0.6em', 'taskstatus');
		sc_change_css('padding-left', '0.6em', 'taskstatus');
		sc_change_css('border-radius', '14px', 'taskstatus');
		sc_change_css('font-weight', 'bold', 'taskstatus');
		sc_change_css('width', 'fit-content', 'taskstatus');
		sc_change_css('display', 'block', 'taskstatus');
		sc_change_css('padding-top', '0.2em', 'taskstatus');
		sc_change_css('padding-bottom', '0.2em', 'taskstatus');
		sc_change_css('font-size', '60%', 'taskstatus');
		sc_change_css('margin', '10%', 'taskstatus');
		break;
}

Macro Scope

Aplicación Grid
onClick
onRecord



sc_commit_trans("Conexion")

Esta macro tiene el objetivo de confirmar un conjunto de transacciones en la base de datos

En las aplicaciones de formularios, hay eventos que realizan transacciones con la base de datos (Ex: onAfterInsert, onAfterUpdate, onAfterDelete, onBeforeInsert, onBeforeUpdate, onBeforeDelete, etc...).
El control de transacciones de estos eventos se realiza mediante Scriptcase, si la conexión proporcionada es la misma de la aplicación.
Sin embargo, si el usuario tiene que realizar cualquier tipo de redirección en estos eventos, es necesario utilizar la macro sc_commit_trans antes de la redirección para asegurar las transacciones realizadas anteriormente.

Ej: onAfterUpdate - Utilizando la redirección después de actualizar un registro:

sc_commit_trans();

sc_redir('grid_main');


El parámetro "conexión" es opcional, siendo necesario solo si el comando se ejecuta en una base de datos diferente a la aplicación.


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_concat()

Esta macro devuelve una cadena resultante de la definición de dos o más valores Puede usarse en la búsqueda de campos o eventos junto con las macros sc_lookup() y sc_select()

Hace formato concat de acuerdo a su base de datos.

 

Ej. 1: Edición de lookup (Edición de búsqueda):

SELECT campo1, sc_concat(campo2,' - ',campo3) FROM tabla

 

Ej. 2: Usando la macro con sc_lookup:

sc_lookup(Dataset,"SELECT campo1,sc_concat(campo2, ' - ' ,campo3) FROM tabla");

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_confirm("Mensaje")

Válido solo en el código de programación PHP que se ejecuta cuando se lo llama a través de un botón de la barra de herramientas.

Esta macro se usa para confirmar que la acción debe ejecutarse realmente, evitando errores.

Parámetro

Esta macro tiene un solo parámetro, que es el mensaje de confirmación que se mostrará.

Ej. 1:
sc_confirm ("¿Realmente deseas ejecutar esta acción?");


Macro Scope

Aplicación Formulário Aplicación Controle
onClick onClick



sc_connection_edit("Nombre_Conexion", $ arr_conn)

1º Parámetro: nombre de la conexión que se editará.

2º Parámetro: matriz de elementos que contienen la información de conexión que se editará. Mira los índices de la matriz:

Indice
Descripción Ejemplo
['server'] Database server (host) $arr_conn['server'] = "127.0.0.1"
['user'] Database username $arr_conn['user'] = "root"
['password'] Database password $arr_conn['password'] = "secretpass123"
['database'] Nombre de la base de datos utilizada en la conexión $arr_conn['database'] = "sc_samples"
['persistent'] Define si la conexión es persistente o no $arr_conn['persistent'] = "Y" / "N"
['encoding'] Configurar la codificación de conexión $arr_conn['encoding'] = "utf8"

Nota: No es necesario usar todos los índices en la matriz, solo podemos pasar los requeridos.

Ejemplo:

$arr_conn = array();

$arr_conn['user'] = "admin2";
$arr_conn['password'] = "admin2pass";
$arr_conn['database'] = "sc_samples2";

sc_connection_edit("sc_connection", $arr_conn);

 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onLoad
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_connection_new("Nombre_de_Conexion", $arr_conn)

Cuando se usa, la macro crea una nueva conexión con la información insertada en sus parámetros. Esta conexión está disponible en toda la sesión actual de Scriptcase y deja de existir cuando se cierra la sesión.

La nueva conexión solo estará disponible en la próxima aplicación.

1º Parámetro: nombre de la conexión.

Nota: si hay una conexión creada dentro del Scriptcase con el mismo nombre, esta macro no tiene ningún efecto. Las conexiones creadas dentro de Scriptcase prevalecen. Si desea editar una conexión existente, consulte la documentación de la macro sc_connection_edit .

2º Parámetro: Matriz de elementos que contienen la información de conexión. Mira los índices de la matriz:

 

Indice
Descripción Ejemplo
['drive'] Controlador de la base de datos utilizada para la conexión. (vea la tabla de abajo) $arr_conn['driver'] = "oci8"
['server'] Database server (host) $arr_conn['server'] = "127.0.0.1"
['user'] Database username $arr_conn['user'] = "root"
['password'] Database password $arr_conn['password'] = "secretpass123"
['database'] Nombre de la base de datos utilizada en la conexión $arr_conn['database'] = "sc_samples"
['persistent'] Define si la conexión es persistente o no $arr_conn['persistent'] = "Y" / "N"
['encoding'] Configurar la codificación de conexión $arr_conn['encoding'] = "utf8"

Nota: Se requiere que todos los artículos estén llenos, con la excepción de los artículos. ['persistent'] y ['encoding'].

Vea abajo la lista de drivers:

 

Driver
Descripción
access MS Access
ado_access MS Access ADO
odbc ODBC Genérico
db2 DB2
db2_odbc DB2 ODBC Nativo
odbc_db2 DB2 ODBC Genérico
odbc_db2v6 DB2 ODBC Genérico 6 ou Abaixo
pdo_db2_odbc DB2 PDO ODBC
pdo_ibm DB2 PDO
firebird Firebird
pdo_firebird Firebird PDO
borland_ibase Interbase 6.5 ou Acima
ibase Interbase
pdo_informix Informix PDO
informix Informix
informix72 Informix 7.2 ou Abaixo
ado_mssql MSSQL Server ADO
pdo_sqlsrv MSSQL Server NATIVE SRV PDO
mssqlnative MSSQL Server NATIVE SRV
odbc_mssql MSSQL Server ODBC
mssql MSSQL Server
pdo_dblib DBLIB
pdo_mysql MySQL PDO
mysqlt Mysql (Transactional)
mysql MySQL (Non-Transactional)
pdo_oracle Oracle PDO
oci805 Oracle 8.0.5 ou Acima
odbc_oracle Oracle ODBC
oci8 Oracle 8
oci8po Oracle 8 Portable
oracle Oracle 7 ou menor
postgres7 PostgreSQL 7 ou Acima
pdo_pgsql PostgreSQL PDO
postgres64 PostgreSQL 6.4 ou acima
postgres PostgreSQL 6.3 ou abaixo
pdosqlite SQLite PDO
sqlite SQLite
sybase Sybase
pdo_sybase_dblib Sybase PDO DBLIB
pdo_sybase_odbc Sybase PDO ODBC

 

Ejemplo:

$arr_conn = array();

$arr_conn['drive'] = "mysqlt";
$arr_conn['server'] = "127.0.0.1";
$arr_conn['user'] = "root";
$arr_conn['password'] = "pass123";
$arr_conn['database'] = "sc_samples";
$arr_conn['persistent'] = "Y";
$arr_conn['encoding'] = "utf8";

sc_connection_new("new_conn_mysql", $arr_conn);

 
 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onLoad
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_date(Fecha, "Formato", "Operador", D, M, Y)

Ver un vídeo tutorial

Esta macro tiene el objetivo de calcular el incremento o disminución de fechas. Para su uso son necesarios algunos parámetros de la siguiente manera:

Parámetros 
Descripción
Date Campo de fecha que contiene la fecha a modificar.
Format Formato del campo fecha.
Operator "+" para incremento y "-" para decremento.
D Número de días para aumentar o disminuir.
M Número de meses para aumentar o disminuir.
Y Número de años para aumentar o disminuir.



Ej. 1:
{birthdate} = sc_date({birthdate}, "dd/mm/yyyy", "+", 30, 0, 0);

 

Ej. 2:
$new_date = sc_date({birthdate}, "yyyy-mm-dd", "-", 15, 3, 2);

 

Ej. 3:
{inclusion_dt} = sc_date(date('Ymd'), "yyyymmdd", "-", 0, 1, 1);

 

OBS: Para obtener la certificación del formato de fecha, antes de usar la función, pruébelo en cualquier caso:
echo "form_date =". {nombre del campo fecha};


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_date_conv({Field_Date}, "Input_Format", "Output_Format")

Ver un vídeo tutorial

Esta macro convierte el campo de fecha pasado como parámetro con un formato de entrada a otro campo con un formato de salida.

 

Consulte a continuación la lista de parámetros para esta macro y los valores aceptados.

Parameter Values Description


field_name

Ejemplo de cómo se debe informar el parámetro:{field_name}


Este parámetro debe recibir el nombre del campo de datos que tendrá el valor manipulado




input_format

La cadena debe tener el mismo formato utilizado en la base de datos.

Ejemplo de cómo ingresar la cadena de fecha en la macro: "aaaa-mm-dd"

Valores aceptados:

  • Date string - Por ejemplo "yyyy-dd-mm"
  • db_Format - Recupera el formato de fecha de la base de datos.

Recibe la cadena con el formato de fecha actual, guardado en la base de datos.

Si el formato informado es diferente del utilizado en la base de datos, la macro no funcionará como se esperaba.






output_format

La cadena debe tener el formato en el que se mostrará la fecha.

Ejemplo de cómo ingresar la cadena de fecha en la macro: "yyyy/dd/mm/"

Valores aceptados:

  • Date string - Por ejemplo "yyyy-dd-mm"
  • sc_format_region - Valor formateado según la configuración regional
  • db_Format -Convierta la fecha al valor nativo de la base de datos

Reciba la cadena con el formato de visualización de fecha deseado.

Si desea utilizar el formato de acuerdo con la configuración regional, se debe informar el valor sc_format_region en este parámetro

 

Para obtener más información sobre las cadenas de datos, consulte el Manual de PHP

 

Ej. 1: Convierte la fecha del formato "dd/mm/ yyyy" al formato "yyyymmdd".

{field_date} = sc_date_conv({field_date}, "dd/mm/yyyy", "yyyymmdd");

Ej. 2: Convierte la fecha del formato nativo de la base de datos a "dd/mm/yyyy".

{field_date} = sc_date_conv({field_date}, "db_format", "dd/mm/yyyy");

Ej. 3: Convierte la fecha del formato nativo de la base de datos a  "dd/mm/yyyy".

{field_date} = sc_date_conv({field_date}, "dd/mm/yyyy", "db_format");

 

Ex. 4: Convertir la fecha del formato nativo de la base de datos(db_format) al formato de configuración regional(sc_format_region)

{field_date} = sc_date_conv({field_date},"db_format","sc_format_region");

Ex. 5: Convertir la fecha de "aaaa-mm-dd" al formato de configuración regional(sc_format_region)

{field_date} = sc_date_conv({field_date},"aaaa-mm-dd","sc_format_region");


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onRecord



sc_date_dif({Date1}, "Format Date1", {Date2}, "Format Date2")

Ver un vídeo tutorial

Calcula la diferencia entre dos fechas (pasadas como parámetros) en días.

 

Parámetros
Descripción
Date1 Valor de Date1 o variable.
Format Date1

Valor o variable que contiene el formato de fecha almacenado en Date1.

Date2 Valor de Date2 o variable.
Format Date2 Valor o variable que contiene el formato de fecha almacenado en Date2.



Ej. 1:
{amount_days} = sc_date_dif({date1}, "aaaa-mm-dd", {date2}, "mm/dd/aaaa");

 

Ej. 2:
{amount_days} =
sc_date_dif("2000-05-01", "aaaa-mm-dd", "04/21/2004", "mm/dd/aaaa");
{amount_days} sería igual a -1451 (days)



Nota: Los formatos pueden ser diferentes pero deben ser en días, meses y años.


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_date_dif_2({Date1}, "Format Date1", {Date2}, "Format Date2", Option)

Calcula la diferencia entre dos fechas (pasadas como parámetros) que devuelve la cantidad de días, meses y años.


El resultado se devuelve en una estructura de matriz, donde el índice 0 tiene la cantidad de días, el índice 1 tiene la cantidad de meses y el índice 2 tiene la cantidad de años.

 

Parámetro 
Descripción
Date1 Fecha, valor o variable
Format Date1

Valor o variable que contiene el formato de fecha almacenado en fecha1.

Date2 Valor de fecha2 o variable.
Format Date2 Valor o variable que contiene el formato de fecha almacenado en fecha2.
Option 1 = No considera el día inicial; 2 = Considera el día inicial.



Ej. 1:
$diferencia =
sc_date_dif_2 ({date1}, "yyyy-mm-dd", {date2}, "mm/dd/yyyy", 1);
{dif_days} = $diferencia[0];
{dif_months} = $diferencia[1];
{dif_years} = $diferencia[2];

 

Ej. 2:
$diferencia =
sc_date_dif_2 ("2000-05-01", "yyyy-mm-dd", "04/21/2004", "mm/dd/yyyy", 1);
$diferencia[0] = 20 (days)
$diferencia[1] = 11 (months)
$diferencia[2] = 3 (years)

 


Ej. 3: Usando la opción 2
$diferencia =
sc_date_dif_2 ("2000-05-01", "yyyy-mm-dd", "04/21/2004", "mm/dd/yyyy", 2);
$diferencia[0] = 21 (days)
$diferencia[1] = 11 (months)
$diferencia[2] = 3 (years).


Nota: Los formatos entre las dos fechas pueden ser diferentes, pero deben tener días, meses y años. También debe conocer el formato interno que se devuelve para que la macro funcione correctamente.

 
 
 
 
 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_date_empty({Campo_Fecha})

Ver un video tutorial

Esta macro comprueba si un campo de fecha está vacío.


Ej. 1:
if (sc_date_empty({my_date}) )
{
  sc_error_message("Invalid Date");
}


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onHeader onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterRefresh
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onLoadAll
onRefresh
onHeader
onRecord



sc_decode({Mi_Campo})

Ver un video tutorial

Devuelve, el campo o la variable encriptados, a su valor original.

Ej. 1: Usando una variable local:
{mi_campo} = sc_decode($field_cript);



Ej. 2: Usando una variable de usuario:
$mi_var = sc_decode($field_cript);


Nota: Netmake no es responsable por la integridad del algoritmo de criptografía (es un algoritmo de código abierto)


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_encode({Mi_Campo})

Ver un video tutorial

Devuelve el campo o variable con el contenido encriptado.


Ej. 1: Cifrar una variable local:
$field_cript = sc_encode({my_field});



Ej. 2:Cifrar una variable de usuario:
$field_cript = sc_encode($my_var);

 

Note: Netmake no es responsable de la integridad del algoritmo de cifrado (el algoritmo proporcionado es de código abierto).


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_error_continue("Evento")

Ver un video tutorial

Esta macro desactiva el mensaje de tratamiento de error de base de datos estándar de Scriptcase para el evento pasado como parámetro, lo que permite que sea sustituido por el tratamiento de error personalizado del programador.

Se puede usar junto con la variable: {sc_erro_delete }, {sc_erro_insert} y / o {sc_erro_update}

Los eventos que se pasarán como parámetro son: insertar, eliminar o actualizar.

Ej. 1: Utilizando en el evento onDelete para el mensaje devuelto por mssql, el tratamiento desencadenante, que cancela la exclusión de registros, muestra un mensaje de error en el formato [Microsoft] [Controlador ODBC SQL Server] [SQL Server] No puede borrar el registro.

sc_error_continue ("delete");
if (! Empty ({sc_error_delete}))
{
$ tmp = strrpos ({sc_error_delete}, "]");
if ($ tmp! == false)
{
{sc_error_delete} = substr ({sc_error_delete}, $ tmp 1) ;
}
sc_error_message ({sc_error_delete});
sc_error_exit;
}


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit



sc_error_delete

Ver un video tutorial

Esta variable devuelve una cadena con un mensaje de error de base de datos, que ocurre al tratar de excluir un registro.

Se usa cuando hay una necesidad de tratar estos mensajes. < br />
Como por ejemplo, en caso de validaciones de bases de datos a través de desencadenantes o procedimientos que devuelvan mensajes.

Ej. 1: contenido de la variable {sc_error_delete} , que devuelve un mensaje de error generado por el activador de la base de datos usando

MsSQL. "[Microsoft] [Controlador ODBC SQL Server] [SQL Server] No puede borrar este registro."

Nota: Para acceder al error de devolución de la base de datos, ve la macro " sc_error_continue ".


Macro Scope

Aplicación Calendario Aplicación Formulário
onAfterDelete onAfterDelete



sc_error_exit(URL / Mi_Aplicación, "Target");

Ver un video tutorial

El uso de esta macro da como resultado la interrupción de la aplicación.
De esta manera, se interrumpirá cualquier procesamiento que se ejecutará después del uso del marco o se está ejecutando en el momento.
Aquí puedes ver un ejemplo del uso de la macro.

Esta macro debe usarse después de la macro
sc_error_message ();

Esta macro se puede utilizar de dos maneras: sin parámetros sc_error_exit (); eso solo interrumpe la aplicación o informa a una URL / aplicación que el usuario será redirigido cuando se muestre el error.

Parámetro de la macro, todos los parámetros son opcionales.
Aplicación/URL Opcional El nombre de la aplicación Destiny o la URL a la que se redirigirá.
Target Opcional

_blank, _self

 

Cuando informamos a una aplicación o URL de destino y no se informa al parámetro Target, se utilizará _self como predeterminado.

Objetivos disponibles
_blank Muestra la aplicación de destino o la URL en otra ventana o pestaña.
_self Muestra la aplicación de destino o la URL en la misma ventana o pestaña.

 

Ej. 1: Muestra solo un mensaje de error.

sc_error_message('¡Mensaje de error!');
sc_error_exit();


Ej. 2: Muestra un mensaje de error y un botón "OK" para redireccionar a la URL informada.

sc_error_message('¡Mensaje de error!');
sc_error_exit(http://www.mysite.com);

Ej. 3: Mostrar un mensaje de error y un botón "Aceptar" para redirigir a la aplicación informada.

sc_error_message('¡Mensaje de error!');
sc_error_exit(my_application, "_blank");

Macro Scope

Aplicación Calendario Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onValidate
onValidateFailure
onValidateSuccess
onClick onFilterValidate ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onNavigate
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess



sc_error_insert

Esta variable devuelve una cadena con el error de base de datos, que ocurre al agregar un registro. Se usa cuando es necesario tratar estos mensajes. Por ejemplo, en el caso de validaciones de bases de datos a través de desencadenantes o procedimientos que devuelven mensajes.

Ej. 1: Variable {sc_erro_insert} , al devolver un mensaje de error generado por la base de datos, se activa el uso de mssql

"[Microsoft] [Controlador ODBC SQL Server] [SQL Server ] No puede agregar este registro. "

Nota: Para acceder al error de la base de datos, consulte la macro " sc_error_continue ".


Macro Scope

Aplicación Calendario Aplicación Formulário
onAfterInsert onAfterInsert



sc_error_message("Texto")

Esta macro genera un mensaje de error.

En las aplicaciones "Formularios y Control ", los mensajes se presentan junto con otros mensajes de error. encontrados en la aplicación, excepto cuando se utiliza la macro "sc_error_exit ".

En las aplicaciones "Grid y menú ", los mensajes solo se presentarán a través de la macro " sc_error_exit ".


Ej. 1:
if ({discount}> 0.10 && [glo_usr] == 'operator')
{
sc_error_message ("El descuento ". {Discount}. " es mayor a 0.10");
}

En este ejemplo, si el valor en el campo de descuento es más de 0.10 y el usuario intenta agregar o guardar este registro, la operación finaliza y el aparece un mensaje de error. El comando debe terminar con ");" (cerrar paréntesis y punto y coma) utilizado como delimitador para el intérprete de macros.


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Búsqueda Aplicación Formulário Aplicación Controle
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onValidate
onValidateFailure
onValidateSuccess
onFilterValidate ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onLoad
onNavigate
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess



sc_error_update

Esta macro devuelve una cadena con un mensaje de error de base de datos que se produce al actualizar un registro. Se usa cuando existe la necesidad de tratar estos mensajes. Por ejemplo, en el caso de validaciones de bases de datos a través de disparadores o procedimientos que devuelven mensajes.

 


Ej. 1: Variable {sc_erro_update}, devolviendo un mensaje de error generado por un activador de base de datos usando mssql.

"[Microsoft] [Controlador ODBC SQL Server] [SQL Servidor] No puede actualizar este registro ".

Nota: Para acceder al error de devolución de la base de datos, consulte la macro " sc_error_continue". 


Macro Scope

Aplicación Calendario Aplicación Formulário
onAfterUpdate onAfterUpdate



sc_exec_sql("Comando SQL", "Conexión")

Esta macro permite condicionar las circunstancias en que se ejecutan los comandos SQL.

El parámetro "Conexión" es opcional. Es obligatorio si el comando que se ejecuta está en una base de datos diferente de la aplicación.

Ej. 1:
if (sc_after_delete) {
sc_exec_sql("delete from mytable where key = {key_ant}");
}


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarScriptInit
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_exit(Opción)

Ver un video tutorial

Esta macro se puede usar en los eventos de ScriptCase y en el botón creado y puede devolver valores / proceso después de la ejecución.

Opción
Descripción
sc_exit() Regresa a la aplicación anterior sin mostrar nada.
sc_exit(ok) Muestra una ventana con un botón Aceptar y vuelve a la aplicación anterior.
sc_exit(sel) No muestra la ventana con un botón Aceptar y vuelve a la aplicación actual, repite la selección de la aplicación.
sc_exit(ref) No muestra la ventana con un botón Aceptar actualizar datos y vuelve a la aplicación actual.
sc_exit(ok,ref) Misma funcción de sc_exit(ref); sin embargo, muestre el botón Aceptar (OK).
sc_exit(ok,sel) Misma funcción de sc_exit(sel); sin embargo, muestre el botón Aceptar (OK).


Esta opción solo es válida para las aplicaciones de formulario y control.

 

Opción Descripción
sc_exit() No completa transacciones en la base de datos.
sc_exit(c) Cometer transacciones pendientes.
sc_exit(r) Deshacer transacciones pendientes.

Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
onScriptInit onClick
onScriptInit
onClick
onScriptInit



sc_field_color("Campo", "Color")

Esta macro se usa para cambiar/restaurar un color de la grid de forma dinámica..

Ej. 1: Cambiar el color del campo de texto de la grid "customer_id".
sc_field_color ("customer_id", "#33FF66");


Ej. 2: Cambie el color del texto del campo "valor_orden”, si el valor es mayor que 1000. De lo contrario, use el color predeterminado.
if ({valor_orden} > 1000)
{
sc_field_color ("valor_orden", "#33FF66");
}
else
{
sc_field_color ("valor_orden", "");
}


Ej. 3: Usando una variable local.

sc_field_color ("customerid", {fld_color});



Ej. 4: Usando una variable global.

sc_field_color ("customerid", [glo_color]);


Macro Scope

Aplicación Grid Aplicación ReportPDF
onScriptInit
onRecord
onScriptInit
onRecord



sc_field_disabled("Field_Name = True / False", "Parameter")

Esta macro se usa para bloquear un campo y obtener los datos que se escribirán en él.

Los campos que se van a bloquear deben ir seguidos de la opción "verdadero" (predeterminado) o "falso".

El parámetro es opcional, "I" se usa solo para bloquear la adición de nuevos registros, "U" para bloquear solo la actualización, en el caso de que el parámetro no haya sido informado, el scriptcase usará ambas opciones..

 

Ej. 1: Bloquea solo un campo para agregar y actualizar.
sc_field_disabled("Field_01");

Ej. 2: Desbloqueo de un campo para agregar y actualizar.
sc_field_disabled("Field_02=false");

Ej. 3: Bloquea varios campos, solo para actualización.
sc_field_disabled("Field_01; Field_02; Field_03", "U");

Ej. 4: Combinación de bloqueo y desbloqueo en varios campos, para agregar y actualizar.
sc_field_disabled("Field_01=true; Field_02=false; Field_03=true");


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onLoad onLoad
onNavigate
onLoadAll onHeader



sc_field_disabled_record("Field_Name = True / False", "Parametre")

Esta macro tiene el objetivo de bloquear el tipado en campos determinados en las líneas del formulario de Grabación múltiple, Grid editable y Visión de Grid editable.

Los campos que se supone que deben bloquearse deben aplicarse a las opciones, "verdadero" (Para bloquear) o "falso" (para desbloquear). Si no está informado, el valor predeterminado es "verdadero".

El parámetro opcional es usar la "I" para bloquear al insertar un nuevo registro y "U" para bloquear mientras se actualiza un registro. Si no se informa, Scriptcase bloqueará en ambas ocasiones de manera predeterminada.

Ej. 1: Bloquear el campo al incluir y actualizar.
sc_field_disabled_record("Field_01");

Ej. 2: Desbloqueo del campo al incluir y actualizar.
sc_field_disabled_record("Field_02=false");

Ej. 3: Bloquear los distintos campos solo cuando se actualiza.
sc_field_disabled_record("Field_01; Field_02; Field_03", "U");

Ej. 4:Combinación de bloqueo y desbloqueo de varios campos al mismo tiempo que incluye y actualiza.
sc_field_disabled_record("Field_01=true; Field_02=false; Field_03=true");

La macro también puede funcionar dentro de una condición, bloqueando un campo específico en la línea de registro.

Ejemplo 1:
if ({Filed_01} == 1)
{
  sc_field_disabled_record("Filed_03");
}

Ejemplo 2:
switch(trim([arr_apps][ {app_name} ]))
{
case 'form':
break;
case 'calendar':
sc_field_disabled_record("priv_export; priv_print");
break;
case 'cons':
sc_field_disabled_record("priv_insert; priv_delete; priv_update");
break;
default:
sc_field_disabled_record("priv_insert; priv_delete; priv_update; priv_export; priv_print");
break;
}


Macro Scope

Aplicación Formulário
onLoadRecord



sc_field_display({Mi_Campo}, on / off)

Ver un video tutorial

Esta macro muestra dinámicamente un campo específico.
Por defecto, todos los campos se muestran ("en" condición ").


Ej. 1:
if ({tp_customeri} == "personal")
{
  sc_field_display({company_name}, off);
}
else
{
  sc_field_display({personal_name}, off);
}

 

Ej. 2: Usando una variable local como segundo parámetro

 

$var = "off";

sc_field_display({company_name}, $var);


Macro Scope

Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onHeader
onScriptInit
onScriptInit ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeInsertAll
onBeforeUpdateAll
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure



sc_field_init_off(campo1, campo2,...)

Ver un video tutorial

Esta macro está destinada a inhibir los campos de consulta en la carga inicial.

Los campos inhibidos por esta macro se pueden habilitar mediante el botón "Columnas".


Ej. 01:

sc_field_init_off ({orderID}, {valorTotal});


Macro Scope

Aplicación Grid
onApplicationInit



sc_field_no_validate('nombre_del_campo')

La macro solo se puede utilizar en el evento onLoad de las aplicaciones Formulario, Control y Calendario.
Permite ignorar las validaciones de los campos informados en el parámetro, permitiendo al desarrollador "eliminar" dinámicamente las validaciones según su regla de negocio.

Cabe mencionar que la macro solo ignorará las validaciones definidas en la pantalla de configuración del campo. No se considerarán validaciones creadas por el desarrollador en eventos, métodos o bibliotecas.

Verifique algunas validaciones que serán ignoradas con el uso de la macro.

  • Tipos de datos de campo: fecha, tarjeta de crédito, correo electrónico y código postal.
  • Formato de valores de campos de texto: valor máximo, mínimo y caracteres permitidos.
  • Formato de valores de campos numéricos: valor máximo y mínimo.
  • Campos marcados como obligatorios.

Consulte a continuación para obtener detalles sobre el parámetro macro.

Parámetro macro

Parameter Syntax Description
field_name

El parámetro espera recibir el nombre de los campos entre comillas (simples o dobles) o entre llaves {field_name}. También es posible ingresar dos o más campos, en cuyo caso los nombres deben estar separados por una coma.


Sintaxis con un campo

// nombre del campo entre comillas
sc_field_no_validate('nombre_del_campo');
// nombre del campo entre llaves
sc_field_no_validate({nombre_del_campo});

Sintaxis con dos o más campos

// Dos y más campos
sc_field_no_validate({campo1}, {campo2});

Este parámetro es obligatorio y debe recibir el nombre de los campos que no tendrán en cuenta la validación.

Es posible informar más de un campo, en este caso los nombres deben estar separados por coma.

 

Lista de Ejemplos

Eliminando la validación de un campo oculto por la macro sc_field_display.

sc_field_display({campo1}, 'off');
sc_field_no_validate({campo1});

 

Ejemplo que utiliza varios campos entre llaves.

sc_field_no_validate({campo1}, {campo2}, {campo3});

 

Ejemplo usando múltiples campos con comillas.

sc_field_no_validate('campo1', 'campo2', 'campo3');
 

Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
onLoad onLoad
onLoadRecord
onLoadAll



sc_field_readonly

Ver un video tutorial

Esta macro establece dinámicamente un atributo de campo de formulario en 'ReadOnly'. Use esta macro solo para hacerlo en 'runtime'. De lo contrario, active / desactive este parámetro en la interfaz del formulario. sección "Solo lectura".

El parámetro on / off es opcional, utilizado por un evento ajax para definir si un campo será de solo lectura (Activado) o de solo lectura (Desactivado).

 

Ej. 1: para establecer un campo como de solo lectura incluso cuando el formulario está en "Modo de adición":

if (sc_btn_new)
{
sc_field_readonly ({my_field});
}

Ej. 2: para configurar un campo como de solo lectura de forma dinámica, utilice:

sc_field_readonly ({my_field});


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeInsertAll
onBeforeUpdateAll
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure



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

Ver un video tutorial

Esta macro permite modificar el estilo de campo de la cuadrícula dinámicamente.

Parámetro Descripción
Número del campo Nombre
Color de fondo (Opcional) Color de fondo de la celda de campo
Tamaño (Opcional) Tamaño de fuente del campo
Color (Opcional) Color de fuente
Familia (Opcional) Familia tipográfica
Peso (Opcional) Peso de la fuente

 

Ej. 1:
sc_field_style({my_field}, '#33FF99', '15px', '#000000', 'Arial, sans-serif', 'bold');


Macro Scope

Aplicación Grid
onRecord



sc_foot_hide()

 

Esta macro tiene como objetivo ocultar el pie de página de la aplicación.

Sin parámetro obligatorio, la macro está disponible en las siguientes aplicaciones:

  • Form
  • Control
  • Gráfico
  • Grid

En el Grid, además de su uso estándar (sin parámetros), es posible definir individualmente el módulo donde se inhibirá la visualización del pie de página.

A continuación se muestra la lista de parámetros exclusivos para usar en la aplicación de consulta.

  • grid - Oculta solo el pie de página del módulo grid
  • res o sum: oculta solo el pie de página del módulo de resumen
  • det - Oculta el pie de página del módulo de detalles

Recordando que los parámetros no son obligatorios, en el caso de la consulta, si no se informa ningún parámetro, se inhibirá la visualización del pie de página en todos los módulos.

 

Ejemplos


P.ej. sin parámetro: el uso predeterminado de la macro, sin pasar un parámetro, inhibe la visualización del pie de página en el Formulario, Control, Gráfico y en todos los módulos de la consulta.

sc_foot_hide();

 

A continuación se muestran ejemplos del uso de la macro con parámetro, exclusivamente para uso en la cuadrícula

 

P.ej. usando el parámetro 'grid' - Inhibe la visualización del pie de página solo en el módulo de la aplicación.

sc_foot_hide('grid');

 

P.ej. usando el parámetro 'sum' - Inhibe la visualización del pie de página solo en el módulo en el resumen de la aplicación.

sc_foot_hide('res'); o sc_foot_hide('suma');

 

P.ej. usando el parámetro 'det' - Inhibe la visualización del pie de página solo en el módulo en el resumen de la aplicación.

sc_foot_hide('det');

 

P.ej. usando más de un parámetro - Inhibe la visualización del pie de página en los módulos de cuadrícula y detalle de la aplicación.

En este caso los parámetros deben estar separados por una coma.

sc_foot_hide('grid,det');
 

Macro Scope

Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle
onScriptInit onScriptInit onScriptInit onScriptInit



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

Ver un video tutorial

Esta macro se usa para formatear valores numéricos.

 

Parámetro Descripción
Mi_Campo Variable o campo para formatear (El retorno está en la siguiente variable).
Grupo_Símb Símbolo de agrupación de valores enteros.
Dec_Símb Símbolo separador de decimales.
Cantidad_Dec Número de decimales que se mostrarán.
Fill_Zeros Decimales completos con ceros (llenar) (S = Si y N = No).
Side_Neg Posición de signo negativo (1 = left and 2 = right)
Moneda_Símb Símbolo monetario que se mostrará.
Side_moneda_Símb Posición del símbolo de moneda. (1 = izquierda y 2 = derecha).



Ex. 1: Formatear un número entero.
sc_format_num({my_value}, '.', '', '0', 'N', '1', '');
Valor de entrada = 001234567890
Valor de salida = 1.234.567.890

Ex. 2: Formatear un valor negativo y truncar decimales.
sc_format_num({my_value}, '.', '', '0', 'N', '1', '');
Valor de entrada = 0012345678.90-
Valor de salida = -12.345.678

Ex. 3: Formateando un valor con 4 decimales y rellenando con ceros.
sc_format_num({my_value}, '.', ',', '4', 'S', '1', '');
Valor de entrada = 0012345678.9
Valor de salida = 12.345.678,9000

Ex. 4: Formateando un valor con 2 decimales, rellenando con ceros y usando el símbolo monetario.
sc_format_num({my_value}, '.', ',', '2', 'S', '1', 'US$');
Valor de entrada = 0012345678.9
Valor de salida = US$ 12.345.678,90

Ex. 5: Formatear un valor con 2 decimales, rellenando con ceros.
sc_format_num({my_value}, '.', ',', '2', 'S', '1', '');
Valor de entrada = .9
Valor de salida = 0,90

 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onFooter
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit



sc_format_num_region({Mi_Campo}, "Qtde_Dec", "Insert_Zeros", "Monetary_Sym")

Ver un video tutorial

Esta macro tiene el objetivo de formatear números, utilizando la configuración regional

Parámetro Descripción
Mi_Campo Variable o campo que tiene un valor para formatear (si el valor es 0, el resultado será el mismo que la variable).
Qtde_Dec Cantidad de decimales que se mostrarán.
Insertar_Zeros completa con los decimales no existentes (Y = sí y N = no).
Moneda_Sym Mostrar símbolo monetario (Y = sí y N = no).

 

 

Ej. 1: Formatear un valor con 2 decimales, insertando los ceros y el valor monetario.
sc_format_num_region({my_value}, "2", "Y", "Y");
Valor de entrada = 9
Valor de salida = R$0,90


Macro Scope

Aplicación Blank Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból
onExecute onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad



sc_form_show'on' o 'off'

Ver un vídeo tutorial

Esta macro muestra dinámicamente o no un formulario.
Por defecto, se muestra el formulario (estado "on").

Ej. 1: No muestra el formulario.
sc_form_show = 'off';


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
onScriptInit
onLoad
onValidate
onScriptInit
onLoad
onValidate
onScriptInit
onLoadAll



sc_getfield("miCampo")

Esta macro se usa para asignar objetos (que representan el formulario del campo) a una variable de JavaScript, lo que permite al usuario acceder a las propiedades del objeto. Esta macro se ejecutará en control y formularios en los eventos y métodos de JavaScript.

 

Ej:

Mostrando el valor del campo "cliente" de un formulario:

cli_js = sc_getfield ('cliente');

alert (cli_js.value);


Macro Scope




sc_get_groupby_rule()

Esta macro se usa para recuperar el nombre de la Agrupación que se está utilizando en ese momento. El valor de retorno es una Cadena que contiene el nombre de la regla.

 

Ej:

if (sc_get_groupby_rule() == "rule1")

{

[titulo] = "Ventas X Región";

}

 


Macro Scope

Aplicación Grid
onScriptInit
onNavigate
onRecord



sc_get_language

Esta macro devuelve la abreviatura del lenguaje utilizado.

 

Ej. 1:

$mi_lenguaje = sc_get_language();


Idioma  Valor
Árabe  ar
Alemán de
Bahasa Melayu ms
Bielorruso be
Bengalí bn
Bosnio bs
Búlgaro bg
Catalán ca
Chinês simplificado zh_cn
Chinês tradicional zh_hk
Croata hr
Checo cz
Coreano ko
Cirílico serbio sr
Cingaleses si
Danés da
Eslovaco sk
Esloveno sl
Español es
Estonio et
Finlandês fi
Francês fr
Galego gl
Grego el
Gujarati gu
Holandés nl
Hebraico he
Hindi hi
Húngaro hu_hu
Inglês en_us
Indonésio id
Italiano it
Japonês ja
Letón lv
Lituano lt
Macedonio mk
Marathi mr
Noruego no
Polaco pl
Português (Brasil) pt_br
Portugal (Português) pt_pt
Punjabi pa
Rumano ro
Ruso ru
Shuar jiv
Sueco sv
Telugu te
Tailandés thai
Turco tr
Ucraniano uk
Urdu ur
Kannada kn

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onFooter
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onRecord



sc_get_regional

Esta macro devuelve la abreviatura de la configuración regional utilizada..

Ej. 1:

$my_regional = sc_get_regional();


Idioma Valor
Afrikaans (Sudáfrica) af_za
Albanés (Albania) sq_al
Alemán (Alemania) de_de
Alemán (Austria) de_at
Alemán (Lichtenstein) de_li
Alemán (Luxemburgo) de_lu
Alemán (Suiza) de_ch
Amárico (Etiopía) am_et
Armenio (Armenia) hy_am
Azerbaiyán (Azerbaijan) az_az
Bahasa Melayu (Malasia) ms_my
Belarús (Bielorrusia) be_by
Bengali (Bangladesh) bn_bd
Bengali (India) bn_in
Bokmal noruego (Noruega) nb_no
Bosnia (Bosnia-Herzegovina) bs_ba
Breton (Francia) br_fr
Búlgaro (Bulgaria) bg_bg
Catalán (España) ca_es
Checa (República Checa) cs_cz
Chino (República de China) zh_cn
Chino (simplificado, Singapur) zh_sg
Chino (tradicional, Hong Kong) zh_hk
Chino (tradicional, Macau) zh_mo
Chino (tradicional, Taiwan) zh_tw
Coreano (Corea) ko_kr
Croata (Bosnia y Herzegovina) hr_ba
Croata (Croacia) hr_hr
Danés (Dinamarca) da_dk
Eslovaquia (República Eslovaca) sk_sk
Esloveno (Eslovenia) sl_si
Español (Argentina) es_ar
Español (Bolivia) es_bo
Español (Chile) es_cl
Español (Colombia) es_co
Español (Costa Rica) es_cr
Español (Ecuador) es_ec
Español (El Salvador) es_sv
Español (España) es_es
Español (Estados Unidos) es_us
Español (Guatemala) es_gt
Español (Honduras) es_hn
Español (México) es_mx
Español (Nicaragua) es_ni
Español (Panama) es_pa
Español (Paraguay) es_py
Español (Peru) es_pe
Español (Puerto Rico) es_pr
Español (República Dominicana) es_do
Español (Uruguay) es_uy
Español (Venezuela) es_ve
Estonio (Estonia) et_ee
Finlandés (Finlandia) fi_fi
Francés (Bélgica) fr_be
Francés (Camerún) fr_cm
Francés (Canadá) fr_ca
Francés (Costa de Marfil) fr_ci
Francés (Francia) fr_fr
Francés (Luxemburgo) fr_lu
Francés (Mónaco) fr_mc
Francés (Suiza) fr_ch
Frisón, Western (Países Bajos) fy_nl
Gallego (España) gl_es
Georgia (Georgia) ka_ge
Griego (Grecia) el_gr
Groenlandés (Kalaallit Nunaat) kl_gl
Gujarati (India) gu_in
Hausa (Ghana) ha_gh
Hebreo (Israel) he_il
Hindi (India) hi_in
Holandés (Bélgica) nl_be
Holandés (Países Bajos) nl_nl
Húngaro (Hungría) hu_hu
Indonesia (Indonesia) id_id
Inglés (Australia) en_au
Inglés (Belice) en_bz
Inglés (Botswana) en_bw
Inglés (Camerún) en_cm
Inglés (Canadá) en_ca
Inglés (Caribe) en_cb
Inglés (Estados Unidos) en_us
Inglés (Filipinas) en_ph
Inglés (India) en_in
Inglés (Irlanda) en_ie
Inglés (Jamaica) en_jm
Inglés (Malasia) en_my
Inglés (Namibia) en_na
Inglés (Nigeria) en_ng
Inglés (Nueva Zelanda) en_nz
Inglés (Reino Unido) en_gb
Inglés (Singapur) en_sg
Inglés (Trinidad y Tobago) en_tt
Inglés (Uganda) en_ug
Inglés (Zambia) en_zm
Inglés (Zimbabwe) en_zw
Inglés (África del Sur) en_za
Irlandés (Irlanda) ga_ie
Islandés (Islandia) is_is
Islas Feroe (Islas Feroe) fo_fo
Italiano (Italia) it_it
Italiano (Suiza) it_ch
Japonés (Japón) ja_jp
Kannada (India) kn_in
Kazajo (Kazajstán) kk_kz
Khmer (Camboya) km_kh
Kirghiz (Kirguistán) ky_kg
Laos (Laos) lo_la
Letonia (Letonia) lv_lv
Lituano (Lituania) lt_lt
Luxemburgo (Luxemburgo) lb_lu
Macedonio (República de Macedonia) mk_mk
Malayalam (India) ml_in
Marathi (India) mr_in
Mongol (Mongolia) mn_mn
Nepal (Nepal) ne_np
Northern Sotho (Sudáfrica) nso_z
Noruego (Noruega) no_no
Noruego Nynorsk (Noruega) nn_no
Occitano (Francia) oc_fr
Oriya (India) or_in
Persa (Irán) fa_ir
Polaco (Polonia) pl_pl
Portugués (Angola) pt_ao
Portugués (Brasil) pt_br
Portugués (Portugal) pt_pt
Punjabi (India) pa_in
Rumano (Moldavia) ro_md
Rumano (Rumania) ro_ro
Rusa (Bielorrusia) ru_by
Ruso (Kazajstán) ru_kz
Ruso (Rusia) ru_ru
Serbio Cirílico (Serbia y Montenegro) sr_yu
Serbio Latino (Serbia y Montenegro) sh_yu
Setswana (Sudáfrica) tn_za
Sotho (Sudáfrica) st_za
Sri Lanka (Cingalés) si_si
Sueco (Finlandia) sv_fi
Sueco (Suecia) sv_se
Swahili (Tanzania) sw_tz
Tamil (India) ta_in
Tayiko (Tayikistán) tg_tj
Telugu (India) te_in
Thai (Tailandia) th_th
Turco (Turquía) tr_tr
Ucrania (Ucrania) uk_ua
Urdú (Pakistán) ur_pk
Uzbeko (Uzbekistán) uz_uz
co eu -
Vietnamita (Vietnam) vi_vn
Welsh (Reino Unido) cy_gb
Xhosa (Sudáfrica) xh_za
Zulú (Sudáfrica) zu_za
Árabe (Arabia Saudita) ar_sa
Árabe (Argelia) ar_dz
Árabe (Bahrein) ar_bh
Árabe (Egipto) ar_eg
Árabe (Emiratos Árabes Unidos) ar_ae
Árabe (Iraq) ar_iq
Árabe (Jordania) ar_jo
Árabe (Kuwait) ar_kw
Árabe (Libia) ar_ly
Árabe (Líbano) ar_lb
Árabe (Marruecos) ar_ma
Árabe (Omán) ar_om
Árabe (Qatar) ar_qa
Árabe (Siria) ar_sy
Árabe (Túnez) ar_tn
Árabe (Yemen) ar_ye

 


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onFooter
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onHeader
onRecord



sc_get_theme

Esta macro devuelve el tema de aplicación utilizado.

 

Ej. 1:

$my_theme = sc_get_theme();


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onFooter
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_get_wizard_step

Esta macro funciona en la aplicación de formulario solo cuando está configurada para funcionar como formulario de paso.
Con esta macro es posible identificar la etapa actual en la que se encuentra el usuario final y así realizar cualquier validación necesaria.

Para que la macro funcione, el formulario debe configurarse con al menos dos pasos o más. No tiene parámetros.

 


Ejemplo: Validación de campos sin completar.

if (sc_get_wizard_step() == 1) {

    if ( empty({Contactname}) ) {  

    sc_error_message("Complete el campo Contactname");  
}
}

Macro Scope

Aplicación Formulário
onValidate



sc_groupby_label("Mi_Campo")

Esta Macro modifica dinámicamente la etiqueta del campo que se muestra en grupo por líneas.

Ej. 1:
sc_groupby_label('state') = "state grouping";


Ej. 2:
sc_groupby_label('balance') = "balance total";


Macro Scope

Aplicación Grid
onGroupBy



sc_head_hide()

 

Esta macro tiene como objetivo ocultar el pie de página de la aplicación.

Sin parámetro obligatorio, la macro está disponible en las siguientes aplicaciones:

  • Form
  • Control
  • Gráfico
  • Grid

En el Grid, además de su uso estándar (sin parámetros), es posible definir individualmente el módulo donde se inhibirá la visualización del encabezado de página.

A continuación se muestra la lista de parámetros exclusivos para usar en la aplicación de consulta.

  • grid - Oculta solo el encabezado de página del módulo grid
  • res o sum: Oculta solo el encabezado de página del módulo de resumen
  • det - Oculta el encabezado de página del módulo de detalles

Recordando que los parámetros no son obligatorios, en el caso de la consulta, si no se informa ningún parámetro, se inhibirá la visualización del encabezado de página en todos los módulos.

 

Ejemplos


P.ej. sin parámetro: el uso predeterminado de la macro, sin pasar un parámetro, inhibe la visualización del encabezado de página en el Formulario, Control, Gráfico y en todos los módulos de la consulta.

sc_head_hide();

 

A continuación se muestran ejemplos del uso de la macro con parámetro, exclusivamente para uso en la cuadrícula

 

P.ej. usando el parámetro 'grid' - Inhibe la visualización del encabezado de página solo en el módulo de la aplicación.

sc_head_hide('grid');

 

P.ej. usando el parámetro 'sum' - Inhibe la visualización del encabezado de página solo en el módulo en el resumen de la aplicación.

sc_head_hide('res'); o sc_head_hide('suma');

 

P.ej. usando el parámetro 'det' - Inhibe la visualización del encabezado de página solo en el módulo en el resumen de la aplicación.

sc_head_hide('det');

 

P.ej. usando más de un parámetro - Inhibe la visualización del encabezado de página en los módulos de cuadrícula y detalle de la aplicación.

En este caso los parámetros deben estar separados por una coma.

sc_head_hide('grid,det');

Macro Scope

Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle
onScriptInit onScriptInit onScriptInit onScriptInit



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

Ver un video tutorial

Esta macro se usa para deshabilitar las reglas de Agrupación por  tiempo de ejecución.

Esta macro solo funcionará si hay al menos dos grupos, por lo que al usar la macro, un grupo se deshabilitará y el otro permanecerá presentado.

Ex:

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

sc_hide_groupby_rule('rule_1', 'rule_2');

}

 

Macro Scope

Aplicación Grid
onApplicationInit



sc_image(Imagen01.jpg)

Esta macro se usa para copiar imágenes en algunos eventos o comandos Javascript para cargar imágenes en una aplicación.

Todas las imágenes utilizadas en las aplicaciones se copian automáticamente en cada aplicación.

 

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


Nota: Las imágenes deben existir en el directorio de imágenes del entorno de desarrollo (../devel/conf/sys/img/img/).


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onScriptInit
onLoad
onValidate
onApplicationInit
onScriptInit
onFooter
onScriptInit
onFilterInit onApplicationInit
onClick
onScriptInit
onLoad
onLoadRecord
onValidate
onApplicationInit
onScriptInit
onLoadAll
onValidateFailure
onValidateSuccess
onApplicationInit
onLoad
onLoad onApplicationInit
onScriptInit



sc_include("Archivo", "Fuente")

Ver un video tutorial

Scriptcase le permite al usuario catalogar sus scripts PHP para usar en varias aplicaciones.

Para catalogar los scripts, vaya al menú principal de ScriptCase en "Herramientas> Biblioteca" y use la opción "cargar" existente en la interfaz.

Cuando se cataloga un script, el usuario tiene la opción de elegir el contexto donde se almacenará, nivel global (Scriptcase), nivel de grupo o nivel de usuario.
- Público: todos los proyectos tendrán acceso.
- Proyecto: solo los usuarios del proyecto (el que se registrará en ese momento) tendrán acceso.
- Usuario: solo el usuario (el que se registrará en ese momento) tendrá acceso.


En la macro sc_include, el usuario debe informar el nombre del script que se incluirá y la fuente.
- Nombre del script: nombre del script que se incluirá.

El contexto de origen en el que se guardó el script, que podría ser:
- Sys o Blank: nivel global de Scriptcase.
- Prj: nivel de grupo.
- Usr: nivel de usuario.


Ej. 1: Incluyendo un script catalogado a nivel global.
sc_include (my_script.php);

 

Ej. 2: Incluyendo un guión catalogado a nivel de grupo.
sc_include (my_script.php, grp);

 

Ej. 3: Incluyendo un script catalogado a nivel de usuario.
sc_include (my_script.php, usr);


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onHeader
onScriptInit
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onApplicationInit
onHeader
onScriptInit
onRecord



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

Ver un video tutorial

Esta macro se usa para seleccionar dinámicamente las bibliotecas de aplicaciones.

 

Librerías PHP
Librerías JavaScript
tcpdf Jquery
fpdf_html jquery_thickbox
excel jquery_blockui
rtf tiny_mce
phpspreadsheet jquery_touch_punch
-
fusioncharts
-
jsmind
-
jkanban
-
orgchart

Ej. 1:

sc_include_lib ("tcpdf");

$pdf=new TCPDF();
$pdf->AddPage();
$pdf->SetFont('Helvetica','B',16);
$pdf->Cell(40,10,'Hola Mundo!');
$pdf->Output();

Ej. 2:

?>
sc_include_lib ("jsmind");
< ?php
 

Macro Scope

Aplicación Blank Aplicación Grid
onExecute onScriptInit



sc_include_library("Destino", "Nombre de la biblioteca", "Archivo", "include_once", "Requerir")

Ver un video tutorial

Esta macro incluye un archivo PHP de una biblioteca en la aplicación. Debe tener una biblioteca creada en Scriptcase para utilizar esta macro. Para crear una biblioteca, vaya a "Herramientas -> Librerías".

Parámetro Descripción
Target Te dice cuál es el alcance de la biblioteca. Puede ser "sys" para bibliotecas de ámbito público o "prj" para bibliotecas de ámbito de proyecto.
Nombre de la librería Nombre dado a la biblioteca en el momento de la creación.
Archivo Ruta absoluta dentro de la biblioteca.
include_once (Opcional) Asegúrese de que el archivo solo se incluya una vez. Si no se informa, este valor se establece como "verdadero".
Require (Opcional) Si el archivo o la biblioteca no existe, la aplicación se ejecutará y devolverá un error. Si no se informa, el valor se establece como "verdadero".



Ej: Incluyendo un archivo de una librería:
sc_include_library("prj", "phpqrcode", "qrlib.php", true, true);

 


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onScriptInit
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad



sc_label({Mi_Campo})

Esta macro tiene como objetivo cambiar dinámicamente la etiqueta de los campos en una aplicación de consulta o formulario.

Tiene un solo parámetro obligatorio que debe recibir el nombre del campo a cambiar.

Este parámetro puede recibir una cadena con el nombre del campo o una variable.

 

Ejemplos

Ej. 1: Usando el nombre del campo.

sc_label("field_name") = "Nueva etiqueta de campo";



Ej. 2: Usar una variable local para definir el campo a cambiar.

$var_field = "field_name";
sc_label($var_field) = "Nueva etiqueta de campo";



Ej. 3: Uso de una variable global para definir el campo a modificar.

sc_label([global_variable]) = "Nueva etiqueta de campo";

Macro Scope

Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onScriptInit
onLoad
onRefresh
onScriptInit onClick
onScriptInit
onNavigate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onBlur
onChange
onClick
onFocus
onScriptInit
onLoadAll
onScriptInit



sc_language

Ver un video tutorial

Esta macro devuelve el idioma y la configuración regional.

 

Ej. 1:

echo "Language: ".{sc_language};


Idioma  Valor
Árabe  ar
Alemán de
Bahasa Melayu ms
Bielorruso be
Bengalí bn
Bosnio bs
Búlgaro bg
Catalán ca
Chinês simplificado zh_cn
Chinês tradicional zh_hk
Croata hr
Checo cz
Coreano ko
Cirílico serbio sr
Cingaleses si
Danés da
Eslovaco sk
Esloveno sl
Español es
Estonio et
Finlandês fi
Francês fr
Galego gl
Grego el
Gujarati gu
Holandés nl
Hebraico he
Hindi hi
Húngaro hu_hu
Inglês en_us
Indonésio id
Italiano it
Japonês ja
Letón lv
Lituano lt
Macedonio mk
Marathi mr
Noruego no
Polaco pl
Português (Brasil) pt_br
Portugal (Português) pt_pt
Punjabi pa
Rumano ro
Ruso ru
Shuar jiv
Sueco sv
Telugu te
Tailandés thai
Turco tr
Ucraniano uk
Urdu ur
Kannada kn

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onApplicationInit
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onValidate
onValidateSuccess
onApplicationInit
onLoad
onApplicationInit
onLoad
onApplicationInit
onScriptInit



sc_ldap_login

Esta macro inicia la conexión y la vincula a las credenciales del usuario. Esta macro necesita los siguientes parámetros:

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

Servidor =
Dominio  =
Usuario =
Contraseña =
DN =
Grupo =

Hay tres posibles devoluciones:

Retorno macro Situación
(string)'ldap_connect_error' Error de conexión con el host / servicio LDAP.
(string)'ldap_bind_error' Error de autenticación después de una conexión exitosa.
(resource) Conexión exitosa y unión.

Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
onApplicationInit
onValidate
onApplicationInit
onValidate
onApplicationInit
onValidate



sc_ldap_logout

Esta macro se usa para liberar la conexión después de usar la macro sc_ldap_login.

Ej:

sc_ldap_logout();


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
onApplicationInit
onValidate
onApplicationInit
onValidate
onApplicationInit
onValidate



sc_ldap_search( $filter = 'all', $attributes = array() )

Macro para realizar búsquedas en LDAP.

Parameter Description
$filter 'all' o 'member':
'all' devuelve toda la información que el usuario registrado puede ver.
'member' devuelve la información sobre ese miembro
$attributes Matriz de opciones de filtro LDAP.

 

Ej:

$result = sc_ldap_search($filter, array('mail', 'displayname'));


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
onApplicationInit
onValidate
onApplicationInit
onValidate
onApplicationInit
onValidate



sc_link(Columna, Aplicación, Parámetros, "Sugerencia", "Objetivo", Altura, Ancho)

Le permite crear dinámicamente una conexión de campo entre dos aplicaciones.

Nota: Esta macro solo está disponible en Query.

A continuación se muestra la lista de parámetros de la macro, los cuales deben ser informados separados por comas.

Parámetro Valor Descripción

Columna

Acepta solo cadenas con o sin protección de comillas.

Por ejemplo: 

sc_link(customerid,form_customer,custom={customerid},"Datos del cliente","_self");

Formas aceptadas de pasar el parámetro:

  • customerid
  • 'customerid'
  • "customerid"

Parámetro obligatorio, donde se debe informar el nombre del campo que se transformará en un enlace a la otra aplicación.

Nota: Si el campo informado ya tiene un enlace de campo, el enlace definido en la macro sobrescribirá el enlace de la interfaz.

 

Aplicación

Acepta cadenas con o sin la protección de comillas, además de variables globales o locales.

Por ejemplo: 

$var_cliente = 'formulario_cliente';

sc_link(id_cliente,$var_cliente,custom={id_cliente},"Datos del cliente","_self");

Formas aceptadas de pasar el parámetro:

  • form_customer
  • 'form_customer'
  • "form_customer"
  • $var_customer
  • [glob_customer]

Parámetro requerido, define la aplicación de destino de la llamada.


En este parámetro es posible utilizar variables que permitan cambiar la aplicación de destino, dependiendo de su regla de negocio.

Parámetros

Este parámetro define el valor de la variable que estará disponible desde la aplicación de destino como una variable global.

Por ejemplo: 

sc_link(customerid,form_customer,custom={customerid},"Datos del cliente","_self");

Formas aceptadas de pasar el parámetro:

  • custom = {customerid}
  • custom = 'ALFKI'
  • custom = $var_customer
  • custom - [glob_customer]

 

Este parámetro no es obligatorio, pero su uso es necesario para la correcta visualización de los datos en la aplicación de destino. Cuando no se informa, la aplicación de destino mostrará todos los datos en la tabla.

Recuperación del valor en la

aplicación de destino En la aplicación de destino de la conexión, en el ejemplo al lado está la aplicación form_customer, el personalizado debe recuperarse como una variable global en el SQL de la aplicación.

 

En este ejemplo, se ha agregado la siguiente instrucción SQL al formulario (form_customer)

customerid = '[custom]'

Para obtener más detalles sobre el uso de variables globales, acceda a nuestra documentación en línea.

Sugerencia

Acepta cadenas, con o sin la protección de comillas, idioma y variables globales o locales.

Por ejemplo: 

sc_link(id_cliente,formulario_cliente,custom={id_cliente},"Datos del cliente","_self");

Obs: Para usar comas y apóstrofes en el texto, es necesario proteger con el carácter de escape "\"

Formas aceptadas de pasar el parámetro:

  • "Texto de ayuda\, con una coma"
  • 'Datos del cliente'
  • Datos del cliente
  • {lang_text}
  • [glob_txt]
  • $var_txt

 

Este parámetro no es obligatorio.

Recibe un texto con alguna ayuda o comentario para el usuario del sistema, el texto se muestra cada vez que el cursor del mouse pasa sobre el enlace.

Es posible utilizar langs para la definición de mensajes, permitiendo la traducción de su sistema.

Obs: Para utilizar comas y apóstrofes en el texto es necesario proteger con el carácter de escape "\"

Destino

Este parámetro acepta sólo cadena. Los valores disponibles se enumeran a continuación.

Por ejemplo: 

sc_link(customerid,form_customer,custom={customerid},"Datos del cliente", "modal",850,600);

Nota: Si se omite, se asignará el valor "_self".

Formas aceptadas de pasar el parámetro:

  • "_self"
  • "_blank"
  • "iframeT"
  • "iframeL"
  • "iframeR"
  • "iframeB"
  • "modal"

Define la forma de abrir la aplicación de destino.

  • _self: ejecuta la aplicación de destino en la misma página, superponiéndose a la aplicación de consulta;

  • _blank: ejecuta la aplicación de destino en otra página (ventana emergente);
  • iframeT: muestra la aplicación de destino en un iframe encima de la consulta (superior);
  • iframeL: la aplicación de destino se mostrará en un iframe a la izquierda de la consulta (izquierda)
  • iframeR: la aplicación de destino se mostrará en un iframe a la derecha de la consulta (derecha);
  • iframeB: la aplicación de destino se mostrará en un iframe debajo de la consulta (Bot);
  • modal: abre una nueva ventana y bloquea cualquier interacción en la ventana principal;

Al usar cualquiera de los iframe o modal para abrir la aplicación, es posible definir la altura y ancho agregando los valores en los parámetros opcionales a continuación.

Altura

Este parámetro acepta solo valores numéricos y su unidad de medida es el píxel.

Por ejemplo: 

sc_link(id_cliente,formulario_cliente,personalizado={id_cliente},"Datos del cliente","modal",850,600);

Parámetro no obligatorio, disponible solo cuando se usa el iframe y modal parámetro Destino

Define la altura del iframe o modal donde se mostrará la aplicación de destino.

Obs: Si se omite, el valor predeterminado será 440

Anchura

Este parámetro acepta solo valores numéricos y su unidad de medida es el píxel.

Por ejemplo: 

sc_link(id_cliente,formulario_cliente,custom={id_cliente},"Datos del cliente","iframeB",850,600);

Parámetro no obligatorio, disponible solo cuando se usa el iframe y modal parámetro Destino

Define el ancho del iframe o modal donde se mostrará la aplicación de destino.

Nota: si se omite, el valor predeterminado será 630

 

Ej. 1: Crea un enlace a la aplicación customer.php, en el campo Id, pasando la variable global [cliente_global] como y el campo del producto (variable local) {Id} a la aplicación costumer.php:

sc_link(Id, costumer.php, product=[cliente_global]; Id={Id}, "Client Data", "_blank");


Ej. 2: Crear un enlace dinámico a otra aplicación dependiendo del valor del campo {tipo_cliente} y abrirlo en un modal.

if ( {tipo_cliente} == "F") {
    sc_link (costumer_type, type_f.php, product=[cliente_global]; Id={Id}," Personal Data ", "modal", 500, 700);
} else {
    sc_link (costumer_type, type_a.php, product=[cliente_global]; Id={Id}," Company Data ", "iframeR");
}


Ej. 3: Crear un enlace a una URL: en este caso, "parámetro y destino" no tienen ningún efecto. Se ejecutará redirigiendo a una URL informada.

sc_link (my_field, http://www.scriptcase.com, ,"mensaje de sugerencia");

Macro Scope

Aplicación Grid
onRecord



sc_log_add("Acción", "Descripción")

Esta macro está destinada a agregar un registro a la tabla de registro, lo que hace que el mensaje y / o el nombre de la acción personalizable para el desarrollador. Los parámetros macro pueden usar variables de PHP.

 

Ej. 1:

sc_log_add ("access", "El usuario de pruebas accedió a la aplicación");

 

Ej. 2:

$vMensaje = "El usuario de pruebas accedió a la aplicación";

sc_log_add ("access", $vMensaje);


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Grid Aplicación Formulário
onExecute onValidate onScriptInit onValidate



sc_log_split({descripcion})

Esta macro está destinada a proporcionar acceso a la información escrita en la última inserción en la tabla de registro, lo que permite la manipulación de los datos antes y después de la actualización de registro que lo devuelve en un modo de conjunto. La información se almacena en el campo "descripción" de la tabla de registro en el formato de cadena con delimitadores

 

Ej:

$arr_description = sc_log_split({description});

Input: -> keys fields Array ( [clientid] => ANTON ) [fields] => Array ( [old] => Array ( [CEP] => 50710500 [Address] => Rua Desembargador Joao Paes 657 [ciudad] => Farol [State] => RS ) [new] => Array ( [CEP] => 53230630 [Address] => Avenida Presidente Kennedy, 1001 [ciudad] => Peixinhos [State] => PE ) ) )


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Grid Aplicación Formulário
onExecute onLoad onScriptInit onLoad



sc_lookup(Conjunto de datos, "Comando SQL", "Conexión")

 

Esta macro permite al usuario ejecutar comandos SQL y devuelve el resultado a la variable "conjunto de datos". La estructura del "conjunto de datos" es una matriz (línea / columna).

El parámetro "conexión" es opcional. Se usa cuando el comando se ejecuta en una base de datos distinta de la especificada para la aplicación.
Nota: El parámetro de conexión no acepta variable. Debe ingresar el nombre de la conexión que ejecutará el comando SQL.


Ej. 1:
sc_lookup(dataset, "select customer_id, customer_name, credit_limit from customers" );

Para tener acceso a la primera línea (Dataset), use:
{customer_id} = {dataset[0][0]};
{customer_name} = {dataset[0][1]};
{credit_limit } = {dataset[0][2]};

Para tener acceso a la segunda línea (Dataset), use:
{customer_id} = {dataset[1][0]};
{customer_name} = {dataset[1][1]};
{credit_limit} = {dataset[1][2]};

Si ocurre un error en la ejecución del comando SQL, la variable atribuida al conjunto de datos volverá como "falso" y el mensaje de error estará disponible en la variable "dataset_erro". También es importante verificar los datos devueltos seleccionados, para evitar el acceso a variables inexistentes, una vez que la matriz de salida solo se creará si el comando select devuelve datos.


Ej. 2:
sc_lookup(my_data, "select customer_id, customer_name, credit_limit from customers");
if ({my_data} === false)
{
echo "Access error. Message=". {my_data_erro} ;
}
elseif (empty({my_data}))
{
echo "Select command didn't return data";
}
else
{
{customer_id} = {my_data[0][0]};
{customer_name} = {my_data[0][1]};
{credit_limit} = {my_data[0][2]};
}



Ej. 3: El comando SQL también puede estar compuesto de campos de aplicación (variables locales) o de variables globales:

sc_lookup(dataset, "select order_value from orders where clienteid = '{customer_id} ' and salesman_id = [var_glo_salesman]");

Nota: El comando siempre debe terminar con punto y coma ";".

Nota 2: Para obtener un gran resultado devuelto en el conjunto de datos, recomendamos el uso de la macro sc_selec en lugar de esta.

 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarScriptInit
onScriptInit
onLoad
onRefresh
onValidate
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_lookup_field(dataset, "SQL Command", "connection_name")

Esta macro permite al desarrollador ejecutar un comando SELECCIONAR a la vez y tener acceso a los datos devueltos a través del parámetro del dataset, en formato de array: {dataset[número_de_línea][nombre_de_columna]}.

Para ejecutar comandos que devuelven una gran cantidad de datos, recomendamos usar sc_select para un mejor rendimiento.

A diferencia de la macro sc_lookup, donde informamos el índice {dataset[0][0]}, en la macro sc_lookup_field debemos informar el nombre de la columna de la que queremos recuperar los datos {dataset[0][field_name]}

La forma de ensamblar el array de retorno, donde debemos informar el nombre de la columna, hace que esta macro sea incompatible con las siguientes bases de datos: MSSQL Server, Access y DB2. En estos casos, recomendamos utilizar la macro sc_lookup.

Consulte a continuación los detalles sobre los parámetros de la macro.

Parámetro Descripción Ejemplos
dataset

Este parámetro es obligatorio y debe informarse sin espacios ni caracteres especiales y no acepta el uso de variables.

Define el nombre de la variable que recibirá el retorno del comando SELECT ejecutado por la macro.

En caso de error en la ejecución del comando SQL, este parámetro devolverá false y el mensaje de error estará disponible en la variable "dataset_erro".

A continuación se muestra un ejemplo simple de visualización de mensaje de error y validación.

sc_lookup_field("mis_datos", "select field_01, field_02, field_03 from tb_name");
if ( {mis_datos} === false ) {

echo "Ocurrio un error: " . {mis_datos_erro};

}
sc_lookup_field("mis_datos", "select field_01, field_02, field_03 from tb_name");

La matriz con los datos se ensamblará de la siguiente manera::

Array (
    [0] => Array (
            [field_01] => 1
[field_02] => OFFICE EQUIPMENT ) [1] => Array ( [field_01] => 2
[field_02] => FIXED TELEPHONY
)
)

En el ejemplo anterior, el comando devolvió dos líneas de registro y en cada línea dos columnas (field_01 y field_02).

La recuperación del valor debe ocurrir de la siguiente manera:

{mis_datos[número_de_línea][nombre_columna]}
comando_SQL

Este parámetro es obligatorio y se puede definir informando el comando directamente en la macro protegida con comillas (dobles o simples) o usando una variable (local o global).

// comando directo en macro
sc_lookup_field("mis_datos", "select field_01, field_02, field_03 from tb_name");
// comando usando una macro
$select_command= "select field_01, field_02, field_03 from tb_name"
sc_lookup_field("mis_datos", $select_command);
nombre_de_la_conexión

El parámetro "conexión" es opcional y debe informarse si el comando se ejecuta en una base de datos diferente a la especificada para la aplicación.

Además, este parámetro no acepta el uso de variables, siendo necesario teclear el nombre de la conexión para que la macro se ejecute correctamente.

// Ejemplo informando el nombre de la conexión
sc_lookup_field("mis_datos", "select field_01, field_02, field_03 from tb_name","conn_name");

 

Exemplos


Ejemplo 1: Acceder a varias líneas

sc_lookup_field(mis_datos, "select field_01, field_02, field_03 from tb_name");

//Para acceder a la primera línea (conjunto de datos), debemos informar:
{field_01} = {mis_datos[0]['field_01']};
{field_02} = {mis_datos[0]['field_02']};
{field_03} = {mis_datos[0]['field_03']};

//Para acceder a la segunda línea (dataset), debemos informar:
{field_01} = {mis_datos[1]['field_01']};
{field_02} = {mis_datos[1]['field_02']};
{field_03} = {mis_datos[1]['field_03']};

 

Ejemplo 2: Con validación de datos:

$comando_SQL = "select field_01, field_02, field_03 from tb_name";

sc_lookup_field(mis_datos, $comando_SQL);

if ( {mis_datos} === false ) {

echo "Error de acceso. Mensaje = " . {mis_datos_erro};

} elseif ( empty({mis_datos}) ) {

echo "el comando select no devolvió datos";

} else {

{field_01} = {mis_datos[0]['field_01']};
{field_02} = {mis_datos[0]['field_02']};
{field_03} = {mis_datos[0]['field_03']};

}

 

Ejemplo 3: Usando el parámetro de conexión

$comando_SQL = "select field_01, field_02 from tb_name where field_03 = '{field_03} ' and field_02 = [var_global]"

sc_lookup_field(mis_datos, $comando_SQL, "nombre_de_la_conexión");

 

Ejemplo 4: Uso de variables locales y globales en el comando macro

$comando_SQL = "select field_01, field_02 from tb_name where field_03 = '{field_03} ' and field_02 = [var_global]"

sc_lookup_field(mis_datos, $comando_sql);

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarScriptInit
onScriptInit
onLoad
onRefresh
onValidate
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_mail_send(SMTP, Usr, Pw, From, To, Asunto, Mensaje, Mens_Type, Copies, Copies_Type, Port, Connection_Type, Attachment, SSL)

Ver un video tutorial

Esta macro se usa para enviar correos electrónicos.

Parámetro Descriptión
SMTP Nombre del servidor SMTP o dirección IP. (String o variable que contiene el nombre del servidor)
Usr Nombre de usuario SMTP. (String o variable que contiene el nombre de usuario)
Pw Contraseña SMTP (String o variable que contiene la contraseña)
From De email (String o variable que contiene el correo)
To Lista de los correos electrónicos que recibirán el mensaje, podría ser una cadena o variable que contiene uno o más correos electrónicos separados por ";" o una variable que contiene una matriz de correos electrónicos.
Subject Asunto del mensaje (String o variable que contiene el asunto)
Message Cuerpo del mensaje (string o variable que contiene el mensaje)
Mens_Type Formato de mensaje: (T)exto o (H)tml.
Copies Lista de los correos electrónicos que recibirán el mensaje, podría ser una cadena o variable que contiene uno o más correos electrónicos separados por ";" o una variable que contiene una matriz de correos electrónicos.
Copies_Type Copias de tipo: BCC (copias ocultas) o CCC (copias normales).
Port El puerto utilizado por su servidor de correo electrónico. Use el puerto 465 para el tipo de seguridad SSL, y el puerto 587 para el tipo de seguridad TLS o el puerto 25 para no tener seguridad. Si no se informa, Scriptcase establecerá el puerto predeterminado: 25
Connection_Type Indicando una conexión segura. Use S para SSL, T para TLS o N para conexiones no seguras. Si no se informa, Scriptcase establecerá el valor predeterminado: N.
Attachment Ruta absoluta del archivo que se adjuntará en el correo electrónico
SSL Parámetro opcional para agregar configuraciones SSL. Si necesita agregar más de una configuración, use ";" para separarlos Ej: $ssl='allow_self_signed=false;verificar_peer= falso';
reply_to Es la dirección de correo electrónico a la que se envía el mensaje de respuesta, cuando desea que la respuesta vaya a una dirección de correo electrónico que no sea la dirección De


Nota: Para usar una conexión segura es necesario tener habilitada la extensión PHP "php_openssl".

Ej. 1: Envío de correo electrónico con el parámetro reply_to

Para usar el parámetro reply_to debe incluir todos los demás parámetros antes de él, solo infórmelos vacío.

sc_mail_send('smtp.meuserver.com.br', 'usr', 'pw', 'de@netmake.com.br', 'para@netmake.com.br', 'envío de prueba
de correo electrónico ',' mensaje ',' H ',' abc@cop.com.br; zxy@cop.com.br ',' CCC ',' 587 ',' ',' c: / teste / arq .txt ',' ',' responder@netmake.com.br ');

 

Ej. 2: Utilizando variables y definiendo el puerto.

sc_mail_send([glo_smtp], [usuar], [glo_pw], {from}, {to}, {subject}, {message}, 'T', [glo_copias], 'CCC', '419', 'S', {attached});

 

Ej. 3: Sin usuario y contraseña.

La cantidad de correos electrónicos enviados se almacenará en la variable especial "sc_mail_count".
Si ocurre algún error cuando el scriptcase intenta enviar el correo electrónico, la variable "sc_mail_ok" recibirá "falso" y el mensaje de error se almacenará en la variable "sc_mail_erro".

sc_mail_send([glo_smtp], '', '', 'from.netmake.com.br', {to}, {sunject}, {message}, 'H', '', '', '', '', [glo_att]);

 

Ej. 4 :

sc_mail_send([glo_smtp], '', '', 'from@netmake.com.br', {to}, {subject}, {message}, 'H');

if ({sc_mail_ok}) {

echo "sent {sc_mail_count} e-mail(s) with success!!";

} else {

sc_error_message({sc_mail_erro});

}

 

Ej. 5: Envío de archivos adjuntos

//Definición de variables para uso en la macro.
$mail_smtp_server = 'smtp.gmail.com'; // Servidor SMTP
$mail_smtp_user = 'doc@gmail.com.br'; // usuario de acceso SMTP
$mail_smtp_pass = 'contraseña'; // Contraseña para el usuario SMTP ingresado arriba
$mail_from = 'doc@gmail.com.br'; // Correo electrónico de origen del mensaje
$mail_to = 'doc@gmail.com.br'; // Correo electrónico del destinatario del mensaje
$mail_subject = 'Asunto'; // Asunto del email
$mail_message = 'Cuerpo del correo electrónico'; // Cuerpo del correo electronico
$formato_correo = 'T'; // Formato del cuerpo del correo electrónico: T (solo texto) o H (para texto y HTML)
$correo_copias = ''; // Parámetro que define los correos electrónicos copiados.
$correo_tp_copias = ''; // Tipo de copia: BCC (para copia oculta) o CCC (para copia normal)
$puerto_correo = '465'; // Puerto del servidor de envío
$mail_tp_connection = 'S'; // Uso o no de conexión segura: Y (Conexión segura) o N (Conexión insegura)
$mail_attachments = 'c:/teste/arq.txt' // Directorio del archivo que se enviará como archivo adjunto //Macro with variables sc_mail_send($mail_smtp_server, $mail_smtp_user, $mail_smtp_pass, $mail_from, $mail_to, $mail_subject, $mail_message, $mail_format, $mail_copies, $mail_tp_copies, $mail_port, $mail_tp_connection, $mail_attachments);

 

Ej. 6: Enviar varios archivos como archivos adjuntos

//Definición de variables para uso en la macro.
$mail_smtp_server   = 'smtp.gmail.com';    // Servidor SMTP
$mail_smtp_user = 'doc@gmail.com.br'; // usuario de acceso SMTP
$mail_smtp_pass = 'contraseña'; // Contraseña para el usuario SMTP ingresado arriba
$mail_from = 'doc@gmail.com.br'; // Correo electrónico de origen del mensaje
$mail_to = 'doc@gmail.com.br'; // Correo electrónico del destinatario del mensaje
$mail_subject = 'Asunto'; // Asunto del email
$mail_message = 'Cuerpo del correo electrónico'; // Cuerpo del correo electrónico
$formato_correo = 'T'; // Formato del cuerpo del correo electrónico: T (solo texto) o H (para texto y HTML)
$correo_copias = ''; // Parámetro que define los correos electrónicos copiados.
$correo_tp_copias = ''; // Tipo de copia: BCC (para copia oculta) o CCC (para copia normal)
$puerto_correo = '465'; // Puerto del servidor de envío
$mail_tp_connection = 'S'; // Uso o no de conexión segura: Y (Conexión segura) o N (Conexión insegura)
// Array of the file that will be sent as an attachment. $mail_attachments = array('C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\file\img\color.png','C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\file\img\test.txt'); //Macro con variables sc_mail_send($mail_smtp_server, $mail_smtp_user, $mail_smtp_pass, $mail_from, $mail_to, $mail_subject, $mail_message, $mail_format, $mail_copies, $mail_tp_copies, $mail_port, $mail_tp_connection, $mail_attachments);
 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onHeader
onScriptInit
onRecord
onFilterInit
onFilterSave
onFilterValidate
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_make_link(Aplicación, Parámetros)

Esta macro crea una cadena que contiene un enlace a otra aplicación Scriptcase (al escribir código html).

Parámetro Descripción
Aplicaciones Nombre de la aplicación para establecer el enlace.
Parámetros Parámetros necesarios llamados aplicación. En el formato: "=" (el signo de atribución). Más de un parámetro debe estar separado por ";" (punto y coma).



Ej. 1: Creando una cadena con un enlace para la aplicación datacli.php, sin paso de parámetros.

$string_link = sc_make_link(datacli.php);



Ej. 2: Creando una cadena con un enlace para la aplicación datacli.php, con paso de parámetros.

$string_link = sc_make_link(datacli, parm1={company};parm2=[glo_office]);


Macro Scope

Aplicación Blank Aplicación Gráfica Aplicación Grid Aplicación Controle
onExecute onFooter
onHeader
onScriptInit
onScriptInit
onNavigate
onRecord
onValidate
onValidateSuccess



sc_master_value("Objeto", "Valor")

Ver un video tutorial

Actualice los datos en la aplicación principal , en tiempo real, de acuerdo con los cambios realizados en un campo determinado de la aplicación detalle.

Parámetro
Descripción
Objeto Nombre del objeto que se actualizará en la aplicación maestra. No es necesario el {} en un nombre de campo.
Valor Valor del objeto El valor puede ser un campo o una variable.



Ej. 1:

sc_lookup(result,"SELECT SUM(Total) FROM adm_order_itens WHERE OrderID = '{OrderID}'");

//Using sc_format_num() to format the value that will be updated in the master application
$value = sc_format_num({result[0][0]}, ',', '.', 2, 'S', 1, '');
sc_master_value('OrderPrice', $value);

* Si el valor, que se enviará al maestro, sea numérico, debe usar sc_format_num() para formatearlo. Para ver la documentación de la macro, haga clic aquí.


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onScriptInit
onLoadAll
onRefresh



sc_menu_delete(Id_Item1)

Ver un vídeo tutorial

Esta macro elimina elementos de menú pasados como parámetros. Se puede usar en aplicaciones de menú o en el menú de árbol (treemenu).

Observe que los parámetros utilizados en esta macro son la "ID" de los elementos.

Si se elimina un elemento del menú y tiene "nodos", también se ocultarán.


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_menu_disable(Id_Item1)

Esta macro desactiva los elementos del menú que pasan como parámetros. Se puede usar en aplicaciones de menú o menús de árbol.

Los parámetros pasados son elementos "ID". Los elementos del menú se desactivan recursivamente (cuando un elemento del submenú está desactivado, sus "nodos" también se desactivan).


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_menu_force_mobile(boolean)

Ver un vídeo tutorial

Esta macro se usa para forzar la creación de menús en dispositivos móviles.

El parámetro (verdadero o falso) es opcional. Si no se pasa ningún valor, usará el valor "verdadero" (habilite el modo móvil)

 

Ej1:

sc_menu_force_mobile(true);

Ej2:

sc_menu_force_mobile(false);


Macro Scope

Aplicación Menu Aplicación Menú Arból
onLoad onApplicationInit
onLoad



sc_menu_item

Ver un vídeo tutorial

Esta variable solo está disponible para la aplicación de menú y tiene el objetivo de dar acceso a un ítem del menú que fue seleccionado, de esta manera el usuario puede tomar las decisiones antes de ejecutar la aplicación.

 

Ej. 1: Para limpiar la variable global.
if ({sc_menu_item} == "item_1")
{
sc_reset_global([global1], [global2]);
}


Ej. 2: Si una aplicación requiere una variable global, otra aplicación puede inicializarla en consecuencia.

if ({sc_menu_item} == "item_5" && (!isset([glo_employ]) || empty([glo_employ])))
{
sc_redir(apl_inf_emp);
}

 


Ej. 2: Usando el botón en el menú de la barra de herramientas.

if ({sc_menu_item} == "btn_1")
{
sc_apl_conf("form_customer", "start", "new");
}

 


Macro Scope

Aplicación Menu Aplicación Menú Arból
onExecute onApplicationInit
onExecute



sc_redir(Aplicación, Parámetro01; Parámetro02; Destino, Error, height_modal, width_modal)

Esta macro se utiliza para redirigir el procesamiento a otra aplicación o URL.

Si el redir utiliza parámetros, estos deben pasarse en el siguiente formato:
1) Después del nombre de la aplicación, use el delimitador de coma (,) luego
2) = (signo igual).
3) Más de un parámetro, debe estar separado por punto y coma (;)
4) Destino determina qué aplicación se abre (por defecto = _self): _self, _parent, _blank o modal.
5) Parámetro opcional para establecer la redirección de mensajes de error en la aplicación: "F" redirige si hay un error en la aplicación (valor predeterminado) y "E" no redirige.

OBS. Si su conexión utiliza el control de transacciones, el uso de esta macro en los eventos onAfterInsert, onafterupdate, onAfterDelete, onBeforeInsert, Onbeforeupdate o onBeforeDelete debería venir después del uso de la macro sc_commit_trans, de esta manera guardará los cambios en el formulario.

Esta macro no admite el uso del parámetro Modal cuando se utiliza en un botón Ejecutar.


Ej. 1: Aplicación sin parámetros o target.
if ([global_user] == "test")
{
sc_redir(application_x.php);
}

Ej. 2: Aplicación sin parámetros o target.
if ([global_user] == "test")
{
sc_redir(application_x, parm1={var_test}; parm2="xxx");
}

Ej. 3: Aplicación sin parámetros y con destino.
if ([global_user] == "test")
{
sc_redir(application_x, "", "_parent");
}

Ej. 4: Aplicación con parámetro y target.
if ([global_user] == "test")
{
sc_redir(application_x, parm1={var_test}; parm2="xxx", "_blank");
}

Ej. 5: URL.
if ([global_user] == "test")
{
sc_redir(http://www.my_page.com);
}

 

OBS. Todo lo que se pasó como parámetro a la aplicación llamada estará disponible como variable global.

EJ: sc_redir(employee.php, parm1={var_test}; parm2="xxx", "_blank");

En la aplicación employee.php, los parámetros estarán accesibles en [param1] y [param2]

 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onLoad
onValidate
onValidateSuccess
onApplicationInit
onScriptInit
onClick
onApplicationInit
onScriptInit
onFilterInit
onFilterValidate
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onValidate
onValidateSuccess
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onApplicationInit



sc_reset_apl_conf("Aplicación", "Propiedad")

Esta macro tiene el objetivo de eliminar todas las modificaciones efectuadas por la macro sc_apl_conf.
El parámetro de propiedad es opcional, si se pasa solo borrará la modificación de esa aplicación específica.


Ej. 1: Eliminar las modificaciones de la aplicación "my_application", propiedad "start".
sc_reset_apl_conf ("my_application", "start");

 

Ej. 2: Eliminar las modificaciones de la aplicación "my_application".
sc_reset_apl_conf ("my_application");

 

Ej. 3: Eliminar las modificaciones de todas las aplicaciones.
sc_reset_apl_conf ();


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onCalendarApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onFilterInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onValidate
onValidateSuccess
onApplicationInit
onLoad
onApplicationInit
onLoad
onApplicationInit
onScriptInit



sc_reset_apl_default

Esta macro se debe utilizar cuando es necesario quitar el control de la macro sc_apl_default() en las aplicaciones.

Ej:

sc_reset_apl_default();


Macro Scope

Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onScriptInit onScriptInit onScriptInit onScriptInit onScriptInit onScriptInit



sc_reset_apl_status

Esta macro tiene el objetivo de limpiar todas las variables de seguridad, establecidas a través de la macro sc_apl_status.

 

Ej.:

sc_reset_apl_status();


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onFilterInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onValidate
onValidateSuccess
onApplicationInit
onLoad
onApplicationInit
onLoad
onApplicationInit
onScriptInit



sc_reset_change_connection

Ver un video tutorial

Esta macro tiene el objetivo de borrar los cambios realizados utilizando la macro "sc_change_connection".

 

Ej. 1:

sc_reset_change_connection();


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onValidate
onValidateSuccess
onApplicationInit
onLoad
onLoad onScriptInit



sc_reset_connection_edit

Ver un video tutorial

Esta macro deshace las ediciones de conexión realizadas por la macro "sc_connection_edit"..

 

Ej. 1:

sc_reset_connection_edit();


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onLoad
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_reset_connection_new

Ver un video tutorial

Esta macro deshace las conexiones hechas por la macro "sc_connection_new".

sc_reset_connection_new ();


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onLoad
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_reset_global([Global_Variable1], [Global_Variable2] ...)

Esta macro tiene el objetivo de eliminar variables globales, almacenadas en la sesión de PHP.

 

Ej. 1:

sc_reset_global ([Login], [Pass]);


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onGroupBy
onHeader
onScriptInit
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onLoad onApplicationInit
onFooter
onHeader
onRecord



sc_reset_menu_delete

Esta macro se usa para restaurar un elemento de menú, eliminado por la macro "sc_menu_delete".

 

Ej. 1:

sc_reset_menu_delete();


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_reset_menu_disable

Esta macro tiene el objetivo de habilitar un elemento del menú, deshabilitado por la macro "sc_menu_disable".

 

Ej. 1:

sc_reset_menu_disable();


Macro Scope

Aplicación Menu Aplicación Menú Arból
onApplicationInit
onLoad
onApplicationInit
onLoad



sc_rollback_trans

Esta macro se usa para cancelar un conjunto de transacciones en la base de datos.

El parámetro "Conexión" es opcional, solo se usa si el comando se ejecuta en una base de datos diferente desde la especificada a la aplicación.


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onHeader
onRecord



sc_script_name

 

Esta macro está disponible para las aplicaciones MENÚ para acceder al nombre de la aplicación que se seleccionó en el menú. Permite al usuario tomar decisiones antes de ejecutar la aplicación si se requiere un proceso previo para esa aplicación.


Ej. 1: Para limpiar variables globales.
if ({sc_script_name} == "apl1")
{
sc_reset_global([global1], [global2]);
}


Macro Scope

Aplicación Menu Aplicación Menú Arból
onExecute onExecute



sc_select(conjunto de datos, "Comando SQL", "Conexión")

Esta macro ejecuta los comandos SQL pasados como parámetro y accede al "conjunto de datos" en el comando.

A diferencia de la macro sc_lookup, esta macro no manipula el conjunto de datos (el usuario es responsable de toda la manipulación).

Si se produce un error en la ejecución del comando sql, la variable atribuida a la base de datos vuelve como "falsa" y el mensaje de error está disponible en la variable "dataset_error".

El parámetro de conexión es opcional, use solo si el comando se ejecuta en una base de datos diferente de la especificada en la aplicación. En este parámetro no es posible utilizar variables.


Ej. 1:

sc_select(my_data, "select clientId, clientName, limitecred from costumers");
if ({my_data} === false)
{
echo "Access error. Message =". {my_data_erro};
}
else
{
while (!{my_data}->EOF)
{
{clientName} = {my_data}->fields[1];
{my_data}->MoveNext();
}
{my_data}->Close();
}



Ej. 2: El comando SQL se puede pasar como campos de aplicación (variables locales) o de variables globales.
sc_select(dataset,"select price order from order where clientId = '{clientId}' and cod_Seller = [var_glo_seller]");

Nota: El comando siempre debe terminar con punto y coma ";".

 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarScriptInit
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onFooter
onHeader
onRecord



sc_select_field({Campo})

Esta macro modifica dinámicamente el SELECT:
Es posible modificar dinámicamente los campos de la cuadrícula a través de la modificación dinámica de la selección original.


Ej. 1:
Se usa una tabla con las columnas año y los meses de enero a diciembre para crear una grid usando un parámetro, muestra los años y solo un mes específico. Al pasar el parámetro como una variable global llamada "show_month", en la aplicación se encuentra la siguiente estructura:

Seleccionar cláusula: seleccionar año, par_mes de la tabla

sc_select_field(pair_month) = [show_month];
sc_label(pair_month) = [show_month];


Modifique la selección y la etiqueta de la columna del Grid.


Es posible, durante el tiempo de ejecución de la cuadrícula, modificar la cláusula ORDER BY de la cuadrícula.
Se requiere al menos un ORDER BY en el comando SQL de la cuadrícula original para permitir la ejecución de sustitución durante el tiempo de la cuadrícula.

 

Ej. 2: Seleccionar cláusula: seleccione el código, el nombre, el valor del orden de la tabla por código. Para cambiar el orden, de código a nombre, use: sc_select_order ("code") = "name";

Nota: Este comando debe estar en el contexto del evento "onInit";


Macro Scope

Aplicación Gráfica Aplicación Grid
onScriptInit onScriptInit



sc_select_order("Campo")

Ver un video tutorial

Es posible, durante el tiempo de ejecución de la cuadrícula, modificar la cláusula ORDER BY de la cuadrícula.
Se requiere al menos un ORDER BY en el comando SQL de cuadrícula original para permitir la sustitución durante el tiempo de ejecución de la cuadrícula.



Ej. 1: Select Clause: SELECT code, name, price FROM table ORDER BY code
To change the order from code to name, we will have:
sc_select_order("code") = "name";



Ej. 2: Select Clause: SELECT code, name, price, date FROM table ORDER BY code, name, price
To change the order from name to date, we will have:
sc_select_order("name") = "date";


Nota:
Este comando debe estar en el contexto de "proceso antes de la selección".


Macro Scope

Aplicación Gráfica Aplicación Grid
onScriptInit onHeader
onScriptInit



sc_select_where(add)

Ver un video tutorial

Es posible, durante el tiempo de ejecución de la cuadrícula, agregar un campo / condición a la cláusula WHERE de búsqueda.

Ej. 1: Agrega el contenido entre las comillas (") en la selección de cuadrículas.
if (empty({sc_where_current}))
{
sc_select_where(add) = "where campoX > [global]";
}
else
{
sc_select_where(add) = "AND campoX > [global_variable]";
}

Nota: Este comando debe estar en el contexto de "proceso antes de la selección".


Macro Scope

Aplicación Gráfica Aplicación Grid
onScriptInit onHeader
onScriptInit



sc_send_mail_api($arr_settings)

Ver un video tutorial

Esta macro permite el envío dinámico de correos electrónicos incrustados con las API Mandrill y Amazon SES APIs. También es posible enviar correos electrónicos usando el protocolo SMTP.Esta macro utiliza los mismos parámetros de Mandril para el envío de correo, independientemente de la puerta de enlace (Mandril, Amazon SES o SMTP) seleccionada click aqui y vea la lista de parametros que pueden ser usadas.

Esta macro contiene un solo parámetro" $arr_settings", que recibe un array con un email enviando información.

Para obtener más información sobre los parámetros de mandril click aqui

.

Parametro
Descripción
$arr_settings Array con informacion para el uso de APIs.

 

Array indices
Descripción
profile Nombre de algunas API que ya esten configuradas en "Herramientas> API", Pueden ser vistas en el Ejemplo 1. Cuando se informa un perfil las settings index no deben de ser informadas.
settings Confirguración del servidor de envio de E-mail. La información debe confirmar a la API usada. Nota: Cuando se informa la configuración, el perfil index no es configurado.
message Mensaje a ser enviando por email, Asunto, cuerpo y destinatario.

 

Ej. 1: Enviando un ejemplo pre configurado en perfil en "herramientas > API".

if({api_type} == 'smtp' ){
	$var_config = array(
		'profile' => 'yahoo_example',

		'message' => [
			'html'          => {email_body},
			'text'          => '',
			'to'            => $arr_merge,
			'subject'       => {subject}
		]
	);
}

sc_send_mail_api($var_config);

 

E. 2: Enviando e-mail via SMTP

$smtp_server = "smtp.mail.yahoo.com";
$smtp_port = "465";
$smtp_user = "scriptcase.export";
$smtp_password = "scriptcase.export";
$from_email = "scriptcase.export@yahoo.com";
$from_name = "Scriptcase Export";

if ( {api_type} == 'smtp' ){
	$var_config = array(

		'profile' => '',

		'settings' => [
				'gateway'       => 'smtp',
				'smtp_server'   => $smtp_server,
				'smtp_port'     => $smtp_port,
				'smtp_user'     => $smtp_user,
				'smtp_password' => $smtp_password,
				'from_email'    => $from_email,
				'from_name'     => $from_name
		],

		'message' => [
				   'html'          => {email_body},
				   'text'          => '',
				   'to'            => $arr_merge,
				   'subject'       => {subject}
		]
	);
}

sc_send_mail_api($var_config);

 

E. 3: Enviando email using Mandrill API

if({api_type} == 'mandrill' ){
	$var_config = array(
		'settings' => [
				   'gateway'       => 'mandrill',
				   'api_key'   	   => {api_key},
				   'from_email'    => {from_email},
				   'from_name'     => {from_name}
		],

		'message' => [
				   'html'          => {email_body},
				   'text'          => '',
				   'to'            => array($arr_merge),
				   'subject'       => {subject}
		]
	);
}

sc_send_mail_api($var_config);

 

Ej. 4: Enviando email usando Amazon SES API

if({api_type} == 'ses' ){
	$var_config = array(
		'settings' =>  [
	        'gateway' => 'ses',
	        'region' => {ses_region},
	        'api_key' => {api_key},
	        'api_secret' => {ses_secret},
	        'from_email'    => {from_email}
	    ],
	    'message' => [
	        'html'          => {email_body},
	        'text'          => '',
	        'to'            => array($arr_merge),
	        'subject'       => {subject}
	    ]
	);
}

sc_send_mail_api($var_config);

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onHeader
onScriptInit
onRecord
onFilterInit
onFilterSave
onFilterValidate
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_send_sms($arr_settings)

Ver un video tutorial

Esta macro recibe una matriz como el parámetro de configuración que contiene el mensaje, el destinatario, el gateway y la clave API.

Parámetro Descripción
$arr_settings Matriz con la información para usar en la macro.

 

Índice de matriz Descripción
to: Destinatario de SMS
message: El contenido del mensaje de texto
gateway: API para ser utilizada (clickatell, plivo o twilio)
auth_token: Token de Autenticación API


Ej. 1 - Estructura básica de envío:

$arr_settings = array(
	'message' => 
	[
		'to' => '+55999999999',
		'message' => 'Scriptcase SMS'
	],
	'settings' => 
	[
		'gateway' => 'clickatell',
		'auth_token' => '54Cik1-gQ4GqtuN70d4y4w=='
	]);

sc_send_sms($arr_settings);

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_seq_register

Esta macro proporciona el número secuencial de la cuadrícula de registro (en proceso). Se puede usar, solo en el evento onRecord.

 

Ej. 1:
if({sc_seq_register} == 10) {
// last line of the page
{total} = {sum_total};
}


Macro Scope

Aplicación Grid
onRecord



sc_set_export_name

Los archivos resultantes de las exportaciones realizadas en la consulta se almacenan en el directorio tmp (temporal) especificado en la configuración de la herramienta.

Tanto en desarrollo como en producción, los archivos se almacenan con el prefijo sc_ y una clave única. Después de un tiempo,archivos con el prefijo sc_ se eliminarán los.

 

Para evitar que se eliminen los archivos exportados, es posible utilizar esta macro para cambiarles el nombre.

Lista de

parámetrosparámetro

Valor de

Descripción

"export_type"

Cadena que contiene el tipo de exportación, que debe estar protegido por comillas.


  Ejemplo de uso en la macro.

   "csv"

 Lista de valores admitidos:

  • csv
  • json
  • pdf
  • rtf
  • xml
  • xls
  • word

Parámetro obligatorio, donde debemos informar el tipo de archivo que queremos renombrar.


Este parámetro no acepta variables.

"nombre de archivo"

Cadena que contiene el nombre que recibirá el archivo.

Ejemplo de uso en la macro:

"Nuevo nombre de archivo"

Valores admitidos

  • Cadena con el nombre
  • Variable global

Parámetro obligatorio, donde debemos informar el nombre que recibirá el archivo.

 

Vea a continuación algunos ejemplos de uso de la macro:

Ejemplo 1 - Definición de un nombre para un archivo PDF

sc_set_export_name ("pdf", "meu_arquivo_pdf.pdf");

 

Ejemplo 2: definición de un nombre de archivo pasando el valor a través de una variable global.

sc_set_export_name ("json", [glo_nome_json]);


Macro Scope

Aplicación Gráfica Aplicación Grid
onScriptInit onApplicationInit
onScriptInit



sc_set_fetchmode(parm);

Ver un video tutorial

Esta macro permite cambiar el tipo de retorno del conjunto de datos de los comandos de selección.
La macro se procesará antes de ejecutar el comando SQL. Al informar el parámetro, el conjunto de datos devolverá el índice o el nombre de la columna.

parm = 0 : Devuelve una matriz con el índice y el nombre de las columnas (valor predeterminado de Scriptcase)
parm = 1 : Devuelve una matriz solo con índices de las columnas

Ej. 1: Retornando una matriz con el nombre de las columnas.

sc_set_fetchmode(0);
sc_select(my_data, "SELECT customerid, stateid, birthdate, creditlimit FROM customers where customerid = 'ALFKI'");

while (!$my_data->EOF){
$meus_dados->fields['customerid'];
$customer = $my_data->fields['stateid'];
$customer = $my_data->fields['birthdate'];

$my_data->MoveNext();
}
$my_data->Close();

--------------------------------------------------------------------------------------

Ej. 2: Retornando una matriz con el índice de las columnas.


sc_set_fetchmode(1);
sc_select(my_data, "SELECT customerid, stateid, birthdate, creditlimit FROM customers where customerid = 'ALFKI'");

while (!$my_data->EOF){
$my_data->fields[1];
$customer = $my_data->fields[2];
$customer = $my_data->fields[3];

$my_data->MoveNext();
}
$my_data->Close();


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onExecute
onLoad
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_set_focus('Campo')

Ver un video tutorial

Esta macro se usa para establecer el foco en un campo de formulario.

Ej. 1:

sc_set_focus ('nombre');


Macro Scope

Aplicación Calendario Aplicación Formulário Aplicación Controle
OnClick
onLoad
onRefresh
onValidateSuccess
OnClick
onLoad
onRefresh
onValidateSuccess
onApplicationInit
onScriptInit
onLoadAll
onRefresh



sc_set_global($variavel_01) ou ({Mi_Campo})

Esta macro se usa para registrar variables globales. Cree una variable de sesión con el mismo nombre y contenido de la variable local.

Nota: Esta macro se descontinuará pronto. Debe usar el método de creación de variables globales mediante corchetes. Ej: [var_glo_user] = "prueba";


Ej. 1: Registrar una variable de usuario.
$my_var = "mary";
sc_set_global($my_var);

Crea una variable de sesión con el nombre "my_var" con el contenido "mary".

Ej. 2: Para registrar un valor de campo como variable de sesión.
sc_set_global({fieldname});

Nota: Esta macro no atribuye valores. Solo registre las variables de sesión de PHP.


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_set_groupby_rule

Ver un vídeo tutorial

Esta macro se usa para seleccionar una regla de agrupación en el tiempo de ejecución en el evento onApplicationInit.


Macro Scope

Aplicación Grid
onApplicationInit



sc_set_language('String Language')

Ver un video tutorial

Esta macro permite definir el lenguaje de la aplicación dinámicamente.

Ej. 1: Cambia el idioma al inglés.
sc_set_language('en_us');



Ex. 2: Cambia el idioma al español.
sc_set_language('es');

 

Todavía permite definir el idioma y la configuración regional de las aplicaciones utilizando un delimitador ";" entre los parámetros

 

Ex. 1: Cambiar el idioma al inglés y la configuración regional a Canadá.
sc_set_language('en_us;en_ca');



Ex. 2: Cambiar el idioma a español y configuraciones regionales a México.

sc_set_language('es;es_mx');



Ex. 3: Cambiar el idioma a español y configuraciones regionales a México. Cambiar el idioma a alemán y configuraciones regionales a Luxemburgo.
sc_set_language('de;de_lu');



Ex. 4: Cambiar el idioma a la configuración eslovaca y regional a la República Eslovaca.

sc_set_language('sk;sk_sk');

 

Idioma  Valor
Árabe  ar
Alemán de
Bahasa Melayu ms
Bielorruso be
Bengalí bn
Bosnio bs
Búlgaro bg
Catalán ca
Chinês simplificado zh_cn
Chinês tradicional zh_hk
Croata hr
Checo cz
Coreano ko
Cirílico serbio sr
Cingaleses si
Danés da
Eslovaco sk
Esloveno sl
Español es
Estonio et
Finlandês fi
Francês fr
Galego gl
Grego el
Gujarati gu
Holandés nl
Hebraico he
Hindi hi
Húngaro hu_hu
Inglês en_us
Indonésio id
Italiano it
Japonês ja
Letón lv
Lituano lt
Macedonio mk
Marathi mr
Noruego no
Polaco pl
Português (Brasil) pt_br
Portugal (Português) pt_pt
Punjabi pa
Rumano ro
Ruso ru
Shuar jiv
Sueco sv
Telugu te
Tailandés thai
Turco tr
Ucraniano uk
Urdu ur
Kannada kn
Configuración regional
Afrikaans (Sudáfrica) af_za
Albanés (Albania) sq_al
Alemán (Alemania) de_de
Alemán (Austria) de_at
Alemán (Lichtenstein) de_li
Alemán (Luxemburgo) de_lu
Alemán (Suiza) de_ch
Amárico (Etiopía) am_et
Armenio (Armenia) hy_am
Azerbaiyán (Azerbaijan) az_az
Bahasa Melayu (Malasia) ms_my
Belarús (Bielorrusia) be_by
Bengali (Bangladesh) bn_bd
Bengali (India) bn_in
Bokmal noruego (Noruega) nb_no
Bosnia (Bosnia-Herzegovina) bs_ba
Breton (Francia) br_fr
Búlgaro (Bulgaria) bg_bg
Catalán (España) ca_es
Checa (República Checa) cs_cz
Chino (República de China) zh_cn
Chino (simplificado, Singapur) zh_sg
Chino (tradicional, Hong Kong) zh_hk
Chino (tradicional, Macau) zh_mo
Chino (tradicional, Taiwan) zh_tw
Coreano (Corea) ko_kr
Croata (Bosnia y Herzegovina) hr_ba
Croata (Croacia) hr_hr
Danés (Dinamarca) da_dk
Eslovaquia (República Eslovaca) sk_sk
Esloveno (Eslovenia) sl_si
Español (Argentina) es_ar
Español (Bolivia) es_bo
Español (Chile) es_cl
Español (Colombia) es_co
Español (Costa Rica) es_cr
Español (Ecuador) es_ec
Español (El Salvador) es_sv
Español (España) es_es
Español (Estados Unidos) es_us
Español (Guatemala) es_gt
Español (Honduras) es_hn
Español (México) es_mx
Español (Nicaragua) es_ni
Español (Panama) es_pa
Español (Paraguay) es_py
Español (Peru) es_pe
Español (Puerto Rico) es_pr
Español (República Dominicana) es_do
Español (Uruguay) es_uy
Español (Venezuela) es_ve
Estonio (Estonia) et_ee
Finlandés (Finlandia) fi_fi
Francés (Bélgica) fr_be
Francés (Camerún) fr_cm
Francés (Canadá) fr_ca
Francés (Costa de Marfil) fr_ci
Francés (Francia) fr_fr
Francés (Luxemburgo) fr_lu
Francés (Mónaco) fr_mc
Francés (Suiza) fr_ch
Frisón, Western (Países Bajos) fy_nl
Gallego (España) gl_es
Georgia (Georgia) ka_ge
Griego (Grecia) el_gr
Groenlandés (Kalaallit Nunaat) kl_gl
Gujarati (India) gu_in
Hausa (Ghana) ha_gh
Hebreo (Israel) he_il
Hindi (India) hi_in
Holandés (Bélgica) nl_be
Holandés (Países Bajos) nl_nl
Húngaro (Hungría) hu_hu
Indonesia (Indonesia) id_id
Inglés (Australia) en_au
Inglés (Belice) en_bz
Inglés (Botswana) en_bw
Inglés (Camerún) en_cm
Inglés (Canadá) en_ca
Inglés (Caribe) en_cb
Inglés (Estados Unidos) en_us
Inglés (Filipinas) en_ph
Inglés (India) en_in
Inglés (Irlanda) en_ie
Inglés (Jamaica) en_jm
Inglés (Malasia) en_my
Inglés (Namibia) en_na
Inglés (Nigeria) en_ng
Inglés (Nueva Zelanda) en_nz
Inglés (Reino Unido) en_gb
Inglés (Singapur) en_sg
Inglés (Trinidad y Tobago) en_tt
Inglés (Uganda) en_ug
Inglés (Zambia) en_zm
Inglés (Zimbabwe) en_zw
Inglés (África del Sur) en_za
Irlandés (Irlanda) ga_ie
Islandés (Islandia) is_is
Islas Feroe (Islas Feroe) fo_fo
Italiano (Italia) it_it
Italiano (Suiza) it_ch
Japonés (Japón) ja_jp
Kannada (India) kn_in
Kazajo (Kazajstán) kk_kz
Khmer (Camboya) km_kh
Kirghiz (Kirguistán) ky_kg
Laos (Laos) lo_la
Letonia (Letonia) lv_lv
Lituano (Lituania) lt_lt
Luxemburgo (Luxemburgo) lb_lu
Macedonio (República de Macedonia) mk_mk
Malayalam (India) ml_in
Marathi (India) mr_in
Mongol (Mongolia) mn_mn
Nepal (Nepal) ne_np
Northern Sotho (Sudáfrica) nso_z
Noruego (Noruega) no_no
Noruego Nynorsk (Noruega) nn_no
Occitano (Francia) oc_fr
Oriya (India) or_in
Persa (Irán) fa_ir
Polaco (Polonia) pl_pl
Portugués (Angola) pt_ao
Portugués (Brasil) pt_br
Portugués (Portugal) pt_pt
Punjabi (India) pa_in
Rumano (Moldavia) ro_md
Rumano (Rumania) ro_ro
Rusa (Bielorrusia) ru_by
Ruso (Kazajstán) ru_kz
Ruso (Rusia) ru_ru
Serbio Cirílico (Serbia y Montenegro) sr_yu
Serbio Latino (Serbia y Montenegro) sh_yu
Setswana (Sudáfrica) tn_za
Sotho (Sudáfrica) st_za
Sri Lanka (Cingalés) si_si
Sueco (Finlandia) sv_fi
Sueco (Suecia) sv_se
Swahili (Tanzania) sw_tz
Tamil (India) ta_in
Tayiko (Tayikistán) tg_tj
Telugu (India) te_in
Thai (Tailandia) th_th
Turco (Turquía) tr_tr
Ucrania (Ucrania) uk_ua
Urdú (Pakistán) ur_pk
Uzbeko (Uzbekistán) uz_uz
co eu -
Vietnamita (Vietnam) vi_vn
Welsh (Reino Unido) cy_gb
Xhosa (Sudáfrica) xh_za
Zulú (Sudáfrica) zu_za
Árabe (Arabia Saudita) ar_sa
Árabe (Argelia) ar_dz
Árabe (Bahrein) ar_bh
Árabe (Egipto) ar_eg
Árabe (Emiratos Árabes Unidos) ar_ae
Árabe (Iraq) ar_iq
Árabe (Jordania) ar_jo
Árabe (Kuwait) ar_kw
Árabe (Libia) ar_ly
Árabe (Líbano) ar_lb
Árabe (Marruecos) ar_ma
Árabe (Omán) ar_om
Árabe (Qatar) ar_qa
Árabe (Siria) ar_sy
Árabe (Túnez) ar_tn
Árabe (Yemen) ar_ye

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onFilterInit
onFilterValidate
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onValidate
onValidateSuccess
onApplicationInit
onLoad
onApplicationInit
onLoad
onApplicationInit
onScriptInit



sc_set_regional('String Regional')

Esta macro permite cambiar dinámicamente la configuración regional de la aplicación.

Ej. 1:
sc_set_regional('en_us');


Idioma Valor
Afrikaans (Sudáfrica) af_za
Albanés (Albania) sq_al
Alemán (Alemania) de_de
Alemán (Austria) de_at
Alemán (Lichtenstein) de_li
Alemán (Luxemburgo) de_lu
Alemán (Suiza) de_ch
Amárico (Etiopía) am_et
Armenio (Armenia) hy_am
Azerbaiyán (Azerbaijan) az_az
Bahasa Melayu (Malasia) ms_my
Belarús (Bielorrusia) be_by
Bengali (Bangladesh) bn_bd
Bengali (India) bn_in
Bokmal noruego (Noruega) nb_no
Bosnia (Bosnia-Herzegovina) bs_ba
Breton (Francia) br_fr
Búlgaro (Bulgaria) bg_bg
Catalán (España) ca_es
Checa (República Checa) cs_cz
Chino (República de China) zh_cn
Chino (simplificado, Singapur) zh_sg
Chino (tradicional, Hong Kong) zh_hk
Chino (tradicional, Macau) zh_mo
Chino (tradicional, Taiwan) zh_tw
Coreano (Corea) ko_kr
Croata (Bosnia y Herzegovina) hr_ba
Croata (Croacia) hr_hr
Danés (Dinamarca) da_dk
Eslovaquia (República Eslovaca) sk_sk
Esloveno (Eslovenia) sl_si
Español (Argentina) es_ar
Español (Bolivia) es_bo
Español (Chile) es_cl
Español (Colombia) es_co
Español (Costa Rica) es_cr
Español (Ecuador) es_ec
Español (El Salvador) es_sv
Español (España) es_es
Español (Estados Unidos) es_us
Español (Guatemala) es_gt
Español (Honduras) es_hn
Español (México) es_mx
Español (Nicaragua) es_ni
Español (Panama) es_pa
Español (Paraguay) es_py
Español (Peru) es_pe
Español (Puerto Rico) es_pr
Español (República Dominicana) es_do
Español (Uruguay) es_uy
Español (Venezuela) es_ve
Estonio (Estonia) et_ee
Finlandés (Finlandia) fi_fi
Francés (Bélgica) fr_be
Francés (Camerún) fr_cm
Francés (Canadá) fr_ca
Francés (Costa de Marfil) fr_ci
Francés (Francia) fr_fr
Francés (Luxemburgo) fr_lu
Francés (Mónaco) fr_mc
Francés (Suiza) fr_ch
Frisón, Western (Países Bajos) fy_nl
Gallego (España) gl_es
Georgia (Georgia) ka_ge
Griego (Grecia) el_gr
Groenlandés (Kalaallit Nunaat) kl_gl
Gujarati (India) gu_in
Hausa (Ghana) ha_gh
Hebreo (Israel) he_il
Hindi (India) hi_in
Holandés (Bélgica) nl_be
Holandés (Países Bajos) nl_nl
Húngaro (Hungría) hu_hu
Indonesia (Indonesia) id_id
Inglés (Australia) en_au
Inglés (Belice) en_bz
Inglés (Botswana) en_bw
Inglés (Camerún) en_cm
Inglés (Canadá) en_ca
Inglés (Caribe) en_cb
Inglés (Estados Unidos) en_us
Inglés (Filipinas) en_ph
Inglés (India) en_in
Inglés (Irlanda) en_ie
Inglés (Jamaica) en_jm
Inglés (Malasia) en_my
Inglés (Namibia) en_na
Inglés (Nigeria) en_ng
Inglés (Nueva Zelanda) en_nz
Inglés (Reino Unido) en_gb
Inglés (Singapur) en_sg
Inglés (Trinidad y Tobago) en_tt
Inglés (Uganda) en_ug
Inglés (Zambia) en_zm
Inglés (Zimbabwe) en_zw
Inglés (África del Sur) en_za
Irlandés (Irlanda) ga_ie
Islandés (Islandia) is_is
Islas Feroe (Islas Feroe) fo_fo
Italiano (Italia) it_it
Italiano (Suiza) it_ch
Japonés (Japón) ja_jp
Kannada (India) kn_in
Kazajo (Kazajstán) kk_kz
Khmer (Camboya) km_kh
Kirghiz (Kirguistán) ky_kg
Laos (Laos) lo_la
Letonia (Letonia) lv_lv
Lituano (Lituania) lt_lt
Luxemburgo (Luxemburgo) lb_lu
Macedonio (República de Macedonia) mk_mk
Malayalam (India) ml_in
Marathi (India) mr_in
Mongol (Mongolia) mn_mn
Nepal (Nepal) ne_np
Northern Sotho (Sudáfrica) nso_z
Noruego (Noruega) no_no
Noruego Nynorsk (Noruega) nn_no
Occitano (Francia) oc_fr
Oriya (India) or_in
Persa (Irán) fa_ir
Polaco (Polonia) pl_pl
Portugués (Angola) pt_ao
Portugués (Brasil) pt_br
Portugués (Portugal) pt_pt
Punjabi (India) pa_in
Rumano (Moldavia) ro_md
Rumano (Rumania) ro_ro
Rusa (Bielorrusia) ru_by
Ruso (Kazajstán) ru_kz
Ruso (Rusia) ru_ru
Serbio Cirílico (Serbia y Montenegro) sr_yu
Serbio Latino (Serbia y Montenegro) sh_yu
Setswana (Sudáfrica) tn_za
Sotho (Sudáfrica) st_za
Sri Lanka (Cingalés) si_si
Sueco (Finlandia) sv_fi
Sueco (Suecia) sv_se
Swahili (Tanzania) sw_tz
Tamil (India) ta_in
Tayiko (Tayikistán) tg_tj
Telugu (India) te_in
Thai (Tailandia) th_th
Turco (Turquía) tr_tr
Ucrania (Ucrania) uk_ua
Urdú (Pakistán) ur_pk
Uzbeko (Uzbekistán) uz_uz
Vasco eu
Vietnamita (Vietnam) vi_vn
Welsh (Reino Unido) cy_gb
Xhosa (Sudáfrica) xh_za
Zulú (Sudáfrica) zu_za
Árabe (Arabia Saudita) ar_sa
Árabe (Argelia) ar_dz
Árabe (Bahrein) ar_bh
Árabe (Egipto) ar_eg
Árabe (Emiratos Árabes Unidos) ar_ae
Árabe (Iraq) ar_iq
Árabe (Jordania) ar_jo
Árabe (Kuwait) ar_kw
Árabe (Libia) ar_ly
Árabe (Líbano) ar_lb
Árabe (Marruecos) ar_ma
Árabe (Omán) ar_om
Árabe (Qatar) ar_qa
Árabe (Siria) ar_sy
Árabe (Túnez) ar_tn
Árabe (Yemen) ar_ye

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onFilterInit
onFilterValidate
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onValidate
onValidateSuccess
onApplicationInit
onLoad
onApplicationInit
onLoad
onApplicationInit
onScriptInit



sc_set_theme('String Theme')

Esta macro permite cambiar dinámicamente el tema que se utilizará en las aplicaciones.

Cuando se usa, el tema cambia en la sesión, lo que hace que todas las aplicaciones a las que se acceda más tarde reciban el tema informado.

Parámetro

Esta macro tiene un solo parámetro, que debe llevar el nombre del tema que se aplicará.
Este parámetro se puede pasar de dos formas.

 

Ejemplo 1 - Cadena con el nombre del tema.
sc_set_theme('BlueBerry');

Ejemplo 2 - Variable local que recibe el valor de un campo o una variable global.
$set_theme = {field_name};
sc_set_theme($set_theme);

 

Enlaces relacionados
Vea cómo cambiar dinámicamente el tema de un proyecto usando la macro.

 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onApplicationInit
onFilterInit
onFilterValidate
onApplicationInit
onScriptInit
onApplicationInit
onScriptInit
onValidate
onValidateSuccess
onApplicationInit
onLoad
onApplicationInit
onLoad
onApplicationInit
onScriptInit



sc_site_ssl

Ver un video tutorial

Esta macro se usa para verificar si un sitio usado es un sitio seguro. (protocolo https)


Ej. 1: Usando una afirmativa.
if (sc_site_ssl)
{
  echo "ok - Safe site";
}



Ej. 2: Usando un negativo
if (!sc_site_ssl)
{
echo "Warning - Unsafe site";
}



Ej. 3: Redireccionar si el sitio no es seguro.
if (!sc_site_ssl)
{
sc_redir("http://www.erro_page.com/") ;
}

Nota: Esta macro solo funciona para el servidor web llS.


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onClick
onScriptInit
onLoadAll
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onLoad
onLoad onApplicationInit
onScriptInit



sc_sql_injection({Mi_Campo}) o ($Mi_Variable)

Esta macro se utiliza para proteger el campo / variable contra la "inyección sql".

Macro utilizada para la protección contra la "inyección sql" en los comandos generados por el desarrollador al usar las macros: sc_lookup, sc_select o sc_exec_sql.


Ej. 1: Protección de una variable local:
$ field_protect = sc_sql_injection ({my_field});


Ej. 2: Protección de una variable de usuario:
$ field_protect = sc_sql_injection ($ my_var);

 

Nota: que todos los accesos a la base de datos, generados para el Scriptcase, tienen protección contra la "inyección sql".


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onExecute
onLoad
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



sc_sql_protect(Valor, "Tipo", "Conexión")

Esta macro protegerá el valor pasado como parámetro de acuerdo con la base de datos especificados, el parámetro "Conexión" es opcional, si no está informado, el script usará la conexión predeterminada.

El parámetro "Tipo" hasta ahora solo puede usar el valor "Fecha".

 

Ej.: en este ejemplo protegeremos las fechas pasadas como parámetro para que de esta manera se pueda interpretar correctamente en la base de datos 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")."";

 
 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onExecute onValidate onClick
onFooter
onGroupBy
onScriptInit
onNavigate
onRecord
onFilterValidate onAfterDeleteAll
onAfterInsertAll
onAfterUpdateAll
onBeforeDeleteAll
onBeforeInsertAll
onBeforeUpdateAll
onValidate
onLoadAll
onValidate
onRecord



sc_statistic (arr_val, tp_var)

Esta macro calcula y devuelve una matriz con los valores estadísticos informados de una matriz de valores numéricos.

Se requieren dos parámetros para usar la macro.

Parámetro Valor Descripción
arr_val

Este parámetro acepta solo variables

Ejemplo de uso
$arr_val = array (5230.01,8374,625.45,8926.34,7000,523.78);
sc_statistic($arr_val, $tipo);

Variable que contiene una matriz con los valores de entrada numéricos.

Parámetros obligatorios.

tp_var

Este parámetro acepta el valor o una variable.

Ejemplo que indica el valor:
sc_statistic($arr_val, 'P');

Ejemplo usando una variable
$type = 'P';
sc_statistic($arr_val, $ tipo);

Lista de valores aceptados en el parámetro.

  • P
  • A

Este parámetro define el tipo de cálculo de la varianza(índice 2) y la desviación estándar(índice 3) de la matriz.

Los valores aceptados son P y A

  • P = Población
  • A = Muestra

Parámetros obligatorios.

 

Esta macro devuelve el cálculo en una matriz con 10 posiciones, donde cada posición está relacionada con un dato estadístico.

Compruebe a continuación lo que devolverá cada índice.

Valores devueltos en cada índice de la matriz:

Index Value
[0] Media aritmética
[1] Mediana
[2] Varianza
[3] Desviación estándar
[4] Amplitud
[5] Número de valores diferentes
[6] Número de valores de la matriz
[7] Número de valores nulos
[8] Valor más bajo
[9] Valor más alto

Example of using the macro

$arr_val = array (5230.01.8374,625.45.8926.34,7000,523.78,523.78,6897.21,987.56,987.56,8729,63);

$arr_stat = sc_statistic ($arr_val, 'P');

 

Macro return:

Array
(
    [0] => 4072.3075
    [1] => 3108.785
    [2] => 12817792.489302
    [3] => 3580.1944764638
    [4] => 8863.34
    [5] => 10
    [6] => 12
    [7] => 12
    [8] => 63
    [9] => 8926.34
);
 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onCalendarScriptInit
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_text_style({My_Field}, "Color de fondo", "Tamaño", "Color", "Familia", "Peso")

Esta macro permite modificar el estilo de texto desde el campo de la cuadrícula dinámicamente..

Parameter Description
Field Nombre
Background-Color (optional) Color de fondo de la celda de texto
Size (optional) Fuente del texto
Color (optional) Color del texto
Family (optional) Familia de texto
Weight (optional) Peso del texto


Ej. 1:

sc_text_style({my_field}, '#33FF99', '15px', '#000000', 'Arial, sans-serif', 'bold');


Macro Scope

Aplicación Grid
onRecord



sc_time_diff({datetime_01}, "Date_01 Format", {datetime_02}, "Date_02 Format")

sc_time_diff({datetime_01}, "Date_01 Format", {datetime_02}, "Date_02 Format");

Esta macro calcula la diferencia entre hora, minutos y segundos para dos valores de fecha / hora.

El resultado se devolverá en una matriz, con las dimensiones [0], [1] y [2] que contienen horas, minutos y segundos, respectivamente.

Parametro

Descripción

datetime_01

Valor o variable para datetime_01

Date_01 Format

Valor de variable para especificar el formato de datetime_01

datetime_02

Valor o variable para datetime_02

Date_02 Format

Valor o variable para especificar el formato de datetime_02

 

Ej. 1: Formato general

{differences} = sc_time_diff({datetime_01}, "Date_01 Format", {datetime_02}, "Date_02 Format");

{diff_hours} = {differences[0]};
{diff_minutes} = {differences[1]};
{diff_seconds} = {differences[2]};

Ej. 2: Retornando valores positivos

{differences} = 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");

{differences[0]} would be equal to 86 (hours);
{differences[1]} would be equal to 10 (minutes);
{differences[2]} would be equal to 48 (seconds);

Ej. 3: Retornando valores negativos

{differences} = 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");

{differences[0]} would be equal to -86 (hours);
{differences[1]} would be equal to -10 (minutes);
{differences[2]} would be equal to -48 (seconds);

Ej. 4: Considerando solo el formato de horas - Retorno positivo

{differences} = sc_time_diff("18:14:55", "hh:ii:ss", "10:55:22", "hh:ii:ss");

{differences[0]} would be equal to 7 (hours);
{differences[1]} would be equal to 19 (minutes);
{differences[2]} would be equal to 33 (seconds);

Ej. 5: Considerando solo el formato de horas - Retorno negativo

{differences} = sc_time_diff ("10:55:22", "hh:ii:ss", "18:14:55", "hh:ii:ss");

{differences[0]} would be equal to -7 (hours);
{differences[1]} would be equal to -19 (minutes);
{differences[2]} would be equal to -33 (seconds);

 

Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onLoad onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_trunc_num({Mi_Campo}, Cantidad_Decimal)

Esta macro se usa para truncar valores numéricos que exceden la cantidad de decimales especificada.

 

Parametro
Descripción
Mi_Campo Variable con valor para formatear (retorno en la misma variable).
Numero_Decimal Cantidad de decimales para mostrar.




Ej. 1:
sc_trunc_num({my_value}, 2);

Valor Entrada = 1250.235
Valor Salida = 1250.23

Valor Entrada = 1250.2
Valor Salida = 1250.20

Valor Entrada = 1250
Valor Salida = 1250.00


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onClick
onApplicationInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_url_exit(URL)

Esta macro modifica la URL de salida de la aplicación.


Ej. 1:

sc_url_exit(http://www.scriptcase.net);



Ej. 2:

sc_url_exit(aplx.php);


Macro Scope

Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onClick
onScriptInit
onLoadAll
onValidate
onValidateFailure
onValidateSuccess
onRecord



sc_url_library("Destino", "Nombre de la biblioteca", "Archivo")

Ver un vídeo tutorial

Esta macro devolverá la ruta del archivo, dentro de una biblioteca, para ser utilizada en las aplicaciones de script. Es necesario tener una biblioteca creada en Scriptcase para usar esta Macro. Para crear una biblioteca, vaya al menú "Herramientas> Biblioteca".

Parámetros 
Descripción
Target Informa cuál es el alcance de la biblioteca. Puede ser "sys" para bibliotecas de ámbito público o "prj" para bibliotecas de ámbito de proyecto.
Library Name Nombre dado a la biblioteca en el momento de la creación.
File Ruta absoluta dentro de la biblioteca.

 

 

Ej. 1 - Importar archivos CSS desde una biblioteca:
<*link rel="stylesheet" type="text/css" href="<*?php echo sc_url_library('prj', 'bootstrap-3.3.2-dist', 'css/style1.css'); ?>" />

 

Ej. 2 - Importar un archivo JS desde una biblioteca:
<*script type="text/javascript" src="<*?php echo sc_url_library('prj', 'bootstrap-3.3.2-dist', 'js/bootstrap,js'); ?>">

NOTA: Tenga en cuenta que debe eliminar el asterisco (*) de los ejemplos anteriores para usarlo.


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onCalendarApplicationInit
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad



sc_user_logout('nombre de variable', 'contenido de variable', 'apl_redir.php', 'target')

Esta macro se utiliza para cerrar sesión en el usuario del sistema informado.

Si no se ingresa el objetivo, asume "_top" (Fuerza a que el enlace sea mostrado usando todo el espacio de la ventana del navegador destruyendo toda estructura de frames).

Ej:

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


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Formulário Aplicación Controle Aplicación ReportPDF
onExecute onAfterDelete
onAfterInsert
onAfterUpdate
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onValidate
onValidateSuccess
onHeader
onScriptInit
onScriptInit onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onScriptInit
onLoad
onNavigate
onLoadRecord
onValidate
onValidateSuccess
onScriptInit
onLoadAll
onValidate
onValidateSuccess
onHeader
onScriptInit
onRecord



sc_warning'on' o 'off'

Ver un vídeo tutorial

Esta macro activa o desactiva dinámicamente el control de mensajes de advertencia.

Los mensajes de advertencia se generan cuando se hace referencia a una variable inexistente, un elemento de una matriz inexistente, etc.

 

Ej. 1: para desactivar el mensaje (no mostrar).
sc_warning = 'off';

 


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



sc_webservice("Método", "URL", "Puerto", "Método de envío", "Matriz de parámetros", "Matriz de ajustes", "Tiempo de espera", "Retorno

Esta macro se usa para comunicarse con un web service.

Parámetro
Descripción
Method Informa qué método se utilizará para acceder al web service.Ej: file_get_contentscurl.
URL URL usada para acceder al web service.
Port Port usado para acceder al web service.
Send Method Define el método de solicitud de web service. Can be GET ou POST.
Parameters Array Array de parámetros utilizada para acceder al web service, que varía según el servicio al que se accede.
Settings's Array(optional) Matriz de parámetros para la configuración del método de acceso utilizado.
Timeout(optional) Acceso a servicios de tiempo de espera.
Return(optional) Método de devolución de servicios web. Cuando se establece como "True", el retorno del servicio web se presenta como una array, si se establece como "False", se devolverá como el formato del  web service. Valor predeterminado: true

 

$parms = array(
'METHOD' => 'GetBalance',
'RETURNALLCURRENCIES' => 1,
'VERSION' => urlencode(51.0),
'USER' => urlencode({paypal_api_login}),
'PWD' => urlencode({paypal_api_password}),
'SIGNATURE' => urlencode({paypal_api_key})
);
$parms = http_build_query($parms);

Ej1 - Usando la macro file_get_contents:
sc_webservice('file_get_contents', $webservice_url, $_SERVER["SERVER_PORT"], "POST", $parms, array(), 30);

 

Ej2 - Usando la macro CURL:
$response = sc_webservice("curl", {paypal_type}, 80, "POST", $parms, array(CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER=>false), 30);


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onBlur
onChange
onClick
onFocus
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad



sc_where_current

Esta variable pone a disposición el contenido generado por el "filtro" de acuerdo con las selecciones realizadas en el formulario de filtro. Esta información es la que se agregará a la cláusula where del select original de la aplicación.

 

Ej. 1:
$save_current_where = {sc_where_current};


Macro Scope

Aplicación Gráfica Aplicación Grid Aplicación ReportPDF
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFooter
onHeader
onScriptInit
onRecord



sc_where_filter

Esta variable pone a disposición el contenido generado por el "filtro" de acuerdo con las selecciones realizadas en el formulario de filtro. Esta información es la que se agregará a la cláusula where del select original de la aplicación.

 

Ej. 1:
$save_current_filter = {sc_where_filter};

 


Macro Scope

Aplicación Gráfica Aplicación Grid Aplicación ReportPDF
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFooter
onHeader
onScriptInit
onRecord



sc_where_orig

Ver un video tutorial

Esta macro guarda la cláusula where original de la aplicación. Se puede usar dentro de los eventos de ScriptCase, para manipular los datos o mostrarlos en cualquier lugar de la consulta.

Ej. 1:
$save_where = {sc_where_orig};


Macro Scope

Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación ReportPDF
onFooter
onHeader
onScriptInit
onClick
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onApplicationInit
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
onFooter
onHeader
onScriptInit
onRecord



sc_zip_file("Archivo", "Zip")

Ver un video tutorial

Esta macro se utiliza para generar archivos ZIP a partir de una lista de archivos y / o directorios. El parámetro del archivo debe ser uno de los siguientes:

- Nombre de archivo
- Nombre del directorio
- Una variable que contiene una matriz, que contiene una lista de archivos y / o directorios.
- Una variable un archivo o un nombre de directorio.
- Una variable que contiene una matriz, que contiene una lista de archivos y / o directorios.

El parámetro zip debe contener el nombre del archivo zip generado o la ruta al archivo.


Ej. 1: Compresión de un solo archivo.
sc_zip_file ("/ test / sample.htm", "/tmp/test.zip");


Ej. 2: Compresión de directorio único.
sc_zip_file ("/ test", "/tmp/test.zip");


Ej. 3: Múltiples archivos y directorios en una matriz.
$ prep = array ();
$ prep [] = "/test/sample.htm";
$ prep [] = "/ test";
sc_zip_file ($ prep, "/tmp/test.zip");


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute onAfterDelete
onAfterInsert
onAfterUpdate
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onScriptInit
onLoad
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onFooter
onHeader
onScriptInit
onScriptInit onApplicationInit
onFilterInit
onFilterSave
onFilterValidate
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeDeleteAll
onBeforeInsert
onBeforeInsertAll
onBeforeUpdate
onBeforeUpdateAll
onClick
onScriptInit
onLoad
onNavigate
onLoadRecord
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onClick
onScriptInit
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onApplicationInit
onExecute
onLoad
onApplicationInit
onFooter
onHeader
onScriptInit
onRecord



Variables de autenticación

Estas variables deben definirse en aplicaciones con exportación de PDF en entornos con autenticación integrada.

Variables
Descripción
[sc_pdf_usr] Autenticación de usuario.
[sc_pdf_pw] Contraseña de autenticación



Ej. 1: en una aplicación de inicio de sesión, es posible establecer estas variables a partir de la información proporcionada por el usuario:

[sc_pdf_usr] = {inicio_usr};
[sc_pdf_pw] = {contraseña_usr};

 


Macro Scope

Aplicación Grid Aplicación Formulário
onApplicationInit
onFooter
onGroupBy
onScriptInit
onScriptInit



Variables de base de datos

Ver un video tutorial

Variables globales que contienen valores de acceso a la base de datos utilizadas por la conexión principal.

Variables
Descripción
sc_glo_server Nombre del servidor.
sc_glo_db Nombre de la base de datos.
sc_glo_db_type Tipo de base de datos (mssql, oracle, mysql, etc).
sc_glo_user Nombre de usuario conectado
sc_glo_pass Password de la base de datos
sc_glo_cript_pass Contraseña encriptada (S/N).
sc_glo_decimal_db Contiene el separador decimal utilizado (punto y coma o coma).


Ej. 1:

$my_database = [sc_glo_db];


Estas variables solo hacen referencia a los valores sin actualizarlo (no es posible atribuir / modificar los valores). Para definir el usuario y la contraseña para conectarse a la base de datos, use las siguientes variables:

Variables
Descripción
sc_db_master_usr Inicio de sesión de usuario para ser utilizado.
sc_db_master_pass Contraseña para ser utilizada
sc_db_master_cript Contraseña cifrada (S / N) (ver macro sc_encode).

Importante: Estas variables solo entran en vigencia durante la próxima ejecución de la aplicación, siendo válidas durante toda la sesión (a menos que se modifiquen).


Ej. 2:
Un tipo de aplicación "control" con un formulario creado con información "inicio de sesión" y "contraseña cifrada". Estos datos deben usarse para conectarse a la base de datos, durante la ejecución de las aplicaciones del sistema.
$ temp_pass = sc_encode ({password});
[sc_db_master_usr] = {login};
[sc_db_master_pass] = $ temp_pass;
[sc_db_master_cript] = "S";


Macro Scope

Aplicación Blank Aplicación Calendario Aplicación Gráfica Aplicación Grid Aplicación Búsqueda Aplicación Formulário Aplicación Controle Aplicación Menu Aplicación Menú Arból Aplicación ReportPDF
onExecute ajaxFieldonBlur
Onchange
OnClick
OnFocus
onFooter
onHeader
onScriptInit
onFooter
onGroupBy
onHeader
onScriptInit
onNavigate
onRecord
onFilterInit
onFilterRefresh
onFilterSave
onFilterValidate
ajaxFieldonBlur
Onchange
OnClick
OnFocus
onBlur
onChange
onClick
onLoadAll
onRefresh
onValidate
onValidateFailure
onValidateSuccess
onApplicationInit
onExecute
onLoad
onExecute
onLoad
onFooter
onHeader
onScriptInit
onRecord



Totalización de variables

Durante el procesamiento de grupo por y resumen, Scriptcase genera variables totales para cada nivel de grupo.

Las rutinas se definen en el evento "onGroupBy" que determina los niveles de agrupamiento y se puede evaluar para cada registro. Luego se hace referencia a las variables especiales de totales sustituyendo el nombre del grupo por la palabra clave "groupby", como en:

Variables
Descripción
{count_ger} Número general de registros.
{sum_parcel} Devuelve la suma del campo "parcela"
{sum_balance} Devuelve la suma del campo de saldo
{count_groupby} Número de registros de la agrupación.
{sum_groupby_parcel} Contiene la suma del campo "parcela" de la agrupación que se está procesando.
{sum_groupby_balance} Contiene la suma del campo "balance" de la agrupación que se está procesando.

 

Ej. 1: En una aplicación con un grupo por estado y ciudad que utiliza un campo de saldo, en los totales de grupo, es posible mostrar el promedio (promedio) en lugar del saldo de la siguiente manera.

{sum_groupby_balance} = {sum_groupby_balance} / {count_groupby};


Macro Scope

Aplicación Gráfica Aplicación Grid Aplicación ReportPDF
onFooter
onHeader
onFooter
onGroupBy
onRecord
onFooter
onHeader
onRecord



Totalización de variables (agrupación)

Durante el proceso agrupación, Scriptcase genera variables totales para cada nivel de grupo. Las rutinas se definen en el evento "onGroupBy" que determina los niveles del grupo. A continuación, se hace referencia a las variables especiales de los totales sustituyendo el nombre del grupo por la palabra clave "quebra", como en:

Variable
Descripción
{count_ger} Cantidad total de registros.
{sum_parcel} Contiene la suma total del campo "parcela".
{sum_balance} Contiene la suma general del campo "balance".
{count_quebra} Contiene el número total de registros del la agrupación que se está procesando..
{sum_quebra_parcel} Contiene la suma del campo "parcela" de la agrupación que se está procesando.
{sum_quebra_balance} Contiene la suma del campo "balance" de la agrupación que se está procesando.


Ej. 1: En una aplicación que tiene saltos por estado y ciudad y suma un campo de saldo, y en los totales de saltos, queremos mostrar el promedio en lugar del saldo.

{sum_break_break} = {sum_break_break} / {count_break};

 


Macro Scope

Aplicación Grid
onFooter
onGroupBy