Exemplo n.º 1
0
        public void hacer_report(String idcomprobante)
        {
            ParameterDiscreteValue parametro = new ParameterDiscreteValue();
            ParameterFields        paramlist = new ParameterFields();

            DataSet ds = new DataSet("comprobante");

            db.ejecutar("select envnumcomprobante,envfecha_registro,if(clitipo=0,(select concat(natnombres,' ',natapellidos) from ste_clinatural where idclinatural=idcliente),(select jurrazonsocial from ste_clijuridico where idste_clijuridico=idcliente)) as nomcliente, cliruc, envdestinatario, envrucdestinatario, envdireccion_destino,envdireccion_origen,'" + this.txtrucremitente.Text + "' as rucremitente, ste_envio.gremision from ste_envio inner join ste_cliente on ste_envio.envidcliente=ste_cliente.idcliente where idenvio=" + idcomprobante);
            ds.Tables.Add(db.gettabla());
            db.ejecutar("select * from ste_detalleenvio where denidenvio=" + idcomprobante);
            ds.Tables.Add(db.gettabla());
            db.ejecutar("select * from ste_camionero inner join ste_unidad on ste_unidad.uniidcamionero=ste_camionero.idcamionero where ste_unidad.idunidad=" + this.cbunidad.SelectedIndex);
            ds.Tables.Add(db.gettabla());
            ds.WriteXmlSchema("./comprobante.xml");
            CrystalDecisions.CrystalReports.Engine.ReportClass rpt;
            switch (cmbtipcomprobante.SelectedIndex)
            {
            case 0:    //boleta
                rpt = new reportes.boletadeventa();
                break;

            case 1:    //factura
                rpt = new reportes.factura();
                double subt = 0;
                foreach (DataRow r in ds.Tables[1].Rows)
                {
                    subt += Double.Parse(r["dencantidad"].ToString()) * Double.Parse(r["denpreciounitario"].ToString());
                    //subt += ((Double)r["dencantidad"]) * ((Double)r["denpreciounitario"]);
                }
                parametro.Value = aletras(subt.ToString(), true);
                paramlist.Add("enletras", ParameterValueKind.StringParameter, DiscreteOrRangeKind.DiscreteValue).CurrentValues.Add(parametro);
                break;

            default:    //orden de despacho
                rpt = new reportes.ordendedespacho();
                break;
            }
            rpt.SetDataSource(ds);
            //FACTURA
            formularios.Imprimir frmr = new formularios.Imprimir(rpt);
            frmr.crystalReportViewer1.ParameterFieldInfo = paramlist;
            frmr.ShowDialog(this);
            //GUIA DE REMISION
            if (cmbtipcomprobante.SelectedIndex == 1)
            {
                rpt = new reportes.guiaderemision();
                rpt.SetDataSource(ds);
                frmr = new formularios.Imprimir(rpt);
                //frmr.crystalReportViewer1.ParameterFieldInfo = paramlist;
                frmr.ShowDialog(this);
            }
        }
        public void hacer_report(String idcomprobante)
        {
            ParameterDiscreteValue parametro=new ParameterDiscreteValue();
            ParameterFields paramlist = new ParameterFields();

            DataSet ds = new DataSet("comprobante");
            db.ejecutar("select envnumcomprobante,envfecha_registro,if(clitipo=0,(select concat(natnombres,' ',natapellidos) from ste_clinatural where idclinatural=idcliente),(select jurrazonsocial from ste_clijuridico where idste_clijuridico=idcliente)) as nomcliente, cliruc, envdestinatario, envrucdestinatario, envdireccion_destino,envdireccion_origen,'" + this.txtrucremitente.Text + "' as rucremitente, ste_envio.gremision from ste_envio inner join ste_cliente on ste_envio.envidcliente=ste_cliente.idcliente where idenvio=" + idcomprobante);
            ds.Tables.Add(db.gettabla());
            db.ejecutar("select * from ste_detalleenvio where denidenvio=" + idcomprobante);
            ds.Tables.Add(db.gettabla());
            db.ejecutar("select * from ste_camionero inner join ste_unidad on ste_unidad.uniidcamionero=ste_camionero.idcamionero where ste_unidad.idunidad=" + this.cbunidad.SelectedIndex);
            ds.Tables.Add(db.gettabla());
            ds.WriteXmlSchema("./comprobante.xml");
            CrystalDecisions.CrystalReports.Engine.ReportClass rpt;
            switch (cmbtipcomprobante.SelectedIndex)
            {
                case 0://boleta
                    rpt = new reportes.boletadeventa();
                    break;
                case 1://factura
                    rpt = new reportes.factura();
                    double subt=0;
                    foreach (DataRow r in ds.Tables[1].Rows) {
                        subt +=Double.Parse(r["dencantidad"].ToString()) * Double.Parse(r["denpreciounitario"].ToString());
                        //subt += ((Double)r["dencantidad"]) * ((Double)r["denpreciounitario"]);
                    }
                    parametro.Value = aletras(subt.ToString(),true);
                    paramlist.Add("enletras", ParameterValueKind.StringParameter, DiscreteOrRangeKind.DiscreteValue).CurrentValues.Add(parametro);
                    break;
                default://orden de despacho
                    rpt = new reportes.ordendedespacho();
                    break;
            }
            rpt.SetDataSource(ds);
            //FACTURA
            formularios.Imprimir frmr = new formularios.Imprimir(rpt);
            frmr.crystalReportViewer1.ParameterFieldInfo = paramlist;
            frmr.ShowDialog(this);
            //GUIA DE REMISION
            if (cmbtipcomprobante.SelectedIndex==1)
            {
                rpt = new reportes.guiaderemision();
                rpt.SetDataSource(ds);
                frmr = new formularios.Imprimir(rpt);
                //frmr.crystalReportViewer1.ParameterFieldInfo = paramlist;
                frmr.ShowDialog(this);
            }
        }