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); } }
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); } }
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(); } }