Ejemplo n.º 1
0
 public Boolean EliminarDB(ct_Cbtecble_det_Info _CbteCbleInfo, ref string MensajeError)
 {
     try
     {
         using (EntitiesDBConta context = new EntitiesDBConta())
         {
             var contact = context.ct_cbtecble_det.FirstOrDefault(tbCbteCble => tbCbteCble.IdEmpresa == _CbteCbleInfo.IdEmpresa && tbCbteCble.IdTipoCbte == _CbteCbleInfo.IdTipoCbte && tbCbteCble.IdCbteCble == _CbteCbleInfo.IdCbteCble);
             if (contact != null)
             {
                 context.ct_cbtecble_det.Remove(contact);
                 context.SaveChanges();
                 context.Dispose();
             }
         }
         return(true);
     }
     catch (Exception ex)
     {
         string arreglo = ToString();
         tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
         tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                   "", "", "", "", DateTime.Now);
         oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
         mensaje = ex.InnerException + " " + ex.Message;
         throw new Exception(ex.InnerException.ToString());
     }
 }
Ejemplo n.º 2
0
        public ct_Cbtecble_Info Get_Info_Plantilla_CbteCble(int IdEmpresa, int IdTipoCbte, decimal IdPlantilla)
        {
            try
            {
                ct_cbtecble_Plantilla_Info  info    = new ct_cbtecble_Plantilla_Info();
                ct_Cbtecble_Info            _Info   = new ct_Cbtecble_Info();
                List <ct_Cbtecble_det_Info> Lst_det = new List <ct_Cbtecble_det_Info>();

                info = data.Get_Info_Plantilla(IdEmpresa, IdTipoCbte, IdPlantilla);

                _Info.Estado           = "A";
                _Info.cb_Fecha         = info.cb_Fecha;
                _Info.cb_Observacion   = info.cb_Observacion;
                _Info.IdEmpresa        = info.IdEmpresa;
                _Info.IdTipoCbte       = info.IdTipoCbte;
                _Info.IdUsuario        = info.IdUsuario;
                _Info.IdUsuarioUltModi = info.IdUsuarioUltModi;
                _Info.IdUsuarioAnu     = info.IdUsuarioAnu;
                _Info.cb_FechaAnu      = info.cb_FechaAnu;
                _Info.cb_FechaTransac  = info.cb_FechaTransac;
                _Info.cb_FechaUltModi  = info.cb_FechaUltModi;
                _Info.IdCbteCble       = info.IdPlantilla;

                foreach (var item in info.LstDet)
                {
                    ct_Cbtecble_det_Info det_i = new ct_Cbtecble_det_Info();

                    det_i.IdPunto_cargo_grupo = item.IdPunto_cargo_grupo;
                    det_i.IdPunto_cargo       = item.IdPunto_cargo;
                    det_i.IdEmpresa           = item.IdEmpresa;
                    det_i.IdTipoCbte          = item.IdTipoCbte;
                    det_i.IdCtaCble           = item.IdCtaCble;
                    det_i.IdCbteCble          = item.IdPlantilla;

                    if (item.IdCentroCosto != "")
                    {
                        det_i.IdCentroCosto = item.IdCentroCosto;
                    }

                    det_i.secuencia      = item.secuencia;
                    det_i.dc_Valor       = item.dc_Valor;
                    det_i.dc_Observacion = item.dc_Observacion;

                    Lst_det.Add(det_i);
                }

                _Info._cbteCble_det_lista_info = Lst_det;


                return(_Info);
            }
            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_Info_Plantilla_CbteCble", ex.Message), ex)
                      {
                          EntityType = typeof(ct_cbtecble_Plantilla_Bus)
                      };
            }
        }
        void get_Cbtecble()
        {
            try
            {
                ListaDetalle = BindLstPrestamo.ToList();
                ListaDetalle = ListaDetalle.FindAll(var => var.Check == true && var.Monto_x_Canc > 0);
                if (ListaDetalle.Count != 0)
                {
                    foreach (var item in ListaDetalle)
                    {
                        ct_Cbtecble_Info CbteCble_I = new ct_Cbtecble_Info();

                        CbteCble_I.IdEmpresa      = param.IdEmpresa;
                        CbteCble_I.IdTipoCbte     = _IdTipoCbte_ND;
                        CbteCble_I.IdPeriodo      = Per_I.IdPeriodo;
                        CbteCble_I.cb_Fecha       = param.Fecha_Transac; //duda
                        CbteCble_I.cb_Valor       = Convert.ToDouble(item.Monto_x_Canc);
                        CbteCble_I.cb_Observacion = "Nota de Débtio de la Cuota#: " + item.NumCuota + " ,del Préstamo#: " + item.IdPrestamo + " y Valor: " + item.Monto_x_Canc;
                        CbteCble_I.Estado         = "A";
                        CbteCble_I.Anio           = param.Fecha_Transac.Year;
                        CbteCble_I.Mes            = param.Fecha_Transac.Month;
                        CbteCble_I.IdUsuario      = param.IdUsuario;

                        CbteCble_I.cb_FechaTransac = param.Fecha_Transac;

                        //Detalle Diario
                        //Debe
                        ct_Cbtecble_det_Info debe = new ct_Cbtecble_det_Info();
                        debe.IdEmpresa      = param.IdEmpresa;
                        debe.IdTipoCbte     = _IdTipoCbte_ND;
                        debe.IdCtaCble      = "";                //duda
                        debe.dc_Observacion = "Nota de Débtio de la Cuota#: " + item.NumCuota + " ,del Préstamo#: " + item.IdPrestamo + " y Valor: " + item.Monto_x_Canc;
                        debe.dc_Valor       = Convert.ToDouble(item.Monto_x_Canc);
                        CbteCble_I._cbteCble_det_lista_info.Add(debe);

                        //Haber
                        ct_Cbtecble_det_Info Haber = new ct_Cbtecble_det_Info();
                        Haber.IdEmpresa      = param.IdEmpresa;
                        Haber.IdTipoCbte     = _IdTipoCbte_ND;
                        Haber.IdCtaCble      = "";             //duda
                        Haber.dc_Observacion = "Nota de Débtio de la Cuota#: " + item.NumCuota + " ,del Préstamo#: " + item.IdPrestamo + " y Valor: " + item.Monto_x_Canc;
                        Haber.dc_Valor       = Convert.ToDouble(item.Monto_x_Canc) * -1;
                        CbteCble_I._cbteCble_det_lista_info.Add(Haber);


                        List_CbteCble_I.Add(CbteCble_I);

                        item.Lista_CbteCble = List_CbteCble_I;
                    }
                }
            }
            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());
            }
        }
Ejemplo n.º 4
0
        public List <ct_Cbtecble_det_Info> Get_list_CbteCble_x_cp_Conciliacion_caja(int IdEmpresa, decimal IdConciliacion_caja)
        {
            try
            {
                List <ct_Cbtecble_det_Info> Lista = new List <ct_Cbtecble_det_Info>();

                using (EntitiesDBConta Context = new EntitiesDBConta())
                {
                    var lst = from q in Context.vwct_cbtecble_x_cp_Conciliacion_caja
                              where IdEmpresa == q.IdEmpresa &&
                              IdConciliacion_caja == q.IdConciliacion_Caja
                              select q;
                    foreach (var item in lst)
                    {
                        ct_Cbtecble_det_Info info = new ct_Cbtecble_det_Info();
                        info.IdEmpresa_conci     = item.IdEmpresa;
                        info.IdConciliacion_Caja = item.IdConciliacion_Caja;
                        info.tipo           = item.tc_TipoCbte;
                        info.IdEmpresa      = item.IdEmpresa_cbte;
                        info.IdTipoCbte     = item.IdTipoCbte;
                        info.IdCbteCble     = item.IdCbteCble;
                        info.secuencia      = item.secuencia;
                        info.IdCtaCble      = item.IdCtaCble;
                        info.NomCtaCble     = item.nom_Cuenta;
                        info.IdCentroCosto  = item.IdCentroCosto;
                        info.NomCentroCosto = item.nom_Centro_costo;
                        info.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo;
                        info.NomSubCentroCosto     = item.nom_Centro_costo_sub_centro_costo;
                        info.dc_Valor_D            = item.Debe;
                        info.dc_Valor_H            = item.Haber;
                        info.dc_Observacion        = item.dc_Observacion;
                        info.IdPunto_cargo         = item.IdPunto_cargo;
                        info.IdPunto_cargo_grupo   = item.IdPunto_cargo_grupo;
                        info.nom_punto_cargo_grupo = item.nom_punto_cargo_grupo;
                        info.nom_punto_cargo       = item.nom_punto_cargo;
                        Lista.Add(info);
                    }
                }

                return(Lista);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.ToString();
                throw new Exception(ex.ToString());
            }
        }
        public List <ct_Cbtecble_det_Info> Get_List_Conciliacion_det_IngEgr(int IdEmpresa, int IdTipoCbte, decimal IdCbteCble)
        {
            try
            {
                List <ct_Cbtecble_det_Info> lM = new List <ct_Cbtecble_det_Info>();
                EntitiesBanco db = new EntitiesBanco();

                var select_ = from T in db.ba_Conciliacion_det_IngEgr
                              where T.IdEmpresa == IdEmpresa &&
                              T.IdTipocbte == IdTipoCbte &&
                              T.IdCbteCble == IdCbteCble
                              group T by new
                {
                    T.IdEmpresa,
                    T.IdTipocbte,
                    T.IdCbteCble,
                    T.SecuenciaCbteCble
                } into grouping
                    select new ct_Cbtecble_det_Info
                {
                    IdEmpresa  = grouping.Key.IdEmpresa,
                    IdTipoCbte = grouping.Key.IdTipocbte,
                    IdCbteCble = grouping.Key.IdCbteCble,
                    secuencia  = grouping.Key.SecuenciaCbteCble
                };


                foreach (var item in select_)
                {
                    ct_Cbtecble_det_Info dat = new ct_Cbtecble_det_Info();

                    dat.IdEmpresa  = item.IdEmpresa;
                    dat.IdTipoCbte = item.IdTipoCbte;
                    dat.IdCbteCble = item.IdCbteCble;
                    dat.secuencia  = item.secuencia;

                    lM.Add(dat);
                }
                return(lM);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.InnerException.ToString());
            }
        }
Ejemplo n.º 6
0
        private ct_Cbtecble_Info GetAsientoContable(ro_Remplazo_x_emplado_Info info)
        {
            try
            {
                infocont                 = new ct_Cbtecble_Info();
                infocont.IdEmpresa       = info.IdEmpresa;
                infocont.IdTipoCbte      = Convert.ToInt32(info_parametros.IdTipoCbte_AsientoSueldoXPagar);
                infocont.IdPeriodo       = Convert.ToInt32(info.Fecha.Year.ToString() + info.Fecha.Month.ToString().PadLeft(2, '0'));
                infocont.cb_Valor        = Convert.ToDouble(info.Total_pagar_remplazo);
                infocont.cb_Fecha        = Convert.ToDateTime(info.Fecha);
                infocont.cb_Observacion  = "Pago de remplado de " + info.pe_nombreCompleto;
                info.Estado              = "A";
                infocont.Anio            = info.Fecha.Year;
                infocont.Mes             = info.Fecha.Year;
                infocont.IdUsuario       = info.IdUsuario;
                infocont.cb_FechaTransac = DateTime.Now;
                infocont.IdUsuario       = "";
                infocont.Estado          = "A";
                infocont.Mayorizado      = "N";
                infocont.IdUsuario       = info.IdUsuario;
                ct_Cbtecble_det_Info infocont_deth = new ct_Cbtecble_det_Info();
                infocont_deth.IdEmpresa      = info.IdEmpresa;
                infocont_deth.IdTipoCbte     = Convert.ToInt32(info_parametros.IdTipoCbte_AsientoSueldoXPagar);
                infocont_deth.IdCtaCble      = infoOptipo.IdCtaCble;
                infocont_deth.dc_Valor       = Convert.ToDouble(info.Total_pagar_remplazo);
                infocont_deth.dc_Observacion = "Pago de remplazo " + info.pe_nombreCompleto;
                infocont_deth.secuencia      = 1;
                infocont._cbteCble_det_lista_info.Add(infocont_deth);



                ct_Cbtecble_det_Info infocont_detd = new ct_Cbtecble_det_Info();
                infocont_detd.IdEmpresa      = info.IdEmpresa;
                infocont_detd.IdTipoCbte     = Convert.ToInt32(info_parametros.IdTipoCbte_AsientoSueldoXPagar);
                infocont_detd.IdCtaCble      = infoOptipo.IdCtaCble;
                infocont_detd.dc_Valor       = Convert.ToDouble(info.Total_pagar_remplazo) * -1;
                infocont_detd.dc_Observacion = "Pago de remplazo " + info.pe_nombreCompleto;
                infocont_detd.secuencia      = 2;

                infocont._cbteCble_det_lista_info.Add(infocont_detd);
                infocont_detd.secuencia = 2;

                return(infocont);
            }
            catch (Exception ex)
            {
                return(new ct_Cbtecble_Info());
            }
        }
Ejemplo n.º 7
0
        public Boolean GrabarDB(ct_Cbtecble_det_Info _CbteCbleInfo, ref string MensajeError)
        {
            try
            {
                using (EntitiesDBConta contexto = new EntitiesDBConta())
                {
                    var lst = from q in contexto.ct_cbtecble_det
                              where q.IdEmpresa == _CbteCbleInfo.IdEmpresa &&
                              q.IdTipoCbte == _CbteCbleInfo.IdTipoCbte &&
                              q.IdCbteCble == _CbteCbleInfo.IdCbteCble &&
                              q.secuencia == _CbteCbleInfo.secuencia
                              select q;

                    if (lst.Count() == 0)
                    {
                        var address_tabla = new ct_cbtecble_det();
                        address_tabla.IdEmpresa     = _CbteCbleInfo.IdEmpresa;
                        address_tabla.IdTipoCbte    = _CbteCbleInfo.IdTipoCbte;
                        address_tabla.IdCbteCble    = _CbteCbleInfo.IdCbteCble;
                        address_tabla.IdCtaCble     = _CbteCbleInfo.IdCtaCble;
                        address_tabla.IdCentroCosto = (String.IsNullOrEmpty(_CbteCbleInfo.IdCentroCosto)) ? null : _CbteCbleInfo.IdCentroCosto;
                        address_tabla.IdCentroCosto_sub_centro_costo = (String.IsNullOrEmpty(_CbteCbleInfo.IdCentroCosto_sub_centro_costo)) ? null : _CbteCbleInfo.IdCentroCosto_sub_centro_costo;
                        address_tabla.secuencia           = _CbteCbleInfo.secuencia;
                        address_tabla.dc_Valor            = _CbteCbleInfo.dc_Valor;
                        address_tabla.dc_Observacion      = (_CbteCbleInfo.dc_Observacion == null) ? "" : _CbteCbleInfo.dc_Observacion;
                        address_tabla.IdPunto_cargo       = _CbteCbleInfo.IdPunto_cargo;
                        address_tabla.IdPunto_cargo_grupo = _CbteCbleInfo.IdPunto_cargo_grupo;
                        address_tabla.dc_para_conciliar   = _CbteCbleInfo.dc_para_conciliar;

                        contexto.ct_cbtecble_det.Add(address_tabla);

                        contexto.SaveChanges();
                        contexto.Dispose();
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.InnerException.ToString());
            }
        }
Ejemplo n.º 8
0
 public Boolean GrabarDB(ct_Cbtecble_det_Info _CbteCble_det_Info, ref string MensajeError)
 {
     try
     {
         ct_Cbtecble_det_Data _CbteCbleData = new ct_Cbtecble_det_Data();
         return(_CbteCbleData.GrabarDB(_CbteCble_det_Info, ref MensajeError));
     }
     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("", "GrabarDB", ex.Message), ex)
               {
                   EntityType = typeof(ct_Cbtecble_det_Bus)
               };
     }
 }
Ejemplo n.º 9
0
        private ct_Cbtecble_Info Armar_diario(fa_notaCreDeb_Info info_ND)
        {
            try
            {
                ct_Cbtecble_Info info_diario = new ct_Cbtecble_Info();
                #region Cabecera
                info_diario.IdEmpresa       = param.IdEmpresa;
                info_diario.cb_Fecha        = Fecha_contabilizacion;
                info_diario.cb_Observacion  = info_ND.sc_observacion;
                info_diario.cb_Valor        = Math.Round(Convert.ToDouble(info_ND.Total), 2, MidpointRounding.AwayFromZero);
                info_diario.IdTipoCbte      = info_parametro.IdTipoCbteCble_ND;
                info_diario.IdUsuario       = "SysAdmin";
                info_diario.cb_FechaTransac = param.Fecha_Transac;
                info_diario.Estado          = "A";
                info_diario.IdPeriodo       = info_periodo.IdPeriodo;
                info_diario.Mayorizado      = "N";

                #endregion

                #region Detalle
                ct_Cbtecble_det_Info debe = new ct_Cbtecble_det_Info();
                debe.IdEmpresa      = param.IdEmpresa;
                debe.IdTipoCbte     = info_diario.IdTipoCbte;
                debe.IdCtaCble      = info_ND.info_cliente.IdCtaCble_cxc;
                debe.dc_Valor       = Math.Round(Convert.ToDouble(info_ND.Total), 2, MidpointRounding.AwayFromZero);
                debe.dc_Observacion = info_ND.sc_observacion;
                info_diario._cbteCble_det_lista_info.Add(debe);

                ct_Cbtecble_det_Info haber = new ct_Cbtecble_det_Info();
                haber.IdEmpresa      = param.IdEmpresa;
                haber.IdTipoCbte     = info_diario.IdTipoCbte;
                haber.IdCtaCble      = info_ND.info_cliente.IdCtaCble_cxc;
                haber.dc_Valor       = Math.Round(Convert.ToDouble(info_ND.Total), 2, MidpointRounding.AwayFromZero) * -1;
                haber.dc_Observacion = info_ND.sc_observacion;
                info_diario._cbteCble_det_lista_info.Add(haber);

                #endregion
                return(info_diario);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }
        }
Ejemplo n.º 10
0
        public Boolean ModificarDB(ct_Cbtecble_det_Info _CbteCbleInfo, ref string MensajeError)
        {
            try
            {
                bool respuesta = true;

                using (EntitiesDBConta context = new EntitiesDBConta())
                {
                    var contact = context.ct_cbtecble_det.FirstOrDefault(tbCbteCble => tbCbteCble.IdEmpresa == _CbteCbleInfo.IdEmpresa &&
                                                                         tbCbteCble.IdTipoCbte == _CbteCbleInfo.IdTipoCbte &&
                                                                         tbCbteCble.IdCbteCble == _CbteCbleInfo.IdCbteCble &&
                                                                         tbCbteCble.secuencia == _CbteCbleInfo.secuencia);

                    if (contact != null)
                    {
                        contact.IdCentroCosto = _CbteCbleInfo.IdCentroCosto;
                        contact.IdCentroCosto_sub_centro_costo = _CbteCbleInfo.IdCentroCosto_sub_centro_costo;
                        contact.IdPunto_cargo_grupo            = _CbteCbleInfo.IdPunto_cargo_grupo;
                        contact.IdPunto_cargo     = _CbteCbleInfo.IdPunto_cargo;
                        contact.IdCtaCble         = _CbteCbleInfo.IdCtaCble;
                        contact.dc_Observacion    = _CbteCbleInfo.dc_Observacion;
                        contact.dc_para_conciliar = _CbteCbleInfo.dc_para_conciliar;
                        contact.dc_Valor          = _CbteCbleInfo.dc_Valor;
                        context.SaveChanges();
                    }
                    else
                    {
                        respuesta = false; // no actualizo por q no hay el registro q modificar
                    }
                }
                return(respuesta);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.ToString();
                throw new Exception(ex.ToString());
            }
        }
Ejemplo n.º 11
0
        public List <ct_Cbtecble_det_Info> Get_list_Cbtecble_det(int IdEmpresa, ref string MensajeError)
        {
            try
            {
                List <ct_Cbtecble_det_Info> lM             = new List <ct_Cbtecble_det_Info>();
                EntitiesDBConta             OECbtecble_det = new EntitiesDBConta();
                var selectCbtecble_det = from C in OECbtecble_det.ct_cbtecble_det
                                         where C.IdEmpresa == IdEmpresa
                                         select C;

                foreach (ct_cbtecble_det item in selectCbtecble_det)
                {
                    ct_Cbtecble_det_Info Cbt = new ct_Cbtecble_det_Info();
                    Cbt.IdEmpresa     = item.IdEmpresa;
                    Cbt.IdTipoCbte    = item.IdTipoCbte;
                    Cbt.IdCbteCble    = item.IdCbteCble;
                    Cbt.secuencia     = item.secuencia;
                    Cbt.IdCtaCble     = item.IdCtaCble;
                    Cbt.IdCentroCosto = item.IdCentroCosto;
                    Cbt.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo;
                    Cbt.dc_Valor          = item.dc_Valor;
                    Cbt.dc_Observacion    = item.dc_Observacion;
                    Cbt.IdPunto_cargo     = item.IdPunto_cargo;
                    Cbt.dc_para_conciliar = (item.dc_para_conciliar == null) ? false : Convert.ToBoolean(item.dc_para_conciliar);

                    lM.Add(Cbt);
                }

                return(lM);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);

                MensajeError = ex.ToString();
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref MensajeError);
                throw new Exception(ex.ToString());
            }
        }
Ejemplo n.º 12
0
        private void set_CbteCbleInfo()
        {
            try
            {
                if (Info_Plantilla.IdPlantilla != 0)
                {
                    List <ct_Cbtecble_det_Info> List_Diario = new List <ct_Cbtecble_det_Info>();
                    lbl_no_comprobante.Text = Info_Plantilla.IdPlantilla.ToString();
                    cmbTipoCbte.EditValue   = Info_Plantilla.IdTipoCbte;
                    dtFecha.Value           = Convert.ToDateTime(Info_Plantilla.cb_Fecha.ToShortDateString());
                    txt_concepto.Text       = Info_Plantilla.cb_Observacion;
                    lblAnulado.Visible      = (Info_Plantilla.cb_Estado == "I") ? true : false;
                    ListDetalle             = _CbteCble_Plantilla_Bus.Get_list_Cbtecble_det(Info_Plantilla.IdEmpresa, Info_Plantilla.IdTipoCbte, Info_Plantilla.IdPlantilla);
                    foreach (var item in ListDetalle)
                    {
                        ct_Cbtecble_det_Info Info_diario = new ct_Cbtecble_det_Info();
                        Info_diario.IdEmpresa           = item.IdEmpresa;
                        Info_diario.IdTipoCbte          = item.IdTipoCbte;
                        Info_diario.IdCtaCble           = item.IdCtaCble;
                        Info_diario.IdCentroCosto       = item.IdCentroCosto;
                        Info_diario.dc_Valor            = item.dc_Valor;
                        Info_diario.dc_Observacion      = item.dc_Observacion;
                        Info_diario.dc_Valor_D          = item.Debe_Aux;
                        Info_diario.dc_Valor_H          = item.Haber_Aux;
                        Info_diario.IdPunto_cargo       = item.IdPunto_cargo;
                        Info_diario.IdPunto_cargo_grupo = item.IdPunto_cargo_grupo;

                        List_Diario.Add(Info_diario);
                    }

                    uc_GridDiarioContable.setDetalle(List_Diario);
                    //gridControlDiario.DataSource = BingListDetalle;
                }
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(NameMetodo + " - " + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
Ejemplo n.º 13
0
        private void gridViewCbte_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                if (LlamaOtraPantalla)
                {
                    InfoCbteCble_Plantilla = BusCbteCble_plantilla.Get_Info_Plantilla(param.IdEmpresa, InfoCbteCble_Plantilla.IdTipoCbte, InfoCbteCble_Plantilla.IdPlantilla);

                    InfoCbte.IdTipoCbte               = InfoCbteCble_Plantilla.IdTipoCbte;
                    InfoCbte.cb_Fecha                 = InfoCbteCble_Plantilla.cb_Fecha;
                    InfoCbte.cb_Observacion           = InfoCbteCble_Plantilla.cb_Observacion;
                    InfoCbte._cbteCble_det_lista_info = new List <ct_Cbtecble_det_Info>();

                    foreach (var item in InfoCbteCble_Plantilla.LstDet)
                    {
                        ct_Cbtecble_det_Info infoDet = new ct_Cbtecble_det_Info();
                        infoDet.IdTipoCbte          = item.IdTipoCbte;
                        infoDet.IdCtaCble           = item.IdCtaCble;
                        infoDet.dc_Observacion      = item.dc_Observacion;
                        infoDet.IdCentroCosto       = item.IdCentroCosto;
                        infoDet.IdPunto_cargo_grupo = item.IdPunto_cargo_grupo;
                        infoDet.IdPunto_cargo       = item.IdPunto_cargo;
                        infoDet.dc_Valor            = item.dc_Valor;
                        infoDet.dc_Valor_D          = (item.dc_Valor > 0) ? item.dc_Valor : 0;
                        infoDet.dc_Valor_H          = (item.dc_Valor < 0) ? item.dc_Valor * -1 : 0;

                        InfoCbte._cbteCble_det_lista_info.Add(infoDet);
                    }


                    this.Close();
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 14
0
        public Boolean GrabarDB(ct_Cbtecble_det_Info _CbteCbleInfo, ref string MensajeError)
        {
            try
            {
                using (EntitiesDBConta contexto = new EntitiesDBConta())
                {
                    contexto.SetCommandTimeOut(3000);

                    contexto.ct_cbtecble_det.Add(new ct_cbtecble_det
                    {
                        IdEmpresa     = _CbteCbleInfo.IdEmpresa,
                        IdTipoCbte    = _CbteCbleInfo.IdTipoCbte,
                        IdCbteCble    = _CbteCbleInfo.IdCbteCble,
                        IdCtaCble     = _CbteCbleInfo.IdCtaCble,
                        IdCentroCosto = (String.IsNullOrEmpty(_CbteCbleInfo.IdCentroCosto)) ? null : _CbteCbleInfo.IdCentroCosto,
                        IdCentroCosto_sub_centro_costo = (String.IsNullOrEmpty(_CbteCbleInfo.IdCentroCosto_sub_centro_costo)) ? null : _CbteCbleInfo.IdCentroCosto_sub_centro_costo,
                        secuencia           = _CbteCbleInfo.secuencia,
                        dc_Valor            = _CbteCbleInfo.dc_Valor,
                        dc_Observacion      = (_CbteCbleInfo.dc_Observacion == null) ? "" : _CbteCbleInfo.dc_Observacion,
                        IdPunto_cargo       = _CbteCbleInfo.IdPunto_cargo,
                        IdPunto_cargo_grupo = _CbteCbleInfo.IdPunto_cargo_grupo,
                        dc_para_conciliar   = _CbteCbleInfo.dc_para_conciliar,
                    });

                    contexto.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.InnerException.ToString());
            }
        }
Ejemplo n.º 15
0
        public void Get_Comprobante_contable()
        {
            try
            {
                Info_comprobante_Contable = new ct_Cbtecble_Info();
                Info_comprobante_Contable._cbteCble_det_lista_info = new List <ct_Cbtecble_det_Info>();
                Lista_Comprobante_Contable                = new List <ct_Cbtecble_det_Info>();
                Info_comprobante_Contable.IdEmpresa       = param.IdEmpresa;
                Info_comprobante_Contable.IdTipoCbte      = Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar);
                Info_comprobante_Contable.IdPeriodo       = Convert.ToInt32(Convert.ToDateTime(dtpFechaPago.Value).Year.ToString() + Convert.ToDateTime(dtpFechaPago.Value).Month.ToString().PadLeft(2, '0'));
                Info_comprobante_Contable.cb_Fecha        = dtpFechaPago.Value;
                Info_comprobante_Contable.cb_Observacion  = Info_General.Observacion;
                Info_comprobante_Contable.cb_Valor        = Convert.ToDouble(txttotal_cancelar.EditValue);
                Info_comprobante_Contable.Estado          = "A";
                Info_comprobante_Contable.Anio            = Convert.ToDateTime(dtpFechaPago.Value).Year;
                Info_comprobante_Contable.Mes             = Convert.ToDateTime(dtpFechaPago.Value).Month;
                Info_comprobante_Contable.IdUsuario       = param.IdUsuario;
                Info_comprobante_Contable.cb_FechaTransac = DateTime.Now;
                // detalle
                ct_Cbtecble_det_Info inf_comp_cont_de_debito = new ct_Cbtecble_det_Info();
                inf_comp_cont_de_debito.IdEmpresa      = param.IdEmpresa;
                inf_comp_cont_de_debito.IdTipoCbte     = Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar);
                inf_comp_cont_de_debito.secuencia      = 1;
                inf_comp_cont_de_debito.IdCtaCble      = info_tipoOP.IdCtaCble;
                inf_comp_cont_de_debito.dc_Valor       = cancelar;
                inf_comp_cont_de_debito.dc_Observacion = Info_General.Observacion;
                Lista_Comprobante_Contable.Add(inf_comp_cont_de_debito);

                if (info_parametro.DescuentaIESS_LiquidacionVacaciones == true)
                {
                    if (Info_General.Gozadas_Pgadas == true)
                    {
                        ct_Cbtecble_det_Info inf_comp_cont_de_Credito = new ct_Cbtecble_det_Info();
                        inf_comp_cont_de_Credito.IdEmpresa      = param.IdEmpresa;
                        inf_comp_cont_de_Credito.IdTipoCbte     = Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar);
                        inf_comp_cont_de_Credito.secuencia      = 2;
                        inf_comp_cont_de_Credito.IdCtaCble      = info_parametro.cta_contable_IESS_Vacaciones;
                        inf_comp_cont_de_Credito.dc_Valor       = Convert.ToDouble(txtiess.EditValue) * -1;
                        inf_comp_cont_de_Credito.dc_Observacion = Info_General.Observacion;
                        Lista_Comprobante_Contable.Add(inf_comp_cont_de_Credito);
                    }
                }

                ct_Cbtecble_det_Info inf_comp_cont_de_IESS_Personal = new ct_Cbtecble_det_Info();
                inf_comp_cont_de_IESS_Personal.IdEmpresa  = param.IdEmpresa;
                inf_comp_cont_de_IESS_Personal.IdTipoCbte = Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar);
                inf_comp_cont_de_IESS_Personal.secuencia  = 3;
                inf_comp_cont_de_IESS_Personal.IdCtaCble  = info_tipoOP.IdCtaCble_Credito;

                if (info_parametro.DescuentaIESS_LiquidacionVacaciones == true)
                {
                    if (Info_General.Gozadas_Pgadas == true)
                    {
                        inf_comp_cont_de_IESS_Personal.dc_Valor = cancelar - Convert.ToDouble(txtiess.EditValue);
                    }
                    else
                    {
                        inf_comp_cont_de_IESS_Personal.dc_Valor = vacaciones * -1;
                    }
                }
                else
                {
                    inf_comp_cont_de_IESS_Personal.dc_Valor = vacaciones;
                }
                inf_comp_cont_de_IESS_Personal.dc_Observacion = Info_General.Observacion;
                Lista_Comprobante_Contable.Add(inf_comp_cont_de_IESS_Personal);

                Info_comprobante_Contable._cbteCble_det_lista_info = Lista_Comprobante_Contable;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
Ejemplo n.º 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)
                      };
            }
        }
Ejemplo n.º 17
0
        public ct_Cbtecble_Info get_CbteCble(double valor, string obser, int IdTipoNota, DateTime fecha)
        {
            try
            {
                ct_Cbtecble_Info CbteCble_I = new ct_Cbtecble_Info();

                string ctaCble = "", dc = "";
                int    a = 0;
                List <ct_Cbtecble_det_Info> listaDetCbte = new List <ct_Cbtecble_det_Info>();
                ct_Cbtecble_det_Info        DetCbte      = new ct_Cbtecble_det_Info();
                ctaCble = ctaCble_acreedora;
                if (rB_Debito.Checked == true)
                {
                    a  = 1;
                    dc = "Debito Masivo ";
                }
                else
                {
                    a  = 2;
                    dc = "Credito Masivo ";
                }
                DetCbte.IdTipoCbte = IdTipoCbte;
                DetCbte.IdEmpresa  = param.IdEmpresa;
                DetCbte.IdCtaCble  = (this.ultraCmbCtaBanco.EditValue == null) ? "" : (banco_I.IdCtaCble == null) ? "" : banco_I.IdCtaCble.Trim();
                DetCbte.dc_Valor   = (a == 1) ? valor * -1 : valor;
                //                DetCbte.dc_Valor = valor;
                DetCbte.dc_Observacion = obser + dc;
                DetCbte.secuencia      = 1;
                listaDetCbte.Add(DetCbte);

                ct_Cbtecble_det_Info DetCbte2 = new ct_Cbtecble_det_Info();
                DetCbte2.IdTipoCbte = IdTipoCbte;
                DetCbte2.IdEmpresa  = param.IdEmpresa;
                ctaCble             = ListTipoNota.First(q => q.IdTipoNota == IdTipoNota).IdCtaCble;
                if (ctaCble == null)
                {
                    return(new ct_Cbtecble_Info());
                }
                DetCbte2.IdCtaCble = ctaCble.Trim();
                DetCbte2.dc_Valor  = (a == 1) ? valor : valor * -1; //haber = txt_monto.Value;
                //                DetCbte2.dc_Valor =valor * -1;
                DetCbte2.dc_Observacion = obser + dc;
                DetCbte2.secuencia      = 2;
                listaDetCbte.Add(DetCbte2);

                CbteCble_I.IdEmpresa  = param.IdEmpresa;
                CbteCble_I.IdTipoCbte = IdTipoCbte;
                //CbteCble_I.CodCbteCble = "";
                CbteCble_I.IdPeriodo        = Per_I.IdPeriodo;
                CbteCble_I.cb_Fecha         = DateTime.Now;//Convert.ToDateTime(fecha.ToShortDateString());
                CbteCble_I.cb_Valor         = valor;
                CbteCble_I.cb_Observacion   = obser + dc;;
                CbteCble_I.Secuencia        = 0;
                CbteCble_I.Estado           = "A";
                CbteCble_I.Anio             = CbteCble_I.cb_Fecha.Year;
                CbteCble_I.Mes              = CbteCble_I.cb_Fecha.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 = IdCbteCble;
                CbteCble_I._cbteCble_det_lista_info = listaDetCbte;
                return(CbteCble_I);
            }
            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(new ct_Cbtecble_Info());
            }
        }
        public Boolean GenerarDiario(int IdEmpresa, int IdSucursal, decimal IdRegistroGasto, ref string msg, ref decimal idCbteCble, ref string CodTipod)
        {
            try{
                #region Declaracion
                ct_Periodo_Info  Per_I      = new ct_Periodo_Info();
                ct_Cbtecble_Info CbteCble_I = new ct_Cbtecble_Info();
                List <imp_ordencompra_ext_x_imp_gastosxImport_Det_Info> ListaDetalle  = new List <imp_ordencompra_ext_x_imp_gastosxImport_Det_Info>();
                imp_gastosximport_x_empresa_Data                    BusGastosXEmpresa = new imp_gastosximport_x_empresa_Data();
                List <imp_gastosximport_x_empresa_Info>             lstGastosXEmpresa = new List <imp_gastosximport_x_empresa_Info>();
                List <imp_ordencompra_ext_x_imp_gastosxImport_Info> Lst   = new List <imp_ordencompra_ext_x_imp_gastosxImport_Info>();
                imp_ordencompra_ext_x_imp_gastosxImport_Info        _Info = new imp_ordencompra_ext_x_imp_gastosxImport_Info();
                int                         IdTipoCbte   = 0;
                ba_Cbte_Ban_Bus             BusCbteBanco = new ba_Cbte_Ban_Bus();
                ct_Periodo_Data             Per_B        = new ct_Periodo_Data();
                List <ct_Cbtecble_det_Info> LstCbteCble  = new List <ct_Cbtecble_det_Info>();
                cl_parametrosGenerales_Bus  param        = cl_parametrosGenerales_Bus.Instance;
                ba_Cbte_Ban_Info            CbteBan_I    = new ba_Cbte_Ban_Info();
                string                      MensajeError = "";
                #endregion
                #region ObtenerGastoImportacion
                Lst = Get_List_ordencompra_ext_x_imp_gastosxImport_Para_Contabilizar(IdEmpresa, IdSucursal, IdRegistroGasto);
                foreach (var item in Lst)
                {
                    _Info.IdOrdenCompraExt  = item.IdOrdenCompraExt;
                    _Info.IdProveedor       = item.IdProveedor;
                    _Info.IdEmpresa         = item.IdEmpresa;
                    _Info.IdSucusal         = item.IdSucusal;
                    _Info.IdRegistroGasto   = item.IdRegistroGasto;
                    _Info.Observacion       = item.Observacion;
                    _Info.IdCtaCble_Banco   = item.IdCtaCble_Banco;
                    _Info.IdBanco           = item.IdBanco;
                    _Info.CodOrdenCompraExt = item.CodOrdenCompraExt;
                    IdTipoCbte  = item.IdTipoCbte;
                    _Info.Fecha = item.Fecha;
                    _Info.IdCtaCble_Importacion = item.IdCtaCble_Importacion;

                    imp_ordencompra_ext_x_imp_gastosxImport_Det_Info Det = new imp_ordencompra_ext_x_imp_gastosxImport_Det_Info();
                    Det.IdGastoImp = item.IdGastoImp;
                    Det.Valor      = item.Valor;
                    _Info.ListaGastos.Add(Det);
                }
                #endregion
                Per_I             = Per_B.Get_Info_Periodo(_Info.IdEmpresa, _Info.Fecha, ref MensajeError);
                lstGastosXEmpresa = BusGastosXEmpresa.Get_List_gastosximport_x_empresa(IdEmpresa);
                var DatosDiario = from p in _Info.ListaGastos
                                  join w in lstGastosXEmpresa
                                  on new { p.IdGastoImp } equals new { w.IdGastoImp }
                select new { p.IdGastoImp, w.IdCtaCble, p.Valor, w.debCre_Provicion, w.debcre_DebBanco };

                if (DatosDiario.ToList().Count != _Info.ListaGastos.Count)
                {
                    msg = "No existen parametros contables verifique que los parametros Contables Esten Llenados correctametne /n Comunicarce Cons sistemas";
                    return(false);
                }
                #region CbteCble_Detalle
                foreach (var item in DatosDiario)
                {
                    ct_Cbtecble_det_Info obj = new ct_Cbtecble_det_Info();
                    obj.dc_Observacion = "Cont. X gastos De Imp " + _Info.CodOrdenCompraExt + " / " + _Info.IdOrdenCompraExt + " / " + _Info.Observacion + " / " + Get_Descripcion(item.IdGastoImp);
                    obj.IdCtaCble      = item.IdCtaCble;
                    obj.IdTipoCbte     = IdTipoCbte;
                    obj.IdEmpresa      = _Info.IdEmpresa;
                    if (CodTipod == "DEBBAN")
                    {
                        if (item.debcre_DebBanco == "C")
                        {
                            obj.dc_Valor = item.Valor * -1;
                        }
                        else
                        {
                            obj.dc_Valor = item.Valor;
                        }
                    }
                    if (CodTipod == "PROVI")
                    {
                        if (item.debcre_DebBanco == "D")
                        {
                            obj.dc_Valor = item.Valor * -1;
                        }
                        else
                        {
                            obj.dc_Valor = item.Valor;
                        }
                    }
                    LstCbteCble.Add(obj);
                }
                ct_Cbtecble_det_Info obj2 = new ct_Cbtecble_det_Info();
                double Valor = 0;
                foreach (var item in _Info.ListaGastos)
                {
                    Valor = Valor + item.Valor;
                }
                obj2.dc_Observacion = "Cont. X gastos De Imp " + _Info.CodOrdenCompraExt + " / " + _Info.IdOrdenCompraExt + " / " + _Info.Observacion + " / Importacion";
                obj2.IdCtaCble      = _Info.IdCtaCble_Banco;
                obj2.IdTipoCbte     = IdTipoCbte;
                obj2.IdEmpresa      = _Info.IdEmpresa;
                ba_Banco_Cuenta_Bus B_banco = new ba_Banco_Cuenta_Bus();
                var Banco = B_banco.Get_Info_Banco_Cuenta(param.IdEmpresa, _Info.IdBanco);
                if (CodTipod == "DEBBAN")
                {
                    obj2.IdCtaCble = Banco.IdCtaCble;
                    obj2.dc_Valor  = Valor * -1;
                }
                if (CodTipod == "PROVI")
                {
                    obj2.IdCtaCble = _Info.IdCtaCble_Importacion;
                    obj2.dc_Valor  = Valor;
                }
                LstCbteCble.Add(obj2);
                #endregion
                #region CbteCble
                CbteCble_I.IdEmpresa  = _Info.IdEmpresa;
                CbteCble_I.IdTipoCbte = IdTipoCbte;
                CbteCble_I.IdPeriodo  = Per_I.IdPeriodo;
                CbteCble_I.cb_Fecha   = Convert.ToDateTime(_Info.Fecha.ToShortDateString());
                CbteCble_I.cb_Valor   = Valor;
                if (CodTipod == "DEBBAN")
                {
                    CbteCble_I.CodCbteCble = "DEBBAN";
                }
                if (CodTipod == "PROVI")
                {
                    CbteCble_I.CodCbteCble = "PROVI";
                }
                CbteCble_I.cb_Observacion           = "Cont. X Imp. " + _Info.CodOrdenCompraExt + " / " + _Info.IdOrdenCompraExt + "Gastos de Importacion. / " + _Info.Observacion;
                CbteCble_I.Secuencia                = 0;
                CbteCble_I.Estado                   = "A";
                CbteCble_I.Anio                     = _Info.Fecha.Year;
                CbteCble_I.Mes                      = _Info.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._cbteCble_det_lista_info = LstCbteCble;
                // decimal idCbteCble = 0;
                string          cod_CbteCble = "";
                ct_Cbtecble_Bus CbteCble_B   = new ct_Cbtecble_Bus();
                if (CbteCble_B.GrabarDB(CbteCble_I, ref idCbteCble, ref msg) == false)
                {
                    return(false);
                }
                oData.ModificarDB(_Info, idCbteCble);
                #endregion
                if (CodTipod == "DEBBAN")
                {
                    #region CbteBan_I
                    CbteBan_I.IdEmpresa       = param.IdEmpresa;
                    CbteBan_I.IdTipocbte      = IdTipoCbte;
                    CbteBan_I.IdCbteCble      = idCbteCble;
                    CbteBan_I.Cod_Cbtecble    = cod_CbteCble;
                    CbteBan_I.IdPeriodo       = Per_I.IdPeriodo;
                    CbteBan_I.IdBanco         = _Info.IdBanco;
                    CbteBan_I.cb_Fecha        = Convert.ToDateTime(_Info.Fecha.ToShortDateString());
                    CbteBan_I.cb_Observacion  = _Info.Observacion.Trim();
                    CbteBan_I.cb_Valor        = Valor;
                    CbteBan_I.Estado          = "A";
                    CbteBan_I.IdUsuario       = param.IdUsuario;
                    CbteBan_I.IdUsuario_Anu   = param.IdUsuario;
                    CbteBan_I.FechaAnulacion  = param.Fecha_Transac;
                    CbteBan_I.Fecha_Transac   = param.Fecha_Transac;
                    CbteBan_I.Fecha_UltMod    = param.Fecha_Transac;
                    CbteBan_I.IdUsuarioUltMod = param.IdUsuario;
                    CbteBan_I.ip     = param.ip;
                    CbteBan_I.nom_pc = param.nom_pc;
                    if (BusCbteBanco.GrabarDB(CbteBan_I, ref MensajeError) == false)
                    {
                        return(false);
                    }
                    #endregion
                }
                imp_ordencompra_ext_x_ct_cbtecble_Data DataOrdxCbt         = new imp_ordencompra_ext_x_ct_cbtecble_Data();
                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 = _Info.IdEmpresa;
                ordCompraxCbte_info.imp_IdOrdenCompraExt = _Info.IdOrdenCompraExt;
                ordCompraxCbte_info.imp_IdSucusal        = _Info.IdSucusal;
                ordCompraxCbte_info.ct_IdTipoCbte        = IdTipoCbte;
                ordCompraxCbte_info.ct_IdCbteCble        = idCbteCble;
                ordCompraxCbte_info.TipoReg = "Gast";
                DataOrdxCbt.GuardarDB(ordCompraxCbte_info, ref mensaje);


                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("", "GenerarDiario", ex.Message), ex)
                      {
                          EntityType = typeof(imp_ordencompra_ext_x_imp_gastosxImport_Bus)
                      };
            }
        }
Ejemplo n.º 19
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());
            }
        }
Ejemplo n.º 20
0
        private void Armar_diario()
        {
            try
            {
                if (!bandera_armar_diario)
                {
                    return;
                }

                InfoProveedor = new cp_proveedor_Info();

                if (_Accion == Cl_Enumeradores.eTipo_action.actualizar)
                {
                    InfoProveedor.IdProveedor = Info_OrdenGiro.IdProveedor;
                }
                else
                {
                    if (_Accion == Cl_Enumeradores.eTipo_action.consultar)
                    {
                        InfoProveedor.IdProveedor = Info_OrdenGiro.IdProveedor;
                    }
                    else
                    {
                        InfoProveedor = ucCp_Proveedor1.get_ProveedorInfo();
                    }
                }

                if (InfoProveedor == null)
                {
                    //MessageBox.Show("Antes de continuar debe seleccionar el Proveedor", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                if (Convert.ToDouble(txE_BaseImponible.EditValue) <= 0)
                {
                    //MessageBox.Show("Para generar el diario, la base imponible debe ser mayor a 0, Por favor ingrese los valores de la factura", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txE_subTotalIVA_12.Focus();
                    return;
                }
                if (ucCaj_MovEgresoCaj_cmb1.get_MovimientoInfo() == null)
                {
                    return;
                }

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

                int ro = 0;
                #region Cuenta de proveedor
                //PROVEEDOR LOCAL
                ct_Cbtecble_det_Info prov = new ct_Cbtecble_det_Info();
                prov.IdEmpresa = param.IdEmpresa;

                if (_Accion == Cl_Enumeradores.eTipo_action.actualizar)
                {
                    ucCp_Proveedor1.set_ProveedorInfo(InfoProveedor.IdProveedor);
                    prov.IdCtaCble = ucCp_Proveedor1.get_ProveedorInfo().IdCtaCble_CXP;
                }
                else
                {
                    if (_Accion == Cl_Enumeradores.eTipo_action.consultar)
                    {
                        ucCp_Proveedor1.set_ProveedorInfo(InfoProveedor.IdProveedor);
                        prov.IdCtaCble = ucCp_Proveedor1.get_ProveedorInfo().IdCtaCble_CXP;
                    }
                    else
                    {
                        prov.IdCtaCble = ucCp_Proveedor1.get_ProveedorInfo().IdCtaCble_CXP;
                    }
                }
                prov.IdCentroCosto = ucCp_Proveedor1.get_ProveedorInfo().IdCentroCosoto;
                prov.IdCentroCosto_sub_centro_costo = ucCp_Proveedor1.get_ProveedorInfo().IdSubCentroCosoto;
                prov.IdPunto_cargo       = ucCp_Proveedor1.get_ProveedorInfo().IdPunto_cargo;
                prov.IdPunto_cargo_grupo = ucCp_Proveedor1.get_ProveedorInfo().IdPunto_cargo_grupo;
                prov.dc_Valor            = (((Convert.ToDecimal(txE_total.EditValue) > 0) ? (Convert.ToDouble(txE_total.EditValue)) : 0) + (txe_valor_restar.Text == "" ? 0 : Convert.ToDouble(txe_valor_restar.EditValue))) * -1;
                ListDetalle.Add(prov);
                #endregion

                #region Cuenta de iva
                ct_Cbtecble_det_Info iva = new ct_Cbtecble_det_Info();

                if (!String.IsNullOrEmpty(Convert.ToString(txE_subTotalIVA_12.EditValue)))
                {
                    if (Convert.ToDouble(txE_subTotalIVA_12.EditValue) > 0)
                    {
                        iva.IdEmpresa = param.IdEmpresa;

                        if (!String.IsNullOrEmpty(paramCP_I.pa_ctacble_iva.Trim()))
                        {
                            iva.IdCtaCble = paramCP_I.pa_ctacble_iva.Trim();
                        }
                        else
                        {
                            iva.IdCtaCble = null;
                        }

                        iva.tipo = "IVA";

                        iva.dc_Valor = (Convert.ToDouble(txE_valorIVA.EditValue) > 0) ? Convert.ToDouble(Math.Round(Convert.ToDecimal(txE_valorIVA.EditValue), 2, MidpointRounding.AwayFromZero)) : 0;

                        ListDetalle.Add(iva);

                        ro += 1;
                    }
                }
                #endregion

                #region Cuenta de gasto
                ct_Cbtecble_det_Info gto = new ct_Cbtecble_det_Info();
                gto.IdEmpresa = param.IdEmpresa;
                gto.IdCtaCble = ucCp_Proveedor1.get_ProveedorInfo().IdCtaCble_Gasto;


                gto.IdCtaCble = ucCaj_MovEgresoCaj_cmb1.get_MovimientoInfo().IdCtaCble;
                //gto.IdCtaCble = paramCP_I.pa_ctacble_deudora;
                gto.dc_Valor = (Convert.ToDouble(txE_BaseImponible.EditValue) > 0) ? Convert.ToDouble(txE_BaseImponible.EditValue) : 0;

                gto.IdCentroCosto = uCct_CentroCosto1.Get_IdCentroCosto();
                gto.IdCentroCosto_sub_centro_costo = uCct_CentroCosto1.Get_IdSubCentro_Costo();
                gto.IdRegistro = gto.IdCentroCosto + "-" + gto.IdCentroCosto_sub_centro_costo;

                if (uCct_Pto_Cargo1.Get_Pto_Cargo() != null)
                {
                    gto.IdPunto_cargo_grupo = uCct_Pto_Cargo1.Get_Pto_Cargo().IdPunto_cargo_grupo;
                    gto.IdPunto_cargo       = uCct_Pto_Cargo1.Get_Pto_Cargo().IdPunto_cargo;
                }
                else
                {
                    gto.IdPunto_cargo_grupo = null;
                    gto.IdPunto_cargo       = null;
                }

                ListDetalle.Add(gto);
                UC_Diario_x_cxp.setDetalle(ListDetalle);
                #endregion
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 21
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)
                      };
            }
        }
Ejemplo n.º 22
0
        void get_detalle()
        {
            try
            {         // se crea el comprobante contable
                string           cod_CbteCble = "";
                ba_Cbte_Ban_Info comprobante_bancario_info = new ba_Cbte_Ban_Info();
                comprobante_bancario_info.IdEmpresa        = param.IdEmpresa;
                comprobante_bancario_info.IdCbteCble       = 0;
                comprobante_bancario_info.IdTipocbte       = (int)parametro_banco_info.IdTipoCbte_x_Prestamo;
                comprobante_bancario_info.Cod_Cbtecble     = (comprobante_bancario_info.Cod_Cbtecble == "" || comprobante_bancario_info.Cod_Cbtecble == null || comprobante_bancario_info.Cod_Cbtecble == "0") ? cod_CbteCble : comprobante_bancario_info.Cod_Cbtecble;
                comprobante_bancario_info.IdPeriodo        = Convert.ToInt32(Convert.ToDateTime(dte_Fecha.EditValue).Year.ToString() + Convert.ToDateTime(dte_Fecha.EditValue).Month.ToString().PadLeft(2, '0'));
                comprobante_bancario_info.IdBanco          = cmb_banco.get_BaCuentaInfo().IdBanco;
                comprobante_bancario_info.IdProveedor      = null;
                comprobante_bancario_info.cb_Fecha         = Convert.ToDateTime(dte_Fecha.EditValue);   //duda
                comprobante_bancario_info.cb_Observacion   = "Nota de Débtio de la Cuota#: " + Info_DetPrestamo.NumCuota + " ,del Préstamo#: " + Info_DetPrestamo.IdPrestamo + " y Valor: " + txe_Mon_x_Can.EditValue;
                comprobante_bancario_info.cb_secuencia     = (comprobante_bancario_info.cb_secuencia == 0) ? 0 : comprobante_bancario_info.cb_secuencia;
                comprobante_bancario_info.cb_Valor         = Convert.ToDouble(txe_Mon_x_Can.EditValue);
                comprobante_bancario_info.Estado           = "A";
                comprobante_bancario_info.IdUsuario        = param.IdUsuario;
                comprobante_bancario_info.Fecha_Transac    = param.Fecha_Transac;
                comprobante_bancario_info.cb_ChequeImpreso = "N";
                comprobante_bancario_info.ip     = param.ip;
                comprobante_bancario_info.nom_pc = param.nom_pc;
                Info_DetCancela.Info_CbteBan     = comprobante_bancario_info;

                // creo el diario contable
                ct_Cbtecble_Info comprobante_contable_info = new ct_Cbtecble_Info();

                comprobante_contable_info.IdEmpresa      = Info_DetPrestamo.IdEmpresa;
                comprobante_contable_info.IdTipoCbte     = (int)parametro_banco_info.IdTipoCbte_x_Prestamo;
                comprobante_contable_info.IdPeriodo      = Convert.ToInt32(Convert.ToDateTime(dte_Fecha.EditValue).Year.ToString() + Convert.ToDateTime(dte_Fecha.EditValue).Month.ToString().PadLeft(2, '0'));
                comprobante_contable_info.cb_Fecha       = Convert.ToDateTime(dte_Fecha.EditValue);
                comprobante_contable_info.cb_Valor       = Convert.ToDouble(txe_Mon_x_Can.EditValue);
                comprobante_contable_info.cb_Observacion = "Nota de Débtio de la Cuota#: " + Info_DetPrestamo.NumCuota + " ,del Préstamo#: " + Info_DetPrestamo.IdPrestamo + " y Valor: " + txe_Mon_x_Can.EditValue;
                comprobante_contable_info.Secuencia      = 0;
                comprobante_contable_info.Estado         = "A";
                comprobante_contable_info.Anio           = Convert.ToDateTime(dte_Fecha.EditValue).Year;
                comprobante_contable_info.Mes            = Convert.ToDateTime(dte_Fecha.EditValue).Month;
                comprobante_contable_info.IdUsuario      = param.IdUsuario;

                comprobante_contable_info.cb_FechaTransac = param.Fecha_Transac;

                comprobante_contable_info.Mayorizado = "N";

                //Detalle Diario

                //Debe cuota
                ct_Cbtecble_det_Info debe = new ct_Cbtecble_det_Info();
                debe.IdEmpresa      = Info_DetPrestamo.IdEmpresa;
                debe.IdTipoCbte     = (int)parametro_banco_info.IdTipoCbte_x_Prestamo;
                debe.IdCtaCble      = parametro_banco_info.IdCtaCble_prestamos;
                debe.dc_Observacion = "Abono capital de la cuota#: " + Info_DetPrestamo.NumCuota + " ,del Préstamo#: " + Info_DetPrestamo.IdPrestamo + "por: " + Info_DetPrestamo.AbonoCapital;
                debe.dc_Valor       = Convert.ToDouble(Info_DetPrestamo.AbonoCapital);;
                comprobante_contable_info._cbteCble_det_lista_info.Add(debe);

                //Debe interes
                ct_Cbtecble_det_Info debe_In = new ct_Cbtecble_det_Info();
                debe_In.IdEmpresa      = Info_DetPrestamo.IdEmpresa;
                debe_In.IdTipoCbte     = (int)parametro_banco_info.IdTipoCbte_x_Prestamo;
                debe_In.IdCtaCble      = parametro_banco_info.IdCtaCble_Interes;
                debe_In.dc_Observacion = "Intere de la cuota#: " + Info_DetPrestamo.NumCuota + " ,del Préstamo#: " + Info_DetPrestamo.IdPrestamo + " por : " + Info_DetPrestamo.Interes;
                debe_In.dc_Valor       = Convert.ToDouble(Info_DetPrestamo.Interes);

                comprobante_contable_info._cbteCble_det_lista_info.Add(debe_In);

                //Haber
                ct_Cbtecble_det_Info Haber = new ct_Cbtecble_det_Info();
                Haber.IdEmpresa      = Info_DetPrestamo.IdEmpresa;
                Haber.IdTipoCbte     = (int)parametro_banco_info.IdTipoCbte_x_Prestamo;
                Haber.IdCtaCble      = cmb_banco.get_BaCuentaInfo().IdCtaCble;   //Info_DetPrestamo.IdCtaCble_Prestamo;
                Haber.dc_Observacion = "Nota de Débito de la Cuota#: " + Info_DetPrestamo.NumCuota + " ,del Préstamo#: " + Info_DetPrestamo.IdPrestamo + " por: " + txe_Mon_x_Can.EditValue;
                Haber.dc_Valor       = Convert.ToDouble(txe_Mon_x_Can.EditValue) * -1;
                comprobante_contable_info._cbteCble_det_lista_info.Add(Haber);


                Info_DetCancela.Info_CbteCble = comprobante_contable_info;
            }
            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());
            }
        }
        public Boolean Generar_Orden_Giro(cp_Aprobacion_Ing_Bod_x_OC_Info Info, ref string msg)
        {
            try
            {
                List <cp_Aprobacion_Ing_Bod_x_OC_det_Info> lstDet_OG = new List <cp_Aprobacion_Ing_Bod_x_OC_det_Info>();
                cp_parametros_Data data_cpParam = new cp_parametros_Data();
                cp_parametros_Info info_cpParam = new cp_parametros_Info();
                info_cpParam = data_cpParam.Get_Info_parametros(Info.IdEmpresa);

                if (Info.IdCbteCble_Ogiro != 0 && Info.IdCbteCble_Ogiro != null)
                {
                    return(true);
                }

                #region Generar Info ct_Cbtecble
                //cabecera
                ct_Cbtecble_Info info_CbteCble = new ct_Cbtecble_Info();
                info_CbteCble.IdEmpresa      = Info.IdEmpresa;
                info_CbteCble.IdTipoCbte     = info_cpParam.pa_TipoCbte_OG;
                info_CbteCble.IdPeriodo      = Convert.ToInt32(Info.Fecha_Factura.ToString("yyyyMM"));
                info_CbteCble.cb_Fecha       = (Info.co_FechaContabilizacion == null) ? Info.Fecha_Factura : Convert.ToDateTime(Info.co_FechaContabilizacion);
                info_CbteCble.cb_Valor       = Info.co_total;
                info_CbteCble.cb_Observacion = Info.Observacion == "" ? "Diario generado con # Aprobación Ing. a Bod. por O/C: " + Info.IdAprobacion + ", con Tipo Comprabante #: " + info_cpParam.pa_TipoCbte_OG + " y Fecha Aprobación: " + Info.Fecha_aprobacion + "" : Info.Observacion;
                info_CbteCble.Secuencia      = 0;
                info_CbteCble.Estado         = "A";
                info_CbteCble.Anio           = Info.Fecha_Factura.Year;
                info_CbteCble.Mes            = Info.Fecha_Factura.Month;
                info_CbteCble.Mayorizado     = "N";

                //detalle
                List <ct_Cbtecble_det_Info> lista = new List <ct_Cbtecble_det_Info>();
                int Secuencia = 0;
                lstDet_OG = get_OG_x_Cta_Cble(Info.listDetalle);

                foreach (var item in lstDet_OG)
                {// gastos
                    ct_Cbtecble_det_Info InfoGasto = new ct_Cbtecble_det_Info();
                    Secuencia            = Secuencia + 1;
                    InfoGasto.IdEmpresa  = Info.IdEmpresa;
                    InfoGasto.IdTipoCbte = info_cpParam.pa_TipoCbte_OG;
                    InfoGasto.secuencia  = Secuencia;
                    InfoGasto.IdCtaCble  = item.IdCtaCble_Gasto;

                    InfoGasto.IdCentroCosto = item.IdCentro_Costo;
                    InfoGasto.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo;
                    InfoGasto.IdPunto_cargo_grupo            = item.IdPunto_cargo_grupo;
                    InfoGasto.IdPunto_cargo = item.IdPunto_cargo;

                    InfoGasto.dc_Valor           = item.SubTotal;
                    InfoGasto.dc_Observacion     = Info.Observacion == "" ? "Diario generado con # Aprobación Ing. a Bod. por O/C: " + Info.IdAprobacion + ", con Tipo Comprabante #: " + info_cpParam.pa_TipoCbte_OG + " y Fecha Aprobación: " + Info.Fecha_aprobacion + "" : Info.Observacion;
                    InfoGasto.dc_Numconciliacion = null;
                    InfoGasto.dc_EstaConciliado  = null;
                    lista.Add(InfoGasto);
                }


                if (Info.co_valoriva > 0)
                {
                    ct_Cbtecble_det_Info InfoIva = new ct_Cbtecble_det_Info();

                    InfoIva.IdEmpresa  = Info.IdEmpresa;
                    InfoIva.IdTipoCbte = info_cpParam.pa_TipoCbte_OG;
                    InfoIva.secuencia  = Secuencia + 2;
                    InfoIva.IdCtaCble  = Info.pa_ctacble_iva.Trim();
                    //InfoIva.IdCentroCosto = null;
                    //InfoIva.IdCentroCosto_sub_centro_costo = null;
                    InfoIva.dc_Valor           = Info.co_valoriva;
                    InfoIva.dc_Observacion     = Info.Observacion == "" ? "Diario generado con # Aprobación Ing. a Bod. por O/C: " + Info.IdAprobacion + ", con Tipo Comprabante #: " + info_cpParam.pa_TipoCbte_OG + " y Fecha Aprobación: " + Info.Fecha_aprobacion + "" : Info.Observacion;
                    InfoIva.dc_Numconciliacion = null;
                    InfoIva.dc_EstaConciliado  = null;
                    lista.Add(InfoIva);
                }

                ct_Cbtecble_det_Info InfoCXP = new ct_Cbtecble_det_Info();
                InfoCXP.IdEmpresa  = Info.IdEmpresa;
                InfoCXP.IdTipoCbte = info_cpParam.pa_TipoCbte_OG;
                InfoCXP.secuencia  = Secuencia + 1;
                InfoCXP.IdCtaCble  = Info.IdCtaCble_CXP.Trim();
                //InfoCXP.IdCentroCosto = Info.IdCentroCosoto_CXP;
                //InfoCXP.IdCentroCosto_sub_centro_costo = null;
                InfoCXP.dc_Valor           = Info.co_total * -1;
                InfoCXP.dc_Observacion     = Info.Observacion == "" ? "Diario generado con # Aprobación Ing. a Bod. por O/C: " + Info.IdAprobacion + ", con Tipo Comprabante #: " + info_cpParam.pa_TipoCbte_OG + " y Fecha Aprobación: " + Info.Fecha_aprobacion + "" : Info.Observacion;
                InfoCXP.dc_Numconciliacion = null;
                InfoCXP.dc_EstaConciliado  = null;
                lista.Add(InfoCXP);

                info_CbteCble._cbteCble_det_lista_info = lista;

                //grabar diario

                #endregion

                #region Genere cp_orden_giro_Info y graba Orden Giro


                //Generar Info cp_orden_giro
                cp_orden_giro_Info Info_Ogiro = new cp_orden_giro_Info();
                Info_Ogiro.IdEmpresa                = Info.IdEmpresa;
                Info_Ogiro.IdTipoCbte_Ogiro         = info_cpParam.pa_TipoCbte_OG;
                Info_Ogiro.IdOrden_giro_Tipo        = Info.IdOrden_giro_Tipo;
                Info_Ogiro.IdProveedor              = Info.IdProveedor;
                Info_Ogiro.co_fechaOg               = Info.Fecha_aprobacion;
                Info_Ogiro.co_FechaFactura          = Info.Fecha_Factura;
                Info_Ogiro.co_FechaFactura_vct      = Info.Fecha_vcto;
                Info_Ogiro.co_plazo                 = Info.co_plazo;
                Info_Ogiro.co_FechaContabilizacion  = (Info.co_FechaContabilizacion == null) ? Info.Fecha_Factura : Info.co_FechaContabilizacion;
                Info_Ogiro.co_serie                 = Info.Serie + "-" + Info.Serie2;
                Info_Ogiro.Num_Autorizacion         = Info.num_auto_Proveedor;
                Info_Ogiro.co_factura               = Info.num_documento;
                Info_Ogiro.co_observacion           = Info.Observacion;
                Info_Ogiro.co_subtotal_iva          = Info.co_subtotal_iva;
                Info_Ogiro.co_subtotal_siniva       = Info.co_subtotal_siniva;
                Info_Ogiro.co_baseImponible         = Info.co_baseImponible;
                Info_Ogiro.co_Por_iva               = Info.co_Por_iva;
                Info_Ogiro.co_valoriva              = Info.co_valoriva;
                Info_Ogiro.IdCod_ICE                = 866;//NO APLICA
                Info_Ogiro.co_Ice_base              = 0;
                Info_Ogiro.co_Ice_por               = 0;
                Info_Ogiro.co_Ice_valor             = 0;
                Info_Ogiro.co_Serv_valor            = 0;
                Info_Ogiro.co_Serv_por              = 0;
                Info_Ogiro.co_OtroValor_a_descontar = 0;
                Info_Ogiro.co_OtroValor_a_Sumar     = 0;
                Info_Ogiro.co_BaseSeguro            = 0;
                Info_Ogiro.co_total                 = Info.co_total;
                Info_Ogiro.co_valorpagar            = Info.co_total;
                Info_Ogiro.co_vaCoa                 = "S";
                Info_Ogiro.IdIden_credito           = Info.IdIden_credito;
                Info_Ogiro.IdCod_101                = 837;//No Aplica
                Info_Ogiro.IdTipoFlujo              = null;
                Info_Ogiro.IdTipoServicio           = "BIEN";
                Info_Ogiro.IdCtaCble_Gasto          = Info.IdCtaCble_Gasto;
                Info_Ogiro.IdTipoMovi               = Info.IdTipoMovi;
                Info_Ogiro.IdCtaCble_IVA            = Info.co_valoriva > 0 ? Info.pa_ctacble_iva.Trim() : null;
                Info_Ogiro.Estado = "A";

                Info_Ogiro.IdUsuario     = "";
                Info_Ogiro.Fecha_Transac = DateTime.Now;

                Info_Ogiro.IdUsuarioUltMod = "";
                Info_Ogiro.Fecha_UltMod    = null;
                Info_Ogiro.IdUsuarioUltAnu = null;
                Info_Ogiro.MotivoAnu       = null;
                Info_Ogiro.nom_pc          = "";
                Info_Ogiro.Fecha_UltAnu    = null;
                Info_Ogiro.ip = "";

                Info_Ogiro.co_retencionManual   = "S";
                Info_Ogiro.IdCbteCble_Anulacion = null;
                Info_Ogiro.IdTipoCbte_Anulacion = null;
                Info_Ogiro.IdCentroCosto        = null;
                Info_Ogiro.IdSucursal           = 1;
                Info_Ogiro.PagoLocExt           = "LOC";
                Info_Ogiro.PaisPago             = null;
                Info_Ogiro.ConvenioTributacion  = "NO";
                Info_Ogiro.PagoSujetoRetencion  = "NO";
                Info_Ogiro.BseImpNoObjDeIva     = 0;

                Info_Ogiro.Num_Autorizacion_Imprenta = Info.num_auto_Imprenta;

                Info_Ogiro.fecha_autorizacion = Info.fecha_autorizacion;

                //verificar Id_Num_Autorizacion
                cp_Autorizacion_x_Doc_x_Pag_Data data_NumAuto = new cp_Autorizacion_x_Doc_x_Pag_Data();
                string msge = "";
                if (!data_NumAuto.Verificar_NumAutorizacion_Ogiro(Info.num_auto_Proveedor, ref msge))
                {
                    //grabar
                    cp_Autorizacion_x_Doc_x_Pag_Info info = new cp_Autorizacion_x_Doc_x_Pag_Info();
                    info.Id_Num_Autorizacion = Info.num_auto_Proveedor;

                    data_NumAuto.GuardarDB(info, ref msge);

                    Info_Ogiro.Num_Autorizacion = Info.num_auto_Proveedor;
                }

                cp_orden_giro_Bus                   BusOrdenGiro_B    = new cp_orden_giro_Bus();
                List <cp_reembolso_Info>            lst_reembolso     = null;
                List <cp_orden_giro_pagos_sri_Info> lst_formasPagoSRI = null;
                cp_retencion_Info                   InfoRetencion     = null;
                ct_Cbtecble_Info InfoCbteCble_x_Ret = null;

                string es_332_333_334 = "";


                List <imp_ordencompra_ext_x_imp_gastosxImport_Info> LstImportacionGrid = null;
                List <imp_ordencompra_ext_x_ct_cbtecble_Info>       LstocXcbt_I        = null;
                List <cp_orden_giro_x_imp_ordencompra_ext_Info>     LisImportacion     = null;
                List <cp_orden_giro_x_com_ordencompra_local_Info>   LstImportacionOC   = null;
                decimal idCbteCble = 0;

                Info_Ogiro.Info_CbteCble_x_OG = info_CbteCble;
                Info_Ogiro.lst_formasPagoSRI  = lst_formasPagoSRI;
                Info_Ogiro.Info_Retencion     = InfoRetencion;

                if (Info_Ogiro.Info_Retencion != null)
                {
                    Info_Ogiro.Info_Retencion.Info_CbteCble_x_RT = InfoCbteCble_x_Ret;
                }


                Info_Ogiro.LstImportacionOC = LstImportacionOC;


                if (BusOrdenGiro_B.ExisteFacturaPorProveedor(Info_Ogiro.IdEmpresa, Info_Ogiro.IdProveedor, Info_Ogiro.co_serie, Info_Ogiro.co_factura))
                {
                    if (BusOrdenGiro_B.ModificarDB(Info_Ogiro, ref msg))
                    {
                        Info.IdEmpresa_Ogiro  = Info_Ogiro.IdEmpresa;
                        Info.IdCbteCble_Ogiro = Info_Ogiro.IdCbteCble_Ogiro;
                        Info.IdTipoCbte_Ogiro = Info_Ogiro.IdTipoCbte_Ogiro;
                    }
                }
                else
                {
                    if (BusOrdenGiro_B.GrabarDB(Info_Ogiro, ref idCbteCble, ref msg))
                    {
                        Info.IdEmpresa_Ogiro  = Info_Ogiro.IdEmpresa;
                        Info.IdCbteCble_Ogiro = Info_Ogiro.IdCbteCble_Ogiro;
                        Info.IdTipoCbte_Ogiro = Info_Ogiro.IdTipoCbte_Ogiro;
                    }
                }


                #endregion


                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("", "Generar_Orden_Giro", ex.Message), ex)
                      {
                          EntityType = typeof(cp_Aprobacion_Ing_Bod_x_OC_Bus)
                      };
            }
        }
Ejemplo n.º 24
0
        public List <ct_Cbtecble_det_Info> Get_list_Cbtecble_det(int IdEmpresa, int IdTipoCbte, decimal IdCbteCble, ref string MensajeError)
        {
            try
            {
                List <ct_Cbtecble_det_Info> lM             = new List <ct_Cbtecble_det_Info>();
                EntitiesDBConta             OECbtecble_det = new EntitiesDBConta();
                var selectCbtecble_det = from C in OECbtecble_det.ct_cbtecble_det
                                         join Cc in OECbtecble_det.ct_centro_costo on new { C.IdEmpresa, C.IdCentroCosto } equals new { Cc.IdEmpresa, Cc.IdCentroCosto } into cen
                from subquerry in cen.DefaultIfEmpty()
                join Ct in OECbtecble_det.ct_plancta on new { C.IdEmpresa, C.IdCtaCble } equals new { Ct.IdEmpresa, Ct.IdCtaCble }
                where C.IdEmpresa == IdEmpresa && C.IdCbteCble == IdCbteCble && C.IdTipoCbte == IdTipoCbte
                select new
                {
                    C.IdEmpresa,
                    C.IdTipoCbte,
                    C.IdCbteCble,
                    C.secuencia,
                    C.IdCtaCble,
                    C.IdCentroCosto,
                    C.IdCentroCosto_sub_centro_costo,
                    C.dc_Valor,
                    C.dc_Observacion,
                    subquerry.Centro_costo,
                    Ct.pc_Cuenta,
                    C.IdPunto_cargo,
                    C.IdPunto_cargo_grupo,
                    C.dc_para_conciliar
                };

                foreach (var item in selectCbtecble_det)
                {
                    ct_Cbtecble_det_Info Cbt = new ct_Cbtecble_det_Info();
                    Cbt.IdEmpresa  = item.IdEmpresa;
                    Cbt.IdTipoCbte = item.IdTipoCbte;
                    Cbt.IdCbteCble = item.IdCbteCble;
                    Cbt.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo;
                    Cbt.IdCtaCble           = item.IdCtaCble;
                    Cbt.secuencia           = item.secuencia;
                    Cbt.IdCentroCosto       = item.IdCentroCosto;
                    Cbt.dc_Valor            = item.dc_Valor;
                    Cbt.dc_Observacion      = item.dc_Observacion;
                    Cbt.NomCtaCble          = item.pc_Cuenta;
                    Cbt.NomCentroCosto      = (item.Centro_costo != null)? item.Centro_costo : "";
                    Cbt.IdPunto_cargo       = item.IdPunto_cargo;
                    Cbt.IdPunto_cargo_grupo = item.IdPunto_cargo_grupo;
                    Cbt.IdRegistro          = item.IdCentroCosto_sub_centro_costo == null ? null : item.IdCentroCosto + "-" + item.IdCentroCosto_sub_centro_costo;
                    Cbt.dc_para_conciliar   = (item.dc_para_conciliar == null) ? false : Convert.ToBoolean(item.dc_para_conciliar);
                    lM.Add(Cbt);
                }

                return(lM);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);

                MensajeError = ex.ToString();
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.ToString());
            }
        }
        public void GetCbteCtb()
        {
            try
            {
                var DatosDiario = from p in _Info.ListaGastos
                                  join w in lstGastosXEmpresa
                                  on new { p.IdGastoImp } equals new { w.IdGastoImp }
                select new { p.IdGastoImp, w.IdCtaCble, p.Valor, w.debcre_DebBanco };
                // asdasdasd
                ba_Banco_Cuenta_Info banco = (ba_Banco_Cuenta_Info)cmbBanco.EditValue;//.ListObject;
                string contracuenta        = banco.IdCtaCble;
                List <ct_Cbtecble_det_Info> LstCbteCble = new List <ct_Cbtecble_det_Info>();
                foreach (var item in DatosDiario)
                {
                    ct_Cbtecble_det_Info obj = new ct_Cbtecble_det_Info();

                    obj.dc_Observacion = "DEB " + txtObservacion.Text;
                    obj.IdCtaCble      = item.IdCtaCble;

                    obj.IdTipoCbte = tipocbte.IdTipoCbte;
                    obj.IdEmpresa  = param.IdEmpresa;

                    if (item.debcre_DebBanco == "C")
                    {
                        obj.dc_Valor = item.Valor * -1;
                    }
                    else
                    {
                        obj.dc_Valor = item.Valor;
                    }
                    LstCbteCble.Add(obj);
                }


                ct_Cbtecble_det_Info obj2 = new ct_Cbtecble_det_Info();
                double Valor = 0;
                foreach (var item in _Info.ListaGastos)
                {
                    Valor = Valor + item.Valor;
                }
                obj2.dc_Observacion = "Importacion: " + txtObservacion.Text.Trim();
                obj2.IdCtaCble      = banco.IdCtaCble;
                obj2.IdTipoCbte     = tipocbte.IdTipoCbte;
                obj2.IdEmpresa      = param.IdEmpresa;
                obj2.dc_Valor       = Valor * -1;


                LstCbteCble.Add(obj2);


                CbteCble_I.IdEmpresa                = param.IdEmpresa;
                CbteCble_I.IdTipoCbte               = tipocbte.IdTipoCbte;
                CbteCble_I.IdPeriodo                = Per_I.IdPeriodo;
                CbteCble_I.cb_Fecha                 = Convert.ToDateTime(dtpFecha.Value.ToShortDateString());
                CbteCble_I.cb_Valor                 = Valor;
                CbteCble_I.cb_Observacion           = txtObservacion.Text.Trim();
                CbteCble_I.Secuencia                = 0;
                CbteCble_I.Estado                   = "A";
                CbteCble_I.Anio                     = dtpFecha.Value.Year;
                CbteCble_I.Mes                      = dtpFecha.Value.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._cbteCble_det_lista_info = LstCbteCble;
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
Ejemplo n.º 26
0
        public void GeneraDiarioRetencion()
        {
            try
            {
                UC_CbteCble_Retencion.validaValores = false;
                UC_CbteCble_Retencion.setDetalle(new List <ct_Cbtecble_det_Info>());
                ListDiarioRet = new List <ct_Cbtecble_det_Info>();
                double Sum_Ret_valor = 0;

                // RETENCION

                foreach (var item in BindingList_codigoSRI)
                {
                    if (item.co_porRetencion > 0)
                    {
                        double valor = 0;

                        if (item.MontoRetencion > 0)
                        {
                            valor = Math.Round(item.MontoRetencion, 2);
                        }
                        else
                        {
                            if (item.BaseImponible != 0)
                            {
                                if (item.Tipo == "IVA")
                                {
                                    item.MontoRetencion = item.BaseImponible * (item.co_porRetencion / 100);
                                    valor = item.MontoRetencion;
                                }
                                else
                                {
                                    item.MontoRetencion = item.BaseImponible * (item.co_porRetencion / 100);
                                    valor = item.MontoRetencion;
                                }
                            }
                        }

                        ct_Cbtecble_det_Info regDebe = new ct_Cbtecble_det_Info();

                        string IdCtaCble_iva = "";
                        string IdCtaCble_ret = "";

                        if (String.IsNullOrEmpty(item.IdCtaCble))
                        {
                            // obtener ctacble retencion de parametros
                            cp_parametros_Bus  bus_param  = new cp_parametros_Bus();
                            cp_parametros_Info info_param = new cp_parametros_Info();
                            info_param = bus_param.Get_Info_parametros(param.IdEmpresa);

                            if (item.Tipo == "IVA")
                            {
                                if (String.IsNullOrEmpty(info_param.pa_ctacble_x_RetIva_default))
                                {
                                    IdCtaCble_iva = "";
                                }
                                else
                                {
                                    IdCtaCble_iva = info_param.pa_ctacble_x_RetIva_default;
                                }
                                regDebe.IdCtaCble = IdCtaCble_iva;
                            }
                            else
                            {
                                if (String.IsNullOrEmpty(info_param.pa_ctacble_x_RetFte_default))
                                {
                                    IdCtaCble_ret = "";
                                }
                                else
                                {
                                    IdCtaCble_ret = info_param.pa_ctacble_x_RetFte_default;
                                }
                                regDebe.IdCtaCble = IdCtaCble_ret;
                            }
                        }
                        else
                        {
                            regDebe.IdCtaCble = item.IdCtaCble == null ? "" : item.IdCtaCble.Trim();
                        }


                        regDebe.IdTipoCbte     = IdTipoCbte_x_Retencion;
                        regDebe.dc_Valor       = valor * -1;
                        regDebe.dc_Observacion = nomProveedor;
                        regDebe.tipo           = item.Tipo;

                        ListDiarioRet.Add(regDebe);


                        Sum_Ret_valor = Sum_Ret_valor + valor;
                    }
                }// fin foreach



                // cta por pagar 1 sola vez acumulada
                ct_Cbtecble_det_Info regHaber = new ct_Cbtecble_det_Info();
                regHaber.IdCtaCble      = IdCtaCble_CXP;
                regHaber.IdTipoCbte     = IdTipoCbte_x_Retencion;
                regHaber.dc_Valor       = Sum_Ret_valor;
                regHaber.dc_Observacion = "Ret cxp";
                regHaber.tipo           = "IVA/RET";

                ListDiarioRet.Add(regHaber);


                UC_CbteCble_Retencion.setDetalle(ListDiarioRet);
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(NameMetodo + " - " + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
Ejemplo n.º 27
0
        public bool Contabilizar_proceso(ba_Archivo_Transferencia_Info info_archivo, tb_banco_procesos_bancarios_x_empresa_Info info_procesos_x_empresa, string Origen)
        {
            try
            {
                bool res = false;
                if (info_archivo.Contabilizado != true)
                {
                    decimal IdCbteCble  = 0;
                    decimal Valor_total = 0;
                    string  Observacion = "";
                    int     cont        = 0;

                    info_Cbtecble_ban             = new ba_Cbte_Ban_Info();
                    info_cbte_ban_tipo_x_cbtecble = bus_cbte_ban_tipo_x_cbtecble.Get_info_Cbte_Ban_tipo_x_ct_CbteCble_tipo(info_archivo.IdEmpresa, "NDBA");
                    info_banco_cta = bus_banco_cta.Get_Info_Banco_Cuenta(info_archivo.IdEmpresa, info_archivo.IdBanco);

                    List <cp_orden_pago_cancelaciones_Info> list_op_cancelaciones    = new List <cp_orden_pago_cancelaciones_Info>();
                    List <ba_Archivo_Transferencia_Det>     list_archivo_detalle_act = new List <ba_Archivo_Transferencia_Det>();

                    switch (info_archivo.IdProceso_bancario)
                    {
                    case "PAGO_PROVEEDORES_BOL":
                        #region Pago a proveedores del bolivariano
                        var list_secuenciales = (from q in info_archivo.Lst_Archivo_Transferencia_Det
                                                 group q by new { q.Secuencial_reg_x_proceso }
                                                 into secuenciales
                                                 select new
                        {
                            secuencial = secuenciales.Key.Secuencial_reg_x_proceso == null ? 0 : Convert.ToDecimal(secuenciales.Key.Secuencial_reg_x_proceso)
                        });

                        foreach (var item in list_secuenciales.OrderBy(q => q.secuencial))
                        {
                            //OBTENGO LA LISTA DE OP PARA HACER DIARIOS POR PROVEEDOR
                            list_op_cancelaciones = new List <cp_orden_pago_cancelaciones_Info>();
                            List <decimal> list_op = new List <decimal>();


                            foreach (var det_archivo in info_archivo.Lst_Archivo_Transferencia_Det.Where(q => q.Secuencial_reg_x_proceso == item.secuencial).ToList())
                            {
                                list_op.Add(det_archivo.IdOrdenPago == null ? 0 : (decimal)det_archivo.IdOrdenPago);
                            }
                            List <cp_orden_pago_det_Info> list_op_det = new List <cp_orden_pago_det_Info>();
                            cp_orden_pago_det_Bus         bus_op_det  = new cp_orden_pago_det_Bus();

                            //OBTENGO LA LISTA DE LAS OP PARA MATAR CON LA NDBA
                            list_op_det = bus_op_det.Get_list_orden_pago_con_cta_acreedora(info_archivo.IdEmpresa, list_op);

                            #region Armo cabecera diario
                            info_Cbtecble_ban.info_Cbtecble      = new ct_Cbtecble_Info();
                            info_Cbtecble_ban.IdEmpresa          = info_Cbtecble_ban.info_Cbtecble.IdEmpresa = info_archivo.IdEmpresa;
                            info_Cbtecble_ban.IdTipocbte         = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte = info_cbte_ban_tipo_x_cbtecble.IdTipoCbteCble;
                            info_Cbtecble_ban.IdCbteCble         = info_Cbtecble_ban.info_Cbtecble.IdCbteCble = 0;
                            info_Cbtecble_ban.IdPeriodo          = info_Cbtecble_ban.info_Cbtecble.IdPeriodo = (info_archivo.Fecha.Year * 100) + info_archivo.Fecha.Month;
                            info_Cbtecble_ban.cb_Fecha           = info_Cbtecble_ban.info_Cbtecble.cb_Fecha = info_archivo.Fecha;
                            info_Cbtecble_ban.cb_secuencia       = info_Cbtecble_ban.info_Cbtecble.Secuencia = 0;
                            info_Cbtecble_ban.info_Cbtecble.Anio = info_archivo.Fecha.Year;
                            info_Cbtecble_ban.info_Cbtecble.Mes  = info_archivo.Fecha.Month;
                            info_Cbtecble_ban.IdUsuario          = info_Cbtecble_ban.info_Cbtecble.IdUsuario = info_archivo.IdUsuario;
                            info_Cbtecble_ban.Fecha_Transac      = info_Cbtecble_ban.info_Cbtecble.cb_FechaTransac = DateTime.Now;

                            info_Cbtecble_ban.IdSucursal       = info_Cbtecble_ban.info_Cbtecble.IdSucursal = 1;
                            info_Cbtecble_ban.cb_ChequeImpreso = "N"; info_Cbtecble_ban.info_Cbtecble.Mayorizado = "N";
                            info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info = new List <ct_Cbtecble_det_Info>();
                            info_Cbtecble_ban.Estado = info_Cbtecble_ban.info_Cbtecble.Estado = "A";
                            #endregion

                            #region Armo detalle diario
                            Valor_total = 0;
                            Observacion = "OB# " + item.secuencial + " NDBA x " + info_archivo.IdProceso_bancario + " # " + info_archivo.IdArchivo.ToString();

                            cont = 0;
                            foreach (var det_op in list_op_det)
                            {
                                if (cont == 0)
                                {
                                    Observacion += " " + det_op.IdTipo_Persona + ": [" + det_op.IdEntidad.ToString() + "] " + det_op.pr_nombre.Trim();
                                    cont++;
                                }

                                //validacion si llega una op para adjuntar como referencia
                                if (det_op.Referencia == null)
                                {
                                    Observacion += ", OP#" + det_op.IdOrdenPago;
                                }
                                else
                                {
                                    Observacion += ", " + det_op.Referencia;
                                }

                                Valor_total += Convert.ToDecimal(Math.Round(det_op.Valor_a_pagar, 2, MidpointRounding.AwayFromZero));

                                ct_Cbtecble_det_Info Debe = new ct_Cbtecble_det_Info();
                                Debe.IdEmpresa      = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                Debe.IdTipoCbte     = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                Debe.IdCbteCble     = 0;
                                Debe.secuencia      = 0;
                                Debe.IdCtaCble      = det_op.IdCtaCble_Acreedora;
                                Debe.dc_Valor       = Convert.ToDouble(Math.Round(Convert.ToDecimal(det_op.Valor_a_pagar), 2, MidpointRounding.AwayFromZero));
                                Debe.dc_Observacion = "OB# " + item.secuencial + " NDBA x " + info_archivo.IdProceso_bancario + " # " + info_archivo.IdArchivo.ToString() + " " + det_op.IdTipo_Persona + ": [" + det_op.IdEntidad.ToString() + "] " + det_op.pr_nombre.Trim() + " " + det_op.Referencia;
                                info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info.Add(Debe);

                                //Cabecera de cbte bancario necesita id proveedor
                                info_Cbtecble_ban.IdProveedor = det_op.IdEntidad;

                                #region Cancelaciones x op
                                cp_orden_pago_cancelaciones_Info info_op_cancelaciones = new cp_orden_pago_cancelaciones_Info();

                                info_op_cancelaciones.IdEmpresa        = info_archivo.IdEmpresa;
                                info_op_cancelaciones.Idcancelacion    = 0;
                                info_op_cancelaciones.Secuencia        = 0;
                                info_op_cancelaciones.IdEmpresa_op     = det_op.IdEmpresa;
                                info_op_cancelaciones.IdOrdenPago_op   = det_op.IdOrdenPago;
                                info_op_cancelaciones.Secuencia_op     = det_op.Secuencia;
                                info_op_cancelaciones.IdEmpresa_cxp    = det_op.IdEmpresa_cxp;
                                info_op_cancelaciones.IdTipoCbte_cxp   = det_op.IdTipoCbte_cxp;
                                info_op_cancelaciones.IdCbteCble_cxp   = det_op.IdCbteCble_cxp;
                                info_op_cancelaciones.MontoAplicado    = det_op.Valor_a_pagar;
                                info_op_cancelaciones.SaldoActual      = 0;
                                info_op_cancelaciones.SaldoAnterior    = 0;
                                info_op_cancelaciones.Observacion      = "Canc./ de OP con Archivo bancario x " + info_archivo.IdProceso_bancario + " #" + info_archivo.IdArchivo.ToString();
                                info_op_cancelaciones.fechaTransaccion = info_archivo.Fecha;

                                list_op_cancelaciones.Add(info_op_cancelaciones);
                                #endregion
                            }

                            ct_Cbtecble_det_Info Haber = new ct_Cbtecble_det_Info();
                            Haber.IdEmpresa         = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                            Haber.IdTipoCbte        = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                            Haber.IdCbteCble        = 0;
                            Haber.secuencia         = 0;
                            Haber.IdCtaCble         = info_banco_cta.IdCtaCble;
                            Haber.dc_Valor          = Convert.ToDouble(Math.Round(Valor_total, 2, MidpointRounding.AwayFromZero)) * -1;
                            Haber.dc_Observacion    = Observacion;
                            Haber.dc_para_conciliar = true;
                            info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info.Add(Haber);
                            #endregion

                            info_Cbtecble_ban.cb_Valor       = info_Cbtecble_ban.info_Cbtecble.cb_Valor = Convert.ToDouble(Math.Round(Valor_total, 2, MidpointRounding.AwayFromZero));
                            info_Cbtecble_ban.cb_Observacion = info_Cbtecble_ban.info_Cbtecble.cb_Observacion = Observacion;
                            IdCbteCble = 0;

                            #region Grabar
                            if (bus_Cbtecble_conta.GrabarDB(info_Cbtecble_ban.info_Cbtecble, ref IdCbteCble, ref mensaje_error))
                            {
                                info_Cbtecble_ban.IdBanco    = info_archivo.IdBanco;
                                info_Cbtecble_ban.IdCbteCble = IdCbteCble;
                                info_Cbtecble_ban.IdTipoNota = info_procesos_x_empresa.IdTipoNota;

                                bus_Cbtecble_ban.GrabarDB(info_Cbtecble_ban, ref mensaje_error);

                                var list_agrup = (from q in list_op_cancelaciones
                                                  group q by new
                                {
                                    q.IdEmpresa,
                                    q.Idcancelacion,
                                    q.Secuencia,
                                    q.IdEmpresa_op,
                                    q.IdOrdenPago_op,
                                    q.Secuencia_op,
                                    q.IdEmpresa_cxp,
                                    q.IdTipoCbte_cxp,
                                    q.IdCbteCble_cxp,
                                    q.MontoAplicado,
                                    q.SaldoActual,
                                    q.SaldoAnterior,
                                    q.Observacion,
                                    q.fechaTransaccion
                                }
                                                  into Lista_agrupada
                                                  select new
                                {
                                    Lista_agrupada.Key.IdEmpresa,
                                    Lista_agrupada.Key.Idcancelacion,
                                    Lista_agrupada.Key.Secuencia,
                                    Lista_agrupada.Key.IdEmpresa_op,
                                    Lista_agrupada.Key.IdOrdenPago_op,
                                    Lista_agrupada.Key.Secuencia_op,
                                    Lista_agrupada.Key.IdEmpresa_cxp,
                                    Lista_agrupada.Key.IdTipoCbte_cxp,
                                    Lista_agrupada.Key.IdCbteCble_cxp,
                                    Lista_agrupada.Key.MontoAplicado,
                                    Lista_agrupada.Key.SaldoActual,
                                    Lista_agrupada.Key.SaldoAnterior,
                                    Lista_agrupada.Key.Observacion,
                                    Lista_agrupada.Key.fechaTransaccion
                                });
                                list_op_cancelaciones = new List <cp_orden_pago_cancelaciones_Info>();
                                foreach (var cancelacion in list_agrup)
                                {
                                    cp_orden_pago_cancelaciones_Info info_can = new cp_orden_pago_cancelaciones_Info();
                                    info_can.IdEmpresa        = cancelacion.IdEmpresa;
                                    info_can.Idcancelacion    = cancelacion.Idcancelacion;
                                    info_can.Secuencia        = cancelacion.Secuencia;
                                    info_can.IdEmpresa_op     = cancelacion.IdEmpresa_op;
                                    info_can.IdOrdenPago_op   = cancelacion.IdOrdenPago_op;
                                    info_can.Secuencia_op     = cancelacion.Secuencia_op;
                                    info_can.IdEmpresa_cxp    = cancelacion.IdEmpresa_cxp;
                                    info_can.IdTipoCbte_cxp   = cancelacion.IdTipoCbte_cxp;
                                    info_can.IdCbteCble_cxp   = cancelacion.IdCbteCble_cxp;
                                    info_can.MontoAplicado    = cancelacion.MontoAplicado;
                                    info_can.SaldoActual      = cancelacion.SaldoActual;
                                    info_can.SaldoAnterior    = cancelacion.SaldoAnterior;
                                    info_can.Observacion      = cancelacion.Observacion;
                                    info_can.fechaTransaccion = cancelacion.fechaTransaccion;
                                    info_can.IdEmpresa_pago   = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                    info_can.IdTipoCbte_pago  = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                    info_can.IdCbteCble_pago  = IdCbteCble;
                                    list_op_cancelaciones.Add(info_can);
                                }
                                bus_op_cancelaciones.GuardarDB(list_op_cancelaciones, info_archivo.IdEmpresa, ref mensaje_error);
                            }

                            #endregion
                        }
                        res = true;
                        info_archivo.Contabilizado = true;
                        #endregion
                        break;

                    default:
                        if (info_archivo.Origen_Archivo != "RRHH")
                        {
                            #region Pago a proveedores que tengan op

                            //OBTENGO LA LISTA DE OP PARA HACER DIARIOS POR PROVEEDOR

                            List <decimal> list_op_x_canc = new List <decimal>();
                            foreach (var det_archivo in info_archivo.Lst_Archivo_Transferencia_Det)
                            {
                                list_op_x_canc.Add(det_archivo.IdOrdenPago == null ? 0 : (decimal)det_archivo.IdOrdenPago);
                            }
                            List <cp_orden_pago_det_Info> list_op_det_x_cancelar = new List <cp_orden_pago_det_Info>();
                            cp_orden_pago_det_Bus         bus_op_det_x_cancelar  = new cp_orden_pago_det_Bus();
                            //OBTENGO LA LISTA DE LAS OP PARA MATAR CON LA NDBA
                            list_op_det_x_cancelar = bus_op_det_x_cancelar.Get_list_orden_pago_con_cta_acreedora(info_archivo.IdEmpresa, list_op_x_canc);

                            foreach (var det_op in list_op_det_x_cancelar)
                            {
                                list_op_cancelaciones = new List <cp_orden_pago_cancelaciones_Info>();
                                #region Armo cabecera diario
                                info_Cbtecble_ban.info_Cbtecble      = new ct_Cbtecble_Info();
                                info_Cbtecble_ban.IdEmpresa          = info_Cbtecble_ban.info_Cbtecble.IdEmpresa = info_archivo.IdEmpresa;
                                info_Cbtecble_ban.IdTipocbte         = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte = info_cbte_ban_tipo_x_cbtecble.IdTipoCbteCble;
                                info_Cbtecble_ban.IdCbteCble         = info_Cbtecble_ban.info_Cbtecble.IdCbteCble = 0;
                                info_Cbtecble_ban.IdPeriodo          = info_Cbtecble_ban.info_Cbtecble.IdPeriodo = (info_archivo.Fecha.Year * 100) + info_archivo.Fecha.Month;
                                info_Cbtecble_ban.cb_Fecha           = info_Cbtecble_ban.info_Cbtecble.cb_Fecha = info_archivo.Fecha;
                                info_Cbtecble_ban.cb_secuencia       = info_Cbtecble_ban.info_Cbtecble.Secuencia = 0;
                                info_Cbtecble_ban.info_Cbtecble.Anio = info_archivo.Fecha.Year;
                                info_Cbtecble_ban.info_Cbtecble.Mes  = info_archivo.Fecha.Month;
                                info_Cbtecble_ban.IdUsuario          = info_Cbtecble_ban.info_Cbtecble.IdUsuario = info_archivo.IdUsuario;
                                info_Cbtecble_ban.Fecha_Transac      = info_Cbtecble_ban.info_Cbtecble.cb_FechaTransac = DateTime.Now;

                                info_Cbtecble_ban.IdSucursal       = info_Cbtecble_ban.info_Cbtecble.IdSucursal = 1;
                                info_Cbtecble_ban.cb_ChequeImpreso = "N"; info_Cbtecble_ban.info_Cbtecble.Mayorizado = "N";
                                info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info = new List <ct_Cbtecble_det_Info>();
                                info_Cbtecble_ban.Estado = info_Cbtecble_ban.info_Cbtecble.Estado = "A";
                                #endregion

                                #region Armo detalle diario
                                Valor_total = 0;
                                Observacion = info_archivo.IdProceso_bancario + " # " + info_archivo.IdArchivo.ToString();

                                cont = 0;

                                if (cont == 0)
                                {
                                    Observacion += " " + det_op.IdTipo_Persona + ": [" + det_op.IdEntidad.ToString() + "] " + det_op.pr_nombre.Trim();
                                    cont++;
                                }
                                Observacion += ", " + det_op.Referencia;
                                Valor_total += Convert.ToDecimal(Math.Round(det_op.Valor_a_pagar, 2, MidpointRounding.AwayFromZero));

                                ct_Cbtecble_det_Info Debe = new ct_Cbtecble_det_Info();
                                Debe.IdEmpresa      = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                Debe.IdTipoCbte     = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                Debe.IdCbteCble     = 0;
                                Debe.secuencia      = 0;
                                Debe.IdCtaCble      = det_op.IdCtaCble_Acreedora;
                                Debe.dc_Valor       = Convert.ToDouble(Math.Round(Convert.ToDecimal(det_op.Valor_a_pagar), 2, MidpointRounding.AwayFromZero));
                                Debe.dc_Observacion = info_archivo.IdProceso_bancario + " # " + info_archivo.IdArchivo.ToString() + " " + det_op.IdTipo_Persona + ": [" + det_op.IdEntidad.ToString() + "] " + det_op.pr_nombre.Trim() + " " + det_op.Referencia;
                                info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info.Add(Debe);

                                //Cabecera de cbte bancario necesita id proveedor
                                info_Cbtecble_ban.IdProveedor = det_op.IdEntidad;

                                #region Cancelaciones x op
                                cp_orden_pago_cancelaciones_Info info_op_cancelaciones = new cp_orden_pago_cancelaciones_Info();

                                info_op_cancelaciones.IdEmpresa        = info_archivo.IdEmpresa;
                                info_op_cancelaciones.Idcancelacion    = 0;
                                info_op_cancelaciones.Secuencia        = 0;
                                info_op_cancelaciones.IdEmpresa_op     = det_op.IdEmpresa;
                                info_op_cancelaciones.IdOrdenPago_op   = det_op.IdOrdenPago;
                                info_op_cancelaciones.Secuencia_op     = det_op.Secuencia;
                                info_op_cancelaciones.IdEmpresa_cxp    = det_op.IdEmpresa_cxp;
                                info_op_cancelaciones.IdTipoCbte_cxp   = det_op.IdTipoCbte_cxp;
                                info_op_cancelaciones.IdCbteCble_cxp   = det_op.IdCbteCble_cxp;
                                info_op_cancelaciones.MontoAplicado    = det_op.Valor_a_pagar;
                                info_op_cancelaciones.SaldoActual      = 0;
                                info_op_cancelaciones.SaldoAnterior    = 0;
                                info_op_cancelaciones.Observacion      = "Canc./ de OP con Archivo bancario x " + info_archivo.IdProceso_bancario + " #" + info_archivo.IdArchivo.ToString();
                                info_op_cancelaciones.fechaTransaccion = info_archivo.Fecha;

                                list_op_cancelaciones.Add(info_op_cancelaciones);
                                #endregion


                                ct_Cbtecble_det_Info Haber_op = new ct_Cbtecble_det_Info();
                                Haber_op.IdEmpresa         = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                Haber_op.IdTipoCbte        = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                Haber_op.IdCbteCble        = 0;
                                Haber_op.secuencia         = 0;
                                Haber_op.IdCtaCble         = info_banco_cta.IdCtaCble;
                                Haber_op.dc_Valor          = Convert.ToDouble(Math.Round(Valor_total, 2, MidpointRounding.AwayFromZero)) * -1;
                                Haber_op.dc_Observacion    = Observacion;
                                Haber_op.dc_para_conciliar = true;
                                info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info.Add(Haber_op);
                                #endregion

                                info_Cbtecble_ban.cb_Valor       = info_Cbtecble_ban.info_Cbtecble.cb_Valor = Convert.ToDouble(Math.Round(Valor_total, 2, MidpointRounding.AwayFromZero));
                                info_Cbtecble_ban.cb_Observacion = info_Cbtecble_ban.info_Cbtecble.cb_Observacion = Observacion;
                                IdCbteCble = 0;

                                #region Grabar
                                if (bus_Cbtecble_conta.GrabarDB(info_Cbtecble_ban.info_Cbtecble, ref IdCbteCble, ref mensaje_error))
                                {
                                    info_Cbtecble_ban.IdBanco    = info_archivo.IdBanco;
                                    info_Cbtecble_ban.IdCbteCble = IdCbteCble;
                                    info_Cbtecble_ban.IdTipoNota = info_procesos_x_empresa.IdTipoNota;

                                    bus_Cbtecble_ban.GrabarDB(info_Cbtecble_ban, ref mensaje_error);

                                    ba_Archivo_Transferencia_Det_Info info_archivo_det = new ba_Archivo_Transferencia_Det_Info();

                                    info_archivo_det = info_archivo.Lst_Archivo_Transferencia_Det.FirstOrDefault(q => q.IdEmpresa_OP == det_op.IdEmpresa && q.IdOrdenPago == det_op.IdOrdenPago && q.Secuencia_OP == det_op.Secuencia);
                                    if (info_archivo_det != null)
                                    {
                                        info_archivo_det.IdEmpresa_pago  = info_Cbtecble_ban.IdEmpresa;
                                        info_archivo_det.IdTipoCbte_pago = info_Cbtecble_ban.IdTipocbte;
                                        info_archivo_det.IdCbteCble_pago = info_Cbtecble_ban.IdCbteCble;
                                        bus_archivo_det.ModificarDB(info_archivo_det);
                                    }

                                    var list_agrup = (from q in list_op_cancelaciones
                                                      group q by new
                                    {
                                        q.IdEmpresa,
                                        q.Idcancelacion,
                                        q.Secuencia,
                                        q.IdEmpresa_op,
                                        q.IdOrdenPago_op,
                                        q.Secuencia_op,
                                        q.IdEmpresa_cxp,
                                        q.IdTipoCbte_cxp,
                                        q.IdCbteCble_cxp,
                                        q.MontoAplicado,
                                        q.SaldoActual,
                                        q.SaldoAnterior,
                                        q.Observacion,
                                        q.fechaTransaccion
                                    }
                                                      into Lista_agrupada
                                                      select new
                                    {
                                        Lista_agrupada.Key.IdEmpresa,
                                        Lista_agrupada.Key.Idcancelacion,
                                        Lista_agrupada.Key.Secuencia,
                                        Lista_agrupada.Key.IdEmpresa_op,
                                        Lista_agrupada.Key.IdOrdenPago_op,
                                        Lista_agrupada.Key.Secuencia_op,
                                        Lista_agrupada.Key.IdEmpresa_cxp,
                                        Lista_agrupada.Key.IdTipoCbte_cxp,
                                        Lista_agrupada.Key.IdCbteCble_cxp,
                                        Lista_agrupada.Key.MontoAplicado,
                                        Lista_agrupada.Key.SaldoActual,
                                        Lista_agrupada.Key.SaldoAnterior,
                                        Lista_agrupada.Key.Observacion,
                                        Lista_agrupada.Key.fechaTransaccion
                                    });
                                    list_op_cancelaciones = new List <cp_orden_pago_cancelaciones_Info>();
                                    foreach (var cancelacion in list_agrup)
                                    {
                                        cp_orden_pago_cancelaciones_Info info_can = new cp_orden_pago_cancelaciones_Info();
                                        info_can.IdEmpresa        = cancelacion.IdEmpresa;
                                        info_can.Idcancelacion    = cancelacion.Idcancelacion;
                                        info_can.Secuencia        = cancelacion.Secuencia;
                                        info_can.IdEmpresa_op     = cancelacion.IdEmpresa_op;
                                        info_can.IdOrdenPago_op   = cancelacion.IdOrdenPago_op;
                                        info_can.Secuencia_op     = cancelacion.Secuencia_op;
                                        info_can.IdEmpresa_cxp    = cancelacion.IdEmpresa_cxp;
                                        info_can.IdTipoCbte_cxp   = cancelacion.IdTipoCbte_cxp;
                                        info_can.IdCbteCble_cxp   = cancelacion.IdCbteCble_cxp;
                                        info_can.MontoAplicado    = cancelacion.MontoAplicado;
                                        info_can.SaldoActual      = cancelacion.SaldoActual;
                                        info_can.SaldoAnterior    = cancelacion.SaldoAnterior;
                                        info_can.Observacion      = cancelacion.Observacion;
                                        info_can.fechaTransaccion = cancelacion.fechaTransaccion;
                                        info_can.IdEmpresa_pago   = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                        info_can.IdTipoCbte_pago  = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                        info_can.IdCbteCble_pago  = IdCbteCble;
                                        list_op_cancelaciones.Add(info_can);
                                    }
                                    bus_op_cancelaciones.GuardarDB(list_op_cancelaciones, info_archivo.IdEmpresa, ref mensaje_error);
                                }
                            }

                            #endregion

                            res = true;
                            info_archivo.Contabilizado = true;
                            #endregion
                        }

                        break;
                    }
                    Actualizar_estado_contabilizacion(info_archivo);
                }

                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("", "Get_List_Archivo_transferencia", ex.Message), ex)
                      {
                          EntityType = typeof(ba_Archivo_Transferencia_Bus)
                      };
            }
        }
Ejemplo n.º 28
0
        public Boolean GenerarDiarioFOB(int IdEmpresa, int IdSucursal, decimal IdImportacion, ref string msg, ref decimal idCbteCble, string idCbteCble_Proveedor)
        {
            try
            {
                imp_ordencompra_ext_x_ct_cbtecble_Info ordCompraxCbte_info = new imp_ordencompra_ext_x_ct_cbtecble_Info();
                ct_Periodo_Info  Per_I      = new ct_Periodo_Info();
                ct_Cbtecble_Info CbteCble_I = new ct_Cbtecble_Info();
                List <imp_ordencompra_ext_x_imp_gastosxImport_Det_Info> ListaDetalle  = new List <imp_ordencompra_ext_x_imp_gastosxImport_Det_Info>();
                imp_gastosximport_x_empresa_Data                    BusGastosXEmpresa = new imp_gastosximport_x_empresa_Data();
                List <imp_gastosximport_x_empresa_Info>             lstGastosXEmpresa = new List <imp_gastosximport_x_empresa_Info>();
                List <imp_ordencompra_ext_x_imp_gastosxImport_Info> Lst = new List <imp_ordencompra_ext_x_imp_gastosxImport_Info>();
                ba_Cbte_Ban_Bus             BusCbteBanco    = new ba_Cbte_Ban_Bus();
                ct_Periodo_Data             Per_B           = new ct_Periodo_Data();
                List <ct_Cbtecble_det_Info> LstCbteCble     = new List <ct_Cbtecble_det_Info>();
                cl_parametrosGenerales_Bus  param           = cl_parametrosGenerales_Bus.Instance;
                ba_Cbte_Ban_Info            CbteBan_I       = new ba_Cbte_Ban_Info();
                imp_Parametros_Data         Data_parametros = new imp_Parametros_Data();
                var tip = Data_parametros.Get_Info_Parametros(IdEmpresa);
                imp_ordencompra_ext_x_ct_cbtecble_Data DataOrdxCbt = new imp_ordencompra_ext_x_ct_cbtecble_Data();
                cp_proveedor_Data        _Prove_D = new cp_proveedor_Data();
                imp_ordencompra_ext_Info _Info    = oData.Get_Info_ordencompra_ext(IdEmpresa, IdSucursal, IdImportacion);
                string MensajeError = "";
                var    proveedor    = _Prove_D.Get_Info_Proveedor(param.IdEmpresa, _Info.IdProveedor);
                Per_I = Per_B.Get_Info_Periodo(_Info.IdEmpresa, _Info.ci_fecha, ref MensajeError);
                ct_Cbtecble_det_Info _CbteCble_I   = new ct_Cbtecble_det_Info();
                in_categorias_data   producto_data = new in_categorias_data();
                //var producto = producto_data.ObtenerObjeto(param.IdEmpresa, _Info.IdCategoria).ca_Categoria;
                var    producto    = producto_data.Get_List_categorias(0);
                string Observacion = _CbteCble_I.dc_Observacion = proveedor.pr_nombre + ".: " + _Info.CodOrdenCompraExt + ": //" + IdImportacion + "//" + "Cont. de la  Importacion #" + IdImportacion +
                                                                  @"'\'" + _Info.CodOrdenCompraExt + " Diario FOB" + _Info.ci_Observacion + " : " + producto + ". " + _Info.ci_tonelaje + " T";
                _CbteCble_I.IdCtaCble  = _Info.IdCtaCble_import;
                _CbteCble_I.IdEmpresa  = IdEmpresa;
                _CbteCble_I.IdTipoCbte = tip.IdTipoCbte_DiarioFob;
                _CbteCble_I.dc_Valor   = _Info.FOB;
                LstCbteCble.Add(_CbteCble_I);
                ct_Cbtecble_det_Info obj2 = new ct_Cbtecble_det_Info();
                obj2.IdCtaCble      = _Info.IdCtaCble_import;
                obj2.dc_Observacion = Observacion;// "Cont. de la  Importacion #" + IdImportacion + @"'\'" + _Info.CodOrdenCompraExt + " Diario FOB" + _Info.ci_Observacion;
                obj2.IdCtaCble      = idCbteCble_Proveedor;
                obj2.IdTipoCbte     = tip.IdTipoCbte_DiarioFob;
                obj2.IdEmpresa      = _Info.IdEmpresa;
                obj2.dc_Valor       = _Info.FOB * -1;
                LstCbteCble.Add(obj2);

                CbteCble_I.IdEmpresa   = _Info.IdEmpresa;
                CbteCble_I.IdTipoCbte  = tip.IdTipoCbte_DiarioFob;
                CbteCble_I.CodCbteCble = "IM";
                CbteCble_I.IdPeriodo   = Per_I.IdPeriodo;
                CbteCble_I.cb_Fecha    = Convert.ToDateTime(_Info.ci_fecha.ToShortDateString());
                CbteCble_I.cb_Valor    = _Info.FOB;
                if (_Info.CodOrdenCompraExt == null || _Info.CodOrdenCompraExt == "")
                {
                    _Info.CodOrdenCompraExt = "IMP" + IdImportacion;
                }
                CbteCble_I.cb_Observacion           = Observacion;
                CbteCble_I.Secuencia                = 0;
                CbteCble_I.Estado                   = "A";
                CbteCble_I.Anio                     = _Info.ci_fecha.Year;
                CbteCble_I.Mes                      = _Info.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._cbteCble_det_lista_info = LstCbteCble;
                ct_Cbtecble_Bus CbteCble_B   = new ct_Cbtecble_Bus();
                string          cod_CbteCble = "";

                if (CbteCble_B.GrabarDB(CbteCble_I, ref idCbteCble, ref msg) == false)
                {
                    return(false);
                }
                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        = tip.IdTipoCbte_DiarioFob;
                ordCompraxCbte_info.ct_IdCbteCble        = idCbteCble;
                ordCompraxCbte_info.TipoReg = "FOB";
                DataOrdxCbt.GuardarDB(ordCompraxCbte_info, ref mensaje);

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