Exemple #1
0
        public frmCP_RetencionProveedor(double DvalorIVA, double DBaseImponible, cp_retencion_Info CabRetencion, decimal IdProveedor, DateTime fechaRetencion, Boolean VerNumRetencion = false, decimal NRetencion = 0)
        {
            try
            {
                InitializeComponent();

                string MensajeError = "";

                nDocu    = CabRetencion.NumRetencion;
                TipoDoc  = CabRetencion.TipoDocumento;
                NomProve = CabRetencion.NomProveedor;

                Per_I = Per_B.Get_Info_Periodo(param.IdEmpresa, fechaRetencion, ref MensajeError);

                paramCP_I = paramCP_B.Get_Info_parametros(param.IdEmpresa);

                if (CabRetencion == null)
                {
                    CabRetencion = new cp_retencion_Info();
                }

                ucCp_Retencion1.set_Valores(DBaseImponible, DvalorIVA);

                ucCp_Retencion1.carga_codigoSRI_x_Proveedor(param.IdEmpresa, IdProveedor);


                LstRetencion         = CabRetencion.ListDetalle;
                ucCp_Retencion1.Dock = DockStyle.Fill;
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #2
0
        private void frmAF_MejoraActivo_Mant_Load(object sender, EventArgs e)
        {
            try
            {
                string MensajeError = "";

                infoParam  = busParam.Get_Info_Parametros(param.IdEmpresa);
                IdTipoCbte = infoParam.IdTipoCbteMejora;
                Per_I      = Per_B.Get_Info_Periodo(param.IdEmpresa, Convert.ToDateTime(dtpFecha.Value), ref MensajeError);
                switch (_Accion)
                {
                case Cl_Enumeradores.eTipo_action.grabar:
                    cargarCombos(Cl_Enumeradores.eEstadoActivoFijo.TIP_ESTADO_AF_ACTIVO.ToString());
                    ucGe_Menu.Enabled_bntAnular   = false;
                    ucGe_Menu.Enabled_bntImprimir = false;
                    break;

                case Cl_Enumeradores.eTipo_action.actualizar:
                    cargarCombos("");
                    set_MejoraActivo();
                    ucGe_Menu.Enabled_bntAnular       = false;
                    cmbActivoFijo.Properties.ReadOnly = true;
                    txtCodMejora.Properties.ReadOnly  = true;
                    cmbActivoFijo_EditValueChanged(null, null);
                    ucGe_Menu.Enabled_bntImprimir = false;
                    break;

                case Cl_Enumeradores.eTipo_action.Anular:
                    cargarCombos("");
                    set_MejoraActivo();
                    ucCon_GridDiarioContable.Enabled     = false;
                    ucGe_Menu.Enabled_bntGuardar_y_Salir = false;
                    ucGe_Menu.Enabled_btnGuardar         = false;
                    cmbActivoFijo.Properties.ReadOnly    = true;
                    cmbProveedor.Enabled = false;
                    txtDescripcionTecnica.Properties.ReadOnly = true;
                    txtMotivoMejora.Properties.ReadOnly       = true;
                    txtCodMejora.Properties.ReadOnly          = true;
                    txtValorMejora.Properties.ReadOnly        = true;
                    txtComrobante.Properties.ReadOnly         = true;
                    cmbActivoFijo_EditValueChanged(null, null);
                    ucGe_Menu.Enabled_bntImprimir = false;
                    break;

                case Cl_Enumeradores.eTipo_action.consultar:
                    cargarCombos("");
                    set_MejoraActivo();
                    ucGe_Menu.Enabled_bntGuardar_y_Salir = false;
                    ucGe_Menu.Enabled_btnGuardar         = false;
                    ucGe_Menu.Enabled_bntAnular          = false;
                    cmbActivoFijo_EditValueChanged(null, null);
                    break;
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #3
0
        public ct_Cbtecble_Info get_Cbtecble()
        {
            try
            {
                Per_I = Per_B.Get_Info_Periodo(param.IdEmpresa, Convert.ToDateTime(dtp_fechaOG.EditValue).Date, ref msg);
                CbteCble_I.IdEmpresa        = param.IdEmpresa;
                CbteCble_I.IdTipoCbte       = _IdTipoCbte;
                CbteCble_I.CodCbteCble      = "";
                CbteCble_I.IdPeriodo        = Per_I.IdPeriodo;
                CbteCble_I.cb_Fecha         = Convert.ToDateTime(dtp_fechaOG.EditValue).Date;
                CbteCble_I.cb_Valor         = UC_Diario_x_cxp.Get_ValorCbteCble();
                CbteCble_I.cb_Observacion   = txt_observacion.Text.Trim() + "FP:#" + txeSerie.Text + "-" + txeNumDocum.Text + " Prv:" + ucCp_Proveedor1.get_ProveedorInfo().pr_nombre;
                CbteCble_I.Secuencia        = 0;
                CbteCble_I.Estado           = "A";
                CbteCble_I.Anio             = Convert.ToDateTime(dtp_fechaOG.EditValue).Date.Year;
                CbteCble_I.Mes              = Convert.ToDateTime(dtp_fechaOG.EditValue).Date.Month;
                CbteCble_I.IdUsuario        = param.IdUsuario;
                CbteCble_I.IdUsuarioUltModi = param.IdUsuario;
                CbteCble_I.cb_FechaTransac  = param.Fecha_Transac;
                CbteCble_I.cb_FechaUltModi  = param.Fecha_Transac;
                CbteCble_I.Mayorizado       = "N";
                CbteCble_I.IdCbteCble       = (txt_NOrdeG.Text == "") ? 0 : Convert.ToDecimal(txt_NOrdeG.Text);

                return(CbteCble_I);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(new ct_Cbtecble_Info());
            }
        }
Exemple #4
0
        public bool Validar_periodo_cerrado_x_modulo(int IdEmpresa, Cl_Enumeradores.eModulos IdModulo, DateTime Fecha)
        {
            try
            {
                string          MensajeError = "";
                ct_Periodo_Info info_periodo = new ct_Periodo_Info();
                ct_Periodo_Bus  bus_periodo  = new ct_Periodo_Bus();

                info_periodo = bus_periodo.Get_Info_Periodo(IdEmpresa, Fecha, ref MensajeError);
                if (info_periodo == null)
                {
                    MessageBox.Show("El periodo no se encuentra registrado en el sistema.", Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(false);
                }

                ct_periodo_x_tb_modulo_Bus bus_periodo_x_modulo = new ct_periodo_x_tb_modulo_Bus();
                if (bus_periodo_x_modulo.Esta_modulo_cerrado_x_periodo(IdEmpresa, IdModulo, info_periodo.IdPeriodo))
                {
                    MessageBox.Show("El periodo se encuentra cerrado para el Modulo:." + IdModulo.ToString(), Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(false);
                }

                //Valido contabilidad ya que las pantallas estan atadas a contabilidad
                if (bus_periodo_x_modulo.Esta_modulo_cerrado_x_periodo(IdEmpresa, Cl_Enumeradores.eModulos.CONTA, info_periodo.IdPeriodo))
                {
                    MessageBox.Show("El periodo en el modulo Contabilidad en el que intenta realizar la transacción se encuentra cerrado.", Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(false);
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #5
0
        public fa_liquidacion_gastos_Info Get_Info_Liquidacion()
        {
            try
            {
                Info_Periodo = Bus_Periodo.Get_Info_Periodo(param.IdEmpresa, dt_fecha_liqui.Value, ref mensaje);

                Info_Liquidacion.IdEmpresa       = param.IdEmpresa;
                Info_Liquidacion.IdPeriodo       = Info_Periodo.IdPeriodo;
                Info_Liquidacion.cod_liquidacion = txt_Codigo.Text;
                Info_Liquidacion.IdCliente       = ucFa_ClienteCmb.get_ClienteInfo().IdCliente;
                Info_Liquidacion.fecha_liqui     = dt_fecha_liqui.Value;
                ucFa_ClienteCmb.set_ClienteInfo(Info_Liquidacion.IdCliente);
                Info_Liquidacion.Observacion       = txt_Observacion.Text;
                Info_Liquidacion.IdUsuario         = param.IdUsuario;
                Info_Liquidacion.Fecha_Transaccion = DateTime.Now;
                Info_Liquidacion.IdLiquidacion     = Convert.ToInt32(txt_Codigo.Text);
                Info_Liquidacion.Lis_Detalle       = new List <fa_liquidacion_gastos_det_Info>(BindList_Liquidacion);

                return(Info_Liquidacion);
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                NameMetodo = NameMetodo + " - " + ex.ToString();
                MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas), param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
                return(new fa_liquidacion_gastos_Info());
            }
        }
Exemple #6
0
        public ct_Cbtecble_Info get_CbteCbleInfo()
        {
            InfoCbteCble = new ct_Cbtecble_Info();
            try
            {
                string codigo;
                string MensajeError = "";
                InfoPeriodo = BusPeriodo.Get_Info_Periodo(param.IdEmpresa, dtFecha.Value, ref MensajeError);

                if (InfoPeriodo != null && InfoPeriodo.pe_cerrado != "S")
                {
                    InfoCbteCble.IdEmpresa = param.IdEmpresa;
                    InfoCbteCble.IdUsuario = param.IdUsuario;
                    codigo = cbtipobus.Get_Codigo_x_CbtCble_tipo(param.IdEmpresa, Convert.ToInt32(this.cmb_tipocomprobante.EditValue), ref MensajeError).Trim();
                    InfoCbteCble.IdPeriodo       = InfoPeriodo.IdPeriodo;
                    InfoCbteCble.Anio            = InfoPeriodo.IdanioFiscal;
                    InfoCbteCble.Mes             = InfoPeriodo.pe_mes;
                    InfoCbteCble.IdTipoCbte      = Convert.ToInt32(this.cmb_tipocomprobante.EditValue);
                    InfoCbteCble.CodCbteCble     = txt_codCbteCble.Text;
                    InfoCbteCble.cb_Fecha        = Convert.ToDateTime(this.dtFecha.Value.ToShortDateString());
                    InfoCbteCble.cb_FechaTransac = param.GetDateServer();
                    InfoCbteCble.IdSucursal      = (cmb_sucursal.EditValue == null ? 0 : Convert.ToInt32(cmb_sucursal.EditValue));
                    InfoCbteCble.Mayorizado      = "N";
                    InfoCbteCble.cb_Observacion  = this.txt_concepto.Text;
                    InfoCbteCble.Secuencia       = BusCbteCble.Get_IdSecuencia(ref MensajeError);
                    InfoCbteCble.Estado          = "A";

                    InfoCbteCble._cbteCble_det_lista_info = UC_Diario.Get_List_Cbtecble_det();

                    return(InfoCbteCble);
                }
                else
                {
                    MessageBox.Show("El periodo de la fecha está cerrado.. No podrá grabar..");
                    InfoCbteCble = new ct_Cbtecble_Info();
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                InfoCbteCble = new ct_Cbtecble_Info();
            }
            return(InfoCbteCble);
        }
Exemple #7
0
        public Boolean validaColumna()
        {
            try
            {
                string  MensajeError = "";
                Boolean estado       = true;
                Per_I = Per_B.Get_Info_Periodo(Info_DetPrestamo.IdEmpresa, Convert.ToDateTime(dte_Fecha.EditValue), ref MensajeError);

                if (Per_I.IdPeriodo == 0)
                {
                    MessageBox.Show("El Periodo no se encuentra ingresado en la Base de Datos", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    estado = false;
                }

                if (Per_I.pe_cerrado == "S")
                {
                    MessageBox.Show("No se procedio a Grabar porque el Periodo se encuentra cerrado ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    estado = false;
                }


                if (cmb_banco.get_BaCuentaInfo() == null)
                {
                    MessageBox.Show(param.Get_Mensaje_sys(enum_Mensajes_sys.Seleccione_el) + " banco", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    estado = false;
                }


                if (parametro_banco_info.IdCtaCble_prestamos == null || parametro_banco_info.IdCtaCble_Interes == null)
                {
                    MessageBox.Show(" Falta cuentas contable en paramatros de bancos", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    estado = false;
                }


                return(estado);
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                NameMetodo = NameMetodo + " - " + ex.ToString();
                MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas)
                                , param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
                return(false);
            }
        }
        private void wizardControl1_NextClick(object sender, DevExpress.XtraWizard.WizardCommandButtonClickEventArgs e)
        {
            if (e.Page.Name == "wizardPage1")
            {
                PU_CARGAR_EXCEL_GRILLA();
            }

            if (e.Page.Name == "wizardPage4")
            {
                Fecha_contabilizacion = Convert.ToDateTime(de_fecha_contabilizacion.EditValue).Date;
                info_periodo          = bus_periodo.Get_Info_Periodo(param.IdEmpresa, Fecha_contabilizacion, ref MensajeError);
            }

            if (e.Page.Name == "wizardPage3")
            {
            }//fin del wizardpage 3
        }
        public Boolean validaColumna()
        {
            try
            {
                string  MensajeError = "";
                Boolean estado       = true;
                Per_I = Per_B.Get_Info_Periodo(param.IdEmpresa, param.Fecha_Transac, ref MensajeError);

                if (Per_I.pe_cerrado == "S")
                {
                    MessageBox.Show("No se procedio a Grabar porque el Periodo se encuentra cerrado ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    estado = false;
                    return(estado);
                }
                return(true);
            }
            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());
                return(false);
            }
        }
        private bool valida()
        {
            try
            {
                Boolean           estado       = true;
                string            MensajeError = "";
                ba_tipo_nota_Info tipo2        = new ba_tipo_nota_Info();
                Per_I = Per_B.Get_Info_Periodo(param.IdEmpresa, dt_fechaCbte.Value, ref MensajeError);

                if (Per_I.pe_estado == "I")
                {
                    MessageBox.Show("No se procedio a Grabar porque el Periodo se encuentra cerrado ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    estado = false;
                    return(estado);
                }

                CbteCble_B.Get_list_Cbtecble(param.IdEmpresa, ref MensajeError);

                if (banco_I == null)
                {
                    MessageBox.Show("Seleccione La Cuenta Bancaria", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error); return(false);
                }
                if (tipo2.IdCtaCble == null)
                {
                    MessageBox.Show("La Cuenta Bancaria seleccionada no esta relacionada a una cuenta Contable", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    ultraCmbCtaBanco.EditValue = "";
                    //return false;
                }
                string TipoNota = (rB_Debito.Checked == true) ? "NDBA" : "NCBA";
                foreach (ba_Cbte_Ban_Info row in LstBin_CbteBan)
                {
                    #region verifica motivos con sus ctas cbles
                    ba_tipo_nota_Info tipo = new ba_tipo_nota_Info();
                    try
                    {
                        if (row.IdTipoNota != null)
                        {
                            tipo = ListTipoNota.FirstOrDefault(q => q.IdTipoNota == row.IdTipoNota && q.Tipo == TipoNota);

                            if (tipo == null || tipo.IdCtaCble == null)
                            {
                                MessageBox.Show("No podrá grabar, hay motivos que no tienen asignado la cta cble...");
                                row._Error = "S";
                                return(false);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Todos las Notas (Débito/Crédito) deben tener un motivo.");
                            row._Error = "S";
                            return(false);
                        }
                    }
                    catch (Exception ex)
                    {
                        Log_Error_bus.Log_Error(ex.ToString());
                        MessageBox.Show("No podrá grabar, hay motivos que no tienen asignado la cta cble..." +
                                        "\r Por favor verifique los registros de color rojo.");
                        row._Error = "S";
                    }
                    #endregion


                    #region valida fecha y valor
                    if (row.cb_Valor <= 0 || row.cb_Valor == null)
                    {
                        MessageBox.Show("Todos las Notas (Débito/Crédito) deben tener un valor mayor a cero.");
                        return(false);
                    }

                    if (row.cb_Fecha == new DateTime() || row.cb_Fecha == null)
                    {
                        MessageBox.Show("Asigne valores validos para la fecha.");
                        return(false);
                    }
                    #endregion
                }
                return(true);
            }
            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());
                return(false);
            }
        }
Exemple #11
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                var ITEMS = ListExcel.ToList().FindAll(v => v.chk == true);


                if (!Validar())
                {
                    return;
                }


                ct_Periodo_Bus  BusPeriodo           = new ct_Periodo_Bus();
                ba_Cbte_Ban_Bus BUSBANCOSCOMPROBANTE = new ba_Cbte_Ban_Bus();
                List <ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info> _Parametros_ = _BusCbtBanXCtbtCble.Get_List_Cbte_Ban_tipo_x_ct_CbteCble_tipo(param.IdEmpresa);

                foreach (var item in ITEMS)
                {
                    var prm = _Parametros_.First(v => v.CodTipoCbteBan == item.CodTipoCbteBan.Trim());
                    ct_Cbtecble_Info CabeceraCbte = new ct_Cbtecble_Info();
                    CabeceraCbte.IdEmpresa        = param.IdEmpresa;
                    CabeceraCbte.IdTipoCbte       = prm.IdTipoCbteCble;
                    CabeceraCbte.IdPeriodo        = BusPeriodo.Get_Info_Periodo(param.IdEmpresa, item.cb_Fecha, ref MensajeError).IdPeriodo;
                    CabeceraCbte.IdUsuario        = param.IdUsuario;
                    CabeceraCbte.IdUsuarioUltModi = param.IdUsuario;
                    CabeceraCbte.Mayorizado       = "N";
                    CabeceraCbte.cb_Fecha         = item.cb_Fecha;
                    CabeceraCbte.cb_Observacion   = item.cb_Observacion;
                    CabeceraCbte.cb_Valor         = item.dc_Valor;
                    CabeceraCbte.Estado           = "A";
                    CabeceraCbte.cb_FechaTransac  = param.Fecha_Transac;
                    CabeceraCbte.cb_FechaUltModi  = CabeceraCbte.cb_FechaTransac;


                    ct_Cbtecble_det_Info DetalleInfo = new ct_Cbtecble_det_Info();
                    DetalleInfo.IdEmpresa     = param.IdEmpresa;
                    DetalleInfo.IdTipoCbte    = CabeceraCbte.IdEmpresa;
                    DetalleInfo.secuencia     = 1;
                    DetalleInfo.IdCtaCble     = IdCtaCbleBanco;
                    DetalleInfo.IdCentroCosto = item.IdCentroCosto;
                    if (item.CodTipoCbteBan == "NCBA")
                    {
                        DetalleInfo.dc_Valor = item.dc_Valor * -1;
                    }
                    if (item.CodTipoCbteBan == "NDBA")
                    {
                        DetalleInfo.dc_Valor = item.dc_Valor;
                    }
                    DetalleInfo.dc_Observacion = item.cb_Observacion;
                    CabeceraCbte._cbteCble_det_lista_info.Add(DetalleInfo);

                    DetalleInfo               = new ct_Cbtecble_det_Info();
                    DetalleInfo.IdEmpresa     = param.IdEmpresa;
                    DetalleInfo.IdTipoCbte    = CabeceraCbte.IdEmpresa;
                    DetalleInfo.secuencia     = 2;
                    DetalleInfo.IdCtaCble     = item.IdCtaCble;
                    DetalleInfo.IdCentroCosto = item.IdCentroCosto;
                    if (item.CodTipoCbteBan == "NCBA")
                    {
                        DetalleInfo.dc_Valor = item.dc_Valor;
                    }
                    if (item.CodTipoCbteBan == "NDBA")
                    {
                        DetalleInfo.dc_Valor = item.dc_Valor * -1;
                    }
                    DetalleInfo.dc_Observacion = item.cb_Observacion;
                    CabeceraCbte._cbteCble_det_lista_info.Add(DetalleInfo);


                    decimal IdCbte  = 0;
                    string  Mensaje = "";
                    string  Codigo  = "";



                    BUS_CONTABILIDAD.GrabarDB(CabeceraCbte, ref IdCbte, ref Mensaje);

                    item.IdHASH = string.Format("{0}-MOVI_BAN$-s{1}-{2}-{3}-d{4}-{5}-{6}", fileName, item.SecuenciaRelacionado, item.cb_Fecha, item.CodTipoCbteBan, item.cb_Cheque, item.cb_Observacion, item.dc_Valor);
                    ba_Cbte_Ban_Info COMPROBANTEBANCARIO = new ba_Cbte_Ban_Info();
                    COMPROBANTEBANCARIO.IdEmpresa        = param.IdEmpresa;
                    COMPROBANTEBANCARIO.IdCbteCble       = IdCbte;
                    COMPROBANTEBANCARIO.IdTipocbte       = CabeceraCbte.IdTipoCbte;
                    COMPROBANTEBANCARIO.Cod_Cbtecble     = Codigo;
                    COMPROBANTEBANCARIO.IdPeriodo        = CabeceraCbte.IdPeriodo;
                    COMPROBANTEBANCARIO.IdBanco          = IdBanco;
                    COMPROBANTEBANCARIO.cb_Fecha         = item.cb_Fecha;
                    COMPROBANTEBANCARIO.cb_Observacion   = item.cb_Observacion;
                    COMPROBANTEBANCARIO.cb_Valor         = item.dc_Valor;
                    COMPROBANTEBANCARIO.cb_ChequeImpreso = "N";
                    COMPROBANTEBANCARIO.IdUsuario        = param.IdUsuario;
                    COMPROBANTEBANCARIO.IdUsuarioUltMod  = param.IdUsuario;
                    COMPROBANTEBANCARIO.ip            = param.ip;
                    COMPROBANTEBANCARIO.nom_pc        = param.nom_pc;
                    COMPROBANTEBANCARIO.Fecha_Transac = param.Fecha_Transac;
                    COMPROBANTEBANCARIO.Fecha_UltMod  = COMPROBANTEBANCARIO.Fecha_Transac;
                    //COMPROBANTEBANCARIO.IdTipoNota = null;
                    COMPROBANTEBANCARIO.IdTransaccion = item.IdHASH;
                    BUSBANCOSCOMPROBANTE.GrabarDB(COMPROBANTEBANCARIO, ref MensajeError);
                    item.IdCbteCble = IdCbte;
                    item.IdTipocbte = CabeceraCbte.IdTipoCbte;
                }

                GetList_NotadasDeb_Cred(ITEMS);
                Close();
            }
            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());
            }
        }
Exemple #12
0
        public ct_Cbtecble_Info GetCbtecble_x_Depreacion(int IdEmpresa, int IdTipoCbteDepre,
                                                         int IdPeriodo, List <vwAf_Valores_Depre_Contabilizar_Info> ListInfo_data, Cl_Enumeradores.eForma_Contabilizar sFormaContabiliza, ref string sMensajeError)
        {
            try
            {
                ct_Cbtecble_Info CbteCbleInfo = new ct_Cbtecble_Info();
                ct_Periodo_Info  InfoPeriodo  = new ct_Periodo_Info();
                ct_Periodo_Bus   BusPeriodo   = new ct_Periodo_Bus();
                DateTime         Fecha_Contab = new DateTime();

                InfoPeriodo  = BusPeriodo.Get_Info_Periodo(IdEmpresa, IdPeriodo, ref sMensajeError);
                Fecha_Contab = InfoPeriodo.pe_FechaFin;


                CbteCbleInfo.IdEmpresa      = IdEmpresa;
                CbteCbleInfo.IdTipoCbte     = IdTipoCbteDepre;
                CbteCbleInfo.CodCbteCble    = "";
                CbteCbleInfo.IdCbteCble     = 0;
                CbteCbleInfo.IdPeriodo      = (Fecha_Contab.Year * 100) + Fecha_Contab.Month;
                CbteCbleInfo.cb_Fecha       = Fecha_Contab;
                CbteCbleInfo.cb_Valor       = ListInfo_data.Where(q => q.Valor_Depreciacion > 0).Sum(q => q.Valor_Depreciacion);
                CbteCbleInfo.cb_Observacion = "Contabilizacion " + Cl_Enumeradores.eTipoDepreciacion.DEP_LIN.ToString() + " Por " + sFormaContabiliza.ToString() + " Periodo " + IdPeriodo;
                CbteCbleInfo.Secuencia      = 0;
                CbteCbleInfo.Estado         = "A";
                CbteCbleInfo.Anio           = Convert.ToDateTime(CbteCbleInfo.cb_Fecha).Year;
                CbteCbleInfo.Mes            = Convert.ToDateTime(CbteCbleInfo.cb_Fecha).Month;
                //CbteCbleInfo.IdUsuario = param.IdUsuario;
                CbteCbleInfo.cb_FechaTransac = DateTime.Now;
                CbteCbleInfo.Mayorizado      = "N";


                List <ct_Cbtecble_det_Info> lstDetalle = new List <ct_Cbtecble_det_Info>();

                List <Af_Activo_fijo_CtasCbles_Info> ListInfo_Activos_x_ctas = new List <Af_Activo_fijo_CtasCbles_Info>();
                Af_Activo_fijo_CtasCbles_Bus         BusAf_x_ctaCbles        = new Af_Activo_fijo_CtasCbles_Bus();
                ListInfo_Activos_x_ctas = BusAf_x_ctaCbles.Get_List_Activo_fijo_CtasCbles(IdEmpresa);

                Af_Parametros_Info info_param_af = new Af_Parametros_Info();
                Af_Parametros_Bus  bus_param_af  = new Af_Parametros_Bus();
                info_param_af = bus_param_af.Get_Info_Parametros(IdEmpresa);

                #region Contabilización x activo
                foreach (var item_x_data in ListInfo_data)
                {
                    List <Af_Activo_fijo_CtasCbles_Info> ListInfo_Af_x_ctas = new List <Af_Activo_fijo_CtasCbles_Info>();

                    if (info_param_af.FormaContabiliza == Cl_Enumeradores.eForma_Contabilizar.Por_Activo.ToString())
                    {
                        ListInfo_Af_x_ctas = ListInfo_Activos_x_ctas.Where(v => v.IdEmpresa == IdEmpresa && v.IdActivoFijo == item_x_data.IdActivoFijo).ToList();
                    }

                    if (info_param_af.FormaContabiliza == Cl_Enumeradores.eForma_Contabilizar.Por_CtaCble.ToString())
                    {
                    }

                    if (info_param_af.FormaContabiliza == Cl_Enumeradores.eForma_Contabilizar.Por_Tipo_CtaCble.ToString())
                    {
                        ListInfo_Af_x_ctas = ListInfo_Activos_x_ctas.Where(v => v.IdEmpresa == IdEmpresa && v.IdActijoFijoTipo == item_x_data.IdActijoFijoTipo).ToList();
                    }

                    vwAf_Valores_Depre_Contabilizar_Info Info_valores_depre_con_x_Gasto_depre = new vwAf_Valores_Depre_Contabilizar_Info();
                    Info_valores_depre_con_x_Gasto_depre = item_x_data;



                    //////////////////////////////
                    var q_Gastos_x_depre = from C in ListInfo_Af_x_ctas
                                           where C.IdTipoCuenta == "CTA_GASTOS_DEPRE"
                                           group C by new { C.IdEmpresa, C.IdTipoCuenta, C.IdCtaCble, C.porc_distribucion }
                    into grouping
                        select new { grouping.Key, Total_reg = grouping.Count() };


                    if (q_Gastos_x_depre.Count() == 1) // solo hay una cuenta x CTA_GASTOS_DEPRE
                    {
                        foreach (var item_x_cta in q_Gastos_x_depre)
                        {
                            Info_valores_depre_con_x_Gasto_depre.IdCtaCbleGastos      = item_x_cta.Key.IdCtaCble;
                            Info_valores_depre_con_x_Gasto_depre.Valor_a_contabilizar = item_x_data.Valor_Depreciacion;
                        }
                    }
                    else// mas de una cta distribuir por %
                    {
                        foreach (var item_x_cta in q_Gastos_x_depre)
                        {
                            Info_valores_depre_con_x_Gasto_depre.IdCtaCbleGastos      = item_x_cta.Key.IdCtaCble;
                            Info_valores_depre_con_x_Gasto_depre.Valor_a_contabilizar = (item_x_data.Valor_Depreciacion * item_x_cta.Key.porc_distribucion) / 100;
                        }
                    }

                    ///

                    //////////////////////////////
                    ///////// Info_valores_depre_con_x_depre_Acum
                    vwAf_Valores_Depre_Contabilizar_Info Info_valores_depre_con_x_depre_Acum = new vwAf_Valores_Depre_Contabilizar_Info();
                    Info_valores_depre_con_x_depre_Acum = item_x_data;

                    var q_depre_Acumulada = from C in ListInfo_Af_x_ctas
                                            where C.IdTipoCuenta == "CTA_DEPRE_ACUM"
                                            group C by new { C.IdEmpresa, C.IdTipoCuenta, C.IdCtaCble, C.porc_distribucion }
                    into grouping
                        select new { grouping.Key, Total_reg = grouping.Count() };


                    if (q_depre_Acumulada.Count() == 1) // solo hay una cuenta x CTA_DEPRE_ACUM
                    {
                        foreach (var item_x_cta in q_depre_Acumulada)
                        {
                            Info_valores_depre_con_x_depre_Acum.IdCtaCbleDepre       = item_x_cta.Key.IdCtaCble;
                            Info_valores_depre_con_x_depre_Acum.Valor_a_contabilizar = item_x_data.Valor_Depreciacion;
                        }
                    }
                    else// mas de una cta distribuir por %
                    {
                        foreach (var item_x_cta in q_depre_Acumulada)
                        {
                            Info_valores_depre_con_x_depre_Acum.IdCtaCbleDepre       = item_x_cta.Key.IdCtaCble;
                            Info_valores_depre_con_x_depre_Acum.Valor_a_contabilizar = (item_x_data.Valor_Depreciacion * item_x_cta.Key.porc_distribucion) / 100;
                        }
                    }



                    ct_Cbtecble_det_Info infoDetalle = new ct_Cbtecble_det_Info();

                    infoDetalle                = new ct_Cbtecble_det_Info();
                    infoDetalle.IdEmpresa      = IdEmpresa;
                    infoDetalle.IdTipoCbte     = IdTipoCbteDepre;
                    infoDetalle.IdCtaCble      = Info_valores_depre_con_x_Gasto_depre.IdCtaCbleGastos;
                    infoDetalle.dc_Valor       = Info_valores_depre_con_x_Gasto_depre.Valor_a_contabilizar;
                    infoDetalle.dc_Observacion = CbteCbleInfo.cb_Observacion;
                    infoDetalle.secuencia      = 1;
                    lstDetalle.Add(infoDetalle);

                    //datos el haber
                    infoDetalle                = new ct_Cbtecble_det_Info();
                    infoDetalle.IdEmpresa      = IdEmpresa;
                    infoDetalle.IdTipoCbte     = IdTipoCbteDepre;
                    infoDetalle.IdCtaCble      = Info_valores_depre_con_x_depre_Acum.IdCtaCbleDepre;
                    infoDetalle.dc_Valor       = Info_valores_depre_con_x_depre_Acum.Valor_a_contabilizar * -1;
                    infoDetalle.dc_Observacion = CbteCbleInfo.cb_Observacion;
                    infoDetalle.secuencia      = 2;
                    lstDetalle.Add(infoDetalle);
                }


                CbteCbleInfo._cbteCble_det_lista_info = lstDetalle;
                #endregion


                return(CbteCbleInfo);
            }
            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("", "ContabilizarDepreciacion", ex.Message), ex)
                      {
                          EntityType = typeof(Af_Depreciacion_Bus)
                      };
            }
        }
Exemple #13
0
        void ConsultarDatos_para_inardap()
        {
            try
            {
                XCXC_Rpt015_Bus         rptBus      = new XCXC_Rpt015_Bus();
                List <XCXC_Rpt015_Info> lstRpt      = new List <XCXC_Rpt015_Info>();
                ct_Periodo_Info         InfoPeriodo = new ct_Periodo_Info();
                int    IdSucursalIni = 0;
                int    IdSucursalFin = 0;
                int    IdPeriodo     = 0;
                string msg           = "";

                IdSucursalIni = (uccxC_MenuReportes.beiSucursal.EditValue == null) ? 0 : Convert.ToInt32(uccxC_MenuReportes.beiSucursal.EditValue);
                IdSucursalFin = (uccxC_MenuReportes.beiSucursal.EditValue == null || Convert.ToInt32(uccxC_MenuReportes.beiSucursal.EditValue) == 0) ? 999999 : Convert.ToInt32(uccxC_MenuReportes.beiSucursal.EditValue);

                IdPeriodo = (Int32)uccxC_MenuReportes.bei_Periodo.EditValue;

                if (IdPeriodo == 0)
                {
                    MessageBox.Show("el reporte para Dinardap se ejecuta por periodo seleccion un periodo"); return;
                }

                ct_Periodo_Bus busPeriodo = new ct_Periodo_Bus();
                InfoPeriodo = busPeriodo.Get_Info_Periodo(param.IdEmpresa, IdPeriodo, ref msg);

                lstRpt = rptBus.get_DetalleCarteraVencida(param.IdEmpresa, 0, IdSucursalIni, IdSucursalFin, InfoPeriodo.pe_FechaIni, InfoPeriodo.pe_FechaFin, 0);

                List <Dinardap_Registros_cxc_Info> ListInfoDinardap = new List <Dinardap_Registros_cxc_Info>();

                foreach (var item in lstRpt)
                {
                    Dinardap_Registros_cxc_Info InfoDinardap = new Dinardap_Registros_cxc_Info();

                    InfoDinardap.FechaDatos = InfoPeriodo.pe_FechaFin.ToString("dd/MM/yyyy");
                    switch (item.IdTipoDocumento)
                    {
                    case "CED": InfoDinardap.TipoIden = "C"; break;

                    case "PAS": InfoDinardap.TipoIden = "E"; break;

                    case "RUC": InfoDinardap.TipoIden = "R"; break;

                    default:
                        InfoDinardap.TipoIden = "C"; break;
                    }
                    InfoDinardap.Identificacion = item.pe_cedulaRuc.Trim();
                    InfoDinardap.Nom_apellido   = item.pe_nombreCompleto.Trim();

                    switch (item.Naturaleza)
                    {
                    case "JURI": InfoDinardap.clase_suje = "J"; InfoDinardap.sexo = ""; InfoDinardap.estado_civil = ""; InfoDinardap.Origen_Ing = ""; break;

                    case "NATU": InfoDinardap.clase_suje = "N";
                        InfoDinardap.sexo       = (item.sexo == "SEXO_MAS") ? "M" : "F";
                        InfoDinardap.Origen_Ing = "V";
                        switch (item.IdEstadoCivil)
                        {
                        case "CASAD": InfoDinardap.estado_civil = "C"; break;

                        case "DIVOR": InfoDinardap.estado_civil = "D"; break;

                        case "SOLTE": InfoDinardap.estado_civil = "S"; break;

                        case "UNILI": InfoDinardap.estado_civil = "U"; break;

                        case "VIUD": InfoDinardap.estado_civil = "V"; break;

                        default: InfoDinardap.estado_civil = "S"; break;
                        }
                        break;

                    case "OTRO": InfoDinardap.clase_suje = "N"; InfoDinardap.sexo = ""; InfoDinardap.estado_civil = ""; InfoDinardap.Origen_Ing = ""; break;

                    case "RISE": InfoDinardap.clase_suje = "N"; InfoDinardap.sexo = ""; InfoDinardap.estado_civil = ""; InfoDinardap.Origen_Ing = ""; break;
                    }


                    InfoDinardap.Provincia = item.Cod_Provincia;
                    InfoDinardap.canton    = item.Cod_Ciudad;
                    InfoDinardap.parroquia = item.Cod_Parroquia;



                    InfoDinardap.num_operacion = item.vt_NumFactura != null ? /*item.vt_serie1 + "-" + item.vt_serie2 + "-" +*/ item.vt_NumFactura : item.CodCbteVta;

                    InfoDinardap.valor_ope = Math.Round(Math.Abs(Convert.ToDecimal(item.Valor_Original)), 2, MidpointRounding.AwayFromZero);

                    InfoDinardap.saldo_ope = Math.Round(Math.Abs(Convert.ToDecimal(item.Valor_Original)), 2, MidpointRounding.AwayFromZero) - Math.Round(Math.Abs(Convert.ToDecimal(item.Total_Pagado)), 2, MidpointRounding.AwayFromZero);


                    InfoDinardap.fecha_conse = item.vt_fecha.ToString("dd/MM/yyyy");
                    InfoDinardap.fecha_vct   = Convert.ToDateTime(item.vt_fech_venc).ToString("dd/MM/yyyy");
                    InfoDinardap.fecha_exigi = Convert.ToDateTime(item.vt_fech_venc).ToString("dd/MM/yyyy");

                    //
                    InfoDinardap.Plazo_op          = item.Plazo;
                    InfoDinardap.Periodicidad_pago = item.Plazo;

                    if (InfoDinardap.Plazo_op <= 0)
                    {
                        InfoDinardap.Plazo_op = 1;
                    }
                    if (InfoDinardap.Plazo_op > 99999)
                    {
                        InfoDinardap.Plazo_op = 99999;
                    }

                    if (InfoDinardap.Periodicidad_pago <= 0)
                    {
                        InfoDinardap.Periodicidad_pago = 1;
                    }
                    if (InfoDinardap.Periodicidad_pago > 99999)
                    {
                        InfoDinardap.Periodicidad_pago = 99999;
                    }

                    InfoDinardap.dias_morosidad  = Math.Abs(Convert.ToDecimal(item.Dias_Vencidos));
                    InfoDinardap.monto_morosidad = InfoDinardap.dias_morosidad == 0 ? 0 : Math.Round(Math.Abs(Convert.ToDecimal(item.Valor_Vencido)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.monto_inte_mora = 0;
                    if (item.x_Vencer_1_30_Dias != 0 || item.x_Vencer_31_90_Dias != 0 || item.x_Vencer_91_180_Dias != 0 || item.x_Vencer_181_360_Dias != 0 || item.x_Vencer_Mayor_a_360Dias != 0 ||
                        item.Vencido_1_30_Dias != 0 || item.Vencido_31_90_Dias != 0 || item.Vencido_91_180_Dias != 0 || item.Vencido_181_360_Dias != 0 || item.Vencido_Mayor_a_360Dias != 0)
                    {
                        //VALORES POR VENCER SE DEBEN CONSIDERAR EN MORA?
                    }

                    InfoDinardap.valor_x_vencer_1_30    = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_1_30_Dias)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.valor_x_vencer_31_90   = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_31_90_Dias)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.valor_x_vencer_91_180  = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_91_180_Dias)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.valor_x_vencer_181_360 = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_181_360_Dias)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.valor_x_vencer_mas_360 = Math.Round(Math.Abs(Convert.ToDecimal(item.x_Vencer_Mayor_a_360Dias)), 2, MidpointRounding.AwayFromZero);

                    InfoDinardap.valor_vencido_1_30    = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_1_30_Dias)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.valor_vencido_31_90   = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_31_90_Dias)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.valor_vencido_91_180  = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_91_180_Dias)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.valor_vencido_181_360 = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_181_360_Dias)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.valor_vencido_mas_360 = Math.Round(Math.Abs(Convert.ToDecimal(item.Vencido_Mayor_a_360Dias)), 2, MidpointRounding.AwayFromZero);
                    InfoDinardap.valor_en_demand_judi  = 0;
                    InfoDinardap.cartera_castigada     = 0;
                    InfoDinardap.couta_credito         = Math.Round(Math.Abs(Convert.ToDecimal(item.Valor_Vencido == 0 ? item.Valor_x_Vencer : item.Valor_Vencido)), 2, MidpointRounding.AwayFromZero);
                    //Fecha de cobro
                    InfoDinardap.fecha_cancela = ""; //item.cr_fechaCobro == null || item.Total_Pagado == 0 ? "" : Convert.ToDateTime(item.cr_fechaCobro).ToString("dd/MM/yyyy");
                    InfoDinardap.forma_cance   = ""; //item.cr_fechaCobro == null ? "" : "E";
                    InfoDinardap.CodEntidad    = item.cod_entidad_dinardap;



                    ListInfoDinardap.Add(InfoDinardap);
                }


                if (ListInfoDinardap.Count() > 0)
                {
                    GuardarFile_txt(ListInfoDinardap, InfoPeriodo);
                }
            }

            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.Message, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void cmb_periodo_EditValueChanged(object sender, EventArgs e)
        {
            try
            {
                if (cmb_periodo.EditValue != null)
                {
                    InfoPeriodo = BusPeriodo.Get_Info_Periodo(param.IdEmpresa, Convert.ToInt32(cmb_periodo.EditValue), ref MensajeError);

                    lblFechaIni.Text            = InfoPeriodo.pe_FechaIni.Date.ToShortDateString();
                    lblfechaFin.Text            = InfoPeriodo.pe_FechaFin.Date.ToShortDateString();
                    chk_periodo_cerrado.Checked = (InfoPeriodo.pe_cerrado == "S") ? true : false;

                    int Anio_a_buscar = 0;
                    if (InfoPeriodo.pe_mes == 12) //es fin de año
                    {
                        Anio_a_buscar            = InfoPeriodo.IdanioFiscal;
                        btn_cierre_anual.Enabled = true;
                    }
                    else
                    {
                        Anio_a_buscar            = InfoPeriodo.IdanioFiscal - 1;
                        btn_cierre_anual.Enabled = false;
                    }


                    ct_anio_fiscal_x_cuenta_utilidad_Bus  BusAnioF  = new ct_anio_fiscal_x_cuenta_utilidad_Bus();
                    ct_anio_fiscal_x_cuenta_utilidad_Info InfoAnioF = new ct_anio_fiscal_x_cuenta_utilidad_Info();
                    InfoAnioF = BusAnioF.Get_Info_anioF_x_Cta(InfoPeriodo.IdEmpresa, Anio_a_buscar, ref MensajeError);

                    if (InfoAnioF.IdCbteCble_cbte_cierre == null)
                    {
                        ct_AnioFiscal_Info Info_AnioFiscal = new ct_AnioFiscal_Info();
                        ct_AnioFiscal_Bus  Bus_AnioFiscal  = new ct_AnioFiscal_Bus();
                        Info_AnioFiscal = Bus_AnioFiscal.Get_Info_Anio_fiscal(Anio_a_buscar);

                        if (Info_AnioFiscal.IdanioFiscal > 0 && Info_AnioFiscal.af_estado == "A")
                        {
                            lblmensaje_no_cierra.Text      = "El año " + Anio_a_buscar + " no esta cerrado.. verifique o cierrelo";
                            lblmensaje_no_cierra.ForeColor = Color.Red;
                        }
                        else
                        {
                            lblmensaje_no_cierra.Text      = "";
                            lblmensaje_no_cierra.ForeColor = Color.Red;
                        }
                    }
                    else
                    {
                        lblmensaje_no_cierra.Text      = "El año " + Anio_a_buscar + " ESTA CERRADO..";
                        lblmensaje_no_cierra.ForeColor = Color.Blue;
                    }



                    cargar_modulo_X_periodo();
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public Boolean validar()
        {
            try
            {
                ct_Periodo_Bus Per_B = new ct_Periodo_Bus();
                Per_I = Per_B.Get_Info_Periodo(param.IdEmpresa, dtpFecha.Value, ref MensajeError);

                if (Per_I.pe_estado == "I")
                {
                    MessageBox.Show("No se procedio a Grabar porque el Periodo se encuentra cerrado ", "SISTEMA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                if (_Info.IdOrdenCompraExt == null || _Info.IdOrdenCompraExt == 0)
                {
                    MessageBox.Show("Por Favor seleccione Importacion");
                    return(false);
                }
                if (_Info.CodDocu_Pago == "" || _Info.CodDocu_Pago == null)
                {
                    MessageBox.Show("Por Favor seleccione Documento de Pago");
                    return(false);
                }
                if (_Info.CodDocu_Pago == "DEBBAN")
                {
                    if (_Info.IdProveedor == null || _Info.IdProveedor == 0)
                    {
                        MessageBox.Show("Por Favor seleccione Proveedor");
                        return(false);
                    }
                }

                if (_Info.ListaGastos.Count == 0 || _Info.ListaGastos == null)
                {
                    MessageBox.Show("Por favor Ingrese Tipo de gasto");
                    return(false);
                }
                foreach (var item in _Info.ListaGastos)
                {
                    int c = 0;
                    foreach (var item1 in _Info.ListaGastos)
                    {
                        if (item.IdGastoImp == item1.IdGastoImp)
                        {
                            c++;
                            if (c > 1)
                            {
                                MessageBox.Show("No puede seleccionar dos tipos de gastos iguales");
                                return(false);
                            }
                        }
                    }
                    if (item.Valor == 0)
                    {
                        MessageBox.Show("Debe Ingresar Valores En los tipos de gastos");
                        return(false);
                    }
                }

                for (int i = 0; i < gridViewGastos.RowCount; i++)
                {
                    imp_ordencompra_ext_x_imp_gastosxImport_Det_Info asd = (imp_ordencompra_ext_x_imp_gastosxImport_Det_Info)gridViewGastos.GetRow(i);
                    if (asd != null)
                    {
                        if (asd.IdGastoImp == null || asd.IdGastoImp == 0)
                        {
                            MessageBox.Show("Verifique datos De la Tabla Sean correcto");
                            return(false);
                        }
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                return(false);
            }
        }
Exemple #16
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)
                      };
            }
        }