Otra cosa... Tenes nil? que dice true si uno objeto es nulo y falso en caso contrario.
saludos diego 2010/2/22 Pablo Marrero <[email protected]> > Hola, lo que se me ocurre rapidamente para solucionar el problema desde el > lado del sql es que uses la funcion NVL(debito,0) y NVL(credito,0), con lo > cual el sql ya te va a devolver lo que queres... > > salute! > > > El 22 de febrero de 2010 16:53, Nestor Rodriguez > <[email protected]>escribió: > > Hola gente, como andan, aqui peleandome con el array, estoy tratando de >> hacer un sistema de cuentas corrientes y estoy con eso del DEBITO Y EL >> CREDITO, así que necesito mostrar el ESTADO DE CUENTAS de un cliente, por lo >> tanto en el CONTROLADOR escribo esto: >> >> @clientes_movimientos = ClienteMovimiento.find_by_sql("Select >> clientes_movimientos.* " + >> "from clientes_movimientos, solicitudes, clientes " + >> "where clientes_movimientos.solicitud_id = >> solicitudes.id and " + >> " solicitudes.cliente_id = clientes.id and " + >> " clientes.id = #{params[:id]}") >> AQUÍ NO ESTA EL PROBLEMA, el problema es que en el array que me genera, >> vienen dos campos, DEBITO y CREDITO, que quiero sumarlos (cada uno un su >> columna) para mostrar los totales algo así como: >> >> fec mov Concepto Debito Credito Fec >> vencimiento Num cuota Observacion >> 22/02/2010 Cuota 300,000 02/02/2010 1/4 >> debito automatico >> 22/02/2010 Cuota 200,000 02/04/2010 2/4 >> debito automatico >> 22/02/2010 Cuota 200,000 02/05/2010 3/4 >> debito automatico >> 22/02/2010 Cuota 200,000 02/06/2010 4/4 >> debito automatico >> TOTAL 1,000,000 0 >> >> Lo que pasa es que el campo CREDITO, como no se le cargo nada tiene >> valores nulos, ahora bien mi pregunta es la siguiente: >> Como le digo a un bloque, que si es nulo el campo, lo tome como 0 (cero). >> Algo así como >> >> @clientes_movimientos.sum {|cm| ifnull(cm.debito,0)} >> @clientes_movimientos.sum {|cm| ifnull(cm.credito,0)} >> >> Obviamente la funcion ifnull no es de ruby que yo sepa. Pero cuando le >> coloco de la forma que aprendí es decir así: >> @clientes_movimientos.sum {|cm| cm.debito} >> @clientes_movimientos.sum {|cm| cm.credito} >> >> Me lanza un error ya que cm.credito es nulo y no lo puede sumar. >> >> Alguien sabe una función que transforme un valor nulo aquí en por ejemplo >> 0 (cero). >> >> Desde ya gracias... >> >> Néstor R. >> >> >> >> _______________________________________________ >> Ruby mailing list >> [email protected] >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> > > > > -- > Pablo Marrero > Tel: 099 927 566 > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > -- Diego Torres LIFIA - Laboratorio de Investigación y Formación en Informática Avanzada Facultad de Informática - Universidad Nacional de La Plata Calles 50 y 115 La Plata - 1900 Argentina Phone: +54 221 4228252 Ext: 221 Personal Web Page: http://www.lifia.info.unlp.edu.ar/en/dtorres.htm e-mail: diego.torres[at]lifia.info.unlp.edu.ar
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
