Пример #1
0
        //Funcion que ejecuta la Facturacion de la Liquidacion de manera integral
        //devuelve el codigo de factura generado o -1 en el caso de error
        protected int FacturarLiquidacion()
        {
            int cod_factura;

            try
            {
                /*Ejecuto el procedieminto de Facturacion de la Liquidacion*/
                using (SqlConnection conexion = new SqlConnection(FacturaDataSource.ConnectionString))
                {
                    conexion.Open();

                    SqlCommand comando = new SqlCommand();
                    comando.CommandType = CommandType.StoredProcedure;
                    comando.Connection  = conexion;
                    comando.CommandText = "sp_facturar_liquidacion";

                    comando.Parameters.AddWithValue("@p_cod_liquidacion", CodigoLiquidacion);
                    comando.Parameters.AddWithValue("@p_nro_factura", NroFactura);
                    comando.Parameters.AddWithValue("@p_fecha_factura", FechaFactura);

                    comando.Parameters.AddWithValue("@p_tipo_factura", ((DropDownList)FacturaFormView.FindControl("new_tipo_facturaDDL")).SelectedValue);
                    comando.Parameters.AddWithValue("@p_cod_moneda", ((DropDownList)FacturaFormView.FindControl("new_monedaDDL")).SelectedValue);


                    SqlParameter p_cod_factura = new SqlParameter("@p_cod_factura", SqlDbType.Int);
                    p_cod_factura.Direction = ParameterDirection.Output;

                    comando.Parameters.Add(p_cod_factura);
                    comando.CommandTimeout = 0;

                    //Facturo la liquidación
                    comando.ExecuteNonQuery();

                    //Obtengo el Codigo de Factura generado
                    cod_factura = Convert.ToInt32(comando.Parameters["@p_cod_factura"].Value);
                }

                //Actualizo los impouestos
                CalcularImpuestosFactura(cod_factura);

                return(cod_factura);
            }
            catch (Exception ex)
            {
                return(-1);
            }
        }
Пример #2
0
        /*
         * Funcion que factura la liquidacion en su totalidad despendiendo del
         * Codigo de liquidacion
         * Autor: Christian Balbuena
         * Fecha: 29/02/2013
         */
        protected void FacturarLiquidacionBtn_Click(object sender, EventArgs e)
        {
            try
            {
                //Asigno el Numero de factura
                NroFactura   = ((TextBox)FacturaFormView.FindControl("new_num_facturaTB")).Text;
                FechaFactura = ((TextBox)FacturaFormView.FindControl("new_fechaTB")).Text;

                if (NroFactura != null && NroFactura != "")
                {
                    if (CodigoLiquidacion != null && CodigoLiquidacion != "")
                    {
                        if (FacturarLiquidacion() >= 0)
                        {
                            //Limpio el cuadro de Numero de factura ya que se facturo con exito esta
                            ((TextBox)FacturaFormView.FindControl("new_num_facturaTB")).Text = "";

                            RefrescarGrillas();
                            Verificarfacturacion();
                            SetFocusControl("#facturas");
                        }
                        else
                        {
                            Core.Util.ShowAlert("No se pudo efectuar la facturacion.");
                        }
                    }
                    else
                    {
                        Core.Util.ShowAlert("La liquidación no es valida.");
                    }
                }
                else
                {
                    Core.Util.ShowAlert("El campo nro. de factura debe tener información.");
                }
            }
            catch (Exception ex)
            {
                Core.Util.ShowAlert("Error al facturar: " + ex.Message);
            }
        }
Пример #3
0
        //Procedimiento que factura los concpetos de manera individual
        protected void FacturarConceptosBtn_Click(object sender, EventArgs e)
        {
            int v_cod_factura;

            try
            {
                //Asigno el Numero de factura
                NroFactura   = ((TextBox)FacturaFormView.FindControl("new_num_facturaTB")).Text;
                FechaFactura = ((TextBox)FacturaFormView.FindControl("new_fechaTB")).Text;

                //Agrego la cabecera de la Factura de conceptos
                /*Ejecuto el procedieminto de Facturacion de la Liquidacion*/
                using (SqlConnection conexion = new SqlConnection(FacturaDataSource.ConnectionString))
                {
                    conexion.Open();

                    SqlCommand comando = new SqlCommand();
                    comando.CommandType = CommandType.StoredProcedure;
                    comando.Connection  = conexion;
                    comando.CommandText = "sp_facturar_liquidacion_cabecera";

                    comando.Parameters.AddWithValue("@p_cod_liquidacion", CodigoLiquidacion);
                    comando.Parameters.AddWithValue("@p_nro_factura", NroFactura);
                    comando.Parameters.AddWithValue("@p_fecha_factura", FechaFactura);

                    comando.Parameters.AddWithValue("@p_tipo_factura", ((DropDownList)FacturaFormView.FindControl("new_tipo_facturaDDL")).SelectedValue);
                    comando.Parameters.AddWithValue("@p_cod_moneda", ((DropDownList)FacturaFormView.FindControl("new_monedaDDL")).SelectedValue);


                    SqlParameter p_cod_factura = new SqlParameter("@p_cod_factura", SqlDbType.Int);
                    p_cod_factura.Direction = ParameterDirection.Output;

                    comando.Parameters.Add(p_cod_factura);
                    comando.CommandTimeout = 0;

                    //Facturo la liquidación
                    comando.ExecuteNonQuery();

                    //Obtengo el Codigo de Factura generado
                    v_cod_factura = Convert.ToInt32(comando.Parameters["@p_cod_factura"].Value);

                    conexion.Close();
                }


                //Seccion de insercion de Detalles
                GridViewRow dr;

                //Agrego los Conceptos de la tabla Temporal
                using (Models.WerkERPContext db = new WerkUI.Models.WerkERPContext())
                {
                    for (int i = 0; i <= FacturaDetalleGeneradaGridView.Rows.Count - 1; i++)
                    {
                        dr = FacturaDetalleGeneradaGridView.Rows[i];

                        Models.FacturaDetalle detalle = new Models.FacturaDetalle
                        {
                            Cod__Concepto    = Convert.ToInt32(dr.Cells[4].Text),
                            cod_factura      = v_cod_factura,
                            Cod__Liquidación = Convert.ToInt32(CodigoLiquidacion),
                            Concepto         = dr.Cells[1].Text,
                            Comentario       = dr.Cells[3].Text,
                            Importe          = Convert.ToDecimal(dr.Cells[2].Text),
                            Grupo            = Convert.ToInt32(dr.Cells[0].Text)
                        };
                        db.FacturaDetalles.Add(detalle);
                    }

                    //Guardo los cmabios en la DB
                    db.SaveChanges();
                }

                //Actualizo los impouestos
                CalcularImpuestosFactura(v_cod_factura);

                //Elimino los Conceptos por facturar correspondiente a la factura
                EliminarConceptosMarcados(Convert.ToInt32(CodigoLiquidacion));

                //Actualizo las grillas
                RefrescarGrillas();

                //Verifico las facturaciones
                Verificarfacturacion();


                //Limpio el cuadro de Numero de factura ya que se facturo con exito esta
                ((TextBox)FacturaFormView.FindControl("new_num_facturaTB")).Text = "";

                //me posiciono en la seccion de facturas generadas
                SetFocusControl("#facturas");
            }
            catch (Exception ex)
            {
                Core.Util.ShowAlert("Error al facturar conceptos: " + ex.Message);
            }
        }
Пример #4
0
        //Procedimiento que agrega los conceptos de forma independiente para su facturacion en facturas separadas
        protected void AgregarBtn_Click(object sender, EventArgs e)
        {
            Decimal vImporte;

            try
            {
                //Asigno el Numero de factura
                NroFactura   = ((TextBox)FacturaFormView.FindControl("new_num_facturaTB")).Text;
                FechaFactura = ((TextBox)FacturaFormView.FindControl("new_fechaTB")).Text;

                if (NroFactura != null && NroFactura != "")
                {
                    using (Models.WerkERPContext db = new WerkUI.Models.WerkERPContext())
                    {
                        for (int i = 0; i <= FacturaDetalleGridView.Rows.Count - 1; i++)
                        {
                            GridViewRow row = (GridViewRow)FacturaDetalleGridView.Rows[i];
                            CheckBox    chk = (CheckBox)row.FindControl("ConceptoCheck");
                            if (chk.Checked)
                            {
                                try
                                {
                                    vImporte = Convert.ToDecimal(row.Cells[5].Text);
                                }
                                catch (Exception ax)
                                {
                                    vImporte = 0;
                                }

                                InsertarConceptoMarcado(Convert.ToInt32(row.Cells[1].Text),
                                                        Convert.ToInt32(row.Cells[2].Text),
                                                        Convert.ToInt32(row.Cells[4].Text),
                                                        0,
                                                        row.Cells[3].Text,
                                                        vImporte,
                                                        "");


                                // Habilitamos el boton para que se pueda eliminar la operacion
                                this.EliminarBtn.Enabled          = true;
                                this.FacturarConceptosBtn.Enabled = true;
                            }
                        }
                    }


                    this.FacturaDetalleGeneradaGridView.DataBind();

                    // Cargamos nuevamente la grilla
                    this.FacturaDetalleGridView.DataBind();

                    //Muevo el foco a la tabla de Faturas generadas
                    SetFocusControl("#Generada");
                }
                else
                {
                    Core.Util.ShowAlert("El campo nro. de factura debe tener información.");
                }
            }
            catch (Exception ex)
            {
                Core.Util.ShowAlert("Error al agregar concepto: " + ex.Message);
            }
        }
Пример #5
0
        //Procediemiento que recupera los datos de la liquidacion
        //segun el codigo de liquidacion que recibe la pagina
        private void Obtener_datos_liquidacion(int p_cod_liquidacion)
        {
            try
            {
                /*Codigo de Inicializacion Beta*/
                object[] para = { p_cod_liquidacion };
                Models.V_LIQUIDACIONES vLiq;
                //Models.ProFormaFactura pFormFac = new Models.ProFormaFactura();

                if (p_cod_liquidacion > 0)
                {
                    TextBox txtNew_fact = (TextBox)FacturaFormView.FindControl("new_num_facturaTB");
                    TextBox txtNew_ruc  = (TextBox)FacturaFormView.FindControl("new_ruc_despachanteTB");



                    using (Models.WerkERPContext db = new WerkUI.Models.WerkERPContext())
                    {
                        //Obtengo la Liquidacion segun el cod_liquidacion recibdo por el formulario web
                        vLiq = db.V_LIQUIDACIONES.Find(para);
                    }

                    ((TextBox)FacturaFormView.FindControl("new_num_facturaTB")).Attributes.Add("onblur", "javascript:verifyNroFactura(this,'" + vLiq.R_U_C__Despachante + "');");

                    // Asignamos los valores a los campos del form view
                    ((TextBox)FacturaFormView.FindControl("new_fechaTB")).Text = ((DateTime)vLiq.Fecha).ToShortDateString(); // DateTime.Now.ToShortDateString();

                    ((TextBox)FacturaFormView.FindControl("new_clienteTB")).Text = vLiq.Cliente.Trim();

                    ((TextBox)FacturaFormView.FindControl("new_CodClienteTB")).Text = vLiq.CODUSUARIO.ToString();

                    ((TextBox)FacturaFormView.FindControl("new_num_liquidacionTB")).Text       = vLiq.Nro__Liquidación.ToString();
                    ((DropDownList)FacturaFormView.FindControl("new_monedaDDL")).SelectedIndex = 0;

                    ((TextBox)FacturaFormView.FindControl("new_telefonoTB")).Text  = vLiq.Teléfono.Trim();
                    ((TextBox)FacturaFormView.FindControl("new_rucTB")).Text       = vLiq.R_U_C_.Trim();
                    ((TextBox)FacturaFormView.FindControl("new_direccionTB")).Text = vLiq.Dirección.Trim();

                    ((TextBox)FacturaFormView.FindControl("new_despachanteTB")).Text                 = vLiq.Despachante.Trim();
                    ((TextBox)FacturaFormView.FindControl("new_ruc_despachanteTB")).Text             = vLiq.R_U_C__Despachante.Trim();
                    ((DropDownList)FacturaFormView.FindControl("new_tipo_facturaDDL")).SelectedIndex = 1;
                    ((TextBox)FacturaFormView.FindControl("new_despacho_internoTB")).Text            = vLiq.Nro__Despacho_Interno.Trim();
                    ((TextBox)FacturaFormView.FindControl("new_tipo_movimientoTB")).Text             = vLiq.Tipo_Movimiento.Trim();
                    ((TextBox)FacturaFormView.FindControl("new_despachoTB")).Text = vLiq.Nro__Despacho.Trim();

                    ((TextBox)FacturaFormView.FindControl("new_totalTB")).Text          = Core.Util.GetFormatedNumber(vLiq.Total);
                    ((TextBox)FacturaFormView.FindControl("new_iva_gastosTB")).Text     = Core.Util.GetFormatedNumber(vLiq.IVA_Gastos);
                    ((TextBox)FacturaFormView.FindControl("new_iva_honorariosTB")).Text = Core.Util.GetFormatedNumber(vLiq.IVA_Honorarios);

                    ((TextBox)FacturaFormView.FindControl("new_retencion_ivaTB")).Text            = Core.Util.GetFormatedNumber(vLiq.IVA_Retención);
                    ((TextBox)FacturaFormView.FindControl("new_retencion_iva_gastosTB")).Text     = Core.Util.GetFormatedNumber(vLiq.IVA_Ret__Gastos);
                    ((TextBox)FacturaFormView.FindControl("new_retencion_iva_honorariosTB")).Text = Core.Util.GetFormatedNumber(vLiq.IVA_Ret__Honorarios);
                }

                FacturaDetalleGeneradaGridView.DataBind();
            }
            catch (Exception ex)
            {
                Core.Util.ShowAlert("Error al obtener datos liquidación: " + ex.Message);
            }
        }