Documentos dinámicos
Qué es un documento dinámico de Flex, los cinco tipos que distingue el servidor, sus preguntas, su código y por dónde sale el resultado.
Un documento dinámico es una plantilla HTML, JSON o XML con bloques de DinaScript entre <!--: y :-->. El servidor ejecuta el código con los datos de un registro y devuelve el texto relleno: una factura para imprimir, un correo, un contrato para firmar o datos para otro sistema.
Antes de empezar
- Acceso a FlexHub → Documentos en Play. La pantalla: Documentos.
- Una sección desde la que se imprime. La primera pregunta de tipo Relación apunta a ella y no se puede quitar.
Las piezas
| Pieza | Qué es | Dónde se edita |
|---|---|---|
| Contenido | El HTML con los bloques <!--: ... :-->. Fuera de las marcas, el texto sale tal cual. | Pestaña Contenido |
| Preguntas | Lo que el documento pide antes de ejecutarse. En el código se leen con v.: la pregunta factura es v.Factura. | Pestaña Preguntas |
| Metadatos | Claves que el código fija con F.MetaData_Set(clave, valor): nombre del fichero, correo, firma. | Código |
| Nombre, categoría y Se imprime | Sin categoría, o sin Se imprime (esimpresion en la API), el documento no sale en el menú de impresión de la ficha. | Pestaña General |
<!--: F.MetaData_Set('titulo', F.Concat('Factura ', v.Factura.NumeroDeFacturaCompleto)) :-->
<!doctype html>
<html>
<body>
<h1><!--: F.Write(v.Factura.NumeroDeFacturaCompleto) :--></h1>
<p><!--: F.WriteText(v.Factura.DenominacionRazonSocialCliente) :--></p>
</body>
</html>Tipos
FlexHub crea los documentos como Documento - Libre y no cambia el tipo. Por la Flex API, la clave tipodoc del alta elige otro.
| Valor | Nombre | Qué produce |
|---|---|---|
| 1 | Diseño Informe | El diseño de impresión de un informe. |
| 3 | API Lectura - Libre | Datos en JSON o XML para otro sistema, sin escribir en Dinaup. |
| 5 | API Escritura | Recibe datos y crea o modifica registros. |
| 7 | Documento - Libre | Una página HTML: impresión, correo, firma o panel. Es el tipo por defecto. |
| 8 | Documento - Contable | Tiene acceso a las funciones de contabilidad. |
Por dónde sale el resultado
| Salida | Cómo | Página |
|---|---|---|
| El visor de Play | El menú de impresión de la ficha. | Mostrar e imprimir |
| Correo | Los metadatos email_* rellenan la vista previa del correo. | Envío de emails |
| Firma | email_sign lo envía a Dinaup Sign. | Documentos para firmar |
| API REST y SDK .NET | POST /api/dynamicdocuments o DynamicDocuments_ExecuteAsync. | Mostrar e imprimir |
Metadatos que lee el servidor
| Clave | Efecto |
|---|---|
titulo | Nombre del fichero. El SDK lo devuelve en Name y el visor lo usa para el PDF si no hay email_attachment_name. |
enurl | Con 1, el servidor guarda el resultado en un fichero temporal y devuelve su URL en vez del contenido. |
seguridad_ip, seguridad_ip1 a seguridad_ip100 | IP autorizadas. Con alguna rellena, cualquier otra IP recibe 401. |
seguridad_encriptacion | Clave AES. El contenido vuelve cifrado y en Base64. |
email_* | Correo y firma: Envío de emails. |
Para empezar: Crear documento dinámico y las plantillas de Ejemplos.