Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

Cómo hacer un contrato largo?

Cuestiones sobre cómo utilizar Dolibarr, ayudas sobre las funcionalidades o cualquier cuestión que no está relacionada con un error.
tonycervantes
Novato
Mensajes: 12
Registrado: Lun, 10/12/2018, 06:57

Cómo hacer un contrato largo?

Mensaje por tonycervantes »

Buenas a todos,

soy nuevo en el foro y desde hace algún tiempo tengo una duda sobre cómo puedo crear un contrato extenso que cuadre perfectamente con la plantilla stratos que viene por defecto en Dolibarr?

El problema es que al momento de introducir un texto muy largo, parece que la plantilla no lo detecta y encima todo el texto sobre el diseño.

De hecho hay una advertencia sobre los textos largos, sin embargo no logro entender qué quiere decir:
No hay líneas de corte automático, de modo que si el texto es demasiado largo en los documentos, debe agregar sus propios retornos de carro en el texto mecanografiado.
No entiendo cuáles son mis propios retornos de carro en el texto mecanografiado ni cómo podría hacerlo... Sé que quizá la solución sea muy sencilla pero no logro comprender cómo hacerlo.

Gracias por darse el tiempo de leer mi consulta. Saludos!

Abelhg
C-3PO
Mensajes: 145
Registrado: Sab, 10/03/2018, 20:08

Mensaje por Abelhg »

Buenas tardes tonycervantes;

Justamente me estoy encontrando con el mismo problema, resulta que el formato de contrato, no está bien rematado y tiene varios fallos, quizás sea porque no sea un modelo demasiado utilizado y haya pasado por alto a los desarrolladores de la plataforma pero efectivamente tiene ese problema, yo no había visto que se había iniciado este tema y ayer creé uno hablando de lo mismo, no se ha llegado a nada allí tampoco, así que igual borro ese post y lo seguimos todo en este mismo. A ver si de alguna manera llegamos a una solución

Abelhg
C-3PO
Mensajes: 145
Registrado: Sab, 10/03/2018, 20:08

Mensaje por Abelhg »

Vuelvo a escribir lo que escribí en mi post, el cual he cerrado:

Buenas tardes, estoy comenzando a profundizar en el tema de la utilización de los contratos para tratar de mejorar la gestión interna en un despacho de abogados (de mi mujer), la cosa está en que si los servicios introducidos en el contrato, tienen un texto que sobrepasa el recuadro predeterminado, rompe completamente el formato, es decir:

no es que el texto llegue hasta la parte inferior del recuadro y continúe en la página siguiente, lo que hace es:
- el texto continúa hasta cierto punto de la hoja, no llega al margen inferior de la hoja, deja todo un espacio en blanco.
- desplazar todo hacia abajo, pero no todo, queda uno de los recuadros donde se firma, solapado con el texto.
- el otro recuadro, los textos de los firmantes y el footer, aparecen en la siguiente página junto con el resto del texto.
- no se limita a 2 hojas, sino que me ocupa como 7 páginas, imprimiendo trocitos de línea y etiquetas sueltas

He probado en dos instalaciones diferentes y ocurre lo mismo, es desesperante, porque en el caso de que los servicios que ofrezcan, vayan muy detallados, me encontraré con un problemón :(

tonycervantes
Novato
Mensajes: 12
Registrado: Lun, 10/12/2018, 06:57

Mensaje por tonycervantes »

Abelhg escribió:Buenas tardes tonycervantes;

Justamente me estoy encontrando con el mismo problema, resulta que el formato de contrato, no está bien rematado y tiene varios fallos, quizás sea porque no sea un modelo demasiado utilizado y haya pasado por alto a los desarrolladores de la plataforma pero efectivamente tiene ese problema, yo no había visto que se había iniciado este tema y ayer creé uno hablando de lo mismo, no se ha llegado a nada allí tampoco, así que igual borro ese post y lo seguimos todo en este mismo. A ver si de alguna manera llegamos a una solución
Hola Abelhg! Gracias por tu respuesta e interés en mi post. Pues lo dicho, por desgracia desconozco la solución, yo soy muy novato en HTML pero pienso que debería ser algo similar a cuando creas una caja que vaya empujando todo el contenido hacia abajo, o en su defecto, debería ser cuestión de darle instrucciones de programación relacionada a las áreas de texto que deseas que cubra por página pero no tengo mucha idea de cómo podría hacerse en PHP o si es solo cuestión de editar el documento de manera que Dolibarr reconozca el área que quieres que sea cubierta...

No sé si me revolví en cuanto a las ideas pero supongo que algo así se ha de poder hacer.

Saludos desde Guadalajara, México!

tonycervantes
Novato
Mensajes: 12
Registrado: Lun, 10/12/2018, 06:57

Mensaje por tonycervantes »

Abelhg escribió:Vuelvo a escribir lo que escribí en mi post, el cual he cerrado:

Buenas tardes, estoy comenzando a profundizar en el tema de la utilización de los contratos para tratar de mejorar la gestión interna en un despacho de abogados (de mi mujer), la cosa está en que si los servicios introducidos en el contrato, tienen un texto que sobrepasa el recuadro predeterminado, rompe completamente el formato, es decir:

no es que el texto llegue hasta la parte inferior del recuadro y continúe en la página siguiente, lo que hace es:
- el texto continúa hasta cierto punto de la hoja, no llega al margen inferior de la hoja, deja todo un espacio en blanco.
- desplazar todo hacia abajo, pero no todo, queda uno de los recuadros donde se firma, solapado con el texto.
- el otro recuadro, los textos de los firmantes y el footer, aparecen en la siguiente página junto con el resto del texto.
- no se limita a 2 hojas, sino que me ocupa como 7 páginas, imprimiendo trocitos de línea y etiquetas sueltas

He probado en dos instalaciones diferentes y ocurre lo mismo, es desesperante, porque en el caso de que los servicios que ofrezcan, vayan muy detallados, me encontraré con un problemón :(
Sé que existe una forma de implementar tu propia plantilla a cada documento que generas en Dolibarr, sin embargo tampoco tengo idea de cómo hacerlo. Estoy frito en este ámbito, ojalá alguien que conozca la respuesta nos pueda orientar más sobre cómo resolver esto.

Saludos Abelhg!

Abelhg
C-3PO
Mensajes: 145
Registrado: Sab, 10/03/2018, 20:08

Mensaje por Abelhg »

Buenas tardes de nuevo!

Yo he llegado al archivo php que da formato al pdf, lo deberías tener en /htdocs/core/modules/contract/doc/pdf_strato.modules.php

Yo lo que hice fue descargar el archivo, renombrarlo y volverlo a subir, lo edité para que el gestor de plantillas lo reconociera y a partir de ahí empecé a editarlo (si editas el original, corres el riesgo a que en alguna actualización, te lo sobreescriba y pierdas lo modificado)

Conseguí modificar algunas cosillas, pero el salto de página creo que no está bien resuelto, estuve tratando de ver la función de salto de página automática pero no la encontré, escribí a uno de los desarrolladores del modelo pero no me contestó :?

tonycervantes
Novato
Mensajes: 12
Registrado: Lun, 10/12/2018, 06:57

Mensaje por tonycervantes »

Abelhg escribió:Buenas tardes de nuevo!

Yo he llegado al archivo php que da formato al pdf, lo deberías tener en /htdocs/core/modules/contract/doc/pdf_strato.modules.php

Yo lo que hice fue descargar el archivo, renombrarlo y volverlo a subir, lo edité para que el gestor de plantillas lo reconociera y a partir de ahí empecé a editarlo (si editas el original, corres el riesgo a que en alguna actualización, te lo sobreescriba y pierdas lo modificado)

Conseguí modificar algunas cosillas, pero el salto de página creo que no está bien resuelto, estuve tratando de ver la función de salto de página automática pero no la encontré, escribí a uno de los desarrolladores del modelo pero no me contestó :?
Bueno...

Creo haberlo solucionado por ahora, te platico qué hice:

Primero, modifiqué los parámetros del documento, de la línea 172 a la 177 de la siguiente manera:

Código: Seleccionar todo

$pdf=pdf_getInstance($this->format);
                $default_font_size = pdf_getPDFFontSize($outputlangs);	// Must be after pdf_getInstance
                $heightforinfotot = 10;	// Height reserved to output the info and total part
		        $heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5);	// Height reserved to output the free text on last page
	            $heightforfooter = $this->marge_basse + 46;	// Height reserved to output the footer (value include bottom margin)
                $pdf->SetAutoPageBreak(1,0);
Posteriormente, modifiqué la línea 215, para reducir el espacio en blanco que quedaba en el encabezado del documento quedando de la siguiente manera:

Código: Seleccionar todo

$tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)?15:10);
Por lo tanto, creo que eso debería funcionar provisionalmente mientras no exista una manera nativa de configurar el documento en Dolibarr.

Por favor avísame si te funcionó Abelhg,

Saludos!

Abelhg
C-3PO
Mensajes: 145
Registrado: Sab, 10/03/2018, 20:08

Mensaje por Abelhg »

:o :o :o :o :o impresionante compañero! He editado mi archivo y ya no se solapa absolutamente nada y corre el texto a la siguiente página! muy, pero que muy bien!!

El único detalle es que el texto no llega a cubrir del todo el recuadro, cabrían bien bien 4 líneas de texto más, pero de todos modos, esta pequeña edición me resuelve muchísimo la existencia :mrgreen: mil gracias!

tonycervantes
Novato
Mensajes: 12
Registrado: Lun, 10/12/2018, 06:57

Mensaje por tonycervantes »

Abelhg escribió::o :o :o :o :o impresionante compañero! He editado mi archivo y ya no se solapa absolutamente nada y corre el texto a la siguiente página! muy, pero que muy bien!!

El único detalle es que el texto no llega a cubrir del todo el recuadro, cabrían bien bien 4 líneas de texto más, pero de todos modos, esta pequeña edición me resuelve muchísimo la existencia :mrgreen: mil gracias!
Intenta con el siguiente código:

Código: Seleccionar todo

$pdf=pdf_getInstance($this->format);
                $default_font_size = pdf_getPDFFontSize($outputlangs);	// Must be after pdf_getInstance
                $heightforinfotot = 1;	// Height reserved to output the info and total part
		        $heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5);	// Height reserved to output the free text on last page
	            $heightforfooter = $this->marge_basse + 46;	// Height reserved to output the footer (value include bottom margin)
                $pdf->SetAutoPageBreak(1,0);
Quizá quede algo de espacio, pero según yo será menos. Es el mismo código que el primero que puse pero modifiqué la variante: $heightforinfotot = 1;

Saludos!

Abelhg
C-3PO
Mensajes: 145
Registrado: Sab, 10/03/2018, 20:08

Mensaje por Abelhg »

Acabo de probar la modificación, efectivamente queda menos espacio vacío, se ganan dos líneas más, lo que no he probado es a poner más líneas escritas en texto libre para ver si el formato se descompone, pero para la prueba, por ahora, con una línea en texto libre aparece todo PERFECTO! genial compañero!