示例#1
0
        private void ProcesarReimpresion(string tipo, int pv, int desde, int hasta)
        {
            using (Lfx.Data.Connection Conn = Lfx.Workspace.Master.GetNewConnection("Reimpresión de comprobantes")) {
                int Cantidad = Math.Abs(hasta - desde);
                Lfx.Types.OperationProgress Progreso = new Lfx.Types.OperationProgress("Reimprimiendo", "Se están reimprimiendo " + Cantidad.ToString() + " comprobantes.");
                Progreso.Cancelable = true;
                Progreso.Max        = Cantidad;
                Progreso.Modal      = true;
                Progreso.Advertise  = true;
                Progreso.Begin();

                string IncluyeTipos = "";

                switch (tipo)
                {
                case "A":
                    IncluyeTipos = "'FA', 'NCA', 'NDA'";
                    break;

                case "B":
                    IncluyeTipos = "'FB', 'NCB', 'NDB'";
                    break;

                case "C":
                    IncluyeTipos = "'FC', 'NCC', 'NDC'";
                    break;

                case "E":
                    IncluyeTipos = "'FE', 'NCE', 'NDE'";
                    break;

                case "M":
                    IncluyeTipos = "'FM', 'NCM', 'NDM'";
                    break;

                default:
                    IncluyeTipos = "'" + EntradaTipo.TextKey + "'";
                    break;
                }

                int Paso = desde < hasta ? 1 : -1;
                for (int Numero = desde; Numero != hasta; Numero += Paso)
                {
                    int IdFactura = Connection.FieldInt("SELECT id_comprob FROM comprob WHERE impresa=1 AND anulada=0 AND tipo_fac IN (" + IncluyeTipos + ") AND pv=" + pv.ToString() + " AND numero=" + Numero.ToString());

                    if (IdFactura == 0)
                    {
                        // No existe, supongo que está anulado, lo salteo
                    }
                    else
                    {
                        Lbl.Comprobantes.ComprobanteFacturable Fac = new Lbl.Comprobantes.ComprobanteFacturable(Conn, IdFactura);
                        Progreso.ChangeStatus("Imprimiendo " + Fac.ToString());
                        Lazaro.Impresion.Comprobantes.ImpresorComprobanteConArticulos Impr = new Lazaro.Impresion.Comprobantes.ImpresorComprobanteConArticulos(Fac, null);
                        Impr.Imprimir();
                    }
                    Progreso.Advance(1);

                    if (Progreso.Cancelar)
                    {
                        break;
                    }
                }

                Progreso.End();
            }
        }
示例#2
0
                private void ProcesarReimpresion(string tipo, int pv, int desde, int hasta)
                {
                        using (Lfx.Data.Connection Conn = Lfx.Workspace.Master.GetNewConnection("Reimpresión de comprobantes")) {
                                int Cantidad = Math.Abs(hasta - desde);
                                Lfx.Types.OperationProgress Progreso = new Lfx.Types.OperationProgress("Reimprimiendo", "Se están reimprimiendo " + Cantidad.ToString() + " comprobantes.");
                                Progreso.Cancelable = true;
                                Progreso.Max = Cantidad;
                                Progreso.Modal = true;
                                Progreso.Advertise = true;
                                Progreso.Begin();

                                string IncluyeTipos = "";

                                switch (tipo) {
                                        case "A":
                                                IncluyeTipos = "'FA', 'NCA', 'NDA'";
                                                break;

                                        case "B":
                                                IncluyeTipos = "'FB', 'NCB', 'NDB'";
                                                break;

                                        case "C":
                                                IncluyeTipos = "'FC', 'NCC', 'NDC'";
                                                break;

                                        case "E":
                                                IncluyeTipos = "'FE', 'NCE', 'NDE'";
                                                break;

                                        case "M":
                                                IncluyeTipos = "'FM', 'NCM', 'NDM'";
                                                break;

                                        default:
                                                IncluyeTipos = "'" + EntradaTipo.TextKey + "'";
                                                break;
                                }

                                int Paso = desde < hasta ? 1 : -1;
                                for (int Numero = desde; Numero != hasta; Numero += Paso) {
                                        int IdFactura = Connection.FieldInt("SELECT id_comprob FROM comprob WHERE impresa=1 AND anulada=0 AND tipo_fac IN (" + IncluyeTipos + ") AND pv=" + pv.ToString() + " AND numero=" + Numero.ToString());

                                        if (IdFactura == 0) {
                                                // No existe, supongo que está anulado, lo salteo
                                        } else {
                                                Lbl.Comprobantes.ComprobanteFacturable Fac = new Lbl.Comprobantes.ComprobanteFacturable(Conn, IdFactura);
                                                Progreso.ChangeStatus("Imprimiendo " + Fac.ToString());
                                                Lazaro.Impresion.Comprobantes.ImpresorComprobanteConArticulos Impr = new Lazaro.Impresion.Comprobantes.ImpresorComprobanteConArticulos(Fac, null);
                                                Impr.Imprimir();
                                        }
                                        Progreso.Advance(1);

                                        if (Progreso.Cancelar)
                                                break;
                                }

                                Progreso.End();
                        }
                }