docs: Agregar documentación sobre manejo de códigos de barras en Odoo 18
- Sintaxis correcta para widget barcode en reportes QWeb - Solución para caracteres especiales en PDFs - Ejemplo de layout para múltiples etiquetas por página - Problemas comunes y sus soluciones
This commit is contained in:
parent
36a9772a07
commit
f2dff1de65
66
CLAUDE.md
66
CLAUDE.md
|
@ -349,4 +349,68 @@ Cuando crees modelos que se relacionan entre sí en el mismo issue:
|
||||||
1. Leer el error completo en los logs
|
1. Leer el error completo en los logs
|
||||||
2. Identificar archivo y línea exacta del problema
|
2. Identificar archivo y línea exacta del problema
|
||||||
3. Verificar que el elemento referenciado existe y está accesible
|
3. Verificar que el elemento referenciado existe y está accesible
|
||||||
4. Si es necesario, simplificar la vista temporalmente para aislar el problema
|
4. Si es necesario, simplificar la vista temporalmente para aislar el problema
|
||||||
|
|
||||||
|
### Manejo de códigos de barras en reportes QWeb (Odoo 18)
|
||||||
|
|
||||||
|
#### Generación de códigos de barras
|
||||||
|
Para mostrar códigos de barras en reportes PDF, usar el widget nativo de Odoo:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<!-- CORRECTO en Odoo 18 -->
|
||||||
|
<span t-field="record.barcode_field"
|
||||||
|
t-options="{'widget': 'barcode', 'type': 'Code128', 'width': 250, 'height': 60, 'humanreadable': 1}"
|
||||||
|
style="display: block;"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Consideraciones importantes:
|
||||||
|
1. **NO usar** rutas directas como `/report/barcode/Code128/` - esta sintaxis está deprecated
|
||||||
|
2. **Usar siempre** `t-field` con el widget barcode para renderizado correcto
|
||||||
|
3. **Parámetros disponibles** en t-options:
|
||||||
|
- `type`: Tipo de código ('Code128', 'EAN13', 'QR', etc.)
|
||||||
|
- `width`: Ancho en píxeles
|
||||||
|
- `height`: Alto en píxeles
|
||||||
|
- `humanreadable`: 1 para mostrar texto legible, 0 para ocultarlo
|
||||||
|
|
||||||
|
#### Problemas comunes y soluciones:
|
||||||
|
|
||||||
|
##### Código de barras vacío en PDF
|
||||||
|
- **Causa**: Campo computed sin store=True o sintaxis incorrecta
|
||||||
|
- **Solución**: Asegurar que el campo esté almacenado y usar widget barcode
|
||||||
|
|
||||||
|
##### Caracteres especiales en reportes (tildes, ñ)
|
||||||
|
- **Problema**: Aparecen como "ñ" o "Ã" en lugar de "ñ" o "í"
|
||||||
|
- **Solución**: Usar referencias numéricas de caracteres XML:
|
||||||
|
```xml
|
||||||
|
<!-- En lugar de -->
|
||||||
|
<h4>LABORATORIO CLÍNICO</h4>
|
||||||
|
|
||||||
|
<!-- Usar -->
|
||||||
|
<h4>LABORATORIO CLÍNICO</h4>
|
||||||
|
```
|
||||||
|
- í = í
|
||||||
|
- Í = Í
|
||||||
|
- á = á
|
||||||
|
- Á = Á
|
||||||
|
- é = é
|
||||||
|
- É = É
|
||||||
|
- ó = ó
|
||||||
|
- Ó = Ó
|
||||||
|
- ú = ú
|
||||||
|
- Ú = Ú
|
||||||
|
- ñ = ñ
|
||||||
|
- Ñ = Ñ
|
||||||
|
|
||||||
|
##### Layout de etiquetas múltiples por página
|
||||||
|
```xml
|
||||||
|
<!-- Contenedor principal sin salto de página -->
|
||||||
|
<div class="page">
|
||||||
|
<t t-foreach="docs" t-as="o">
|
||||||
|
<!-- Cada etiqueta como inline-block -->
|
||||||
|
<div style="display: inline-block; vertical-align: top;
|
||||||
|
page-break-inside: avoid; overflow: hidden;">
|
||||||
|
<!-- Contenido de la etiqueta -->
|
||||||
|
</div>
|
||||||
|
</t>
|
||||||
|
</div>
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user