Hi, I want to display the porcentaje of some fields
I put this in the end of model
db.define_table("notas",
Field("total", "double", default=0, writable=False),
Field("anticipo", "double", default=0,
requires=[IS_NOT_EMPTY(error_message='No puede estar
vacio'),IS_FLOAT_IN_RANGE(0,10000,error_message='Debe ser un numero
positivo entre 0 y 10000')],comment='40% minimo para descuento'),
Field("pagos", "double", default=0, writable=False),
Field("saldo", "double", default=0, writable=False))
class Indices(object):
def pcobrado(self): #Porcentaje Cobrado
porcentaje=100
if self.notas.total>0:
porcentaje = (self.notas.anticipo+self.notas.pagos)*100/
self.notas.total
return porcentaje
db.notas.virtualfields.append(Indices())
And in the controller this
All =
SQLTABLE(db((db.notas.created_on>inicio)&(db.notas.created_on<fin)&(db.notas.active==True)).
\
select(db.notas.id.count(),db.notas.total.sum(),db.notas.anticipo.sum(),db.notas.pagos.sum(),db.notas.saldo.sum(),db.notas.total.sum()/
db.notas.id.count(),db.notas.pcobrado().sum()/db.notas.id.count())/,\
headers={'COUNT(notas.id)':'Num.Notas','SUM(notas.total)':'Venta
Neta','SUM(notas.anticipo)':'Anticipos','SUM(notas.pagos)':'Pagos','SUM(notas.saldo)':'Saldos','SUM(notas.total)/
COUNT(notas.id)':'Promedio','SUM(notas.pcobrado())/
COUNT(notas.id)':'Cobrado'})
Can I do this with virtualfields?
because, with trunk version of web2py, tell me that pcobrado doesn't
exist