单据发布到其他应用,移动端提示没有权限原创
金蝶云社区-吴锐雄
吴锐雄
3人赞赏了该文章 997次浏览 未经作者许可,禁止转载编辑于2022年04月14日 19:24:13


最近,在把应用A下面的单据,发布到应用B之后,发现在移动端上提示没有对应的权限,但是在pc端是正常的。

为此,我写了一篇文章,讲一下这个问题出现的原因,以及如何处理。

也感谢在这个过程中,基础数据服务部的同事为我解惑。


单据如何发布到其他应用,请查看其他文档

官方知识:

https://vip.kingdee.com/article/232909790409007616?productLineId=29

文章:

https://vip.kingdee.com/article/119368209119131904?productLineId=29


现象

如下所示,把“纺织物”单据发布到 “xjq工作应用”应用

image.png


在直接授权里面,授权给当前用户权限。

image.png


用移动端打开这个单据页面,会出现没有权限的提示。

image.png

而从pc端进入这个单据,是正常的(pc端和移动端的页面不一样)

image.png


分析原因

pc端的页面,都是统一从应用首页开始进入的,而应用首页会默认把当前应用的信息保存到ShowParameter的AppId里面。

移动端没有应用首页,需要开发者自己去做首页的开发,

并且,移动端的页面,有些还是不需要经过首页,用代码去做跳转访问的,这就导致了移动端没有当前应用的信息,使得校验应用的权限失败。


解决方法

如果各位ISV伙伴的项目里面,以移动端为主,建议添加一个统一入口作为应用首页,然后在首页当中设置当前应用的应用编码,这样,应用信息也会随之后续打开的子页面向下传递,后续子页面也能根据应用信息去校验权限,也就不会有页面提示没有权限的问题了。

或者,如果当前页面是独立的,也需要在初始化时,设置一个应用编码,这样就能正常使用移动端页面了。

以下是我个人验证这个解决方法的截图:

新建一个应用首页的移动页面,按钮添加跳转操作

image.png

image.png


应用首页添加插件代码:

image.png

代码如下

package kd.ecos.demo;

import kd.bos.form.plugin.AbstractMobFormPlugin;

import java.util.EventObject;

public class DemoSetAppIdMobPlugin extends AbstractMobFormPlugin {

    @Override
    public void initialize() {
        super.initialize();
        // 设置应用编码,或者应用的内码id也能生效
        getView().getFormShowParameter().setAppId("kdec_test1");
    }

}


效果

成功打开单据的移动页面,不在提示没有权限

image.png


图标赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!