public ReturnValor UpdateIndFacturadoGeneraTCK(int pcodEmpresa, MovimientoAux itemMovimiento, int pcodPersonaEmpleado, string pcodEmpresaRUC, string pUser, string pcodPlanilla, ref BEComprobanteEmision refmiTicket) { try { using (TransactionScope txP = new TransactionScope(TransactionScopeOption.Required)) { ComprobanteEmisionLogic oComprobanteEmisionLogic = new ComprobanteEmisionLogic(); BEComprobanteEmision miTicket = new BEComprobanteEmision(); BEDocumento p_miComprobante = new BEDocumento(); int codDocumentoSerie = -1; miTicket = GenerarTicketDeVenta(pcodEmpresa, itemMovimiento, pcodPersonaEmpleado, pcodEmpresaRUC, pUser, pcodPlanilla, ref p_miComprobante, ref codDocumentoSerie); ReturnValor oReturnTICK = new ReturnValor(); miTicket.codDocumentoSerie = codDocumentoSerie; miTicket.codEmpresaRUC = pcodEmpresaRUC; oReturnTICK = oComprobanteEmisionLogic.Insert(miTicket, p_miComprobante); refmiTicket = miTicket; itemMovimiento.codDocumento = refmiTicket.CodigoComprobante; itemMovimiento.numDocumento = refmiTicket.NumeroComprobante; oReturnValor.Exitosa = oMovimientoData.UpdateIndFacturado(itemMovimiento); if (oReturnValor.Exitosa && oReturnTICK.Exitosa) { oReturnValor.CodigoRetorno = miTicket.CodigoComprobante + "*" + miTicket.NumeroComprobante; oReturnValor.Message = HelpMessages.Evento_EDIT; txP.Complete(); } } } catch (Exception ex) { oReturnValor = HelpException.mTraerMensaje(ex); } return(oReturnValor); }
/// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo ComprobanteEmitidos /// En la BASE de DATO la Tabla : [CajaBancos.ComprobanteEmitidos] /// </summary> /// <param name="itemComprobanteEmitidos"></param> /// <param name="comprobanteEmision"></param> /// <returns></returns> public ReturnValor PagarEfectivo(CajaRegistroAux cajaRegistro, BEComprobanteEmision comprobanteEmision, decimal prm_MontoPagadoMN, decimal prm_MontoPagadoMI, decimal prm_SaldoActualMN, decimal prm_SaldoActualMI) { return(new CajaRegistroLogic().PagarEfectivo(cajaRegistro, comprobanteEmision, prm_MontoPagadoMN, prm_MontoPagadoMI, prm_SaldoActualMN, prm_SaldoActualMI)); }
/// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo GastoDeAduana /// En la BASE de DATO la Tabla : [GestionComercial.GastoDeAduana] /// <summary> /// <param name = >itemGastoDeAduana</param> public ReturnValor InsertUpdate(GastoDeAduanaAux itemGastoDeAduana) { try { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { if (string.IsNullOrEmpty(itemGastoDeAduana.codDocumentoDest)) { itemGastoDeAduana.codDocumentoDest = null; } if (string.IsNullOrEmpty(itemGastoDeAduana.numDocumentoDest)) { itemGastoDeAduana.numDocumentoDest = null; } if (itemGastoDeAduana.codDocumentoDest != null && itemGastoDeAduana.numDocumentoDest != null) { ComprobanteEmisionData comprobanteEmisionData = new ComprobanteEmisionData(); BEComprobanteEmision comprobanteEmision = new BEComprobanteEmision(); comprobanteEmision = comprobanteEmisionData.Find(itemGastoDeAduana.codDocumRegDestino); if (itemGastoDeAduana.codRegistroMoneda != comprobanteEmision.CodigoArguMoneda) { throw new Exception("El gasto a registrar no tiene el mismo tipo de moneda del documento asigando."); } if (itemGastoDeAduana.codRegistroMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaNac)) { if (itemGastoDeAduana.monValorDeGasto != comprobanteEmision.ValorTotalPrecioVenta) { throw new Exception("El monto del gasto a registrar no es igual que el documento asigando. Se esperaba el monto de : [ " + comprobanteEmision.ValorTotalPrecioVenta.ToString("N2") + " ]"); } } else if (itemGastoDeAduana.codRegistroMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaInt)) { if (itemGastoDeAduana.monValorDeGasto != comprobanteEmision.ValorTotalPrecioExtran) { throw new Exception("El monto del gasto a registrar no es igual que el documento asigando. Se esperaba el monto de : [ " + comprobanteEmision.ValorTotalPrecioExtran.ToString("N2") + " ]"); } } } int?resultado = null; if (itemGastoDeAduana.codGastoDeAduana == 0) { resultado = oGastoDeAduanaData.Insert(itemGastoDeAduana); if (resultado != null) { itemGastoDeAduana.codGastoDeAduana = resultado.Value; oReturnValor.Exitosa = GuardaRefDocumento(itemGastoDeAduana, resultado); } if (oReturnValor.Exitosa && resultado != null) { oReturnValor.Message = HelpMessages.Evento_NEW; tx.Complete(); } } else if (itemGastoDeAduana.codGastoDeAduana > 0) { bool resultadoB = oGastoDeAduanaData.Update(itemGastoDeAduana); oReturnValor.Exitosa = GuardaRefDocumento(itemGastoDeAduana, itemGastoDeAduana.codGastoDeAduana); if (oReturnValor.Exitosa && resultadoB) { oReturnValor.Message = HelpMessages.Evento_EDIT; tx.Complete(); } } } } catch (Exception ex) { oReturnValor.Message = ex.Message; } return(oReturnValor); }
private void CalcularTotalDocumento(ref BEComprobanteEmision miDocumentoTicket, BEImpuesto itemImpuestoVTA) { decimal nTotItemValorBruto = 0; decimal nTotItemValorDscto = 0; decimal nTotItemValorVenta = 0; decimal nTotItemValorIGV = 0; if (string.IsNullOrEmpty(miDocumentoTicket.NumeroComprobante)) { return; } int xxItems = 0; foreach (BEComprobanteEmisionDetalle itemDocDetalle in miDocumentoTicket.listaComprobanteEmisionDetalle) { nTotItemValorBruto += (itemDocDetalle.TotItemValorBruto); nTotItemValorDscto += itemDocDetalle.TotItemValorDscto; nTotItemValorVenta += itemDocDetalle.TotItemValorVenta; nTotItemValorIGV += itemDocDetalle.TotItemValorIGV; ++xxItems; } miDocumentoTicket.ValorTotalBruto = nTotItemValorBruto; miDocumentoTicket.ValorTotalDescuento = nTotItemValorDscto; miDocumentoTicket.ValorTotalVenta = nTotItemValorVenta; miDocumentoTicket.ValorTotalImpuesto = nTotItemValorIGV; decimal nTotPrecioVenta = nTotItemValorVenta + nTotItemValorIGV; miDocumentoTicket.ValorTotalPrecioVenta = nTotPrecioVenta; foreach (BEComprobanteEmisionImpuesto itemComprobanteEmisionImpuestos in miDocumentoTicket.listaComprobanteEmisionImpuestos) { if (itemImpuestoVTA.CodigoImpuesto == itemComprobanteEmisionImpuestos.CodigoImpuesto) { itemComprobanteEmisionImpuestos.ValorTotalImpuesto = nTotItemValorIGV; itemComprobanteEmisionImpuestos.ValorDeImpuesto100 = Helper.DecimalRound(itemComprobanteEmisionImpuestos.ValorDeImpuesto * 100, 2); } if (itemComprobanteEmisionImpuestos.CodigoImpuesto == ConfigurationManager.AppSettings["DEFAULT_Impuesto_Desctos"].ToString()) { itemComprobanteEmisionImpuestos.ValorTotalImpuesto = nTotItemValorDscto; if (nTotItemValorBruto > 0) { itemComprobanteEmisionImpuestos.ValorDeImpuesto100 = Helper.DecimalRound((nTotItemValorDscto / nTotItemValorBruto) * 100, 2); } else { itemComprobanteEmisionImpuestos.ValorDeImpuesto100 = 0; } } } //if (miDocumentoTicket.CodigoArguMoneda == ConfigurationManager.AppSettings["DEFAULT_MonedaNac"]) //{ // Decimal PrecExtrj = miDocumentoTicket.ValorTotalPrecioVenta / Convert.ToDecimal(miDocumentoTicket.ValorTipoCambioVTA); // PrecExtrj = Helper.DecimalRound(PrecExtrj, 2); // itemComprobanteEmision.ValorTotalPrecioExtran = PrecExtrj; // itemComprobanteEmision.ValorTotalPrecioVenta = Convert.ToDecimal(DOCUM_ValorTotalPrecioVenta.Text); // itemComprobanteEmision.ValorTotalBruto = Convert.ToDecimal(DOCUM_ValorTotalBruto.Text); // itemComprobanteEmision.ValorTotalVenta = Convert.ToDecimal(DOCUM_ValorTotalVenta.Text); //} //else if (miDocumentoTicket.CodigoArguMoneda == ConfigurationManager.AppSettings["DEFAULT_MonedaInt"]) //{ // itemComprobanteEmision.ValorTotalPrecioExtran = Convert.ToDecimal(DOCUM_ValorTotalPrecioVenta.Text); // itemComprobanteEmision.ValorTotalPrecioVenta = Convert.ToDecimal(DOCUM_ValorTotalPrecioVenta.Text) * Convert.ToDecimal(DOCUM_ValorTipoCambioVTA.Text); // itemComprobanteEmision.ValorTotalBruto = Convert.ToDecimal(DOCUM_ValorTotalBruto.Text) * Convert.ToDecimal(DOCUM_ValorTipoCambioVTA.Text); // itemComprobanteEmision.ValorTotalVenta = Convert.ToDecimal(DOCUM_ValorTotalVenta.Text) * Convert.ToDecimal(DOCUM_ValorTipoCambioVTA.Text); //} miDocumentoTicket.ValorTotalPrecioExtran = miDocumentoTicket.ValorTotalPrecioVenta / Convert.ToDecimal(miDocumentoTicket.ValorTipoCambioVTA); }
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 ReturnValor UpdateIndFacturadoAnularTCK(MovimientoAux pMovimiento, BEDocumento pDocumento, BEComprobanteEmision miTicket) { try { using (TransactionScope txP = new TransactionScope(TransactionScopeOption.Required)) { ComprobanteEmisionLogic oComprobanteEmisionLogic = new ComprobanteEmisionLogic(); ReturnValor oReturnValorJM = new ReturnValor(); oReturnValorJM = oComprobanteEmisionLogic.UpdateAnulacion(miTicket, pDocumento); pMovimiento.codDocumento = null; pMovimiento.numDocumento = null; pMovimiento.indFacturado = false; oReturnValor.Exitosa = oMovimientoData.UpdateIndFacturado(pMovimiento); if (oReturnValor.Exitosa && oReturnValorJM.Exitosa) { oReturnValor.Message = HelpMessages.gc_DOCUM_YA_ANULADO; txP.Complete(); } } } catch (Exception ex) { oReturnValor = HelpException.mTraerMensaje(ex); } return(oReturnValor); }
///// <summary> ///// Retorna una LISTA de registro de la Entidad CajaBancos.ComprobanteEmitidos POR FOREIGN KEY ///// En la BASE de DATO la Tabla : [CajaBancos.ComprobanteEmitidos] ///// <summary> ///// <returns>Entidad</returns> //public List<CajaRegistroAux> List(int pcodEmpresa, Nullable<DateTime> prm_fecIngresoInicio, // Nullable<DateTime> prm_fecIngresoFinal, int? prm_codDocumReg, // string prm_codRegistroDestinoComp, string prm_codPersonaEntidad, // int? prm_codEmpleado, string prm_codRegistroMoneda, // string prm_codParteDiario, string prm_codFormaDePago, // bool? prm_indConciliado) //{ // List<CajaRegistroAux> listaCajaRegistro = new List<CajaRegistroAux>(); // try // { // listaCajaRegistro = oCajaRegistroData.List(pcodEmpresa, // HelpTime.ConvertYYYYMMDD(prm_fecIngresoInicio), // HelpTime.ConvertYYYYMMDD(prm_fecIngresoFinal), // prm_codDocumReg, // prm_codRegistroDestinoComp, // prm_codPersonaEntidad, // prm_codEmpleado, // prm_codRegistroMoneda, // prm_codParteDiario, // prm_codFormaDePago, // prm_indConciliado); // } // catch (Exception ex) // { // throw ex; // } // return listaCajaRegistro; //} #endregion #region /* Proceso de INSERT RECORD */ /// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo ComprobanteEmitidos /// En la BASE de DATO la Tabla : [CajaBancos.ComprobanteEmitidos] /// </summary> /// <param name="itemComprobanteEmitidos"></param> /// <param name="comprobanteEmision"></param> /// <returns></returns> public ReturnValor PagarEfectivo(CajaRegistroAux cajaRegistro, BEComprobanteEmision comprobanteEmision, decimal prm_MontoPagadoMN, decimal prm_MontoPagadoMI, decimal prm_SaldoActualMN, decimal prm_SaldoActualMI) { try { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { //oReturnValor.Exitosa = oCajaRegistroData.Insert(cajaRegistro); bool SUCEDE_OK = true; bool SUCEDE_CT = true; decimal DIFERENCIA = 0; if (cajaRegistro.codRegistroMoneda == ConfigCROM.AppConfig(cajaRegistro.codEmpresa, ConfigTool.DEFAULT_MonedaNac)) { if (prm_MontoPagadoMN < 0) { prm_MontoPagadoMN = prm_MontoPagadoMN * (-1); } decimal pagadoHastaAhora = prm_MontoPagadoMN + cajaRegistro.monImportePagado; if (pagadoHastaAhora == comprobanteEmision.ValorTotalPrecioVenta) { SUCEDE_OK = oComprobanteEmisionData.UpdateCancelacion(comprobanteEmision.codDocumReg, comprobanteEmision.CodigoArguEstadoDocu, cajaRegistro.gloObservacion, cajaRegistro.fecIngreso, cajaRegistro.codParteDiario, cajaRegistro.segUsuarioCrea); } } else { if (prm_SaldoActualMI == cajaRegistro.monImportePagadoEx) { SUCEDE_OK = oComprobanteEmisionData.UpdateCancelacion(comprobanteEmision.codDocumReg, comprobanteEmision.CodigoArguEstadoDocu, cajaRegistro.gloObservacion, cajaRegistro.fecIngreso, cajaRegistro.codParteDiario, cajaRegistro.segUsuarioCrea); } } CuentasCorrientesData oCuentasCorrientesData = new CuentasCorrientesData(); BECuentaCorriente cuentacorriente = new BECuentaCorriente { codEmpresa = comprobanteEmision.codEmpresa, codDocumReg = comprobanteEmision.codDocumReg, CodigoArguDestinoComp = comprobanteEmision.CodigoArguDestinoComp, CodigoArguMoneda = comprobanteEmision.CodigoArguMoneda, CodigoArguTipoMovimi = comprobanteEmision.CodigoArguTipoDeOperacion, CodigoComprobante = comprobanteEmision.CodigoComprobante, codEmpleado = cajaRegistro.codEmpleado, CodigoPersonaEmpre = comprobanteEmision.CodigoPersonaEmpre, CodigoPuntoVenta = cajaRegistro.codPuntoDeVenta, DEBETipoCambioVTA = cajaRegistro.monTCambioVTA, DEBETipoCambioCMP = cajaRegistro.monTCambioCMP, DEBETotalCuotaNacion = cajaRegistro.monImportePagado, DEBETotalCuotaExtran = cajaRegistro.monImportePagadoEx, Estado = true, NumeroComprobante = comprobanteEmision.NumeroComprobante, FechaDeEmisionDeuda = cajaRegistro.fecIngreso, FechaDeVencimiento = comprobanteEmision.FechaDeEmision, NumeroDeCuota = 0, Observaciones = comprobanteEmision.Observaciones == null ? "Registro automático desde Pago en efectivo - " : "Registro automático desde Pago en efectivo - " + comprobanteEmision.Observaciones, SegUsuarioCrea = comprobanteEmision.SegUsuarioCrea, SegUsuarioEdita = comprobanteEmision.SegUsuarioCrea, DHDiferenciaMonto = DIFERENCIA, TipoDeIngreso = comprobanteEmision.CodigoArguTipoDeOperacion == ConfigCROM.AppConfig(cajaRegistro.codEmpresa, ConfigTool.DEFAULT_Movim_Venta) ? "H" : "D", CodigoParte = comprobanteEmision.CodigoParte }; SUCEDE_CT = oCuentasCorrientesData.Insert(cuentacorriente) == null ? false : true; if (oReturnValor.Exitosa && SUCEDE_OK && SUCEDE_CT) { oReturnValor.Message = HelpMessages.gc_DOCUM_YA_CANCELADO; tx.Complete(); } } } catch (Exception ex) { oReturnValor = HelpException.mTraerMensaje(ex); } return(oReturnValor); }