Пример #1
0
        public Boolean AnularDB(ba_transferencia_Info info, ref string msg)
        {
            Boolean res = true;

            try
            {
                ct_Cbtecble_Bus busCbte = new ct_Cbtecble_Bus();
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info parametros = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info();
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus  busParam   = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus();

                if (info != null)
                {
                    decimal rev = 0;
                    parametros = busParam.Get_List_Cbte_Ban_tipo_x_ct_CbteCble_tipo(info.IdEmpresa_origen).First(q => q.CodTipoCbteBan == "NDBA");
                    if (busCbte.ReversoCbteCble(info.IdEmpresa_origen, info.IdCbteCble_origen, info.IdTipocbte_origen, parametros.IdTipoCbteCble_Anu
                                                , ref rev, ref msg, info.IdUsuario_Anu, info.tr_MotivoAnulacion))
                    {
                        parametros = busParam.Get_List_Cbte_Ban_tipo_x_ct_CbteCble_tipo(info.IdEmpresa_destino).First(q => q.CodTipoCbteBan == "NCBA");

                        if (busCbte.ReversoCbteCble(info.IdEmpresa_destino, info.IdCbteCble_destino, info.IdTipocbte_destino, parametros.IdTipoCbteCble_Anu
                                                    , ref rev, ref msg, info.IdUsuario_Anu, info.tr_MotivoAnulacion))
                        {
                            if (data.AnularDB(info, ref msg))
                            {
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    msg = "No existe el registro a anular..";
                }
                return(res);
            }
            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("", "AnularDB", ex.Message), ex)
                      {
                          EntityType = typeof(ba_transferencia_Bus)
                      };
            }
        }
Пример #2
0
        public Boolean AnularDB(cp_retencion_Info info, ref decimal idCbteCble_anu, ref string mensaje)
        {
            Boolean res = true;

            try
            {
                cp_parametros_Bus  BusParam  = new cp_parametros_Bus();
                cp_parametros_Info InfoParam = new cp_parametros_Info();
                InfoParam = BusParam.Get_Info_parametros(info.IdEmpresa);

                cp_retencion_x_ct_cbtecble_Info info_x_cbte = Get_Info_retencion_x_ct_cbtecble(info.IdEmpresa, info.IdRetencion);
                if (info_x_cbte.ct_IdEmpresa != 0)
                {
                    info.Info_CbteCble_x_RT = CbteCble_B.Get_Info_CbteCble(info_x_cbte.ct_IdEmpresa, info_x_cbte.ct_IdTipoCbte, info_x_cbte.ct_IdCbteCble, ref mensaje);
                    if (CbteCble_B.ReversoCbteCble(info.Info_CbteCble_x_RT.IdEmpresa, info.Info_CbteCble_x_RT.IdCbteCble, info.Info_CbteCble_x_RT.IdTipoCbte
                                                   , Convert.ToInt32(InfoParam.pa_IdTipoCbte_x_Anu_Retencion),
                                                   ref idCbteCble_anu, ref mensaje, info.IdUsuarioUltAnu, info.MotivoAnulacion))
                    {
                        info.ct_IdEmpresa_Anu  = info.Info_CbteCble_x_RT.IdEmpresa;
                        info.ct_IdCbteCble_Anu = idCbteCble_anu;
                        info.ct_IdTipoCbte_Anu = InfoParam.pa_IdTipoCbte_x_Anu_Retencion;
                    }
                }
                return(data_retencion.AnularDB(info, ref mensaje));
            }
            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("", "AnularDB", ex.Message), ex)
                      {
                          EntityType = typeof(cp_retencion_Bus)
                      };
            }
            return(res);
        }
Пример #3
0
        public Boolean AnularFacturaProveedor(cp_orden_giro_Info ordenGiro_I, 
            List<cp_orden_giro_x_com_ordencompra_local_Info> LstImportacionOC, ref decimal IdCbteCbleRev, ref string msg2)
        {
            Boolean res = true;
            try
            {
                if (CbteCble_B.ReversoCbteCble(ordenGiro_I.IdEmpresa, ordenGiro_I.IdCbteCble_Ogiro, ordenGiro_I.IdTipoCbte_Ogiro,
                    Convert.ToInt32(ordenGiro_I.IdTipoCbte_Anulacion), ref IdCbteCbleRev, ref msg2, ordenGiro_I.IdUsuarioUltAnu))
                {
                    ordenGiro_I.IdCbteCble_Anulacion = IdCbteCbleRev;
                    if (data.EliminarDB(ordenGiro_I, ref msg2))
                    {

                        #region Anula Retención
                        decimal idrev = 0;
                        cp_retencion_Info Info_retencion = Bus_Retencion.Get_Info_retencion(ordenGiro_I.IdEmpresa, ordenGiro_I.IdCbteCble_Ogiro, ordenGiro_I.IdTipoCbte_Ogiro);

                        //cp_retencion_x_ct_cbtecble_Info ret_x_dia = ret_B.ObtenerObjetoRetXCbteCble(ordenGiro_I.IdEmpresa, ordenGiro_I.IdCbteCble_Ogiro,
                        //    ordenGiro_I.IdTipoCbte_Ogiro);

                        if (Info_retencion.IdRetencion != 0)
                        {
                            if (!Bus_Retencion.AnularDB(Info_retencion,ref idrev, ref msg2))
                                return false;
                        }
                        #endregion

                        #region Eliminar Aprobación de ing a bodega x OC

                        cp_Aprobacion_Ing_Bod_x_OC_Bus bus_aprob_ing_bod_x_OC = new cp_Aprobacion_Ing_Bod_x_OC_Bus();
                        cp_Aprobacion_Ing_Bod_x_OC_Info info_aprob_ing_bod_x_OC = new cp_Aprobacion_Ing_Bod_x_OC_Info();

                        info_aprob_ing_bod_x_OC = bus_aprob_ing_bod_x_OC.Get_Info_Aprobacion_Ing_Bod_x_OC(ordenGiro_I.IdEmpresa, ordenGiro_I.IdTipoCbte_Ogiro, ordenGiro_I.IdCbteCble_Ogiro);
                        if (info_aprob_ing_bod_x_OC.IdAprobacion!=0)
                        {
                            bus_aprob_ing_bod_x_OC.EliminarDB(info_aprob_ing_bod_x_OC.IdEmpresa, info_aprob_ing_bod_x_OC.IdAprobacion, ordenGiro_I.IdUsuarioUltAnu, ordenGiro_I.MotivoAnu, ref mensaje);
                        }

                        #endregion

                        ocXgastosxImp_B.AnularXOG(ordenGiro_I.IdEmpresa, ordenGiro_I.IdTipoCbte_Ogiro, ordenGiro_I.IdCbteCble_Ogiro,
                            Convert.ToInt32(ordenGiro_I.IdTipoCbte_Anulacion), Convert.ToDecimal(ordenGiro_I.IdCbteCble_Anulacion));

                        Importacion_B.EliminarDB(ordenGiro_I.IdEmpresa, ordenGiro_I.IdCbteCble_Ogiro, ordenGiro_I.IdTipoCbte_Ogiro);
                        
                        OC_B.EliminarLista(LstImportacionOC);
                    }
                    else return false;

                }
                else return false;
            }
            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("", "AnularFacturaProveedor", ex.Message), ex) { EntityType = typeof(cp_orden_giro_Bus) };
            } 
            return  res;

        }
Пример #4
0
        void ucGe_Menu_event_btnAnular_Click(object sender, EventArgs e)
        {
            try
            {
                ct_Cbtecble_tipo_Bus tipo_bus = new ct_Cbtecble_tipo_Bus();
                if (!tipo_bus.Get_Es_Interno(param.IdEmpresa, InfoCbteCble.IdTipoCbte, ref MensajeError))
                {
                    MessageBox.Show("Este comprobante no se puede eliminar, debido que es generado de otro modulo");
                    return;
                }
                if (InfoCbteCble.Estado != "A")
                {
                    MessageBox.Show("No se pudo anular el Comprobante Contable: " + InfoCbteCble.IdCbteCble.ToString() + " debido a que ya se encuentra anulado", "Anulación de Cbte", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                if (MessageBox.Show("¿Está seguro que desea anular dicho comprobante contable?", "Anulación de Cbte", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    if (BusPeriodo.Get_Periodo_Esta_Cerrado(InfoCbteCble.IdEmpresa, InfoCbteCble.cb_Fecha, ref MensajeError) == true)
                    {
                        MessageBox.Show("No se puede anular el Comprobante Contable porque el período se encuentra cerrado", "Anulación de Cbte", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }


                    FrmGe_MotivoAnulacion frmAnul = new FrmGe_MotivoAnulacion();
                    frmAnul.ShowDialog();
                    InfoCbteCble.IdUsuarioAnu = param.IdUsuario;
                    InfoCbteCble.cb_FechaAnu  = param.Fecha_Transac;
                    InfoCbteCble.cb_MotivoAnu = frmAnul.motivoAnulacion;


                    ct_Cbtecble_tipo_Info tipoComp = List_Tipo_Comprobante.First(q => q.IdTipoCbte == (Convert.ToInt32(cmb_tipocomprobante.EditValue)));
                    decimal IdCbteCntablerev       = 0;
                    string  msj = "";

                    if (BusCbteCble.ReversoCbteCble(param.IdEmpresa, Convert.ToDecimal(lbl_no_comprobante.Text), (int)cmb_tipocomprobante.EditValue,
                                                    Convert.ToInt16(tipoComp.IdTipoCbte_Anul), ref IdCbteCntablerev, ref msj, param.IdUsuario, Cl_Motivo.motivo_anulacion))
                    {
                        // se procede actualizar los campos
                        string smensaje = string.Format(Core.Erp.Recursos.Properties.Resources.msgDespues_Anular, "Comprobante Contable: ", InfoCbteCble.IdCbteCble.ToString());
                        MessageBox.Show(smensaje, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Information);

                        set_Info_en_Controles();
                    }
                    else
                    {
                        MessageBox.Show("No se pudo anular el Comprobante Contable: " + InfoCbteCble.IdCbteCble.ToString(), "Anulación de Cbte", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #5
0
        public Boolean AnularDB(imp_ordencompra_ext_Info Info)
        {
            try
            {
                Info.IdUsuarioUltAnu = Param.IdUsuario;
                Info.Fecha_UltAnu    = Param.Fecha_Transac;
                Info.nom_pc          = Param.nom_pc;
                Info.ip = Param.ip;

                //    return oData.Anular(Info);
                oData.AnularDB(Info);


                imp_ordencompra_ext_x_ct_cbtecble_Bus _BusImpxCbte = new imp_ordencompra_ext_x_ct_cbtecble_Bus();
                ct_Cbtecble_Bus            Buscbte = new ct_Cbtecble_Bus();
                cl_parametrosGenerales_Bus param   = cl_parametrosGenerales_Bus.Instance;

                imp_Parametros_Info ParemtrosImportacion = new imp_Parametros_Info();
                imp_Parametros_Bus  BusParametros        = new imp_Parametros_Bus();

                ParemtrosImportacion = BusParametros.Get_Info_Parametros(param.IdEmpresa);

                imp_ordencompra_ext_x_ct_cbtecble_Info ordCompraxCbte_info = new imp_ordencompra_ext_x_ct_cbtecble_Info();
                imp_ordencompra_ext_x_ct_cbtecble_Bus  DataOrdxCbt         = new imp_ordencompra_ext_x_ct_cbtecble_Bus();

                if (Info.GenDiarioTipImpo == true)
                {
                    decimal IdComprobanteAnulado = 0;
                    string  msj  = "";
                    var     cbte = _BusImpxCbte.Get_Info_ordencompra_ext_x_ct_cbtecble(param.IdEmpresa, Info.IdSucusal, Info.IdOrdenCompraExt);
                    Buscbte.ReversoCbteCble(param.IdEmpresa, cbte.ct_IdCbteCble, ParemtrosImportacion.IdTipoCbte_DiarioFob, ParemtrosImportacion.IdTipoCbte_DiarioFob_Anul, ref IdComprobanteAnulado, ref msj, param.IdUsuario, Info.MotiAnula);

                    ordCompraxCbte_info.ct_IdEmpresa         = ordCompraxCbte_info.imp_IdEmpresa = Info.IdEmpresa;
                    ordCompraxCbte_info.imp_IdOrdenCompraExt = Info.IdOrdenCompraExt;
                    ordCompraxCbte_info.imp_IdSucusal        = Info.IdSucusal;
                    ordCompraxCbte_info.ct_IdTipoCbte        = ParemtrosImportacion.IdTipoCbte_DiarioFob_Anul;
                    ordCompraxCbte_info.ct_IdCbteCble        = IdComprobanteAnulado;
                    ordCompraxCbte_info.TipoReg = "FOB";
                    DataOrdxCbt.GuardarDB(ordCompraxCbte_info, ref msj);
                }

                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("", "Anular", ex.Message), ex)
                      {
                          EntityType = typeof(imp_ordencompra_ext_Bus)
                      };
            }
        }
        private void btnAnular_Click(object sender, EventArgs e)
        {
            try
            {
                imp_ordencompra_ext_x_ct_cbtecble_Bus BusOrdxCbt = new imp_ordencompra_ext_x_ct_cbtecble_Bus();
                Get();
                ct_Cbtecble_Bus CbteCble_B = new ct_Cbtecble_Bus();
                if (lbl_Estado.Visible)
                {
                    MessageBox.Show("No se puede anular el gasto debido a que ya se encuentra anulado.", "Mensaje Erp");
                    return;
                }
                FrmGe_MotivoAnulacion oFrm = new FrmGe_MotivoAnulacion();
                if (MessageBox.Show("¿Está seguro que desea anular el Gasto #" + txtIdRegistroGasto.Text + " ?", "Anulación de Gastos", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    oFrm.ShowDialog();
                    String MovitoAnulacion = oFrm.motivoAnulacion;
                    _Info.IdTipoCbte_Anul = tipocbte.IdTipoCbte_Anul;
                    string mensej = "";
                    if (Bus.AnularDB(_Info))
                    {
                        MessageBox.Show("Anulado con exito el Gasto # " + _Info.IdRegistroGasto);
                        lbl_Estado.Visible       = true;
                        btnOk.Enabled            = false;
                        BtnGuardarYsalir.Enabled = false;
                        decimal IdCbteCbleRev = 0;
                        string  msg2          = "";
                        if (generarDiarioTipoImp == true)
                        {
                            CbteCble_B.ReversoCbteCble(param.IdEmpresa, _SetInfo.IdCbteCble, tipocbte.IdTipoCbte, tipocbte.IdTipoCbte_Anul, ref IdCbteCbleRev, ref msg2, param.IdUsuario, MovitoAnulacion);

                            Bus.ACtualizarAnulado(_Info, IdCbteCbleRev);
                            imp_ordencompra_ext_x_ct_cbtecble_Info ordCompraxCbte_info = new imp_ordencompra_ext_x_ct_cbtecble_Info();
                            ordCompraxCbte_info.ct_IdEmpresa         = ordCompraxCbte_info.imp_IdEmpresa = param.IdEmpresa;
                            ordCompraxCbte_info.imp_IdOrdenCompraExt = Convert.ToDecimal(searchLookUpEditImportacion.EditValue);
                            var idSucursa = Importaciones.Find(var => var.IdOrdenCompraExt == ordCompraxCbte_info.imp_IdOrdenCompraExt).IdSucusal;
                            ordCompraxCbte_info.imp_IdSucusal = Convert.ToInt32(idSucursa);
                            ordCompraxCbte_info.ct_IdTipoCbte = tipocbte.IdTipoCbte_Anul;
                            ordCompraxCbte_info.ct_IdCbteCble = IdCbteCbleRev;
                            ordCompraxCbte_info.TipoReg       = "AGAST";
                            BusOrdxCbt.GuardarDB(ordCompraxCbte_info, ref msg2);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
Пример #7
0
        public bool AnularDB(List <ba_Archivo_Transferencia_Det_Info> Lista)
        {
            try
            {
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info InfoParam_Banco = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info();
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus  BusParam_Banco  = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus();

                InfoParam_Banco = BusParam_Banco.Get_info_Cbte_Ban_tipo_x_ct_CbteCble_tipo(param.IdEmpresa, "NDBA");
                int IdTipo_rev = InfoParam_Banco.IdTipoCbteCble_Anu;

                string MensajeError = "";
                foreach (var item in Lista)
                {
                    oData.AnularDB(item);

                    Info_Comprobante_Bancario = Bus_Comprobante_Bancario.Get_Info_Cbte_Ban(Convert.ToInt32(item.IdEmpresa_pago), Convert.ToInt32(item.IdTipoCbte_pago), Convert.ToDecimal(item.IdCbteCble_pago), ref MensajeError);
                    if (Info_Comprobante_Bancario != null && Info_Comprobante_Bancario.IdEmpresa != 0)
                    {
                        ct_Cbtecble_Bus  CbteCble_B = new ct_Cbtecble_Bus();
                        ct_Cbtecble_Info CbteCble_I = new ct_Cbtecble_Info();

                        Info_Comprobante_Bancario.MotivoAnulacion = "Anulado por administrador de archivos";
                        Info_Comprobante_Bancario.IdUsuario_Anu   = param.IdUsuario;
                        Info_Comprobante_Bancario.FechaAnulacion  = param.Fecha_Transac;
                        decimal IdCbteCble_rev = 0;
                        CbteCble_B.ReversoCbteCble(Convert.ToInt32(item.IdEmpresa_pago), Convert.ToDecimal(item.IdCbteCble_pago), Convert.ToInt32(item.IdTipoCbte_pago), IdTipo_rev, ref IdCbteCble_rev, ref MensajeError, Info_Comprobante_Bancario.MotivoAnulacion);

                        Info_Comprobante_Bancario.IdTipoCbte_Anulacion = IdTipo_rev;
                        Info_Comprobante_Bancario.IdCbteCble_Anulacion = IdCbteCble_rev;
                        cp_orden_pago_cancelaciones_Bus OGPagos_B = new cp_orden_pago_cancelaciones_Bus();
                        OGPagos_B.Eliminar_OrdenPagoCancelaciones(Info_Comprobante_Bancario.IdEmpresa, Info_Comprobante_Bancario.IdTipocbte, Info_Comprobante_Bancario.IdCbteCble, ref MensajeError);
                        Bus_Comprobante_Bancario.AnularDB(Info_Comprobante_Bancario, ref MensajeError);
                    }
                }
                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_Archivo_transferencia_Det", ex.Message), ex)
                      {
                          EntityType = typeof(ba_Archivo_Transferencia_Det_Bus)
                      };
            }
        }
Пример #8
0
 public Boolean AnularDB(Af_Mej_Baj_Activo_Info InfoAf, ct_Cbtecble_Info CbteCbleInfo, ref decimal IdCbteCble_Rev, ref string msjError)
 {
     try
     {
         if (dataAf.AnularDB(InfoAf, ref msjError))
         {
             return(busCbteCble.ReversoCbteCble(CbteCbleInfo.IdEmpresa, CbteCbleInfo.IdCbteCble, CbteCbleInfo.IdTipoCbte, InfoAf.IdTipoCbte_Rev, ref IdCbteCble_Rev, ref msjError, InfoAf.IdUsuarioUltAnu, InfoAf.MotivoAnula));
         }
         else
         {
             return(false);
         }
     }
     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("", "AnularDataDB", ex.Message), ex)
               {
                   EntityType = typeof(Af_Mej_Baj_Activo_Bus)
               };
     }
 }
Пример #9
0
 public Boolean AnularDB(Af_Venta_Activo_Info InfoAf, ct_Cbtecble_Info CbteCbleInfo, ref decimal IdCbteCble_Rev, ref string msjError)
 {
     try
     {
         if (dataAf.AnularDB(InfoAf, ref msjError))
         {
             activoData.ModificarEstadoProceso(InfoAf.IdEmpresa, InfoAf.IdActivoFijo, Cl_Enumeradores.eEstadoActivoFijo.TIP_ESTADO_AF_ACTIVO.ToString());
             return(busCbteCble.ReversoCbteCble(CbteCbleInfo.IdEmpresa, CbteCbleInfo.IdCbteCble, CbteCbleInfo.IdTipoCbte, InfoAf.IdTipoCbte_Rev, ref IdCbteCble_Rev, ref msjError, InfoAf.IdUsuarioUltAnu, InfoAf.MotivoAnula));
         }
         else
         {
             return(false);
         }
     }
     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("", "AnularDB", ex.Message), ex)
               {
                   EntityType = typeof(Af_Venta_Activo_Bus)
               };
     }
 }
Пример #10
0
        public Boolean AnularDB(cp_nota_DebCre_Info Info_notaCredDeb)
        {
            try
            {
                bool    res                  = false;
                decimal IdCbteCbleRev        = 0;
                int     IdTipoCbte_Anulacion = 0;

                string msg2 = "";

                IdTipoCbte_Anulacion = Convert.ToInt32(Info_notaCredDeb.IdTipoCbte_Anulacion);



                ct_Cbtecble_Bus CbteCble_B = new ct_Cbtecble_Bus();
                res = CbteCble_B.ReversoCbteCble(Info_notaCredDeb.IdEmpresa, Info_notaCredDeb.IdCbteCble_Nota, Info_notaCredDeb.IdTipoCbte_Nota, IdTipoCbte_Anulacion, ref IdCbteCbleRev, ref msg2, Info_notaCredDeb.IdUsuario);

                //if (res)
                {
                    Info_notaCredDeb.IdCbteCble_Anulacion = IdCbteCbleRev;
                    Info_notaCredDeb.IdTipoCbte_Anulacion = IdTipoCbte_Anulacion;

                    res = data.AnularDB(Info_notaCredDeb);
                }

                return(res);
            }
            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("", "EliminarDB", ex.Message), ex)
                      {
                          EntityType = typeof(cp_nota_DebCre_Bus)
                      };
            }
        }
        private void Actualizar_Registros()
        {
            try
            {
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info InfoParam_Banco = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info();
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus  BusParam_Banco  = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus();

                InfoParam_Banco = BusParam_Banco.Get_info_Cbte_Ban_tipo_x_ct_CbteCble_tipo(param.IdEmpresa, "NDBA");
                int     IdTipo_rev  = InfoParam_Banco.IdTipoCbteCble_Anu;
                Boolean Actualizado = false;

                if (info_Archivo.IdProceso_bancario == "ROL_ELECTRONICO_BG")
                {
                    BList_Archivo_Excel[0].Secuencia = 1;
                }

                var lst = (from A in BList_Archivo_Actualizado
                           join E in BList_Archivo_Excel
                           on A.Id_Item equals E.Id_Item
                           select new
                {
                    id_Item = A.Id_Item,
                    IdEstadoRegistro_cat = A.IdEstadoRegistro_cat,
                    nom_EstadoRegistro = E.nom_EstadoRegistro,
                    IdArchivo = E.IdArchivo,
                    IdEmpresa = E.IdEmpresa,
                    Secuencia = E.Secuencia,
                    Valor_cobrado = E.Valor_procesado,
                    Genera_anulacion = A.Genera_anulacion,

                    IdEmpresa_pago = A.IdEmpresa_pago,
                    IdTipoCbte_pago = A.IdTipoCbte_pago,
                    IdCbteCble_pago = A.IdCbteCble_pago,
                    cb_Estado = A.cb_Estado
                });
                progressBarActualizacion.Properties.Step        = 1;
                progressBarActualizacion.Properties.PercentView = true;
                progressBarActualizacion.Properties.Maximum     = lst.Count();
                progressBarActualizacion.Properties.Minimum     = 0;

                foreach (var item in lst)
                {
                    info_Archivo.Lst_Archivo_Transferencia_Det.FirstOrDefault(q => q.Secuencia == item.Secuencia).IdEstadoRegistro_cat = BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).IdEstadoRegistro_cat = item.IdEstadoRegistro_cat;
                    info_Archivo.Lst_Archivo_Transferencia_Det.FirstOrDefault(q => q.Secuencia == item.Secuencia).nom_EstadoRegistro   = BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).nom_EstadoRegistro = item.nom_EstadoRegistro;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).IdArchivo          = item.IdArchivo;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).IdEmpresa          = item.IdEmpresa;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).Secuencia          = item.Secuencia;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).Valor_cobrado      = item.Valor_cobrado;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).IdProceso_bancario = info_Archivo.IdProceso_bancario;
                    Actualizado = BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).Actualizado = bus_Archivo_Det.Actualizar_registro(BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item));

                    if (!Actualizado)
                    {
                        MessageBox.Show("No se pudo actualizar los registros", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        break;
                    }
                    else
                    {
                        if (item.Genera_anulacion == true && item.cb_Estado == "A")
                        {
                            ba_Cbte_Ban_Bus  bus_cbteBan  = new ba_Cbte_Ban_Bus();
                            ba_Cbte_Ban_Info info_cbteBan = new ba_Cbte_Ban_Info();
                            info_cbteBan = bus_cbteBan.Get_Info_Cbte_Ban(Convert.ToInt32(item.IdEmpresa_pago), Convert.ToInt32(item.IdTipoCbte_pago), Convert.ToDecimal(item.IdCbteCble_pago), ref MensajeError);
                            if (info_cbteBan != null && info_cbteBan.IdEmpresa != 0)
                            {
                                ct_Cbtecble_Bus  CbteCble_B = new ct_Cbtecble_Bus();
                                ct_Cbtecble_Info CbteCble_I = new ct_Cbtecble_Info();

                                info_cbteBan.MotivoAnulacion = "Anulado x actualización de archivo";
                                info_cbteBan.IdUsuario_Anu   = param.IdUsuario;
                                info_cbteBan.FechaAnulacion  = param.Fecha_Transac;
                                decimal IdCbteCble_rev = 0;
                                CbteCble_B.ReversoCbteCble(Convert.ToInt32(item.IdEmpresa_pago), Convert.ToDecimal(item.IdCbteCble_pago), Convert.ToInt32(item.IdTipoCbte_pago), IdTipo_rev, ref IdCbteCble_rev, ref MensajeError, info_cbteBan.MotivoAnulacion);

                                info_cbteBan.IdTipoCbte_Anulacion = IdTipo_rev;
                                info_cbteBan.IdCbteCble_Anulacion = IdCbteCble_rev;
                                cp_orden_pago_cancelaciones_Bus OGPagos_B = new cp_orden_pago_cancelaciones_Bus();
                                OGPagos_B.Eliminar_OrdenPagoCancelaciones(info_cbteBan.IdEmpresa, info_cbteBan.IdTipocbte, info_cbteBan.IdCbteCble, ref MensajeError);
                                bus_cbteBan.AnularDB(info_cbteBan, ref MensajeError);
                            }
                        }
                    }
                    progressBarActualizacion.PerformStep();
                    progressBarActualizacion.Update();
                    gridControlActualizacion.RefreshDataSource();
                }
                BList_Archivo_Actualizado = new BindingList <ba_Archivo_Transferencia_Det_Info>(bus_Archivo_Det.Get_List_Archivo_transferencia_Det(info_Archivo.IdEmpresa, info_Archivo.IdArchivo));
                gridControlActualizacion.RefreshDataSource();

                Actualizado = bus_Archivo.Actualizar_Archivo(info_Archivo);
                if (Actualizado)
                {
                    MessageBox.Show("Archivo actualizado exitosamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas) + ex.Message + " ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
Пример #12
0
        public Boolean Liquidar(imp_ordencompra_ext_Info Obj, ref string mensaje, Cl_Enumeradores.eTipo_action accion)
        {
            try
            {
                decimal IdCbteLiquidacion = 0;

                ct_Cbtecble_det_Info                _detCbteCble_Info  = new ct_Cbtecble_det_Info();
                List <ct_Cbtecble_det_Info>         LstCbteCble        = new List <ct_Cbtecble_det_Info>();
                ct_Cbtecble_Info                    CbteCble_I         = new ct_Cbtecble_Info();
                imp_ordencompra_ext_det_Bus         ImporDet_bus       = new imp_ordencompra_ext_det_Bus();
                List <imp_ordencompra_ext_det_Info> ListInfo_det_Impor = new List <imp_ordencompra_ext_det_Info>();
                in_categorias_data                  dataCategoria      = new in_categorias_data();
                ct_Periodo_Bus  Per_B = new ct_Periodo_Bus();
                ct_Periodo_Info Per_I = new ct_Periodo_Info();

                in_Parametro_Data       dataInParametro                    = new in_Parametro_Data();
                imp_ordencompra_ext_Bus BusImportacion                     = new imp_ordencompra_ext_Bus();
                ct_Cbtecble_Bus         Buscbte                            = new ct_Cbtecble_Bus();
                imp_ordencompra_ext_x_ct_cbtecble_Bus BusOrdxCbt           = new imp_ordencompra_ext_x_ct_cbtecble_Bus();
                ct_cbtecble_Reversado_Bus             BusReverso           = new ct_cbtecble_Reversado_Bus();
                imp_Parametros_Info                    tip                 = new imp_Parametros_Info();
                imp_Parametros_Bus                     Data_parametros     = new imp_Parametros_Bus();
                cl_parametrosGenerales_Bus             param               = cl_parametrosGenerales_Bus.Instance;
                imp_ordencompra_ext_x_ct_cbtecble_Info ordCompraxCbte_info = new imp_ordencompra_ext_x_ct_cbtecble_Info();

                tip = Data_parametros.Get_Info_Parametros(param.IdEmpresa);

                ordCompraxCbte_info.ct_IdEmpresa         = ordCompraxCbte_info.imp_IdEmpresa = param.IdEmpresa;
                ordCompraxCbte_info.imp_IdOrdenCompraExt = Obj.IdOrdenCompraExt;
                ordCompraxCbte_info.imp_IdSucusal        = Obj.IdSucusal;

                //   var DiarioLiqui = BusImportacion.consultaDiariosxImportacion(param.IdEmpresa, Obj.IdSucusal, Obj.IdOrdenCompraExt).Last(var => var.TipoReg == "LQUI")
                //   var CobteLiquidacion = Buscbte.ObtenerObjeto(param.IdEmpresa, DiarioLiqui.ct_IdTipoCbte, DiarioLiqui.IdCbte);


                switch (accion)
                {
                case Cl_Enumeradores.eTipo_action.grabar:

                    if (Obj.ci_tonelaje == null || Obj.ci_tonelaje == 0)
                    {
                        mensaje = "Error al generar Diario de Importación ya que no se puede dividir el total de liquidación para un valor de tonelaje = 0 ";
                    }
                    else
                    {
                        string  cod_CbteCble = "";
                        decimal idCbteCble   = 0;
                        string  MensajeError = "";

                        cp_proveedor_Data _Prove_D = new cp_proveedor_Data();
                        var proveedor = _Prove_D.Get_Info_Proveedor(param.IdEmpresa, Obj.IdProveedor);

                        Per_I = Per_B.Get_Info_Periodo(Obj.IdEmpresa, Obj.ci_fecha_liquidacion, ref MensajeError);

                        string Observacion = "Cont. x Imp. #" + Obj.CodOrdenCompraExt + "'\'" + Obj.IdOrdenCompraExt + " Liquidacion de Importacion :" + proveedor.pr_nombre + "//" + Obj.ci_Observacion;
                        ListInfo_det_Impor = ImporDet_bus.Get_List_ordencompra_ext_det(Obj);

                        int contItems = ListInfo_det_Impor.Count();

                        foreach (var item in ListInfo_det_Impor)
                        {
                            _detCbteCble_Info = new ct_Cbtecble_det_Info();

                            var Categoria = dataCategoria.Get_Info_categorias(param.IdEmpresa, item.IdCategoria);

                            if (Categoria.IdCtaCtble_Inve == null)
                            {
                                in_Parametro_Info Info_InParametro = new in_Parametro_Info();

                                Info_InParametro = dataInParametro.Get_Info_Parametro(param.IdEmpresa);

                                _detCbteCble_Info.IdCtaCble      = Info_InParametro.IdCtaCble_Inven;
                                _detCbteCble_Info.dc_Observacion = "Cta. Ctble tomada de los parámetros de inventario / " + Observacion;
                            }
                            else
                            {
                                _detCbteCble_Info.IdCtaCble      = Categoria.IdCtaCtble_Inve;
                                _detCbteCble_Info.dc_Observacion = Observacion;
                            }
                            _detCbteCble_Info.IdEmpresa  = param.IdEmpresa;
                            _detCbteCble_Info.IdTipoCbte = tip.IdTipoCbte_DiarioLiquidacion;
                            _detCbteCble_Info.dc_Valor   = Convert.ToDouble(item.di_subtotal) + (Obj.TotGastosImp / contItems); // debe
                            LstCbteCble.Add(_detCbteCble_Info);
                        }

                        ct_Cbtecble_det_Info obj2 = new ct_Cbtecble_det_Info();
                        obj2.IdCtaCble      = Obj.IdCtaCble_import;
                        obj2.dc_Observacion = Observacion;//"Contabilizacion por Importacion Diario Importacion FOB" + Obj.ci_Observacion;
                        obj2.IdCtaCble      = Obj.IdCtaCble_import;
                        obj2.IdTipoCbte     = tip.IdTipoCbte_DiarioLiquidacion;
                        obj2.IdEmpresa      = Obj.IdEmpresa;

                        obj2.dc_Valor = Obj.TotalLiquidacion * -1; //haber

                        LstCbteCble.Add(obj2);

                        // cabecer ade diario
                        CbteCble_I.IdEmpresa                = param.IdEmpresa;
                        CbteCble_I.IdTipoCbte               = tip.IdTipoCbte_DiarioLiquidacion;
                        CbteCble_I.CodCbteCble              = "IM";
                        CbteCble_I.IdPeriodo                = Per_I.IdPeriodo;
                        CbteCble_I.cb_Fecha                 = Obj.ci_fecha_liquidacion;
                        CbteCble_I.cb_Observacion           = Observacion;// "Cont. de la  Importacion #" + Obj.CodOrdenCompraExt + " Diario FOB" + Obj.ci_Observacion + Categoria.ca_Categoria;
                        CbteCble_I.Secuencia                = 0;
                        CbteCble_I.Estado                   = "A";
                        CbteCble_I.Anio                     = Obj.ci_fecha.Year;
                        CbteCble_I.Mes                      = Obj.ci_fecha.Month;
                        CbteCble_I.IdUsuario                = param.IdUsuario;
                        CbteCble_I.IdUsuarioUltModi         = param.IdUsuario;
                        CbteCble_I.cb_FechaTransac          = param.GetDateServer();
                        CbteCble_I.cb_FechaUltModi          = param.GetDateServer();
                        CbteCble_I.Mayorizado               = "N";
                        CbteCble_I.cb_Valor                 = Obj.TotalLiquidacion;
                        CbteCble_I._cbteCble_det_lista_info = LstCbteCble;

                        Buscbte.GrabarDB(CbteCble_I, ref idCbteCble, ref MensajeError);
                        IdCbteLiquidacion = idCbteCble;

                        ordCompraxCbte_info.ct_IdTipoCbte = tip.IdTipoCbte_DiarioLiquidacion;
                        ordCompraxCbte_info.ct_IdCbteCble = idCbteCble;
                        ordCompraxCbte_info.TipoReg       = "LQUI";
                        BusOrdxCbt.GuardarDB(ordCompraxCbte_info, ref MensajeError);

                        var DiarioLiqui      = BusImportacion.Get_List_DiariosxImportacion(param.IdEmpresa, Obj.IdSucusal, Obj.IdOrdenCompraExt).Last(var => var.TipoReg == "LQUI");
                        var Diario_Reverso   = BusReverso.Get_Info_cbtecble_Reversado(param.IdEmpresa, DiarioLiqui.ct_IdTipoCbte, DiarioLiqui.IdCbte);
                        var CobteLiquidacion = Buscbte.Get_Info_CbteCble(param.IdEmpresa, DiarioLiqui.ct_IdTipoCbte, DiarioLiqui.IdCbte, ref mensaje);
                        Obj.CodCbteCble = CobteLiquidacion.CodCbteCble.ToString();

                        return(oData.Liquidar(Obj, ref mensaje));
                    }

                    break;

                case Cl_Enumeradores.eTipo_action.Anular:

                    decimal IdComprobanteAnulado = 0;
                    string  msj = "";
                    if (IdCbteLiquidacion == 0)
                    {
                        var DiarioLiqui      = BusImportacion.Get_List_DiariosxImportacion(param.IdEmpresa, Obj.IdSucusal, Obj.IdOrdenCompraExt).Last(var => var.TipoReg == "LQUI");
                        var CobteLiquidacion = Buscbte.Get_Info_CbteCble(param.IdEmpresa, DiarioLiqui.ct_IdTipoCbte, DiarioLiqui.IdCbte, ref mensaje);
                        IdCbteLiquidacion = CobteLiquidacion.IdCbteCble;
                    }

                    string motiAnulacion = Obj.motiAnulacion;

                    if (Buscbte.ReversoCbteCble(param.IdEmpresa, IdCbteLiquidacion, tip.IdTipoCbte_DiarioLiquidacion, tip.IdTipoCbte_DiarioLiquidacion_Anul, ref IdComprobanteAnulado, ref msj, param.IdUsuario, motiAnulacion))
                    {
                        // MessageBox.Show("Anulado");
                        mensaje = "*** Anulado ***";

                        ordCompraxCbte_info.ct_IdTipoCbte = tip.IdTipoCbte_DiarioLiquidacion_Anul;
                        ordCompraxCbte_info.ct_IdCbteCble = IdComprobanteAnulado;
                        ordCompraxCbte_info.TipoReg       = "ALQUI";
                        BusOrdxCbt.GuardarDB(ordCompraxCbte_info, ref msj);

                        var DiarioLiqui      = BusImportacion.Get_List_DiariosxImportacion(param.IdEmpresa, Obj.IdSucusal, Obj.IdOrdenCompraExt).Last(var => var.TipoReg == "LQUI");
                        var CobteLiquidacion = Buscbte.Get_Info_CbteCble(param.IdEmpresa, DiarioLiqui.ct_IdTipoCbte, DiarioLiqui.IdCbte, ref mensaje);

                        var Diario_Reverso = BusReverso.Get_Info_cbtecble_Reversado(param.IdEmpresa, DiarioLiqui.ct_IdTipoCbte, DiarioLiqui.IdCbte);

                        if (Diario_Reverso.IdTipoCbte_Anu != 0)
                        {
                            var CobteLiquidacionAnulado = Buscbte.Get_Info_CbteCble(param.IdEmpresa, Diario_Reverso.IdTipoCbte_Anu, Diario_Reverso.IdCbteCble_Anu, ref mensaje);

                            Obj.msgAnuladoReverso = "**Anulado ** Reversado Con diario" + "\n" + CobteLiquidacionAnulado.CodCbteCble;
                        }
                        return(oData.Liquidar(Obj, ref mensaje));
                    }

                    break;

                default:

                    break;
                }


                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("", "Liquidar", ex.Message), ex)
                      {
                          EntityType = typeof(imp_ordencompra_ext_Bus)
                      };
            }
        }
Пример #13
0
        public Boolean ModificarDB(imp_ordencompra_ext_Info Info)
        {
            try
            {
                Info.IdUsuarioUltMod = Param.IdUsuario;
                Info.Fecha_UltMod    = Param.Fecha_Transac;
                Info.nom_pc          = Param.nom_pc;
                Info.ip = Param.ip;

                // return oData.Actualizar(Info);
                oData.ModificarDB(Info);

                imp_ordencompra_ext_x_ct_cbtecble_Bus _BusImpxCbte = new imp_ordencompra_ext_x_ct_cbtecble_Bus();
                ct_Cbtecble_Bus            Buscbte = new ct_Cbtecble_Bus();
                imp_ordencompra_ext_Bus    BUS     = new imp_ordencompra_ext_Bus();
                cl_parametrosGenerales_Bus param   = cl_parametrosGenerales_Bus.Instance;
                imp_Parametros_Info        ParemtrosImportacion = new imp_Parametros_Info();
                imp_Parametros_Bus         BusParametros        = new imp_Parametros_Bus();

                ParemtrosImportacion = BusParametros.Get_Info_Parametros(param.IdEmpresa);

                if (Info.GenDiarioTipImpo == true)
                {
                    if (Info.FOB != Info.setFOB)
                    {
                        string  msj = "";
                        decimal IdComprobanteAnulado = 0;
                        var     cbte = _BusImpxCbte.Get_Info_ordencompra_ext_x_ct_cbtecble(param.IdEmpresa, Info.IdSucusal, Info.IdOrdenCompraExt, "FOB");

                        if (cbte != null)
                        {
                            if (Buscbte.ReversoCbteCble(param.IdEmpresa, cbte.ct_IdCbteCble, ParemtrosImportacion.IdTipoCbte_DiarioFob, ParemtrosImportacion.IdTipoCbte_DiarioFob_Anul, ref IdComprobanteAnulado, ref msj, param.IdUsuario, "Anulacion por Actualizacion") == false)
                            {
                                // MessageBox.Show(msj);
                                Info.msgReversoCbteCble = msj;
                            }
                        }

                        imp_ordencompra_ext_x_ct_cbtecble_Info ordCompraxCbte_info = new imp_ordencompra_ext_x_ct_cbtecble_Info();
                        imp_ordencompra_ext_x_ct_cbtecble_Bus  DataOrdxCbt         = new imp_ordencompra_ext_x_ct_cbtecble_Bus();

                        ordCompraxCbte_info.ct_IdEmpresa         = ordCompraxCbte_info.imp_IdEmpresa = param.IdEmpresa;
                        ordCompraxCbte_info.imp_IdOrdenCompraExt = Info.IdOrdenCompraExt;
                        ordCompraxCbte_info.imp_IdSucusal        = Info.IdSucusal;
                        ordCompraxCbte_info.ct_IdTipoCbte        = ParemtrosImportacion.IdTipoCbte_DiarioFob_Anul;
                        ordCompraxCbte_info.ct_IdCbteCble        = IdComprobanteAnulado;
                        ordCompraxCbte_info.TipoReg = "FOB";
                        DataOrdxCbt.GuardarDB(ordCompraxCbte_info, ref msj);

                        //var idproveedor = gridLookUpEditProveedor.EditValue;
                        //var IdCtaCble_CXP = ((List<cp_proveedor_Info>)gridLookUpEditProveedor.Properties.DataSource).First(var => var.IdProveedor == Convert.ToDecimal(idproveedor)).IdCtaCble_CXP;
                        if (BUS.GenerarDiarioFOB(param.IdEmpresa, Info.IdSucusal, Info.IdOrdenCompraExt, ref msj, ref IdComprobanteAnulado, Info.IdCtaCble_CXP) == false)
                        {
                            // MessageBox.Show(msj);
                            Info.msgGenerarDiarioFOB = msj;
                        }
                    }
                }

                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("", "Actualizar", ex.Message), ex)
                      {
                          EntityType = typeof(imp_ordencompra_ext_Bus)
                      };
            }
        }