Importante
Para poder utilizar esta funcionalidad es necesario que el cliente esté trabajando con el entorno TechFun.
Se desea que el ERP sea capaz de ejecutar acciones (apertura de formularios, ejecución de procesos, etc) a partir de un protocolo de URL especifico.
La dirección URL deberá tener el siguiente formato:
erp://[tokenbasededatos]/[cadenab64]
Para obtener el token de base de datos del usuario podemos utilizar la siguiente consulta:
SELECT object_id('ahora_sesion')
Ejemplo de URL:
erp://628197288/SU1QUklNSVJPQkpFVE98W3siQ29sZWNjaW9uIjoiQ2xpZW50ZXMiLCJpZERvYyI6MDAwMDF9XXxDbGllbnRlfENsaWVudGVz
- [tokenbasededatos]: Es el object_id de la tabla ahora_sesion de la base de datos desde donde se genera la dirección.
- [cadenab64]: Serán los datos de la petición representados en una cadena base 64.
Impresión de un objeto
IMPRIMIROBJETO|Herencia|HijoDefecto|Objeto
- Herencia: Se debe construir un objeto con formato JSON con dos propiedades: Coleccion e IdDoc.
- HijoDefecto: hijo defecto del objeto. Cliente
- Objeto: Clientes
IMPRIMIROBJETO|[{"Coleccion":"NombreColeccion","idDoc":valoridDoc}]|HijoDefecto|Coleccion
IMPRIMIROBJETO|[{"Coleccion":"Clientes","idDoc":1}]|Cliente|Clientes IMPRIMIROBJETO|[{"Coleccion":"Facturas","idDoc":1}]|Factura|Facturas
Acceder a un objeto
- Objeto: Clientes
- IdDoc: IdDoc = 100
- QueryFinal: SELECT iddoc _iddoc_, ''+ISNULL(CAST(Cliente AS VARCHAR(200)), '')+' - '+ISNULL(CAST(IdCliente AS VARCHAR(200)), '')+'' _cadenadescrip_, IdCliente, Cliente, Nif, DescripFormaPago, Ciudad, NumTelefono, NumFax, E_Mail From VDLG_CLIENTES
- Where (Si no hay Where por defecto se pondrá ‘IdDoc >= 1’)
- NuevaVentana: true o false. Indica si se abre una nueva ventana de VB6 o se carga el objeto sobre la anterior
- Herencia: Indica si el objeto proviene de un objeto padre para heredar las propiedades. Si no proviene se deja el parámetro vacío
- GroupBy: sirve para las flechas de navegación de los formularios, al cambiar de objeto seguir el orden de la colección. Si no contiene el groupby se deja el parámetro vacío.
- OrderBy: sirve para las flechas de navegación de los formularios, al cambiar de objeto seguir el orden de la colección. (ORDER BY IdCliente asc)
- FinalQueryCampos: Query con campos parseados iddoc y _cadenadescrip_. En la versión de prueba probar poniendo el mismo valor que el parámetro QueryFinal de arriba. Si es necesario se implementará la funcionalidad que hace Techfun
- Arbol: por defecto poner noarbol
ABRIROBJETO|Clientes|IdDoc=2658|SELECT iddoc _iddoc_, ''+ISNULL(CAST(Cliente AS VARCHAR(200)), '')+' - '+ISNULL(CAST(IdCliente AS VARCHAR(200)), '')+'' _cadenadescrip_, IdCliente, Cliente, Nif, DescripFormaPago, Ciudad, NumTelefono, NumFax, E_Mail From VDLG_CLIENTES|IdDoc >= 1|false|[{"Coleccion":"Clientes"}]||ORDER BY IdCliente asc|SELECT iddoc , ''+ISNULL(CAST(Cliente AS VARCHAR(200)), '')+' - '+ISNULL(CAST(IdCliente AS VARCHAR(200)), '')+'' , IdCliente, Cliente, Nif, DescripFormaPago, Ciudad, NumTelefono, NumFax, E_Mail From VDLG_CLIENTES|noarbol
Abrir un colección
- Objeto: Clientes
- IdDoc: IdDoc = 1,723
ABRIRCOLECCION|Clientes|idDoc IN (1,723)
Ejecución de un proceso asociado al objeto (Menú contextual)
EJECUTAMENUOBJETO|herencia||Objeto|id
- Herencia: Mismo formato del parámetro herencia de arriba: {“Coleccion”: “Clientes”, “IdDoc”: 100}
- Objeto: Nombre del objeto (Clientes)
- Id: Id del menú que se debe ejecutar.
-- Ver las opciones de menú de un Objeto SELECT Distinct Cmn.Caption, Cmp.IdProceso, Cmp.Estado, Cmp.Orden,Cmn.IdTecla FROM CEESI_Menus Cmn INNER JOIN CEESI_Menu_Procesos Cmp ON Cmn.IdMenu = Cmp.IdMenu INNER JOIN CEESI_Procesos Cpr ON Cmp.IdProceso = Cpr.IdProceso INNER JOIN vCeesi_menu_Objeto cmo ON cmp.IdMenu=cmo.IdMenu AND cmp.Objeto=cmo.Objeto WHERE Cmp.Objeto='nombredelObjeto' ORDER BY Cmp.Orden, Cmp.IdProceso
EJECUTAMENUOBJETO|[{"Coleccion":"Facturas","IdDoc":1}]||Facturas|62 EJECUTAMENUOBJETO|[{"Coleccion":"Facturas","IdDoc":1}]||Facturas|63
Ejecución de un Visual Basic Script
Importante
Válido para ejecutar cualquier bloque de código de VBScript. OJO NO INVOCAR AL
‘frmAux.Descargar’ PORQUE FALLARÁ LA EJECUCIÓN:
VBSCRIPT|CodigoScript|
VBSCRIPT|Sub Main() MsgBox "Test" End Sub|