灵当CRM

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

自定义表单21到25,单据分录带源单类型的模块如何增加可选源单类型?例如:增加客户

[复制链接]

1660

主题

1709

帖子

5万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
59038
 楼主| 发表于 2019-9-25 11:39:41 | 显示全部楼层 |阅读模式
问题:单据分录带源单类型的模块如何增加可选源单类型?

操作方法

-- 存储过程
DROP PROCEDURE IF EXISTS `ldcrm_add_selectbill_bymodule`;
delimiter ||
CREATE PROCEDURE `ldcrm_add_selectbill_bymodule`(
        tmp_curmodule VARCHAR(100),
        tmp_selmodule VARCHAR(100)
)
BEGIN
        
        SET @cur_tabid=(SELECT tabid FROM ld_tab WHERE `name`=tmp_curmodule LIMIT 1);
        SET @sel_tabid=(SELECT tabid FROM ld_tab WHERE `name`=tmp_selmodule LIMIT 1);
        SET @maxseq=(SELECT MAX(sequence) FROM ld_option_module WHERE tabid=@cur_tabid);
        SET @table_sequence=(SELECT tabsequence FROM ld_tab WHERE `name`=tmp_curmodule LIMIT 1);


        IF EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='ld_option_module' AND COLUMN_NAME='maxrowsshow') THEN
                SET @insert_sql=CONCAT("INSERT INTO ld_option_module(tabid,option_tabid,presence,`default`,approve_demand,sequence,table_sequence,datarang,maxrowsshow)
                SELECT ",@cur_tabid,",",@sel_tabid,",",0,",",0,",",0,",",@maxseq+1,",",@table_sequence,",'all',5  
                FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM ld_option_module WHERE tabid=",@cur_tabid," AND option_tabid=",@sel_tabid,")");
        ELSE
                SET @insert_sql=CONCAT("INSERT INTO ld_option_module(tabid,option_tabid,presence,`default`,approve_demand,sequence,table_sequence)
                SELECT ",@cur_tabid,",",@sel_tabid,",",0,",",0,",",0,",",@maxseq+1,",",@table_sequence,"
                FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM ld_option_module WHERE tabid=",@cur_tabid," AND option_tabid=",@sel_tabid,")");
        END IF;


                PREPARE mystmt FROM @insert_sql;
                EXECUTE mystmt;
                DEALLOCATE PREPARE mystmt;


end ||
delimiter;




-- 存储过程调用方法:
-- 第1个参数“当前模块”,第2个参数“要增加的源单类型选项对应模块”(脚本执行后需要清除缓存),
例如:费用报销 源单类型 增加选择 自定义表单01

CALL ldcrm_add_selectbill_bymodule('Expense','CustomForm01');



例如:自定义表单21到25 源单类型 增加选择 客户
CALL ldcrm_add_selectbill_bymodule('CustomForm21','Accounts');


业务场景:一次出差或者接待,针对多家客户进行。










单据分录模块增加可选源单类型存储过程及用法.sql

1.77 KB, 下载次数: 487

回复

使用道具 举报

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

本版积分规则

灵当CRM

GMT+8, 2024-3-28 20:35 , Processed in 0.051828 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2008-2022, Tencent Cloud.

沪ICP备08110973号-2

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