def detalle(self,pdf,y,orden):
encabezados = ('Item', 'Cantidad', u'Descripción','Precio','Total')
p = ParagraphStyle('parrafos')
p.alignment = TA_JUSTIFY
p.fontSize = 9
p.fontName="Times-Roman"
detalles = []
cont = 0
for detalle in DetalleOrdenServicios.objects.filter(orden=orden):
try:
descripcion = detalle.detalle_cotizacion.detalle_requerimiento.producto.descripcion
if len(descripcion)>58:
cont = cont + 1
detalles.append((detalle.nro_detalle, detalle.cantidad, Paragraph(descripcion,p), detalle.precio,detalle.valor))
except:
descripcion = detalle.producto.descripcion
if len(descripcion)>58:
cont = cont + 1
detalles.append((detalle.nro_detalle, detalle.cantidad, Paragraph(descripcion,p), detalle.precio,detalle.valor))
#detalles = [(detalle.nro_detalle, detalle.cantidad, Paragraph(detalle.servicio.descripcion+'-'+detalle.descripcion,p), detalle.precio,detalle.valor) for detalle in DetalleOrdenServicios.objects.filter(orden=orden)]
adicionales = [('','','','','')]*(15-cont-len(detalles))
detalle_orden = Table([encabezados] + detalles + adicionales,colWidths=[0.8 * cm, 1.9 * cm, 11.3* cm, 2 * cm, 2.5 * cm])
detalle_orden.setStyle(TableStyle(
[
('ALIGN',(0,0),(4,0),'CENTER'),
('GRID', (0, 0), (-1, -1), 1, colors.black),
#('LINEBELOW', (0,1), (5,-1), 0, colors.black),
('FONTSIZE', (0, 0), (-1, -1), 8),
('ALIGN',(4,1),(-1,-1),'RIGHT'),
]
))
detalle_orden.wrapOn(pdf, 800, 600)
detalle_orden.drawOn(pdf, 40,y+75)
#Letras
total_letras = [("SON: "+ orden.total_letras,'')]
tabla_total_letras = Table(total_letras,colWidths=[16 * cm, 2.5 * cm])
tabla_total_letras.setStyle(TableStyle(
[
('GRID', (0, 0), (1, 0), 1, colors.black),
('FONTSIZE', (0, 0), (-1, -1), 8),
]
))
tabla_total_letras.wrapOn(pdf, 800, 600)
tabla_total_letras.drawOn(pdf, 40,y+55)
评论列表
文章目录