SuiteCRM负责人字段值不显示问题:
我将在SuiteCRM列表视图中显示“分配给”字段的值。我在Admin-> studio->account-> Layouts-> List上进行配置查看字段并部署了新的布局。当我浏览此列表时,“负责人”列可见,但没有值。
但是偶尔它又会显示出来,如下图:
如果像这样一会显示一会不显示,查看员工的录入情况会很不方便,只能放着等它自己再显示出来,比较被动。所以尝试了n种解决方法,也没有报错信息。
官方论坛解决思路:
最后SuiteCRM官方论坛给了一些提示:
我们带着官方给的思路来思考一下:官方说如果负责人字段显示的是“assigned_user_name_id”这个的话,因为是一连串的数字,所以SuiteCRM就很可能把它隐藏掉,不显示出来。但是我们反复确认我们负责人字段就是“ assigned_user_name ”。所以很郁闷。
但是我们又去查看了一下用户,发现名称中有很多公司名称(特点:很长而且是中文,那么在SuiteCRM这套国外软件中可能会把它转换成一条很长的字符串在数据库中保存)
再去查一个地方,就是在系统后台有没有把负责人设置成“显示名称”,还是“显示用户名”。(注意下图报错之前是勾选了“ 负责人字段显示全名 ”)
原因:
从上面查找原因来判断,很可能是系统设置中勾选“ 负责人字段显示全名 ”+用户名称包含很长的中文,这两者导致负责人字段不显示的。
解决方案:
方法一:取消后台勾选的 “ 负责人字段显示全名 ” ,但是同时注意用户名不要包含中文。
方法二:全称用英文,尽可能短。
上面的方案可能不一定解决您的问题,通过SuiteCRM官方社区及Google的一些材料整理,影响字段不显示的原因,很有可能是服务器和产品本身两者结合的原因。
因为有尝试做了一次数据备份,把软件迁移到另一台服务器,问题解决。
但是如果没有办法迁移服务器的情况下,可以尝试下面的解决方案,列表视图可能一样不能显示数据,但是详细视图测试可以正常显示数据了!
解决方案( 补充 20210308)
首先找到文件: include/EditView/EditView2.php
把572行的代码修改一下:
原代码:
if (!empty($this->focus->assigned_user_id)) {
$this->focus->assigned_user_name = get_assigned_user_name($this->focus->assigned_user_id);
}
修改后代码:
if (!empty($this->focus->assigned_user_id) && empty($this->focus->assigned_user_name)) {
$this->focus->assigned_user_name = get_assigned_user_name($this->focus->assigned_user_id);
}
然后做一下阿帕奇和PHP的重启即可。
参考链接:https://community.suitecrm.com/t/assigned-user-name-is-blank/47819/7