Erstellen einer ODT-Dokumentvorlage: Difference between revisions

Jump to navigation Jump to search
no edit summary
(Created page with "x")
Tag: 2017 source edit
 
No edit summary
Tag: 2017 source edit
Line 1: Line 1:
x
<!-- BEGIN interlang links -->
<!-- Do NOT edit this section
    Links below are automatically managed by PolyglotBot
    You can edit links on the English source page : Create_an_ODT_document_template -->
[[en:Create_an_ODT_document_template]]
[[fr:Créer_un_modèle_de_document_ODT]]
[[de:Erstellen einer ODT-Dokumentvorlage]]
<!-- END interlang links -->
 
[[Category:Admin es]]
{{TemplateDocUsuario}}
Esta página describre como construir un modelo de documento ODT para usar en la generación de documentos ODT.
 
Para saber como generar un modelo de documento PDF, vea la página [[Crear un modelo de documento PDF]].
Crear un podelo PDF requiere conocimientos de programación en PHP, pero la creación de modelos ODT no.
 
==Prerrequisitos==
 
*Dolibarr: 3.1+
*OpenOffice: 3.2+, LibreOffice, ...
 
==Crear su documento==
 
*Crear un documento OpenOffice o LibreOffice partiendo de cero o tomando algún ejemplo.
 
Se encuentran instalados en los subdirectorios del directorio '''documents/doctemplates'''
 
*Editar el documento usando todas las funciones de su suite.
 
Incluya en sus documentos los tags de las informaciones que desee ver. Dolibarr reemplazará los tags automáticamente en el momento de la generación del documento. La lista de los tags disponibles se describe a continuación.
 
[[File:warning.png]] Atención, los tags están encerrados con {} o con [] para las tablas (ver más abajo)  y se deben escribir de una sola vez en la suite de Office (sin retrocesos o eliminaciones, ni copiar y pegar). De lo contrario, la suite de Office añadirá información invisible que impide la sustitución.
 
==Tags==
He aquí la lista de los tags que serán reemplazados por la información apropiada:
 
===Información empresa/institución===
{{TagsOdtMyCompany}}
 
===Información clientes, clientes potenciales o proveedores===
{{TagsOdtThirdParty}}
 
===Información usuario===
{{TagsOdtUser}}
 
===Información del objeto (factura, presupuesto, pedido, ...)===
{{TagsOdtObjects}}
 
===Líneas de los objetos===
Le explicaremos como usar las tablas de líneas de los objetos (líneas de facturas, pedidos, etc...). Deberá crear una tabla en el documento y usar las balizas "begin" y "end" para definir la línea de la tabla. Esta línea se repitirá tantas veces como sea necesario en el momento de la generación.
<pre>
[!-- BEGIN row.lines --]
...
[!-- END row.lines --]
</pre>
 
A continuación, añada los tags de líneas entre las dos balizas:
{{TagsOdtLines}}
 
Este es un ejemplo de como puede quedar en su procesador de textos:
[[File:Line for document generation.png|500px]]
 
===Otros tags personalizados===
Si quiere añadir un campo de sustitución no predefenido:
 
*Añadir un archivo en '''htdocs/mimodulo/core/substitutions/functions_mymodule.lib.php'''
*En este archivo, escribir una función como esta:
 
<syntaxHighlight lang="php">
/** Function called to complete substitution array (before generating on ODT, or a personalized email)
* functions xxx_completesubstitutionarray are called by make_substitutions() if file
* is inside directory htdocs/core/substitutions
*
* @param array $substitutionarray Array with substitution key=>val
* @param Translate $langs Output langs
* @param Object $object Object to use to get values
* @return void The entry parameter $substitutionarray is modified
*/
function mymodule_completesubstitutionarray(&$substitutionarray,$langs,$object)
{
  global $conf,$db;
 
  $myvalue='Put here calculated value to insert';
  $substitutionarray['myowntag']=$myvalue;
}
</syntaxHighlight>
 
La función será llamada antes de la generación del documento para completar la tabla de sustituciones que reemplazará el tag '''myowntag''' por el valor definido en '''$myvalue'''.
Puede añadir tantos tags como necesite y meter el código que quiera pare definir los valores (sacados de la base de datos, calculados, a partir de variables recibidas o globales, etc.).
 
Atención: El primer parámetro de la declaración de la función debe empezar por & ya que es modificado por el código y debe devolverse modificado.
 
Creado un módulo (Ver la página [[Desarrollo de un módulo]]), puede emplazar el archivo de substititución en un directorio de su módulo llamado '''htdocs/mimodulo/core/substitutions'''. Sin embargo, la función sólo será llamada si el descriptor de módulo contiene una entrada
<syntaxHighlight lang="php">
$this->module_parts = array('substitutions' => 1)
</syntaxHighlight>
y que el módulo haya sido activado.
 
==Guardar su documento==
Para ver su modelo de documento en la lista de modelos disponibles, guarde lo en el subdirectorio adecuado que se encuentra en el directorio '''documents/doctemplates'''
265

edits

Navigation menu