public bool Generar_Factura(Aca_Pre_Facturacion_det_Info info_afacturar)
        {
            try
            {
                info_parametro_fa = bus_partametro_fa.Get_Info_parametro(param.IdEmpresa);
                decimal         idcomprobanteVta = 0;
                string          msg    = "";
                string          numDoc = "";
                fa_factura_Info item   = new fa_factura_Info();
                item = Get_convertir_Pre_Fact_A_Factuta(info_afacturar);
                // grabando FACTURA

                if (bus_factura.GuardarDB(item, ref idcomprobanteVta, ref numDoc, ref msg, ref msg))
                {
                    // GRABANDO EN LA TABLA PERSONALIZADA
                    info_factura                  = new fa_factura_aca_Info();
                    info_factura.IdEmpresa        = item.IdEmpresa;
                    info_factura.IdSucursal       = item.IdSucursal;
                    info_factura.IdBodega         = item.IdBodega;
                    info_factura.IdCbteVta        = idcomprobanteVta;
                    info_factura.IdEstudiante     = item.IdEstudiante;
                    info_factura.IdParentesco_cat = item.IdParentesco_cat;
                    info_factura.IdInstitucion    = item.IdEmpresa;
                    info_factura.IdFamiliar       = item.IdFamiliar;

                    //info_factura.IdAnioLectivo =Convert.ToString( item.vt_anio);
                    info_factura.IdAnioLectivo = item.vt_anio;

                    info_factura.IdPeriodo = item.IdPeriodo;
                    info_factura.IdRubro   = item.IdRubro;

                    bus_factura_ACA.GrabarDB(info_factura, ref msg);



                    info_afacturar.IdEmpresa_fac  = item.IdEmpresa;
                    info_afacturar.IdSucursal_fac = item.IdSucursal;
                    info_afacturar.IdBodega_fac   = item.IdBodega;
                    info_afacturar.IdCbteVta_fac  = idcomprobanteVta;

                    data.ActualizarDB(info_afacturar, ref msg);
                    // generar el xml

                    bus_factura.GenerarXml_Factura(item.IdEmpresa, item.IdSucursal, item.IdBodega, idcomprobanteVta, @"C:\Xml\", ref msg);
                    //bus_factura.GenerarXml_Factura(item.IdEmpresa, item.IdSucursal, item.IdBodega, idcomprobanteVta,info_parametro_fa.pa_ruta_descarga_xml_fac_elct, ref msg);
                }



                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Get_List_Catalogo", ex.Message), ex)
                      {
                          EntityType = typeof(Aca_Catalogo_Bus)
                      };
            }
        }
        private bool guardarDB()
        {
            try
            {
                bool res = false;

                if (!validar())
                {
                    return(false);
                }
                decimal ID                    = 0;
                string  num_documento         = "";
                string  mensajeDocumentoDupli = "";
                get_info();

                if (bus_factura.GuardarDB(info_factura, ref ID, ref num_documento, ref MensajeError, ref mensajeDocumentoDupli))
                {
                    MessageBox.Show("Registro guardado exitósamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    res = true;
                }
                else
                {
                    if (mensajeDocumentoDupli == "")
                    {
                        MessageBox.Show(MensajeError, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        MessageBox.Show(mensajeDocumentoDupli, param.Nombre_sistema);
                        cargarNumDoc();
                    }
                }

                if (MessageBox.Show("¿Desea imprimir el soporte de la factura?", param.Nombre_sistema, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    imprimir();
                }

                bus_proforma_det.anular_detalle(blst_det.Where(q => q.anulado == true).ToList());

                /*
                 * if (MessageBox.Show("¿Desea realizar la cobranza de la factura?", param.Nombre_sistema, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                 * {
                 *  info_factura.Subtotal = info_factura.DetFactura_List.Sum(q => q.vt_Subtotal);
                 *  info_factura.IVA = info_factura.DetFactura_List.Sum(q => q.vt_iva);
                 *  info_factura.Total = info_factura.DetFactura_List.Sum(q => q.vt_total);
                 *  info_factura.vt_saldo = info_factura.Total;
                 *
                 *  frmCxc_cobros_x_factura frm = new frmCxc_cobros_x_factura();
                 *  frm.set_info(info_factura);
                 *  frm.ShowDialog();
                 * }
                 */
                return(res);
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                NameMetodo = NameMetodo + " - " + ex.ToString();
                MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas)
                                , param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
                return(false);
            }
        }
示例#3
0
        private bool guardarDB()
        {
            try
            {
                if (!validar())
                {
                    return(false);
                }

                bool    res       = false;
                decimal IdFactura = 0;
                string  num_doc   = "";
                get_info();
                if (bus_factura.GuardarDB(info_factura, ref IdFactura, ref num_doc, ref MensajeError, ref MensajeError))
                {
                    fa_factura_fj_Bus bus_fact_fj = new fa_factura_fj_Bus();
                    info_factura.Factura_Fj.IdEmpresa  = param.IdEmpresa;
                    info_factura.Factura_Fj.IdSucursal = info_factura.IdSucursal;
                    info_factura.Factura_Fj.IdBodega   = info_factura.IdBodega;
                    info_factura.Factura_Fj.IdCbteVta  = info_factura.IdCbteVta;
                    bus_fact_fj.GuardarDB(info_factura.Factura_Fj);

                    /*
                     * foreach (var item in lst_liquidacion_x_punto_cargo)
                     * {
                     *  item.vt_IdEmpresa = info_factura.IdEmpresa;
                     *  item.vt_IdSucursal = info_factura.IdSucursal;
                     *  item.vt_IdBodega = info_factura.IdBodega;
                     *  item.vt_IdCbteVta = info_factura.IdCbteVta;
                     *
                     *
                     *  if (!bus_liquidacion_x_punto_cargo.ModificarDB_num_factura(item))
                     *  {
                     *      MessageBox.Show("Error al relacionar factura con liquidaciones", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                     *      return false;
                     *  }
                     * }
                     */
                    if (lst_prefacturacion_det.Count > 0)
                    {
                        foreach (var item in lst_prefacturacion_det)
                        {
                            item.IdEmpresa_vta = info_factura.IdEmpresa;
                            item.IdSucursal    = info_factura.IdSucursal;
                            item.IdBodega      = info_factura.IdBodega;
                            item.IdCbteVta     = info_factura.IdCbteVta;
                        }
                        if (!bus_prefacturacion_det.modificarDB(lst_prefacturacion_det))
                        {
                            MessageBox.Show("Error al relacionar factura con prefacturación", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return(false);
                        }
                    }

                    if (lst_unidades_x_AF.Count > 0)
                    {
                        foreach (var item in lst_unidades_x_AF)
                        {
                            if (eTipo_horas == Cl_Enumeradores.eTipo_horas_facturar.HORAS_NORMALES)
                            {
                                item.IdEmpresa_hn  = info_factura.IdEmpresa;
                                item.IdSucursal_hn = info_factura.IdSucursal;
                                item.IdBodega_hn   = info_factura.IdBodega;
                                item.IdCbteVta_hn  = info_factura.IdCbteVta;
                            }
                            else
                            {
                                item.IdEmpresa_he  = info_factura.IdEmpresa;
                                item.IdSucursal_he = info_factura.IdSucursal;
                                item.IdBodega_he   = info_factura.IdBodega;
                                item.IdCbteVta_he  = info_factura.IdCbteVta;
                            }
                        }
                        if (!bus_unidades_x_AF.ModificarDB(lst_unidades_x_AF))
                        {
                            MessageBox.Show("Error al relacionar factura el registro de unidades", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return(false);
                        }
                    }


                    MessageBox.Show("Factura guardada exitosamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    res = true;

                    if (MessageBox.Show("Desea imprimir la factura # " + num_doc + "?", param.Nombre_sistema, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        imprimir();
                    }
                }
                return(res);
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                NameMetodo = NameMetodo + " - " + ex.ToString();
                MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas)
                                , param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
                return(false);
            }
        }
示例#4
0
        public bool Convert_Liquidacion_a_Factura(int IdEmpresa, decimal IdLiquidacion_gastos, ref decimal IdCbteVta, ref string mensaje)
        {
            try
            {
                bool respuesta = false;
                fa_liquidacion_gastos_Bus         Bus_liqu_gastos    = new fa_liquidacion_gastos_Bus();
                fa_liquidacion_gastos_Info        InfoLiqui_Gasto    = new fa_liquidacion_gastos_Info();
                fa_pre_facturacion_Parametro_Info Info_Pre_fac_param = new fa_pre_facturacion_Parametro_Info();
                fa_pre_facturacion_Parametro_Bus  Bus_Pre_fac_param  = new fa_pre_facturacion_Parametro_Bus();

                Info_Pre_fac_param = Bus_Pre_fac_param.Get_Info(IdEmpresa);

                if (Info_Pre_fac_param.IdSucursal_para_facturar == 0 || Info_Pre_fac_param.IdBodega_para_facturar == 0)
                {
                    mensaje = "no hay IdSucursal o idbodega para factura en parametros de Liquidacion verifique y configure";
                    throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "no hay IdSucursal o idbodega para factura en parametros de Liquidacion verifique y configure ", mensaje))
                          {
                              EntityType = typeof(fa_liquidacion_gastos_Bus)
                          };
                }

                InfoLiqui_Gasto = Bus_liqu_gastos.Get_Info_Liquidacion_Gastos(IdEmpresa, IdLiquidacion_gastos, ref mensaje);

                if (InfoLiqui_Gasto.Lis_Detalle.Count() == 0)
                {
                    mensaje = "Liquidacion no tiene detalle";
                    return(false);
                }

                fa_factura_Bus  Bus_factura  = new fa_factura_Bus();
                fa_factura_Info Info_Factura = new fa_factura_Info();



                Info_Factura.IdEmpresa      = InfoLiqui_Gasto.IdEmpresa;
                Info_Factura.IdSucursal     = Info_Pre_fac_param.IdSucursal_para_facturar;
                Info_Factura.IdBodega       = Info_Pre_fac_param.IdBodega_para_facturar;
                Info_Factura.vt_tipoDoc     = "FACT";
                Info_Factura.IdCliente      = InfoLiqui_Gasto.IdCliente;
                Info_Factura.IdVendedor     = 1;
                Info_Factura.vt_fecha       = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                Info_Factura.vt_fech_venc   = Info_Factura.vt_fecha;
                Info_Factura.vt_plazo       = 0;
                Info_Factura.vt_tipo_venta  = "CON";
                Info_Factura.vt_Observacion = "Fact x Liqui : " + InfoLiqui_Gasto.Observacion;
                Info_Factura.IdPeriodo      = ((Info_Factura.vt_fecha.Year) * 100) + Info_Factura.vt_fecha.Month;
                Info_Factura.vt_anio        = Info_Factura.vt_fecha.Year;
                Info_Factura.vt_mes         = Info_Factura.vt_fecha.Month;
                Info_Factura.Estado         = "A";
                Info_Factura.IdCaja         = 1;


                List <fa_factura_det_info> list_det_factura = new List <fa_factura_det_info>();


                foreach (fa_liquidacion_gastos_det_Info item_det in InfoLiqui_Gasto.Lis_Detalle)
                {
                    fa_factura_det_info Info_det_factura = new fa_factura_det_info();

                    Info_det_factura.IdEmpresa          = Info_Factura.IdEmpresa;
                    Info_det_factura.IdSucursal         = Info_Factura.IdSucursal;
                    Info_det_factura.IdBodega           = Info_Factura.IdBodega;
                    Info_det_factura.IdCbteVta          = 0;
                    Info_det_factura.Secuencia          = item_det.secuencia;
                    Info_det_factura.IdProducto         = item_det.IdProducto;
                    Info_det_factura.vt_cantidad        = item_det.cantidad;
                    Info_det_factura.vt_Precio          = item_det.precio;
                    Info_det_factura.vt_PrecioFinal     = item_det.precio;
                    Info_det_factura.vt_Subtotal        = item_det.subtotal;
                    Info_det_factura.vt_iva             = item_det.valor_iva;
                    Info_det_factura.vt_por_iva         = item_det.por_iva;
                    Info_det_factura.vt_total           = item_det.Total_liq;
                    Info_det_factura.vt_estado          = "A";
                    Info_det_factura.IdCod_Impuesto_Iva = param.iva.IdCod_Impuesto;
                    Info_det_factura.vt_detallexItems   = item_det.detalle_x_producto;
                    Info_det_factura.IdPunto_cargo      = null;
                    list_det_factura.Add(Info_det_factura);
                }

                Info_Factura.DetFactura_List = list_det_factura;

                string num_doc_x_fac = "";
                string mensaje_dupli = "";

                respuesta = Bus_factura.GuardarDB(Info_Factura, ref IdCbteVta, ref num_doc_x_fac, ref mensaje, ref mensaje_dupli);

                return(respuesta);
            }
            catch (Exception ex)
            {
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", "", "", "", "", "", "", DateTime.Now);
                throw new Exception();
            }
        }