예제 #1
0
        public ActionResult Consultar(int IdEmpresa = 0, decimal IdProveedor = 0, bool Exito = false)
        {
            cp_proveedor_Info model = bus_proveedor.get_info(IdEmpresa, IdProveedor);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            #region Permisos
            seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "CuentasPorPagar", "Proveedor", "Index");
            if (model.pr_estado == "I")
            {
                info.Modificar = false;
                info.Anular    = false;
            }
            model.Nuevo     = (info.Nuevo == true ? 1 : 0);
            model.Modificar = (info.Modificar == true ? 1 : 0);
            model.Anular    = (info.Anular == true ? 1 : 0);
            #endregion

            if (Exito)
            {
                ViewBag.MensajeSuccess = MensajeSuccess;
            }

            cargar_combos(IdEmpresa);
            return(View(model));
        }
예제 #2
0
        public ActionResult Modificar(int IdEmpresa = 0, decimal IdProveedor = 0)
        {
            cp_proveedor_Info model = bus_proveedor.get_info(IdEmpresa, IdProveedor);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }
            cargar_combos(IdEmpresa);
            return(View(model));
        }
        public JsonResult armar_diario(decimal IdTransaccionSession = 0, int IdEmpresa = 0, decimal IdProveedor = 0)
        {
            info_proveedor = bus_prov.get_info(IdEmpresa, IdProveedor);
            info_parametro = bus_param.get_info(IdEmpresa);

            list_ct_cbtecble_det.set_list(new List <ct_cbtecble_det_Info>(), IdTransaccionSession);
            var lst_det_anticipo = Lista_det_OP.get_list(IdTransaccionSession);

            var MontoAplicado = Math.Round(lst_det_anticipo.Sum(q => q.MontoAplicado), 2, MidpointRounding.AwayFromZero);

            #region Detalle Diaro
            list_ct_cbtecble_det.AddRow(new ct_cbtecble_det_Info
            {
                IdCtaCble      = info_proveedor.IdCtaCble_CXP,
                dc_Valor_debe  = Math.Round(MontoAplicado, 2, MidpointRounding.AwayFromZero),
                dc_Valor       = Math.Round(MontoAplicado * 1, 2, MidpointRounding.AwayFromZero),
                dc_Observacion = "",
            }, IdTransaccionSession);

            list_ct_cbtecble_det.AddRow(new ct_cbtecble_det_Info
            {
                IdCtaCble      = info_proveedor.IdCtaCble_Anticipo,
                dc_Valor_haber = Math.Round(MontoAplicado, 2, MidpointRounding.AwayFromZero),
                dc_Valor       = Math.Round(MontoAplicado * -1, 2, MidpointRounding.AwayFromZero),
                dc_Observacion = "",
            }, IdTransaccionSession);
            #endregion

            var lst_cbte_det = list_ct_cbtecble_det.get_list(IdTransaccionSession);
            list_ct_cbtecble_det.set_list(lst_cbte_det, IdTransaccionSession);

            return(Json(new { lst_cbte_det }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult armar_diario(decimal IdProveedor = 0, double cn_subtotal_iva = 0, double cn_subtotal_siniva = 0,
                                       double valoriva     = 0, double total = 0, string observacion = "")
        {
            int IdEmpresa = Convert.ToInt32(Session["IdEmpresa"]);

            if (Session["info_proveedor"] == null)
            {
                info_proveedor            = bus_prov.get_info(IdEmpresa, IdProveedor);
                Session["info_proveedor"] = info_proveedor;
            }
            else
            {
                info_proveedor = Session["info_proveedor"] as cp_proveedor_Info;
            }


            if (Session["info_parametro"] == null)
            {
                info_parametro            = bus_param.get_info(IdEmpresa);
                Session["info_parametro"] = info_parametro;
            }
            else
            {
                info_parametro = Session["info_parametro"] as cp_parametros_Info;
            }


            Lis_ct_cbtecble_det_List_nc.delete_detail_New_details(info_proveedor, info_parametro, cn_subtotal_iva, cn_subtotal_siniva, valoriva, total, observacion);
            return(Json("", JsonRequestBehavior.AllowGet));
        }
예제 #5
0
        public JsonResult armar_diario(string IdTipo_op = "", string IdTipo_Persona = "", decimal IdEntidad = 0, double Valor_a_pagar = 0, string observacion = "", int IdEmpresa = 0, decimal IdTransaccionSession = 0)
        {
            if (IdTipo_op != "FACT_PROVEE")
            {
                info_param_op = bus_orden_pago_tipo.get_info(IdEmpresa, IdTipo_op);

                comprobante_contable_fp.delete_detail_New_details(info_param_op, IdEntidad, Valor_a_pagar, observacion, IdTransaccionSession);
                // añadir detalle
                cp_orden_pago_det_Info info_detalle = new cp_orden_pago_det_Info();
                info_detalle.Valor_a_pagar      = Valor_a_pagar;
                info_detalle.Referencia         = observacion;
                info_detalle.IdEstadoAprobacion = info_param_op.IdEstadoAprobacion;

                lst_detalle_op.Add(info_detalle);

                lis_cp_orden_pago_det_Info.set_list(lst_detalle_op, IdTransaccionSession);

                list_ct_cbtecble_det.set_list(new List <ct_cbtecble_det_Info>(), IdTransaccionSession);

                string CtaCbleDebe  = string.Empty;
                string CtaCbleHaber = string.Empty;

                var tipo = bus_orden_pago_tipo.get_info(IdEmpresa, IdTipo_op);
                if (IdTipo_Persona == "PROVEE")
                {
                    var pro = bus_proveedor.get_info(IdEmpresa, IdEntidad);
                    if (pro != null)
                    {
                        CtaCbleHaber = pro.IdCtaCble_CXP;
                    }
                }
                if (!string.IsNullOrEmpty(tipo.IdCtaCble_Credito))
                {
                    CtaCbleHaber = tipo.IdCtaCble_Credito;
                }

                var list = lis_cp_orden_pago_det_Info.get_list(IdTransaccionSession);
                foreach (var item in list)
                {
                    //Debe
                    list_ct_cbtecble_det.AddRow(new ct_cbtecble_det_Info
                    {
                        IdCtaCble     = tipo == null ? "" : tipo.IdCtaCble,
                        dc_Valor      = Math.Round(item.Valor_a_pagar, 2, MidpointRounding.AwayFromZero),
                        dc_Valor_debe = Math.Round(item.Valor_a_pagar, 2, MidpointRounding.AwayFromZero)
                    }, IdTransaccionSession);
                }
                list_ct_cbtecble_det.AddRow(new ct_cbtecble_det_Info
                {
                    IdCtaCble         = string.IsNullOrEmpty(CtaCbleHaber) ? (tipo == null ? "" : tipo.IdCtaCble_Credito) : CtaCbleHaber,
                    dc_Valor          = Math.Round(list.Sum(q => q.Valor_a_pagar), 2, MidpointRounding.AwayFromZero) * -1,
                    dc_Valor_haber    = Math.Round(list.Sum(q => q.Valor_a_pagar), 2, MidpointRounding.AwayFromZero),
                    dc_para_conciliar = true
                }, IdTransaccionSession);
            }

            return(Json("", JsonRequestBehavior.AllowGet));
        }
예제 #6
0
        public JsonResult armar_diario(int IdEmpresa   = 0, decimal IdProveedor = 0, double cn_subtotal_iva = 0, double cn_subtotal_siniva     = 0,
                                       double valoriva = 0, double total        = 0, string observacion     = "", decimal IdTransaccionSession = 0)
        {
            info_proveedor = bus_prov.get_info(IdEmpresa, IdProveedor);
            info_parametro = bus_param.get_info(IdEmpresa);

            Lis_ct_cbtecble_det_List_nd.delete_detail_New_details(info_proveedor, info_parametro, cn_subtotal_iva, cn_subtotal_siniva, valoriva, total, observacion, IdTransaccionSession);
            return(Json("", JsonRequestBehavior.AllowGet));
        }
예제 #7
0
 public JsonResult armar_diario_retencion(int IdEmpresa = 0, decimal IdProveedor = 0, decimal IdTransaccionSession = 0, int IdSucursal_cxp = 0)
 {
     if (IdProveedor != 0)
     {
         var proveedor = bus_proveedor.get_info(IdEmpresa, IdProveedor);
         if (proveedor.info_persona.pe_cedulaRuc == SessionFixed.Ruc)
         {
             var sucursal = bus_sucursal.get_info(IdEmpresa, IdSucursal_cxp);
             proveedor.IdCtaCble_CXP = sucursal.IdCtaCble_cxp;
         }
         var detalle_ret = List_cp_retencion_det.get_list(IdTransaccionSession);
         var param_op    = bus_parametros.get_info(IdEmpresa);
         List_ct_cbtecble_det_List.delete_detail_New_details(param_op, detalle_ret, IdTransaccionSession, proveedor.IdCtaCble_CXP);
     }
     return(Json("", JsonRequestBehavior.AllowGet));
 }
예제 #8
0
        public JsonResult armar_diario(decimal IdProveedor = 0, decimal IdTransaccionSession = 0)
        {
            int IdEmpresa = Convert.ToInt32(Session["IdEmpresa"]);

            var datos = bus_proveedor.get_info(IdEmpresa, IdProveedor);

            if (datos == null)
            {
                datos = new cp_proveedor_Info();
            }
            var detalle_ret = List_cp_retencion_det.get_list(IdTransaccionSession);
            var param_op    = bus_parametros.get_info(IdEmpresa);

            List_ct_cbtecble_det_List.delete_detail_New_details(param_op, detalle_ret, IdTransaccionSession, datos.IdCtaCble_CXP);

            return(Json("", JsonRequestBehavior.AllowGet));
        }
예제 #9
0
        public JsonResult get_info_termino_pago_x_proveedor(int IdEmpresa = 0, decimal IdProveedor = 0)
        {
            var info_termino_pago = new com_TerminoPago_Info();
            cp_proveedor_Info    info_proveedor          = bus_proveedor.get_info(IdEmpresa, IdProveedor);
            com_TerminoPago_Info info_termino_pago_igual = bus_termino.get_info_termino_pago_x_proveedor(IdEmpresa, info_proveedor.pr_plazo, "=");
            com_TerminoPago_Info info_termino_pago_mayor = bus_termino.get_info_termino_pago_x_proveedor(IdEmpresa, info_proveedor.pr_plazo, ">=");

            if (info_termino_pago_igual != null)
            {
                info_termino_pago = info_termino_pago_igual;
            }
            else
            {
                info_termino_pago = info_termino_pago_mayor;
            }

            return(Json(new { IdTerminoPago = info_termino_pago.IdTerminoPago, plazo = info_proveedor.pr_plazo }, JsonRequestBehavior.AllowGet));
        }
예제 #10
0
        public ActionResult Modificar(cp_orden_giro_Info model)
        {
            if (Session["info_proveedor"] == null)
            {
                info_proveedor            = bus_prov.get_info(model.IdEmpresa, model.IdProveedor);
                Session["info_proveedor"] = info_proveedor;
            }
            else
            {
                info_proveedor = Session["info_proveedor"] as cp_proveedor_Info;
            }


            if (Session["info_parametro"] == null)
            {
                info_parametro            = bus_param.get_info(model.IdEmpresa);
                Session["info_parametro"] = info_parametro;
            }
            else
            {
                info_parametro = Session["info_parametro"] as cp_parametros_Info;
            }



            model.info_comrobante           = new ct_cbtecble_Info();
            model.info_cuota.lst_cuotas_det = Lis_cp_cuotas_x_doc_det_Info.get_list(model.IdTransaccionSession);

            model.info_comrobante.lst_ct_cbtecble_det = Lis_ct_cbtecble_det_List.get_list(model.IdTransaccionSession);

            if (model.info_comrobante.lst_ct_cbtecble_det.Count() == 0)
            {
                ViewBag.mensaje = "Falta diario contable";
                cargar_combos(model);
                cargar_combos_detalle();
                return(View(model));
            }
            if (Session["info_parametro"] != null)
            {
                info_parametro = Session["info_parametro"] as cp_parametros_Info;
                model.info_comrobante.IdTipoCbte = (int)info_parametro.pa_TipoCbte_OG;
            }
            else
            {
                ViewBag.mensaje = "Falta parametros del modulo cuenta por pagar";
                cargar_combos(model);
                cargar_combos_detalle();
                return(View(model));
            }
            string mensaje = bus_orden_giro.validar(model);

            if (mensaje != "")
            {
                cargar_combos(model);
                cargar_combos_detalle();
                ViewBag.mensaje = mensaje;
                return(View(model));
            }


            model.IdUsuario = SessionFixed.IdUsuario;
            model.lst_det   = List_det.get_list(model.IdTransaccionSession);

            if (!bus_orden_giro.modificarDB(model))
            {
                cargar_combos(model);
                return(View(model));
            }
            return(RedirectToAction("Index"));
        }