灵当CRM

 找回密码
 立即注册
查看: 3863|回复: 0

模块增加多选单据的字段方法说明

[复制链接]

1661

主题

1710

帖子

5万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
59628
 楼主| 发表于 2020-3-9 18:16:35 | 显示全部楼层 |阅读模式
问题:模块如何增加多选单据的字段?




添加方法:


示例说明:以模块“自定义表单2”增加多选“自定义表单1”为例
1. Navicat for mysql 中执行下面的存储过程脚本,该存储过程脚本用于根据参数将字段修改为多选单据的字段。

DROP PROCEDURE IF EXISTS `reset_fieldtoselectmore`;
delimiter ||
CREATE  PROCEDURE `reset_fieldtoselectmore`(
        tmp_fieldid INT(19),
        tmp_selectmodule VARCHAR(100)
)
BEGIN


        UPDATE ld_field SET uitype=125 WHERE fieldid=tmp_fieldid;

        SET @my_fieldname=(SELECT fieldname FROM ld_field WHERE fieldid=tmp_fieldid ORDER BY fieldid DESC LIMIT 1);
        SET @my_tabid=(SELECT tabid FROM ld_field WHERE fieldid=tmp_fieldid ORDER BY fieldid DESC LIMIT 1);
        SET @my_module=(SELECT `name` FROM ld_tab WHERE tabid=@my_tabid LIMIT 1);

        IF IFNULL(@my_fieldname,'')<>'' THEN
                IF NOT EXISTS (SELECT 1 FROM ld_shareequally WHERE fieldname=@my_fieldname AND module=@my_module) THEN
                        SET @my_default=1;
                        SET @my_sequence=1;
                ELSE
                        SET @my_default=0;
                        SET @my_sequence=(SELECT MAX(sequence)+1 FROM ld_shareequall WHERE fieldname=@my_fieldname AND module=@my_module);
                END IF;

                INSERT INTO ld_shareequally(fieldname,module,entitytype,`default`,presence,sequence)
                SELECT @my_fieldname,@my_module,tmp_selectmodule,@my_default,0,@my_sequence FROM DUAL
                WHERE NOT EXISTS (SELECT 1 FROM ld_shareequally WHERE fieldname=@my_fieldname AND module=@my_module AND entitytype=tmp_selectmodule);
        END IF;
       
end ||
delimiter;

1.png

2. “自定义表单2”页面设置中增加“文本区域”类型的字段
2.png

3.Navicat for mysql 中执行下面的语句查出新增字段的 fieldid
SELECT * FROM ld_field ORDER BY fieldid DESC LIMIT 10
3.png

4. Navicat for mysql 中继续执行下面的语句将字段改造为多选单据字段
CALL reset_fieldtoselectmore(2615,'CustomForm01');
4.png

说明:其中参数 2615 是新增字段的IDCustomForm01 是备选模块的模块名称,可在相应单据列表界面通过浏览器地址栏查看
5.png

5. 最后“清除缓存”之后即可在
6.png

7.png

8.png

6. 如果是V7.9.9.11版本,请打附件所示的补丁修正多选字段在查看详情界面显示样式


多选单据字段显示样式补丁.rar

15.12 KB, 下载次数: 405

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

灵当CRM

GMT+8, 2024-4-19 11:25 , Processed in 0.058059 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2008-2022, Tencent Cloud.

沪ICP备08110973号-2

快速回复 返回顶部 返回列表