Ejecución de Procedimientos Almacenados de Usuario en TransaccionesConfiguración y uso
Ayuda: Ejecución de GBPScripts en transacciones
La funcionalidad Ejecución de Procedimientos Almacenados Particulares del Usuario en Transacciones permite ejecutar scripts SQL personalizados dentro de transacciones del sistema.
Se utiliza para agregar validaciones, actualizar datos y devolver mensajes según la lógica de negocio requerida.
Requisitos
- Se requiere el módulo #73. GlobalBluePoint© Scripts - Ampliación del Lenguaje del Framework WEB + otros usos .
- Para completar la configuración y el uso correcto, se debe leer la ayuda disponible al entrar al detalle de cada GBPScript .
Ejecución desde la API del Framework WEB
La función disponible es:
- funScript(strScriptLabel,JSonParameters)
Recibe dos parámetros:
- strScriptLabel : la etiqueta del script a ejecutar.
- JSonParameters : un JSON con los parámetros a recuperar desde el script SQL.
Dentro del script se usa la variable:
Esta variable recibe el JSON de entrada y también devuelve el resultado a la API JS.
Errores posibles
Si ocurre un error, se devuelve un número menor a cero según el punto de cancelación:
- -4 = Error General
- -3 = No se encontró el Script
- -9 = No se retornó ningún dato desde el Script en la variable @strParamOUT
Uso con JSON
El script puede leer el JSON de entrada con OPENJSON, procesar los datos y devolver el resultado en @strParamOUT.
Ejecución de GBPScripts en transacciones ( Compras, Ventas, Pagos, Cobranzas, etc.)
La documentación contempla la ejecución de scripts dentro de transacciones usando etiquetas y variables reemplazables.
Variables disponibles
- @intComp_ID = ID de Compañía
- @intBra_ID = ID de Sucursal
- @intUser_ID = ID de Usuario
- @intProf_ID = ID de Perfil
- @intBra_Soh_ID = ID de Sucursal del Pedido
- @intSoh_ID = ID de Pedido
- @intDf_ID = ID de Documento
- @intLang_ID = ID de Lenguaje
- @intCt_Transaction_ID = ID de Transacción
- @guid = GUID
- @intSupplierDoc_ID = SD_ID de Movimiento de Compra
- @intCustSupp_ID = ID de Cliente/Proveedor
- @intBa_ID = ID de Sucursal
- @datDate1 = Fecha 1
- @datDate2 = Fecha 2
- @datDate3 = Fecha 3
- @datDate4 = Fecha 4
- @bolCHK_1 = Valor Boolean 1
- @bolCHK_2 = Valor Boolean 2
- @intValue_1 = Valor Entero 1
- @intValue_2 = Valor Entero 2
- @intSm_ID = Vendedor en página #20
- @intTis_ID = tis_id de tabla tbTempItemStock
- aplica a Alta, Modificación y Baja de Items de Pedido
- usa @guid
Ejemplo de validación
La documentación incluye un ejemplo para no permitir Guardar como Pedido si la Condición de Venta del documento asignado al GBPScript tiene ID 42.
Presionar Ayuda (?) sobre el detalle de un GBPScript en el archivo correspondiente para ver los ejemplos. Configuración, GlobalBluePoint Scripts
Ejecución mediante Web Services
También se puede ejecutar mediante Web Services en el módulo 16 + 73 con el servicio:
Métodos disponibles:
- wsGBPScriptExecute(ByVal strScriptLabel As String, ByVal strJSonParameters As String) As String
- wsGBPScriptExecute4Dataset(ByVal strScriptLabel As String, ByVal strJSonParameters As String) As XML Dataset