private BEComprobanteEmision GenerarTicketDeVenta(int pcodEmpresa, MovimientoAux pitem, int pcodPersonaEmpleado, string pcodEmpresaRUC, string pUserActual, string pcodPlanilla, ref BEDocumento pTicketRef, ref int pcodDocumentoSerie) { DocumentoLogic oDocumentoLogic = new DocumentoLogic(); PersonasLogic oPersonasLogic = new PersonasLogic(); ImpuestoLogic oTiposDeImpuestoLogic = new ImpuestoLogic(); TarifaLogic oTarifaLogic = new TarifaLogic(); TipoDeCambioLogic oTiposdeCambioLogic = new TipoDeCambioLogic(); BEImpuesto miImpuestoVTA = new BEImpuesto(); BEDocumento miTicket = new BEDocumento(); BEPersona miPersona = new BEPersona(); TarifaAux miTarifa = new TarifaAux(); BETipoDeCambio miTiposDeCambio = new BETipoDeCambio(); miTicket = oDocumentoLogic.Find(ConfigurationManager.AppSettings["DEFAULT_Doc_Ticket"].ToString(), pcodEmpresaRUC, pcodEmpresa, pUserActual); pTicketRef = miTicket; miPersona = oPersonasLogic.Find(pcodEmpresa, pitem.codPersonaCliente, pUserActual); miImpuestoVTA = oTiposDeImpuestoLogic.Find(pcodEmpresa, ConfigurationManager.AppSettings["DEFAULT_Impuesto_Ventas"].ToString(), pUserActual); miTarifa = oTarifaLogic.Find(pitem.codTarifa); miTiposDeCambio = oTiposdeCambioLogic.Find(new BaseFiltroTipoCambio { codEmpresa = pcodEmpresa, fecInicioDate = DateTime.Now, codRegMoneda = ConfigurationManager.AppSettings["DEFAULT_MonedaInt"].ToString() }); string p_NroComprobante = HelpDocumentos.Tipos.TCK.ToString() + NumerodeComprobante(oDocumentoLogic, pcodEmpresa, pitem.codPersonaEmpresa, miTicket.CodigoComprobante, pitem.codPuntoDeVenta, pcodPlanilla, pitem.segUsuarioCrea, ref pcodDocumentoSerie); BEComprobanteEmision miDocumentoTicket = new BEComprobanteEmision { CodigoArguEstadoDocu = miTicket.CodigoArguEstEMIDefault, CodigoArguMoneda = ConfigurationManager.AppSettings["DEFAULT_MonedaNac"].ToString(), CodigoArguTipoDeOperacion = ConfigurationManager.AppSettings["DEFAULT_Movim_Venta"].ToString(), CodigoArguTipoDomicil = ((int)TipoDomicilio.FISCAL_PRINCIPAL).ToString(), // ConfigCROM.AppConfig(ConfigTool.DEFAULT_Atributo_DomicFiscal), CodigoArguUbigeo = ConfigCROM.AppConfig(pcodEmpresa, ConfigTool.DEFAULT_Ubigeo), //. ConfigurationManager.AppSettings["DEFAULT_Ubigeo"].ToString(), CodigoComprobante = ConfigurationManager.AppSettings["DEFAULT_Doc_Ticket"].ToString(), CodigoArguDestinoComp = WebConstants.DEFAULT_DOCUM_DESTINADO_CLIENTES, CodigoComprobanteFact = miTicket.CodigoComprobante, codEmpleado = pcodPersonaEmpleado, CodigoPersonaEmpre = pitem.codPersonaEmpresa, CodigoPersonaEntidad = pitem.codPersonaCliente, codEmpleadoVendedor = pcodPersonaEmpleado, CodigoPuntoVenta = pitem.codPuntoDeVenta, codCondicionVenta = Convert.ToInt32(ConfigCROM.AppConfig(pcodEmpresa, ConfigTool.DEFAULT_CondicionVenta)), //.ConfigurationManager.AppSettings["DEFAULT_CondicionVenta"].ToString(), DocEsFacturable = miTicket.EsComprobanteFiscal, EntidadDireccion = "No exige el tipo de DOC", EntidadDireccionUbigeo = "LIMA", EntidadNumeroRUC = "9999", EntidadRazonSocial = miPersona.RazonSocial, Estado = true, FechaDeEmision = DateTime.Now, FechaDeEntrega = DateTime.Now, FechaDeCancelacion = DateTime.Now, FechaDeProceso = DateTime.Now, FechaDeVencimiento = DateTime.Now, Nota01 = "Ticket gen. automático", NumeroComprobante = p_NroComprobante, // NumerodeComprobante(oComprobantesLogic, miTicket.CodigoComprobante, item.codPersonaEmpresa, item.codPuntoDeVenta, item.segUsuarioCrea), Observaciones = pitem.gloObservacion, SegUsuarioCrea = pitem.segUsuarioCrea, SegUsuarioEdita = pitem.segUsuarioCrea, ValorIGV = miImpuestoVTA.Porcentaje, ValorTipoCambioCMP = miTiposDeCambio.CodigoArguMoneda == null ? 2 : miTiposDeCambio.CambioCompraPRL, ValorTipoCambioVTA = miTiposDeCambio.CodigoArguMoneda == null ? 2 : miTiposDeCambio.CambioVentasPRL, }; ProductoLogic oProductoLogic = new ProductoLogic(); BEProducto miProducto = new BEProducto(); miProducto = oProductoLogic.Find(new BaseFiltroAlmacen { codEmpresaRUC = pitem.codPersonaEmpresa, codPuntoVenta = pitem.codPuntoDeVenta, codProducto = miTarifa.codProducto }); miDocumentoTicket.listaComprobanteEmisionDetalle.Add(new BEComprobanteEmisionDetalle { Cantidad = 1, CantiDecimales = 4, CodigoArguEstadoDocu = miTicket.CodigoArguEstEMIDefault, CodigoArguDestinoComp = WebConstants.DEFAULT_DOCUM_DESTINADO_CLIENTES, CodigoArguTipoProducto = ConfigurationManager.AppSettings["DEFAULT_ProducTerminado"].ToString(), CodigoArguUnidadMed = ConfigurationManager.AppSettings["DEFAULT_UnidadMedida"].ToString(), CodigoComprobante = miTicket.CodigoComprobante, NumeroComprobante = miDocumentoTicket.NumeroComprobante, CodigoItemDetalle = "001", //codEmpresa = item.codPersonaEmpresa, codEmpleadoVendedor = pcodPersonaEmpleado, CodigoProducto = miTarifa.codiProducto, codProducto = miTarifa.codProducto, Descripcion = miProducto.Descripcion, Estado = true, CodigoPuntoVenta = pitem.codPuntoDeVenta, EsVerificarStock = false, FechaDeEmision = miDocumentoTicket.FechaDeEmision, IncluyeIGV = miImpuestoVTA.DiscriminaIGV, PesoTotal = 0, SegUsuarioCrea = pitem.segUsuarioCrea, SegUsuarioEdita = pitem.segUsuarioCrea, UnitPrecioBruto = pitem.monMontoPagado.Value, }); CalcularDatosDelPrecioDeVenta(miImpuestoVTA, pitem, miDocumentoTicket.listaComprobanteEmisionDetalle[0]); CalcularTotalDocumento(ref miDocumentoTicket, miImpuestoVTA); return(miDocumentoTicket); }
public List <BEListaDePrecioDetalle> ListDesdeStock(BaseFiltro filtro) //, string prm_CodigoPersonaEmpre, string prm_CodigoPuntoVenta, string prm_codDeposito, string prm_CodigoArguMoneda, bool prm_EsParaVentas, string prm_CodigoLista, string prm_UsuarioLogin) { List <BEListaDePrecioDetalle> lstListaDePrecioDetalle = new List <BEListaDePrecioDetalle>(); List <BEProducto> lstProducto = new List <BEProducto>(); List <BEProducto> lstProductoDep = new List <BEProducto>(); List <BEProductoPrecio> lstProductoPrecio = new List <BEProductoPrecio>(); BETipoDeCambio itemTiposDeCambio = new BETipoDeCambio(); try { ProductoLogic productoLogic = new ProductoLogic(); ProductoPrecioData oProductoPrecioData = new ProductoPrecioData(); TipoDeCambioLogic oTiposdeCambioLogic = new TipoDeCambioLogic(); lstProducto = productoLogic.List(new BaseFiltroAlmacen { codPerEmpresa = filtro.codPerEmpresa, codDeposito = string.Empty, codProductoRefer = string.Empty, codProducto = null, desNombre = string.Empty, desComercial = string.Empty, codRegMarca = string.Empty, codRegTipo = string.Empty, indDestinoCompra = true, indDestinaVenta = true, codRegCentroProducc = string.Empty, codRegCategoria = string.Empty, codRegUnidadMedida = string.Empty, indEstado = true, desPalabraClave = string.Empty, indTodos = true }); itemTiposDeCambio = oTiposdeCambioLogic.Find(new BaseFiltro { fecInicioDate = DateTime.Now, codRegMoneda = ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaInt) }); foreach (BEProducto xProducto in lstProducto) { if (xProducto.EsListaPrecio) { BEProducto productoNew = new BEProducto(); filtro.codProducto = xProducto.codProducto; BaseFiltroAlmacen filtroAlmacen = new BaseFiltroAlmacen { codProductoRefer = filtro.codProductoRefer, codProducto = filtro.codProducto.Value }; productoNew = productoLogic.Find(filtroAlmacen); productoNew.itemProductoPrecio.codProducto = xProducto.codProducto; productoNew.itemProductoPrecio.CodigoProductoNombre = productoNew.Descripcion; lstProductoPrecio.Add(productoNew.itemProductoPrecio); } } filtro.codProducto = null; foreach (BEProductoPrecio itemproductoPrecio in lstProductoPrecio) { BEListaDePrecioDetalle itemlistaDePrecioDetalle = new BEListaDePrecioDetalle { CodigoArguMoneda = filtro.codRegMoneda, codProducto = itemproductoPrecio.codProducto, CodigoProducto = itemproductoPrecio.CodigoProducto, Estado = itemproductoPrecio.Estado, segFechaEdita = DateTime.Now, segUsuarioEdita = filtro.segUsuarioEdita, CodigoProductoNombre = itemproductoPrecio.CodigoProductoNombre, CodigoLista = filtro.codListaPrecio, segUsuarioCrea = filtro.segUsuarioEdita, segFechaCrea = DateTime.Now, CodigoPersonaEmpre = filtro.codPerEmpresa, CodigoPuntoVenta = filtro.codPuntoVenta, }; decimal PRECIO_A_TOMAR = 0; if (filtro.indParaVenta.Value) { PRECIO_A_TOMAR = itemproductoPrecio.ValorVenta; } else { PRECIO_A_TOMAR = itemproductoPrecio.ValorCosto; } if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { itemlistaDePrecioDetalle.PrecioUnitario = PRECIO_A_TOMAR; } else { if (filtro.codRegMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaNac)) { if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { itemlistaDePrecioDetalle.PrecioUnitario = PRECIO_A_TOMAR; } else { itemlistaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(PRECIO_A_TOMAR * itemTiposDeCambio.CambioVentasPRL, 2); } } if (filtro.codRegMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaInt)) { if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { itemlistaDePrecioDetalle.PrecioUnitario = PRECIO_A_TOMAR; } else { itemlistaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(PRECIO_A_TOMAR / itemTiposDeCambio.CambioVentasPRL, 2); } } } lstListaDePrecioDetalle.Add(itemlistaDePrecioDetalle); } } catch (Exception ex) { throw ex; } return(lstListaDePrecioDetalle); }
public List <BEListaDePrecioDetalle> ListDesdeStockCompras(BaseFiltro filtro) // string prm_CodigoPersonaEmpre, string prm_CodigoPuntoVenta, string prm_codDeposito, string prm_CodigoArguMoneda, bool prm_ParaCompras, bool prm_ParaVentas, string prm_CodigoLista, string prm_UsuarioLogin) { List <BEListaDePrecioDetalle> lstListaDePrecioDetalle = new List <BEListaDePrecioDetalle>(); List <DTOProductoResponse> lstProducto = new List <DTOProductoResponse>(); List <BEProducto> lstProductoDep = new List <BEProducto>(); List <BEProductoPrecio> lstProductoPrecio = new List <BEProductoPrecio>(); BETipoDeCambio tipoDeCambio = new BETipoDeCambio(); try { ProductoLogic oProductoLogic = new ProductoLogic(); ProductoPrecioData oProductoPrecioData = new ProductoPrecioData(); TipoDeCambioLogic oTiposdeCambioLogic = new TipoDeCambioLogic(); lstProducto = oProductoLogic.List(new BaseFiltroProducto { codEmpresaRUC = filtro.codEmpresaRUC, codDeposito = string.Empty, codProductoRefer = string.Empty, desNombre = string.Empty, desComercial = string.Empty, codMarca = null, codRegTipo = string.Empty, indDestinoCompra = true, indDestinaVenta = true, codRegCentroProducc = string.Empty, codRegCategoria = string.Empty, codRegUnidadMedida = string.Empty, indEstado = true, desPalabraClave = string.Empty, indTodos = true }); tipoDeCambio = oTiposdeCambioLogic.Find(new BaseFiltroTipoCambio { codEmpresa = filtro.codEmpresa, fecInicioDate = DateTime.Now, codRegMoneda = ConfigCROM.AppConfig(filtro.codEmpresa, ConfigTool.DEFAULT_MonedaInt) }); foreach (DTOProductoResponse xProducto in lstProducto) { if (xProducto.EsListaPrecio) { BEProducto productoNew = new BEProducto(); productoNew = oProductoLogic.Find(new BaseFiltroAlmacen { codEmpresa = filtro.codEmpresa, codProducto = xProducto.codProducto }); productoNew.itemProductoPrecio.CodigoProductoNombre = productoNew.Descripcion; lstProductoPrecio.Add(productoNew.itemProductoPrecio); } } filtro.codProducto = null; foreach (BEProductoPrecio itemproductoPrecio in lstProductoPrecio) { BEListaDePrecioDetalle xlstListaDePrecioDetalle = new BEListaDePrecioDetalle { CodigoArguMoneda = filtro.codRegMoneda, codProducto = itemproductoPrecio.codProducto, CodigoProducto = itemproductoPrecio.CodigoProducto, Estado = itemproductoPrecio.Estado, segFechaEdita = DateTime.Now, segUsuarioEdita = filtro.segUsuarioEdita, CodigoProductoNombre = itemproductoPrecio.CodigoProductoNombre, CodigoLista = filtro.codListaPrecio, segUsuarioCrea = filtro.segUsuarioEdita, segFechaCrea = DateTime.Now, CodigoPersonaEmpre = filtro.codEmpresaRUC, CodigoPuntoVenta = filtro.codPuntoVenta, }; if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { xlstListaDePrecioDetalle.PrecioUnitario = itemproductoPrecio.ValorVenta; } else { if (filtro.codRegMoneda == ConfigCROM.AppConfig(filtro.codEmpresa, ConfigTool.DEFAULT_MonedaNac)) { if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { xlstListaDePrecioDetalle.PrecioUnitario = itemproductoPrecio.ValorVenta; } else { xlstListaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(itemproductoPrecio.ValorVenta * tipoDeCambio.CambioVentasPRL, 2); } } if (filtro.codRegMoneda == ConfigCROM.AppConfig(filtro.codEmpresa, ConfigTool.DEFAULT_MonedaInt)) { if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda) { xlstListaDePrecioDetalle.PrecioUnitario = itemproductoPrecio.ValorVenta; } else { xlstListaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(itemproductoPrecio.ValorVenta / tipoDeCambio.CambioVentasPRL, 2); } } } lstListaDePrecioDetalle.Add(xlstListaDePrecioDetalle); } } catch (Exception ex) { throw ex; } return(lstListaDePrecioDetalle); }