~inddiana/sisb/edgar_fix_detener_transferencia

« back to all changes in this revision

Viewing changes to l10n_ve_presupuesto/report/reporte_financiero_mensual.py


[FIX] Se corrige los monto negativo de presupuesto.
[FIX] Se muestra en reporte presupuesto monto modificado acumulado en lugar de total.

Show diffs side-by-side

added added

removed removed

Lines of Context:
221
221
            ws.write_merge(8, 9, 0, 0, 'PARTIDAS', h2)
222
222
            ws.write_merge(8, 9, 1, 1, 'DENOMINACION', h2)
223
223
            ws.write_merge(8, 9, 2, 2, 'PRESUPUESTO APROBADO', h2)
224
 
            ws.write_merge(8, 9, 3, 3, 'PRESUPUESTO MODIFICADO', h2)
225
 
            ws.write_merge(8, 9, 4, 4, 'PROGRAMADO EN EL TRIMESTRE NRO: '+nro, h2)
226
 
            ws.write_merge(8, 8, 5, 7,  'EJECUTADO EN EL TRIMESTRE NRO: '+nro, h2)
227
 
            ws.write(9, 5, 'DEVENGADO', h2)
228
 
            ws.write(9, 6, 'LIQUIDADO', h2)
229
 
            ws.write(9, 7, 'RECAUDADO', h2)
230
 
            ws.write_merge(8, 8, 8, 11,  'ACUMULADO AL TRIMESTRE NRO: '+nro, h2)
231
 
            ws.write(9, 8, 'PROGRAMADO', h2)
232
 
            ws.write(9, 9, 'DEVENGADO', h2)
233
 
            ws.write(9, 10, 'LIQUIDADO', h2)
234
 
            ws.write(9, 11, 'RECAUDADO', h2)
235
 
            ws.write_merge(8, 9, 12, 12, 'INGRESOS POR RECIBIR', h2)
 
224
            ws.write_merge(8, 9, 3, 3, 'MODIFICACION', h2)
 
225
            ws.write_merge(8, 9, 4, 4, 'PRESUPUESTO MODIFICADO', h2)
 
226
            ws.write_merge(8, 9, 5, 5, 'PROGRAMADO EN EL TRIMESTRE NRO: '+nro, h2)
 
227
            ws.write_merge(8, 8, 6, 8,  'EJECUTADO EN EL TRIMESTRE NRO: '+nro, h2)
 
228
            ws.write(9, 6, 'DEVENGADO', h2)
 
229
            ws.write(9, 7, 'LIQUIDADO', h2)
 
230
            ws.write(9, 8, 'RECAUDADO', h2)
 
231
            ws.write_merge(8, 8, 9, 12,  'ACUMULADO AL TRIMESTRE NRO: '+nro, h2)
 
232
            ws.write(9, 9, 'PROGRAMADO', h2)
 
233
            ws.write(9, 10, 'DEVENGADO', h2)
 
234
            ws.write(9, 11, 'LIQUIDADO', h2)
 
235
            ws.write(9, 12, 'RECAUDADO', h2)
 
236
            ws.write_merge(8, 9, 13, 13, 'INGRESOS POR RECIBIR', h2)
236
237
            sumar_vista = []
237
238
            i = 11
238
239
            for details in partida_ids:
239
 
                if (clasi_apro[details['id']]['presupuesto'] > 0) or (clasi_apro[details['id']]['modificado'] > 0) or (clasi_ejec[details['id']]['presupuesto'] > 0) or (clasi_ejec[details['id']]['modificado'] > 0) or (clasi_ejec[details['id']]['comprometido'] > 0) or (clasi_ejec[details['id']]['causado'] > 0) or (clasi_ejec[details['id']]['pagado'] > 0) or (clasi_acum[details['id']]['presupuesto'] > 0) or (clasi_acum[details['id']]['modificado'] > 0) or (clasi_acum[details['id']]['comprometido'] > 0) or (clasi_acum[details['id']]['causado'] > 0) or (clasi_acum[details['id']]['pagado'] > 0):
 
240
                if (clasi_apro[details['id']]['presupuesto'] > 0) or (clasi_ejec[details['id']]['presupuesto'] > 0) or (clasi_ejec[details['id']]['modificado'] > 0) or (clasi_ejec[details['id']]['comprometido'] > 0) or (clasi_ejec[details['id']]['causado'] > 0) or (clasi_ejec[details['id']]['pagado'] > 0) or (clasi_acum[details['id']]['presupuesto'] > 0) or (clasi_acum[details['id']]['modificado'] > 0) or (clasi_acum[details['id']]['comprometido'] > 0) or (clasi_acum[details['id']]['causado'] > 0) or (clasi_acum[details['id']]['pagado'] > 0):
240
241
                    if details['type'] == 'vista':
241
242
                        if details['id'] in partida_seleccionadas_ids:
242
243
                            sumar_vista.append(i+1)
243
244
                        ws.write(i,0, details['code'], text_bold)
244
245
                        ws.write(i,1, details['name'], text_bold)
245
246
                        ws.write(i,2, round(clasi_apro[details['id']]['presupuesto']) if clasi_apro[details['id']]['presupuesto'] > 0 else '', numbers_bold)
246
 
                        ws.write(i,3, round(clasi_apro[details['id']]['modificado']), numbers_bold)
247
 
                        ws.write(i,4, round(clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado']) if clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado'] > 0 else '', numbers_bold)
248
 
                        ws.write(i,5, round(clasi_ejec[details['id']]['comprometido']) if clasi_ejec[details['id']]['comprometido'] > 0 else '', numbers_bold)
249
 
                        ws.write(i,6, round(clasi_ejec[details['id']]['causado']) if clasi_ejec[details['id']]['causado'] > 0 else '', numbers_bold)
250
 
                        ws.write(i,7, round(clasi_ejec[details['id']]['pagado']) if clasi_ejec[details['id']]['pagado'] > 0 else '', numbers_bold)
251
 
                        ws.write(i,8, round(clasi_acum[details['id']]['presupuesto']+clasi_acum[details['id']]['modificado']) if clasi_acum[details['id']]['presupuesto']+clasi_acum[details['id']]['modificado'] > 0 else '', numbers_bold)
252
 
                        ws.write(i,9, round(clasi_acum[details['id']]['comprometido']) if clasi_acum[details['id']]['comprometido'] > 0 else '', numbers_bold)
253
 
                        ws.write(i,10, round(clasi_acum[details['id']]['causado']) if clasi_acum[details['id']]['causado'] > 0 else '', numbers_bold)
254
 
                        ws.write(i,11, round(clasi_acum[details['id']]['pagado']) if clasi_acum[details['id']]['pagado'] > 0 else '', numbers_bold)
255
 
                        ws.write(i,12, xlwt.Formula("(C%s+D%s)-J%s"%(str(i+1),str(i+1),str(i+1))), numbers_disp_bold)
 
247
                        ws.write(i,3, round(clasi_acum[details['id']]['modificado']), numbers_bold)
 
248
                        ws.write(i,4, xlwt.Formula("(C%s+D%s)"%(str(i+1),str(i+1))), numbers_bold)
 
249
                        ws.write(i,5, round(clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado']) if clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado'] > 0 else '', numbers_bold)
 
250
                        ws.write(i,6, round(clasi_ejec[details['id']]['comprometido']) if clasi_ejec[details['id']]['comprometido'] > 0 else '', numbers_bold)
 
251
                        ws.write(i,7, round(clasi_ejec[details['id']]['causado']) if clasi_ejec[details['id']]['causado'] > 0 else '', numbers_bold)
 
252
                        ws.write(i,8, round(clasi_ejec[details['id']]['pagado']) if clasi_ejec[details['id']]['pagado'] > 0 else '', numbers_bold)
 
253
                        ws.write(i,9, round(clasi_acum[details['id']]['presupuesto']+clasi_acum[details['id']]['modificado']) if clasi_acum[details['id']]['presupuesto']+clasi_acum[details['id']]['modificado'] > 0 else '', numbers_bold)
 
254
                        ws.write(i,10, round(clasi_acum[details['id']]['comprometido']) if clasi_acum[details['id']]['comprometido'] > 0 else '', numbers_bold)
 
255
                        ws.write(i,11, round(clasi_acum[details['id']]['causado']) if clasi_acum[details['id']]['causado'] > 0 else '', numbers_bold)
 
256
                        ws.write(i,12, round(clasi_acum[details['id']]['pagado']) if clasi_acum[details['id']]['pagado'] > 0 else '', numbers_bold)
 
257
                        ws.write(i,13, xlwt.Formula("(C%s+D%s)-J%s"%(str(i+1),str(i+1),str(i+1))), numbers_disp_bold)
256
258
                    else:
257
259
                        ws.write(i,0, details['code'], text)
258
260
                        ws.write(i,1, details['name'], text)
259
261
                        ws.write(i,2, round(clasi_apro[details['id']]['presupuesto']) if clasi_apro[details['id']]['presupuesto'] > 0 else '', numbers)
260
 
                        ws.write(i,3, round(clasi_apro[details['id']]['modificado']), numbers)
261
 
                        ws.write(i,4, round(clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado']) if clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado'] > 0 else '', numbers)
262
 
                        ws.write(i,5, round(clasi_ejec[details['id']]['comprometido']) if clasi_ejec[details['id']]['comprometido'] > 0 else '', numbers)
263
 
                        ws.write(i,6, round(clasi_ejec[details['id']]['causado']) if clasi_ejec[details['id']]['causado'] > 0 else '', numbers)
264
 
                        ws.write(i,7, round(clasi_ejec[details['id']]['pagado']) if clasi_ejec[details['id']]['pagado'] > 0 else '', numbers)
265
 
                        ws.write(i,8, round(clasi_acum[details['id']]['presupuesto']+clasi_acum[details['id']]['modificado']) if clasi_acum[details['id']]['presupuesto']+clasi_acum[details['id']]['modificado'] > 0 else '', numbers)
266
 
                        ws.write(i,9, round(clasi_acum[details['id']]['comprometido']) if clasi_acum[details['id']]['comprometido'] > 0 else '', numbers)
267
 
                        ws.write(i,10, round(clasi_acum[details['id']]['causado']) if clasi_acum[details['id']]['causado'] > 0 else '', numbers)
268
 
                        ws.write(i,11, round(clasi_acum[details['id']]['pagado']) if clasi_acum[details['id']]['pagado'] > 0 else '', numbers)
269
 
                        ws.write(i,12, xlwt.Formula("(C%s+D%s)-J%s"%(str(i+1),str(i+1),str(i+1))), numbers_disp)
 
262
                        ws.write(i,3, round(clasi_acum[details['id']]['modificado']), numbers)
 
263
                        ws.write(i,4, xlwt.Formula("(C%s+D%s)"%(str(i+1),str(i+1))), numbers)
 
264
                        ws.write(i,5, round(clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado']) if clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado'] > 0 else '', numbers)
 
265
                        ws.write(i,6, round(clasi_ejec[details['id']]['comprometido']) if clasi_ejec[details['id']]['comprometido'] > 0 else '', numbers)
 
266
                        ws.write(i,7, round(clasi_ejec[details['id']]['causado']) if clasi_ejec[details['id']]['causado'] > 0 else '', numbers)
 
267
                        ws.write(i,8, round(clasi_ejec[details['id']]['pagado']) if clasi_ejec[details['id']]['pagado'] > 0 else '', numbers)
 
268
                        ws.write(i,9, round(clasi_acum[details['id']]['presupuesto']+clasi_acum[details['id']]['modificado']) if clasi_acum[details['id']]['presupuesto']+clasi_acum[details['id']]['modificado'] > 0 else '', numbers)
 
269
                        ws.write(i,10, round(clasi_acum[details['id']]['comprometido']) if clasi_acum[details['id']]['comprometido'] > 0 else '', numbers)
 
270
                        ws.write(i,11, round(clasi_acum[details['id']]['causado']) if clasi_acum[details['id']]['causado'] > 0 else '', numbers)
 
271
                        ws.write(i,12, round(clasi_acum[details['id']]['pagado']) if clasi_acum[details['id']]['pagado'] > 0 else '', numbers)
 
272
                        ws.write(i,13, xlwt.Formula("(C%s+D%s)-J%s"%(str(i+1),str(i+1),str(i+1))), numbers_disp)
270
273
                    i += 1
271
 
                    
 
274
 
272
275
            ws.write(i+1, 0, '', xlwt.easyxf('font: name Arial, colour black, height 200; pattern: pattern solid, fore_colour white;' "borders: top thin, bottom thin, left thin, right thin;"))
273
276
            ws.write(i+1, 1, 'TOTAL', xlwt.easyxf('font: name Arial, colour black, height 200; pattern: pattern solid, fore_colour white;' "borders: top thin, bottom thin, left thin, right thin;"))
274
277
            ws.write(i+1, 2, xlwt.Formula('+'.join('C%s'% x for x in sumar_vista)), numbers_total)
281
284
            ws.write(i+1, 9, xlwt.Formula('+'.join('J%s'% x for x in sumar_vista)), numbers_total)
282
285
            ws.write(i+1, 10, xlwt.Formula('+'.join('K%s'% x for x in sumar_vista)), numbers_total)
283
286
            ws.write(i+1, 11, xlwt.Formula('+'.join('L%s'% x for x in sumar_vista)), numbers_total)
284
 
            ws.write(i+1, 12, xlwt.Formula("(C%s+D%s)-J%s"%(str(i+2),str(i+2),str(i+2))), numbers_total)
 
287
            ws.write(i+1, 12, xlwt.Formula('+'.join('M%s'% x for x in sumar_vista)), numbers_total)
 
288
            ws.write(i+1, 13, xlwt.Formula("(C%s+D%s)-K%s"%(str(i+2),str(i+2),str(i+2))), numbers_total)
285
289
        wb.save('/tmp/reporte_trimestral_ingresos.xls')
286
290
        xls = open('/tmp/reporte_trimestral_ingresos.xls')
287
291
        return self._write_attachment_xls(cr, uid, ids[0], xls, archivo, context)
394
398
            sumar_vista = []
395
399
            i = 11
396
400
            for details in partida_ids:
397
 
                if (clasi_apro[details['id']]['presupuesto'] > 0) or (clasi_apro[details['id']]['modificado'] > 0) or (clasi_ejec[details['id']]['presupuesto'] > 0) or (clasi_ejec[details['id']]['modificado'] > 0) or (clasi_ejec[details['id']]['comprometido'] > 0) or (clasi_ejec[details['id']]['causado'] > 0) or (clasi_ejec[details['id']]['pagado'] > 0) or (clasi_acum[details['id']]['presupuesto'] > 0) or (clasi_acum[details['id']]['modificado'] > 0) or (clasi_acum[details['id']]['comprometido'] > 0) or (clasi_acum[details['id']]['causado'] > 0) or (clasi_acum[details['id']]['pagado'] > 0):
 
401
                if (clasi_apro[details['id']]['presupuesto'] > 0) or (clasi_ejec[details['id']]['presupuesto'] > 0) or (clasi_ejec[details['id']]['modificado'] > 0) or (clasi_ejec[details['id']]['comprometido'] > 0) or (clasi_ejec[details['id']]['causado'] > 0) or (clasi_ejec[details['id']]['pagado'] > 0) or (clasi_acum[details['id']]['presupuesto'] > 0) or (clasi_acum[details['id']]['modificado'] > 0) or (clasi_acum[details['id']]['comprometido'] > 0) or (clasi_acum[details['id']]['causado'] > 0) or (clasi_acum[details['id']]['pagado'] > 0):
398
402
                    if details['type'] == 'vista':
399
403
                        if details['id'] in partida_seleccionadas_ids:
400
404
                            sumar_vista.append(i+1)
401
405
                        ws.write(i,0, details['code'], text_bold)
402
406
                        ws.write(i,1, details['name'], text_bold)
403
407
                        ws.write(i,2, round(clasi_apro[details['id']]['presupuesto']) if clasi_apro[details['id']]['presupuesto'] > 0 else '', numbers_bold)
404
 
                        ws.write(i,3, round(clasi_apro[details['id']]['modificado']), numbers_bold)
 
408
                        ws.write(i,3, round(clasi_acum[details['id']]['modificado']), numbers_bold)
405
409
                        ws.write(i,4, xlwt.Formula("(C%s+D%s)"%(str(i+1),str(i+1))), numbers_bold)
406
410
                        ws.write(i,5, round(clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado']) if clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado'] > 0 else '', numbers_bold)
407
411
                        ws.write(i,6, round(clasi_ejec[details['id']]['comprometido']) if clasi_ejec[details['id']]['comprometido'] > 0 else '', numbers_bold)
416
420
                        ws.write(i,0, details['code'], text)
417
421
                        ws.write(i,1, details['name'], text)
418
422
                        ws.write(i,2, round(clasi_apro[details['id']]['presupuesto']) if clasi_apro[details['id']]['presupuesto'] > 0 else '', numbers)
419
 
                        ws.write(i,3, round(clasi_apro[details['id']]['modificado']), numbers)
 
423
                        ws.write(i,3, round(clasi_acum[details['id']]['modificado']), numbers)
420
424
                        ws.write(i,4, xlwt.Formula("(C%s+D%s)"%(str(i+1),str(i+1))), numbers)
421
425
                        ws.write(i,5, round(clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado']) if clasi_ejec[details['id']]['presupuesto']+clasi_ejec[details['id']]['modificado'] > 0 else '', numbers)
422
426
                        ws.write(i,6, round(clasi_ejec[details['id']]['comprometido']) if clasi_ejec[details['id']]['comprometido'] > 0 else '', numbers)
514
518
                ws.write(i,0, details['code'], text)
515
519
                ws.write(i,1, details['name'], text)
516
520
                ws.write(i,2, round(clasi_pro[details['id']]['presupuesto']) if clasi_pro[details['id']]['presupuesto'] > 0 else '', numbers)
517
 
                ws.write(i,3, round(clasi_apro[details['id']]['modificado']), numbers)
 
521
                ws.write(i,3, round(clasi[details['id']]['modificado']), numbers)
518
522
                ws.write(i,4, round(clasi[details['id']]['comprometido']) if clasi[details['id']]['comprometido'] > 0 else '', numbers)
519
523
                ws.write(i,5, round(clasi[details['id']]['causado']) if clasi[details['id']]['causado'] > 0 else '', numbers)
520
524
                ws.write(i,6, round(clasi[details['id']]['pagado']) if clasi[details['id']]['pagado'] > 0 else '', numbers)