Beispiel #1
0
        public Int32 ImprimirCheque(int transId)
        {
            Int32  resultado = -1;
            int    empresaId = 0;
            Int32  numero    = 0;
            string SSQL      = "";

            try
            {
                db.LimpiarFiltros();
                db.AddFiltroIgualA("Trans_Id", transId.ToString());
                DTCheque = db.GetAll("TBANCOS_TRANS", 1, db.Filtros);

                fila0        = DTCheque.Rows[0];
                empresaId    = db.GetAsInt("Empresa_Id", fila0);
                numero       = db.GetAsInt("Numero", fila0);
                monto        = db.GetAsDouble("Monto", fila0);
                beneficiario = db.GetAsString("Beneficiario", fila0);
                fecha        = db.GetDateAsInt("Fecha", fila0).ToString();
                anio         = fecha.Substring(0, 4);
                mes          = fecha.Substring(4, 2);
                dia          = fecha.Substring(6, 2);
                concepto     = db.GetAsString("Concepto", fila0);
                cuentaId     = db.GetAsInt("Cuenta_Id", fila0);
                oficinaID    = db.GetAsInt("Oficina_Id", fila0);

                //montoLetra = Numalet.ToCardinal(monto);

                //Buscamos el Siguiente Numer0
                if (numero <= 0)
                {
                    numero = getNumeroCheque(cuentaId, empresaId);
                }

                numeroCheque = numero;

                //Buscamos los datos de la cuenta
                db.LimpiarFiltros();
                DTCuenta  = db.GetAll("TBANCOS_CUENTAS_BANCARIAS", 1, db.Filtros);
                fila0     = DTCuenta.Rows[0];
                diasPosX  = db.GetAsInt("Dias_PosX", fila0);
                mesPosX   = db.GetAsInt("Mes_PosX", fila0);
                anioPosX  = db.GetAsInt("Anio_PosX", fila0);
                fechaPosY = db.GetAsInt("Fecha_PosY", fila0);

                nombrePosX   = db.GetAsInt("Nombre_PosX", fila0);
                nombrePosY   = db.GetAsInt("Nombre_PosY", fila0);
                nombreMaxCar = db.GetAsInt("Nombre_MaxCar", fila0);

                montoPosX = db.GetAsInt("Monto_PosX", fila0);
                montoPosY = db.GetAsInt("Monto_PosY", fila0);

                montoLetraPosX   = db.GetAsInt("Monto_Letra_PosX", fila0);
                montoLetraPosY   = db.GetAsInt("Monto_Letra_PosY", fila0);
                MontoLetraMaxCar = db.GetAsInt("Monto_Letra_MaxCar", fila0);

                coletillaPosX = db.GetAsInt("Coletilla_PosX", fila0);
                coletillaPosY = db.GetAsInt("Coletilla_PosY", fila0);

                printFont = new Font(fontName, fontSize, FontStyle.Regular);
                PrintDocument pr = new PrintDocument();
                pr.PrinterSettings.PrinterName = nombreImpresora;
                pr.PrintController             = new StandardPrintController();
                pr.PrintPage += new PrintPageEventHandler(pr_PrintPageCheque);
                pr.Print();


                //Marcamos el cheque como impreso
                referencia = oficinaID.ToString() + "-CHK-" + cuentaId + "-" + numero.ToString().PadLeft(8, '0');


                SSQL  = "UPDATE TBANCOS_TRANS ";
                SSQL += " SET Numero = " + numero.ToString();
                SSQL += "     ,Impreso_Por = '" + db.NOMBRE_USUARIO + "'";
                SSQL += "     ,EsImpreso   = 1";
                SSQL += "     ,Fecha_Impreso = GetDate() ";
                SSQL += "     ,Referencia = '" + referencia + "'";
                SSQL += " WHERE Trans_Id = " + transId.ToString();

                if (db.EjecutarSQL(SSQL) > 0)
                {
                    resultado = numero;
                }
                else
                {
                    resultado = -1;
                }
            }
            catch (Exception)
            {
                resultado = -1;
                throw;
            }

            return(resultado);
        }