Uso de la función «Impresión de plantillas» para generar un ejemplo de Contrato de Suministro y Compra
En escenarios de cadena de suministro o comercio, a menudo es necesario generar rápidamente un "Contrato de Suministro y Compra" estandarizado y rellenar su contenido dinámicamente con información de fuentes de datos como compradores, vendedores y detalles de productos. A continuación, utilizaremos un caso de uso simplificado de "Contrato" como ejemplo para mostrarle cómo configurar y usar la función «Impresión de plantillas» para mapear la información de los datos a los marcadores de posición en las plantillas de contrato, generando así automáticamente el documento de contrato final.
1. Antecedentes y Resumen de la Estructura de Datos
En nuestro ejemplo, existen aproximadamente las siguientes colecciones principales (omitiendo otros campos irrelevantes):
- parties: Almacena información sobre unidades o individuos de la Parte A/Parte B, incluyendo nombre, dirección, persona de contacto, teléfono, etc.
- contracts: Almacena registros de contratos específicos, incluyendo número de contrato, claves foráneas de comprador/vendedor, información del firmante, fechas de inicio/fin, cuenta bancaria, etc.
- contract_line_items: Almacena múltiples ítems bajo el contrato (nombre del producto, especificación, cantidad, precio unitario, fecha de entrega, etc.)

Dado que el sistema actual solo admite la impresión de registros individuales, haremos clic en "Imprimir" en la página de "Detalles del Contrato". El sistema recuperará automáticamente el registro de contracts correspondiente, así como la información asociada de parties y otros datos, y los rellenará en documentos de Word o PDF.
2. Preparación
2.1 Preparación del plugin
Tenga en cuenta que nuestro plugin de «Impresión de plantillas» es un plugin comercial que debe comprarse y activarse antes de poder realizar operaciones de impresión.

Confirmar la activación del plugin:
En cualquier p ágina, cree un bloque de detalles (por ejemplo, users) y verifique si existe una opción de configuración de plantilla correspondiente en la configuración de acciones:


2.2 Creación de colecciones
Cree las colecciones principales (entidad, contrato e ítems de producto) diseñadas anteriormente (seleccione solo los campos principales).
Colección de Contratos (Contracts)
Colección de Partes (Parties)
Colección de Ítems de Contrato (Contract Line Items)
2.3 Configuración de la Interfaz
Introducir datos de ejemplo:


Configure las reglas de vinculación de la siguiente manera para calcular automáticamente el precio total y los pagos pendientes:

Cree un bloque de vista, confirme los datos y habilite la acción de «Impresión de plantillas»:

2.4 Configuración del plugin de Impresión de Plantillas

Agregue una configuración de plantilla, como «Contrato de Suministro y Compra»:


A continuación, vaya a la pestaña de Lista de Campos, donde podrá ver todos los campos del objeto actual. Después de hacer clic en "Copiar", podrá empezar a rellenar la plantilla.

2.5 Preparación del Archivo de Contrato
Archivo de Plantilla de Contrato de Word
Prepare de antemano la plantilla de contrato (archivo .docx), por ejemplo: SUPPLY AND PURCHASE CONTRACT.docx
En este ejemplo, le proporcionamos una versión simplificada del «Contrato de Suministro y Compra», que contiene marcadores de posición de ejemplo:
{d.contract_no}: Número de contrato{d.buyer.party_name}、{d.seller.party_name}: Nombres del comprador y del vendedor{d.total_amount}: Monto total del contrato- Y otros marcadores de posición como "persona de contacto", "dirección", "teléfono", etc.
A continuación, puede copiar y pegar los campos de su colección en Word.
3. Tutorial de Variables de Plantilla
3.1 Relleno de Variables Básicas y Propiedades de Objetos Asociados
Relleno de campos básicos:
Por ejemplo, el número de contrato en la parte superior, o el objeto de la entidad firmante del contrato. Simplemente haga clic en copiar y péguelo directamente en el espacio en blanco correspondiente del contrato.


3.2 Formato de Datos
Formato de Fechas
En las plantillas, a menudo necesitamos dar formato a los campos, especialmente a los campos de fecha. El formato de fecha copiado directamente suele ser largo (por ejemplo, Wed Jan 01 2025 00:00:00 GMT), y es necesario formatearlo para mostrar el estilo que deseamos.
Para los campos de fecha, puede utilizar la función formatD() para especificar el formato de salida:
Ejemplo:
Por ejemplo, si el campo original que copiamos es {d.created_at}, y necesitamos formatear la fecha al estilo 2025-01-01, entonces modifique este campo para que sea:
Estilos comunes de formato de fecha:
YYYY- Año (cuatro dígitos)MM- Mes (dos dígitos)DD- Día (dos dígitos)HH- Hora (formato de 24 horas)mm- Minutosss- Segundos
Ejemplo 2:
Formato de Números
Supongamos que hay un campo de monto, como {d.total_amount} en el contrato. Podemos usar la función formatN() para formatear números, especificando los decimales y el separador de miles.
Sintaxis:
- decimales: Puede especificar cuántos decimales desea mantener. Por ejemplo,
2significa dos decimales. - separador_de_miles: Especifique si desea usar el separador de miles, generalmente
trueofalse.
Ejemplo 1: Formatear un monto con separador de miles y dos decimales
Esto formateará d.amount a dos decimales y agregará un separador de miles.
Ejemplo 2: Formatear un monto a un número entero sin decimales
Esto formateará d.amount a un número entero y agregará un separador de miles.
Ejemplo 3: Formatear un monto con dos decimales pero sin separador de miles
Aquí se deshabilita el separador de miles y solo se mantienen dos decimales.
Otras necesidades de formato de monto:
- Símbolo de moneda: Carbone no proporciona directamente funciones de formato de símbolo de moneda, pero puede agregar símbolos de moneda directamente en los datos o en las plantillas. Por ejemplo:
Formato de Cadenas de Texto
Para los campos de cadena de texto, puede usar :upperCase para especificar el formato del texto, como la conversión a mayúsculas o minúsculas.
Sintaxis:
Métodos de conversión comunes:
upperCase- Convertir a todo mayúsculaslowerCase- Convertir a todo minúsculasupperCase:ucFirst- Poner la primera letra en mayúscula
Ejemplo:
3.3 Impresión en Bucle
Cómo imprimir listas de objetos secundarios (como detalles de productos)
Cuando necesitamos imprimir una tabla que contiene múltiples sub-ítems (por ejemplo, detalles de productos), normalmente necesitamos utilizar la impresión en bucle. De esta manera, el sistema generará una fila de contenido para cada ítem de la lista hasta que se hayan recorrido todos los ítems.
Supongamos que tenemos una lista de productos (por ejemplo, contract_items), que contiene múltiples objetos de producto. Cada objeto de producto tiene varios atributos, como nombre del producto, especificación, cantidad, precio unitario, monto total y observaciones.
Paso 1: Rellenar los campos en la primera fila de la tabla
Primero, en la primera fila de la tabla (no en el encabezado), copie y rellene directamente las variables de la plantilla. Estas variables serán reemplazadas por los datos correspondientes y se mostrarán en la salida.
Por ejemplo, la primera fila de la tabla es la siguiente:
Aquí, d.contract_items[i] representa el i-ésimo ítem en la lista de productos, e i es un índice que representa el orden del producto actual.
Paso 2: Modificar el índice en la segunda fila
A continuación, en la segunda fila de la tabla, modificaremos el índice del campo a i+1 y rellenaremos solo el primer atributo. Esto se debe a que, durante la impresión en bucle, necesitamos recuperar el siguiente ítem de datos de la lista y mostrarlo en la siguiente fila.
Por ejemplo, la segunda fila se rellena de la siguiente manera:
En este ejemplo, cambiamos [i] a [i+1], lo que nos permite obtener los datos del siguiente producto en la lista.
Paso 3: Impresión en bucle automática durante la renderización de la plantilla
Cuando el sistema procesa esta plantilla, operará según la siguiente lógica:
- La primera fila se rellenará de acuerdo con los campos que haya configurado en la plantilla.
- Luego, el sistema eliminará automáticamente la segunda fila y comenzará a extraer datos de
d.contract_items, rellenando cada fila en bucle según el formato de la tabla hasta que se hayan impreso todos los detalles del producto.
El valor de i en cada fila se incrementará, asegurando que cada fila muestre información diferente del producto.
4. Cargar y Configurar la Plantilla de Contrato
4.1 Cargar Plantilla
- Haga clic en el botón «Agregar plantilla» e introduzca el nombre de la plantilla, por ejemplo, "Plantilla de Contrato de Suministro y Compra".
- Cargue el archivo de contrato de Word (.docx) preparado, que ya contiene todos los marcadores de posición.

- Una vez completado, el sistema listará la plantilla en la lista de plantillas disponibles para su uso futuro.
- Haga clic en "Usar" para activar esta plantilla.

En este punto, salga de la ventana emergente actual y haga clic en "Descargar plantilla" para obtener la plantilla completa generada.
Consejos:
- Si la plantilla utiliza formatos
.docu otros, es posible que deba convertirla a.docx, dependiendo de la compatibilidad del plugin. - En los archivos de Word, tenga cuidado de no dividir los marcadores de posición en varios párrafos o cuadros de texto para evitar errores de renderización.
¡Le deseamos un uso exitoso! Con la función «Impresión de plantillas», podrá ahorrar enormemente el trabajo repetitivo en la gestión de contratos, evitar errores de copiar y pegar manuales, y lograr una salida de contratos estandarizada y automatizada.

