Dynamics 移动端调试小结

移动端会有很多PC端不存在的问题
例如getvalue,setvisible这种小问题,
还有js库引用的大问题,
还有字段获取不到值的恶心问题
下面记录一下我调试时候的心路历程和实践过程(多图预警)


Dynamics 移动端调试小结
PC端类似报错的情况就是你访问一条已删除的数据,或者是你没有权限的记录。
移动端,相关的权限也配置好了,但是就是报错。
其实这种情况,就是用户没有权限去访问该条记录,但是相关权限已经配置好,问题还是在于权限不够,不全。
问题可能的原因:
1.记录可能涉及到其他实体,而不具有相关权限
2.可能缺少业务管理下的团队权限(我们项目就是这个问题)
**说一下方法,可以排查,一点点去掉权限,或者一点点添加权限。
个人推荐先把权限全给测试用户,然后一点点去掉,权限变更时,移动端不需要重新下载配置,可以很快排查出来(可以一次去掉好多不可能的权限)**


Dynamics 移动端调试小结
PC端报错很友好,但是移动端报错就成了这样,点击下载日志,才能看到友好的提示,这个问题并没有查出根源所在,采取了最简单的办法,不用plugin报错,改成js报错,问题解决,但是这个问题没有从根本上解决,有可能是plugin代码有问题(ISV代码已中止操作),但是没有具体解决办法。


Dynamics 移动端调试小结
看到了react关键字,就知道和js脱离不了关系,果然在窗体下的js库里面删掉了一个js库的引用,问题解决(那个js库好像没有什么用)

这里是重点内容
我找错误的过程要删除一些东西,肯定要慎重,但是有办法为所欲为。
Dynamics 移动端调试小结
将当前窗体另存为,就可以随意操作了,还有一个小技巧,每次做出改动,移动端再打开有一些麻烦,窗体上有提供预览功能,可以看到移动端的效果(只适用于进入页面就报错的情况,预览是不能点击按钮和查看明细的)


Dynamics 移动端调试小结
这种错误,有的很好找,到js里面一找就找到,但是有的怎么也找不到,那就涉及到该窗体里面的其他字段和子网格。
我用的方法就是最无奈的也是最通用的方法,将窗体另存为,然后一个个删除,直到不报错为止,上面说的小技巧,全是在解决这个问题的时候发现的。


Dynamics 移动端调试小结
图片是移动端的日志,这个也不知道日志里面存了什么日志,找错误的时候想从里面寻找一些信息,但是里面太多,也不好找,就删除了,重新让它写日志,发现它不写了。。。贼尴尬,这个需要启用,进入移动端,配置url时候,下面那三个点,就是启用日志记录。
日志里面不知道记了什么,也没重现出来,这个留作交流,和日后补充,如果还有机会接触的话。


Dynamics 移动端调试小结
右上角的加号按钮,是个新建按钮,它是法外之地,通过ribbon和js控制不到它,没办法控制它的显示隐藏,后来问遇到过这个问题的人,她说hide button,就能隐藏,但是就永远不会显示了,这个方案肯定不行。
1.这个按钮在用户没有相应实体的创建权限的时候也不会显示,但是没有想到怎么去这样解决问题,因为显示隐藏的逻辑还有点复杂,再和创建权限混一起,那就爆炸了。
2.再有就是在插件里面阻止创建,这个插件我还不是特别了解,也不知道怎么去解决。
这个问题成了悬案了,欢迎交流。