金蝶云星空企业版二开-直接sql账表

创建直接sql账表

使用有权限的账号登录BOS平台,在对应环境下新建直接SQL账表

输入直接SQL账表名称

输入直接SQL账表唯一标识

点击确定创建直接SQL账表

直接SQL账表示例

复制代码
要  点:
1、不可以对物理表进行修改、删除操作
2、不可以对数据库进行修改、删除操作
3、数据的暂时存储使用临时表
4、必须有一个要返回的查询语句
5、关键字只能做为查询条件


下述示例只做为参考使用
示例一:查询库存状态
SELECT t0.FTYPE          AS 类型,
       t0_L.FDESCRIPTION AS 描述,
       t0_L.FNAME        AS 名称,
       t0.FAUDITDATE     AS 审核日期
  FROM t_BD_StockStatus t0
  LEFT JOIN t_BD_StockStatus_L t0_L
    ON t0.FSTOCKSTATUSID = t0_L.FSTOCKSTATUSID
   AND t0_L.FLocaleId = 2052
WHERE t0_L.FLocaleId = 2052
AND   t0.FTYPE<>41 
--AND   t3.FAUDITDATE>='********'
--AND   t3.FAUDITDATE<='########'

示例二:汇总表
SELECT
 TSE.FKEEPERTYPEID,
 TSE.FKEEPERID,
 SUM(CASE
       WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN
        TSE.FBASEQTY
       ELSE
        (0 - TSE.FBASEQTY)
     END) AS 期初基本单位数量,
 SUM(CASE
       WHEN UPPER(TSE.FCONVERTTYPE) = 'C' THEN
        TSE.FSECQTY
       ELSE
        (0 - TSE.FSECQTY)
     END) AS 期初辅助单位数量
  FROM T_STK_LOTADJUST TS
 INNER JOIN T_STK_LOTADJUSTENTRY TSE
    ON TSE.FID = TS.FID
WHERE TS.FID > 10000
--AND TS.FDATE >='********'
--AND TS.FDATE <='########'

GROUP BY  TSE.FKEEPERTYPEID, TSE.FKEEPERID

示例三:调用Sqlserver存储过程

exec p_test #p1#

    其中:
    #p1#为参数关键字
    p_test定义如下:
    CREATE PROCEDURE p_test
	    @p1 int
    AS
	    Select FID, FLocaleID, FName 
        from T_BD_TIMEZONES_L 
        where FID >@p1
    GO
    注:需要勾选"存储过程"选项
示例四:调用Oracle存储过程

exec p_test #p1#

    其中:
    #p1#为参数关键字
    p_test定义如下(注:需要最后一个参数为游标cur OUT SYS_REFCURSOR):
    CREATE OR REPLACE PROCEDURE 
    p_test(p1 IN number, cur OUT SYS_REFCURSOR) as
    BEGIN
      open cur for
        Select FID, FLocaleID, FName 
        from T_BD_TIMEZONES_L 
        where FID > p1;
      return;
    END p_test;
    注:需要勾选"存储过程"选项

编写数据源

点击数据源

点击下一步

可以参考示例看看

编辑SQL语句

对于变量可以在关键字维护中进行新增变量

注意:可以在SQL语句中将字段命名为中文,显示的时候账表便可以显示为中文,便可跳过编辑字段名称步骤

编辑字段名称

账表可以在名称里编辑中文名称,账表显示为中文

发布直接SQL账表

点击发布->选择发布到主控台

选择需要添加的位置进行新增

编辑编码、名称和选择业务对象

勾选可见范围:桌面端可见,还是浏览器端可见还是两种都可见

单据体新增删除行

直接SQL账表单据体新增删除行操作

签入并打开需要添加删除行按钮的直接SQL账表

打开单据体中的菜单集合中

在菜单集右键新增工具条,再次右键新增按钮

新增表单插件

编辑插件代码

复制代码
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Report.PlugIn;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using Kingdee.BOS.Web.Report.SQLReport;
using System.ComponentModel;

namespace xxxxxxProject
{
    [Description("临工标准采购订单删除行按钮插件"), HotUpdate]
    public class DelxxxxxxBtnPlugIn : AbstractSysReportPlugIn
    {
        public override void EntryBarItemClick(BarItemClickEventArgs e)
        {
            base.EntryBarItemClick(e);
            if (e.BarItemKey.Equals("QQHU_tbDelxxxxxx")) {
                var view = this.View as SQLReportView;
                if (view==null) {
                    return;
                }
                var selData = view.SelectedDataRows;
                if (selData == null || selData.Length == 0) return;
                string ids = "(";
                for (int i = 0; i < selData.Length; i++)
                {
                    var row = selData[i];
                    string id = row["内码"].ToString();
                    ids +="'" +id +"'"+ ",";
                }
                ids = ids.Substring(0, ids.Length - 1);
                ids += ")";
                string SQLStr = string.Format(@"delete  from table_xxxxxx  where id in {0}", ids);
                DBServiceHelper.ExecuteDynamicObject(this.Context, SQLStr);
            }
        }
    }
}

注意:编写好的插件需要需要重新生成项目文件放到部署项目Website/bin目录下

在直接SQL账表中注册插件

点击表单插件
点击注册
选择部署的文件,选择相应的插件

总结

在本文中我们创建了直接SQL账表,然后对创建的直接SQL账表进行数据源的编辑,并对创建的直接SQL账表进行发布,并在直接SQL账表中添加了单据体按钮,实现按钮删除行的操作。

相关推荐
tryCbest11 天前
第二篇:金蝶云星空企业版表单插件开发——高级应用与实战技巧
二开·金蝶云星空
星空1 个月前
sql查询修改
sql·金蝶
Lalolander2 个月前
金蝶上线要多久?企业项目周期参考与管控方法
金蝶·erp·企业管理·财务软件
你可以永远相信功夫熊猫3 个月前
制造业存货核算深度解析
金蝶·erp
蜗牛~turbo4 个月前
金蝶云星空的网络控制设置
开发语言·c#·金蝶·erp·云星空·k3 cloud
金蝶LOG5 个月前
【金蝶云星空】出纳做账-应收票据背书退回
金蝶·erp·进销存系统·金蝶云星空
蜗牛~turbo5 个月前
金蝶云星空 二开得到来源单单据体2数据包
windows·c#·金蝶·dynamicobject
金蝶LOG7 个月前
【金蝶云星空】如何新增组织机构(新公司)
金蝶·erp·进销存系统·金蝶云星空
后青春期的诗go8 个月前
泛微OA-E9与第三方系统集成开发企业级实战记录(八)
java·接口·金蝶·泛微·oa·集成开发·对接