Пример #1
0
        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);
        }
Пример #2
0
 /// <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));
 }
Пример #3
0
        /// <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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        ///// <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);
        }