Пример #1
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());
            }
        }
        public Boolean  Grabar()
        {
            try
            {
                Boolean res = false;
                try
                {
                    txt_Memo.Focus();
                    string           msg  = "";
                    ba_Cbte_Ban_Info info = new ba_Cbte_Ban_Info();


                    if (valida())
                    {
                        for (int i = 0; i < gridView_CbteBan.RowCount; i++)
                        {
                            if (info != null)
                            {
                                if (CbteCble_B.GrabarDB(get_CbteCble(info.cb_Valor, info.cb_Observacion, Convert.ToInt32(info.IdTipoNota), info.cb_Fecha), ref IdCbteCble, ref msg))
                                {
                                    if (CbteBan_B.GrabarDB(get_CbteBan(info.cb_Valor, info.cb_Observacion, Convert.ToInt32(info.IdTipoNota), info.cb_Fecha), ref MensajeError))
                                    {
                                        ba_notasDebCre_masivo_Info infoNota = new ba_notasDebCre_masivo_Info();

                                        infoNota.IdEmpresa     = param.IdEmpresa;
                                        infoNota.IdCbteCble_cb = IdCbteCble;
                                        infoNota.IdEmpresa_cb  = param.IdEmpresa;
                                        infoNota.IdTipocbte_cb = IdTipoCbte;
                                        infoNota.Observacion   = txt_Memo.Text.Trim();
                                        infoNota.fecha         = Convert.ToDateTime(dt_fechaCbte.Value.ToShortDateString());
                                        infoNota.Fecha_Transac = param.Fecha_Transac;
                                        infoNota.Deb_Cred      = rB_Credito.Checked == true ? "C" : "D";
                                        infoNota.IdUsuario     = param.IdUsuario;
                                        infoNota.ip            = param.ip;
                                        infoNota.nom_pc        = param.nom_pc;

                                        listNotaMasiva.Add(infoNota);
                                    }
                                    else
                                    {
                                        MessageBox.Show(msg); return(false);
                                    }
                                }
                                else
                                {
                                    return(false);
                                }
                            }
                        }
                        decimal IdTransaccion = 0;
                        if (NotaMasi_B.GuardarDB(listNotaMasiva, ref IdTransaccion, param.IdEmpresa))
                        {
                            string smensaje = string.Format(Core.Erp.Recursos.Properties.Resources.msgDespues_Grabar, "La Transacción de Notas Masivas ", IdTransaccion);
                            MessageBox.Show(smensaje, param.Nombre_sistema);
                            //MessageBox.Show("Se Guardo correctamente Transacción de Notas Masivas #" + IdTransaccion, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ucGe_Menu.Visible_btnGuardar         = false;
                            ucGe_Menu.Enabled_bntLimpiar         = false;
                            ucGe_Menu.Visible_bntGuardar_y_Salir = false;
                            secuencial = 1;
                            LstBin_CbteBan.ToList().ForEach(q => q.cb_secuencia = secuencial++);
                            gridControl_CbteBan.DataSource = LstBin_CbteBan;
                        }
                        else
                        {
                            MessageBox.Show(Core.Erp.Recursos.Properties.Resources.msgError_Grabar, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return(false);
                        }

                        txt_idTransaccion.Text = IdTransaccion.ToString();
                    }

                    res = true;
                }
                catch (Exception ex)
                {
                    Log_Error_bus.Log_Error(ex.ToString());
                }
                return(res);
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas) + ex.Message + " ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
                return(false);
            }
        }
        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)
                      };
            }
        }