Example #1
0
        /// <summary>
        /// Método Público encargado de Deshabilitar los Conceptos de las Facturas
        /// </summary>
        /// <param name="id_usuario">Id de Usuario</param>
        /// <returns></returns>
        public RetornoOperacion DeshabilitaFacturaConcepto(int id_usuario)
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Validando si esta ligada a una Factura Global
            if (!validaConceptoFacturaGlobal())
            {
                //Inicializando Bloques
                using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
                {
                    //Instanciando factura
                    using (Facturado fac = new Facturado(this._id_factura))
                    {
                        //validando que exista la Factura
                        if (fac.habilitar)
                        {
                            //Invocando Método de Actualización
                            result = this.actualizaRegistros(this._id_factura, this._cantidad, this._id_unidad, this._identificador, this._id_concepto_cobro,
                                                             this._valor_unitario, this._importe_pesos, this.id_impuesto_retenido, this._tasa_impuesto_retenido,
                                                             this._id_impuesto_trasladado, this._tasa_impuesto_trasladado, this._id_cargo_recurrente, id_usuario, false);

                            //Validando que se Actualizara
                            if (result.OperacionExitosa)
                            {
                                //Obteniendo Valores Totales
                                using (DataTable dt = FacturadoConcepto.ObtieneValoresTotalesFactura(this._id_factura))
                                {
                                    //Validando que la tabla contenga Valores
                                    if (TSDK.Datos.Validacion.ValidaOrigenDatos(dt))
                                    {
                                        //Recorriendo cada Fila
                                        foreach (DataRow dr in dt.Rows)
                                        {
                                            //Editando Factura
                                            result = fac.EditaFactura(Convert.ToDecimal(dr["TotalFactura"]), Convert.ToDecimal(dr["SubTotalFactura"]),
                                                                      Convert.ToDecimal(dr["TrasladadoFactura"]), Convert.ToDecimal(dr["RetenidoFactura"]), id_usuario);
                                        }
                                    }
                                }
                            }

                            //Validando que las Operaciones hayan sido exitosas
                            if (result.OperacionExitosa)
                            {
                                //Instanciando Factura Concepto
                                result = new RetornoOperacion(this._id_detalle_facturado);

                                //Completando Transaccion
                                scope.Complete();
                            }
                        }
                        else
                        {
                            //Instanciando Excepción
                            result = new RetornoOperacion("No existe la Factura");
                        }
                    }
                }
            }
            else
            {
                //Instanciando Excepción
                result = new RetornoOperacion("El detalle se encuentra en una Factura Global, Imposible su Eliminación");
            }

            //Devolviendo Objeto de Retorno
            return(result);
        }
Example #2
0
        /// <summary>
        /// Método Público encargado de Editar los Conceptos de las Facturas
        /// </summary>
        /// <param name="id_factura">Id de Factura</param>
        /// <param name="cantidad">Cantidad</param>
        /// <param name="id_unidad">Tipo de Unidad</param>
        /// <param name="identificador">Identificador</param>
        /// <param name="id_concepto_cobro">Concepto del Cobro</param>
        /// <param name="valor_unitario">Valor Unitario</param>
        /// <param name="importe_pesos">Importe en Pesos</param>
        /// <param name="id_impuesto_retenido">Id Impuesto retenido</param>
        /// <param name="tasa_impuesto_retenido">Tasa de Impuesto Retenido</param>
        /// <param name="id_impuesto_trasladado">Id Impuesto Trasladado</param>
        /// <param name="tasa_impuesto_trasladado">Tasa de Impuesto Trasladado</param>
        /// <param name="id_cargo_recurrente">Id de cargo recurrente</param>
        /// <param name="id_usuario">Id de Usuario</param>
        /// <returns></returns>
        public RetornoOperacion EditaFacturaConcepto(int id_factura, decimal cantidad, byte id_unidad, string identificador, int id_concepto_cobro,
                                                     decimal valor_unitario, decimal importe_pesos, byte id_impuesto_retenido, decimal tasa_impuesto_retenido,
                                                     byte id_impuesto_trasladado, decimal tasa_impuesto_trasladado, int id_cargo_recurrente, int id_usuario)
        {
            //Declarando Variable de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Inicializando Bloques
            using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Instanciando factura
                using (Facturado fac = new Facturado(this._id_factura))
                {
                    //validando que exista la Factura
                    if (fac.id_factura != 0)
                    {
                        //Validando que la Moneda sea dinstinto de Pesos
                        if (fac.moneda != 1)
                        {
                            //Instanciando Servicio
                            using (Documentacion.Servicio serv = new Documentacion.Servicio(fac.id_servicio))

                                //Instanciando Facturación Otros
                                using (FacturacionOtros fo = FacturacionOtros.ObtieneInstanciaFactura(this._id_factura))

                                    //Instanciando Tipo de Cambio
                                    using (Bancos.TipoCambio tc = new Bancos.TipoCambio(serv.id_compania_emisor == 0 ? fo.id_compania_emisora : serv.id_compania_emisor, (byte)fac.moneda, fac.fecha_tipo_cambio, 0))
                                    {
                                        //Validando que exista el Tipo de Cambio
                                        if (tc.id_tipo_cambio > 0)
                                        {
                                            //Actualizando Registros
                                            result = this.actualizaRegistros(id_factura, cantidad, id_unidad, identificador, id_concepto_cobro, valor_unitario,
                                                                             System.Math.Round((cantidad * valor_unitario), 2, MidpointRounding.ToEven) * tc.valor_tipo_cambio, id_impuesto_retenido,
                                                                             tasa_impuesto_retenido, id_impuesto_trasladado, tasa_impuesto_trasladado, id_cargo_recurrente,
                                                                             id_usuario, this._habilitar);
                                        }
                                        else
                                        {
                                            //Instanciando Error
                                            result = new RetornoOperacion("No existe el Tipo de Cambio");
                                        }
                                    }
                        }
                        else
                        {
                            //Actualizando Registros
                            result = this.actualizaRegistros(id_factura, cantidad, id_unidad, identificador, id_concepto_cobro, valor_unitario,
                                                             System.Math.Round((cantidad * valor_unitario), 2, MidpointRounding.ToEven), id_impuesto_retenido,
                                                             tasa_impuesto_retenido, id_impuesto_trasladado, tasa_impuesto_trasladado, id_cargo_recurrente,
                                                             id_usuario, this._habilitar);
                        }

                        //Validando que se Actualizara
                        if (result.OperacionExitosa)
                        {
                            //Obteniendo Valores Totales
                            using (DataTable dt = FacturadoConcepto.ObtieneValoresTotalesFactura(this._id_factura))
                            {
                                //Validando que la tabla contenga Valores
                                if (TSDK.Datos.Validacion.ValidaOrigenDatos(dt))
                                {
                                    //Recorriendo cada Fila
                                    foreach (DataRow dr in dt.Rows)
                                    {
                                        //Editando Factura
                                        result = fac.EditaFactura(Convert.ToDecimal(dr["TotalFactura"]), Convert.ToDecimal(dr["SubTotalFactura"]),
                                                                  Convert.ToDecimal(dr["TrasladadoFactura"]), Convert.ToDecimal(dr["RetenidoFactura"]), id_usuario);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        //Instanciando Error
                        result = new RetornoOperacion("No existe la factura");
                    }
                }

                //Validando que las Operaciones hayan sido exitosas
                if (result.OperacionExitosa)
                {
                    //Instanciando Factura Concepto
                    result = new RetornoOperacion(this._id_detalle_facturado);

                    //Completando Transaccion
                    scope.Complete();
                }
            }

            //Devolviendo Resultado Obtenido
            return(result);
        }
Example #3
0
        /// <summary>
        /// Cancelar CFDI
        /// </summary>
        private RetornoOperacion cancelaCFDI()
        {
            //Declaramos resultado
            RetornoOperacion resultado = new RetornoOperacion();

            //Inicializando Bloque Transaccional
            using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Instanciamos Comprobamte
                using (SAT_CL.FacturacionElectronica.Comprobante objCompobante = new SAT_CL.FacturacionElectronica.Comprobante(Convert.ToInt32(gvComprobantes.SelectedDataKey["Id"])))
                {
                    //Enviamos link
                    resultado = objCompobante.CancelaComprobante(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                    //Validamos Resultado
                    if (resultado.OperacionExitosa)
                    {
                        //Insertando Referencia
                        resultado = SAT_CL.Global.Referencia.InsertaReferencia(objCompobante.id_comprobante, 119, SAT_CL.Global.ReferenciaTipo.ObtieneIdReferenciaTipo(0, 119, "Motivo Cancelación", 0, "Facturacion Electrónica"),
                                                                               txtMotivo.Text, TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro(), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, true);

                        //Validando Operación Exitosa
                        if (resultado.OperacionExitosa)
                        {
                            //Instanciando Aplicaciones
                            using (DataTable dtAplicaciones = SAT_CL.CXC.FichaIngresoAplicacion.ObtieneFichasFacturas(0, Convert.ToInt32(gvComprobantes.SelectedDataKey["IdFactura"])))
                            {
                                //Validando que existan Aplicaciones
                                if (TSDK.Datos.Validacion.ValidaOrigenDatos(dtAplicaciones))
                                {
                                    //Recorriendo Registros
                                    foreach (DataRow dr in dtAplicaciones.Rows)
                                    {
                                        //Instanciando Aplicacion de la Factura
                                        using (SAT_CL.CXC.FichaIngresoAplicacion fia = new SAT_CL.CXC.FichaIngresoAplicacion(Convert.ToInt32(dr["Id"])))
                                        {
                                            //Validando que exista la Aplicación
                                            if (fia.id_ficha_ingreso_aplicacion > 0)
                                            {
                                                //Deshabilitando Ficha de Ingreso
                                                resultado = fia.DeshabilitarFichaIngresoAplicacion(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                                                //Validando Operación Exitosa
                                                if (!resultado.OperacionExitosa)
                                                {
                                                    //Terminando Ciclo
                                                    break;
                                                }
                                                else
                                                {
                                                    //Instanciando Ficha de Ingreso
                                                    using (SAT_CL.Bancos.EgresoIngreso fi = new SAT_CL.Bancos.EgresoIngreso(fia.id_egreso_ingreso))
                                                    {
                                                        //Validando que exista el Registro
                                                        if (fi.habilitar)
                                                        {
                                                            //Obteniendo Facturas Aplicadas
                                                            using (DataTable dtAplicacionesFicha = SAT_CL.CXC.FichaIngresoAplicacion.ObtieneFichasFacturas(fi.id_egreso_ingreso, 0))
                                                            {
                                                                //Si no existen Aplicaciones
                                                                if (!TSDK.Datos.Validacion.ValidaOrigenDatos(dtAplicacionesFicha))
                                                                {
                                                                    //Actualizando Estatus de la Ficha
                                                                    resultado = fi.ActualizaFichaIngresoEstatus(SAT_CL.Bancos.EgresoIngreso.Estatus.Capturada, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                                                                    //Validando Operación Correcta
                                                                    if (resultado.OperacionExitosa)
                                                                    {
                                                                        //Terminando Ciclo
                                                                        break;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }

                                    //Validando Desaplicación Exitosa
                                    if (resultado.OperacionExitosa)
                                    {
                                        //Declaramos Variable
                                        int facturado = 0;
                                        //Obtenemos Facturado Fcaturacion
                                        facturado = FacturadoFacturacion.ObtieneRelacionFacturaElectronica(objCompobante.id_comprobante);
                                        //Instanciamos FcaturadoFacturacion
                                        using (FacturadoFacturacion objfacturado = new FacturadoFacturacion(facturado))
                                        {
                                            //Instanciamos Facturado
                                            using (Facturado objFacturado = new Facturado(objfacturado.id_factura))
                                            {
                                                //Actualizando Estatus de la Factura
                                                resultado = objFacturado.ActualizaEstatusFactura(Facturado.EstatusFactura.Registrada, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    //Instanciando Factura
                                    resultado = new RetornoOperacion(Convert.ToInt32(gvComprobantes.SelectedDataKey["IdFactura"]));
                                }

                                //Validando Operación Exitosa
                                if (resultado.OperacionExitosa)
                                {
                                    //Cerramo Ventana Modal
                                    alternaVentanaModal("CancelarCFDI", btnAceptarCancelacionCFDI);

                                    //Carga Comprobante
                                    cargaComprobantes();
                                    //Completando Transacción
                                    trans.Complete();
                                }
                            }
                        }
                    }
                }
            }
            //Devolvemos Valor
            return(resultado);
        }
Example #4
0
        /// <summary>
        /// Método Público encargado de Insertar los Conceptos de las Facturas
        /// </summary>
        /// <param name="id_factura">Id de Factura</param>
        /// <param name="cantidad">Cantidad</param>
        /// <param name="id_unidad">Tipo de Unidad</param>
        /// <param name="identificador">Identificador</param>
        /// <param name="id_concepto_cobro">Concepto del Cobro</param>
        /// <param name="valor_unitario">Valor Unitario</param>
        /// <param name="importe_pesos">Importe en Pesos</param>
        /// <param name="tasa_impuesto_retenido">Tasa de Impuesto Retenido</param>
        /// <param name="tasa_impuesto_trasladado">Tasa de Impuesto Trasladado</param>
        /// <param name="id_cargo_recurrente"></param>
        /// <param name="id_usuario">Id de Usuario</param>
        /// <returns></returns>
        public static RetornoOperacion InsertaFacturaConcepto(int id_factura, decimal cantidad, byte id_unidad, string identificador, int id_concepto_cobro,
                                                              decimal valor_unitario, decimal importe_pesos, byte id_impuesto_retenido, decimal tasa_impuesto_retenido,
                                                              byte id_impuesto_trasladado, decimal tasa_impuesto_trasladado, int id_cargo_recurrente, int id_usuario)
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Declarando Variables Auxiliares
            int idFacturaConcepto = 0;

            //Inicializando Transac
            using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Instanciando factura
                using (Facturado fac = new Facturado(id_factura))
                {
                    //validando que exista la Factura
                    if (fac.id_factura != 0)
                    {
                        //Validando la Moneda
                        if (fac.moneda != 1)
                        {
                            //Instanciando Servicio
                            using (Documentacion.Servicio serv = new Documentacion.Servicio(fac.id_servicio))

                                //Instanciando Facturación Otros
                                using (FacturacionOtros fo = FacturacionOtros.ObtieneInstanciaFactura(id_factura))

                                    //Instanciando Tipo de Cambio
                                    using (Bancos.TipoCambio tc = new Bancos.TipoCambio(serv.id_compania_emisor == 0 ? fo.id_compania_emisora : serv.id_compania_emisor, (byte)fac.moneda, fac.fecha_tipo_cambio, 0))
                                        using (SAT_CL.FacturacionElectronica33.Moneda mon = new FacturacionElectronica33.Moneda(fac.moneda))
                                        {
                                            //Validando que existe el Tipo de Cambio
                                            if (tc.habilitar && mon.habilitar)
                                            {
                                                //Armando arreglo de parametros
                                                object[] param = { 1,                                             0, id_factura,                                    cantidad,            id_unidad,                                       identificador,        id_concepto_cobro,
                                                                   valor_unitario,                                0, System.Math.Round((cantidad * valor_unitario),                   2, MidpointRounding.ToEven) * tc.valor_tipo_cambio, id_impuesto_retenido, tasa_impuesto_retenido,0,
                                                                   id_impuesto_trasladado, tasa_impuesto_trasladado,                                             0, id_cargo_recurrente, id_usuario,                                      true,                 "",                    "" };

                                                //Obteniendo Resultado del SP
                                                result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param);
                                            }
                                            else
                                            {
                                                //Instanciando Error
                                                result = new RetornoOperacion(string.Format("No existe el Tipo de Cambio del dia '{0:dd/MM/yyyy HH:mm}' de la Moneda '{1}'", fac.fecha_tipo_cambio, mon.clave));
                                            }
                                        }
                        }
                        else
                        {
                            //Armando arreglo de parametros
                            object[] param = { 1,                                             0, id_factura,                                    cantidad,            id_unidad,                identificador,        id_concepto_cobro,
                                               valor_unitario,                                0, System.Math.Round((cantidad * valor_unitario),                   2, MidpointRounding.ToEven), id_impuesto_retenido, tasa_impuesto_retenido,0,
                                               id_impuesto_trasladado, tasa_impuesto_trasladado,                                             0, id_cargo_recurrente, id_usuario,               true,                 "",                    "" };

                            //Obteniendo Resultado del SP
                            result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param);
                        }

                        //Validando que la Operacion haya sido exitosa
                        if (result.OperacionExitosa)
                        {
                            //Guardando Id del Concepto
                            idFacturaConcepto = result.IdRegistro;

                            //Obteniendo Valores Totales
                            using (DataTable dt = FacturadoConcepto.ObtieneValoresTotalesFactura(id_factura))
                            {
                                //Validando que la tabla contenga Valores
                                if (TSDK.Datos.Validacion.ValidaOrigenDatos(dt))
                                {
                                    //Recorriendo cada Fila
                                    foreach (DataRow dr in dt.Rows)
                                    {
                                        //Editando Factura
                                        result = fac.EditaFactura(Convert.ToDecimal(dr["TotalFactura"]), Convert.ToDecimal(dr["SubTotalFactura"]),
                                                                  Convert.ToDecimal(dr["TrasladadoFactura"]), Convert.ToDecimal(dr["RetenidoFactura"]), 1);
                                    }
                                }
                            }

                            //Validando que las Operaciones hayan sido exitosas
                            if (result.OperacionExitosa)
                            {
                                //Instanciando Concepto
                                result = new RetornoOperacion(idFacturaConcepto);

                                //Completando la Transaccion
                                scope.Complete();
                            }
                        }
                    }
                    else
                    {
                        //Instanciando Error
                        result = new RetornoOperacion("No existe la factura");
                    }
                }
            }
            //Devolviendo Resultado Obtenido
            return(result);
        }
Example #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAccionSustitucion_Click(object sender, EventArgs e)
        {
            //Obteniendo Control
            Button btn = (Button)sender;

            //Validando Comando
            switch (btn.CommandName)
            {
            case "Aceptar":
            {
                //Declarando Objeto de Retorno
                RetornoOperacion retorno = new RetornoOperacion();
                int idUsuario            = ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario;

                /** Validando que Tanto la Factura como el Servicio esten seleccionado **/
                //Facturas
                if (gvFacturacionOtros.SelectedIndex != -1)
                {
                    //Servicios
                    if (gvServicios.SelectedIndex != -1)
                    {
                        //Inicializando Bloque Transaccional
                        using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
                        {
                            //Instanciando Servicio, Facturacion Otros, Comprobantes y Facturados
                            using (FacturacionOtros fo = new FacturacionOtros(Convert.ToInt32(gvFacturacionOtros.SelectedDataKey["IdFO"])))
                                using (Facturado fac_fo = new Facturado(Convert.ToInt32(gvFacturacionOtros.SelectedDataKey["IdFacturado"])),
                                       fac_serv = new Facturado(Convert.ToInt32(gvServicios.SelectedDataKey["IdFacturado"])))
                                    using (SAT_CL.Documentacion.Servicio serv = new SAT_CL.Documentacion.Servicio(Convert.ToInt32(gvServicios.SelectedDataKey["IdServicio"])))
                                        using (SAT_CL.FacturacionElectronica33.Comprobante cfdi = new SAT_CL.FacturacionElectronica33.Comprobante(Convert.ToInt32(gvFacturacionOtros.SelectedDataKey["IdCFDI"])))
                                        {
                                            //Validando Facturacion de Otros
                                            if (fo.habilitar && fac_fo.habilitar)
                                            {
                                                //Validando Servicio
                                                if (serv.habilitar && fac_serv.habilitar)
                                                {
                                                    //Validando Facturacion Electronica
                                                    if (cfdi.habilitar)
                                                    {
                                                        //Validando Clientes
                                                        if (fo.id_cliente_receptor == serv.id_cliente_receptor)
                                                        {
                                                            //Deshabilitando Facturación de Otros
                                                            retorno = fo.DeshabilitaFacturacionOtros(idUsuario);

                                                            //Validando Operación
                                                            if (retorno.OperacionExitosa)
                                                            {
                                                                //Deshabilitando Facturado del Servicio
                                                                retorno = fac_serv.DeshabilitaFactura(idUsuario);

                                                                //Validando Operación
                                                                if (retorno.OperacionExitosa)
                                                                {
                                                                    //Actualizando Facturado (FO) en Facturado (Servicio)
                                                                    retorno = fac_fo.ActualizaServicio(serv.id_servicio, idUsuario);

                                                                    //Validando Operación
                                                                    if (retorno.OperacionExitosa)
                                                                    {
                                                                        //Actualizando Origen del CFDI
                                                                        retorno = cfdi.ActualizaOrigenComprobante(SAT_CL.FacturacionElectronica33.Comprobante.OrigenDatos.Facturado, idUsuario);
                                                                    }
                                                                }
                                                            }
                                                        }
                                                        else
                                                        {
                                                            //Instanciando Excepción
                                                            retorno = new RetornoOperacion("Los Clientes no coinciden");
                                                        }
                                                    }
                                                    else
                                                    {
                                                        //Instanciando Excepción
                                                        retorno = new RetornoOperacion("No se puede recuperar los Datos de Facturación Electrónica");
                                                    }
                                                }
                                                else
                                                {
                                                    //Instanciando Excepción
                                                    retorno = new RetornoOperacion("No se puede recuperar los Datos del Servicio");
                                                }
                                            }
                                            else
                                            {
                                                //Instanciando Excepción
                                                retorno = new RetornoOperacion("No se puede recuperar los Datos de la Facturación de Otros");
                                            }
                                        }

                            //Validando Operación Final
                            if (retorno.OperacionExitosa)
                            {
                                //Completando Operaciones
                                scope.Complete();
                            }
                        }
                    }
                    else
                    {
                        //Instanciando Excepción
                        retorno = new RetornoOperacion("Debe seleccionar un Servicio");
                    }
                }
                else
                {
                    //Instanciando Excepción
                    retorno = new RetornoOperacion("Debe seleccionar una Factura");
                }

                //Validando operación
                if (retorno.OperacionExitosa)
                {
                    //Ocultando Ventana Modal
                    alternaVentana(btn, "Sustitucion");

                    //Recargando Busquedas
                    buscaFacturacion();
                    buscaServicios();

                    //Inicializando Indices
                    Controles.InicializaIndices(gvFacturacionOtros);
                    Controles.InicializaIndices(gvServicios);
                }

                //Mostrando Mensaje de la Operación
                ScriptServer.MuestraNotificacion(btn, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha);

                break;
            }

            case "Cancelar":
            {
                //Ocultando Ventana Modal
                alternaVentana(btn, "Sustitucion");

                //Inicializando Indices
                Controles.InicializaIndices(gvFacturacionOtros);
                Controles.InicializaIndices(gvServicios);
                break;
            }
            }
        }