La creación de plantillas avanzadas suele requerir ir más allá de lo básico. Los administradores pueden ahorrar tiempo y evitar errores al dominar un puñado de poderosos trucos y métodos de resolución de problemas. A continuación se muestran algunos consejos prácticos y soluciones para optimizar la personalización de plantillas mediante FreeMarker y herramientas relacionadas.
Eliminación del carácter CRLF (fin de línea)
Al trabajar con plantillas, puede que desee controlar la presencia de caracteres de fin de línea (CRLF) en la salida. Normalmente, la colocación de etiquetas de salida en líneas separadas introduce saltos de línea. Para eliminar el carácter CRLF al final, utilice la etiqueta FreeMarker<#rt> directamente después del contenido:
#OUTPUT START # ABC #OUTPUT END # |
|---|
|
Salida:
Con este ajuste, la salida no incluirá un salto de línea automático después de "ABC", lo que dará como resultado un formato de archivo más limpio y controlado, especialmente al generar archivos estructurados.
Si no desea incluir un carácter CRLF para indicar el final de una línea en la salida, coloque la etiqueta #OUTPUT END# justo después del último carácter de la plantilla. Mediante la etiqueta <#rt> FreeMarker:
Plantilla:
#OUTPUT START # ABC < #rt > #OUTPUT END # |
|---|
|
Salida:
Obtener IDs de campos seleccionados
Al acceder a un campo de selección desde un registro o resultado de búsqueda, se devuelve el texto de ese campo de selección. Para obtener el ID, agregue .internalId al acceder al campo.
Cálculo del ID de secuencia
Mediante la función getSequenceId(forTodaySequenceOnly) puede crear su propia función para calcular el ID de secuencia en los registros de PFA generados. Consulte una función de ejemplo básica mediante getSequenceId(true):
< #function computeSequenceId > <#assign lastSeqId = getSequenceId(true) > <#assign newSeqId = lastSeqId + 1 > <#return newSeqId > </#function> |
|---|
|
Al final de la plantilla, después de la etiqueta #OUTPUT END#, agregue una devolución para el último ID de secuencia que se haya utilizado para actualizar el ID de secuencia:
#RETURNSTART # sequenceId: $ { newSeqId } #RETURNEND # |
|---|
|
Depuración de errores de plantilla
Si el archivo de salida no se crea correctamente al utilizar FreeMarker como motor de plantillas, la página Administración de archivos de pago muestra el estado Procesado con errores, con detalles que indican que el sistema no pudo presentar la plantilla de archivo de pago.
Este error se debe a una de las siguientes condiciones:
- La función Plantillas PDF/HTML avanzadas no está habilitada.
- La plantilla contiene una sintaxis incorrecta.
- Faltan paréntesis en los condicionales que utilizan < o >.
Incorrecto:
Correcto:
< #if greeting == "hello" > </#if> |
|---|
|
Uno o más registros de entidad tienen un problema.
Cuando encuentre el mensaje de error: "EP_00017. Los registros de entidad tienen problemas...”,
Puede ver más detalles sobre las entidades afectadas mediante el log de ejecución:
Vaya a Personalización > Creación de scripts > Despliegues de scripts.
En la columna Script, busque el registro Procesamiento genérico de pagos (por ejemplo, customdeploy_2663_payment_processing_ss; tenga en cuenta que el ID del script puede ser diferente).
Haga clic en Ver para abrir el registro.
Vaya a la subpestaña Registro de ejecución, donde verá la lista detallada de entidades con problemas.
Causas y correcciones posibles
•Problema: entidad inactiva
Acción: consulte el registro de entidad para verificar el estado y actualizarlo, si es necesario.
•Problema: la casilla de pago de entidad no está marcada.
Acción: en la ficha Detalles de pago bancario de un registro de proveedor o empleado, verifique que la casilla Pago de factura por EFT esté marcada. Para los registros de clientes, en la ficha Detalles de pago bancario (débito), verifique que la casilla Débito directo esté marcada.
•Problema: se cambió el formato bancario de la empresa.
Acción: consulte el registro Detalles bancarios de empresa para verificar los detalles de la plantilla de TEF o DD.
•Problema: el banco de entidad tiene un formato diferente al del banco de la empresa (posiblemente debido a la importación de CSV).
Acción: compruebe que el formato de los detalles de pago bancario del registro de entidad sea el mismoque el de los detalles de plantilla de TEF o DD del registro bancario de la empresa.
•Problema: se eliminó el registro bancario de la entidad
Action: vea los detalles de pago bancario de un registro de proveedor o empleado para verificar que el registro bancario de la entidad principal aún se incluya en la subficha Detalles bancarios de entidad. En caso de que no aparezca en la lista, debe crear una nueva y establecer el tipo en Principal. Haga lo mismo con los registros de clientes, en la ficha Detalles de pago bancario (débito).
EXENCIÓN DE RESPONSABILIDAD: El código de muestra descrito en este documento se proporciona "tal cual", sin garantía de ningún tipo, en la mayor medida permitida por la ley. Oracle + NetSuite Inc. no garantiza ni garantiza el éxito individual que los desarrolladores puedan tener al implantar el código de ejemplo en sus plataformas de desarrollo ni al utilizar sus propias configuraciones de servidor web.
Oracle + NetSuite Inc. no garantiza, garantiza ni realiza ninguna declaración relativa al uso, los resultados de uso, la precisión, la puntualidad ni la integridad de ningún dato o información relacionada con el código de muestra. Oracle + NetSuite Inc. rechaza todas las garantías, expresas o implícitas, y en particular, rechaza todas las garantías de comercialización, adecuación para un propósito particular y garantías relacionadas con el código, o cualquier servicio o software relacionado con el mismo.
Oracle + NetSuite Inc. no será responsable de ningún daño o coste directo, indirecto o consecuencial de cualquier tipo que surja de cualquier acción emprendida por Vd. o terceros relacionada con el código de muestra.
¡Nos encantaría saber cómo integra Plantillas avanzadas en sus procesos NetSuite! Comparta sus conocimientos y experiencias en el Rincón de administración de NetSuite.