电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

其他单据参与【预计量统计】

来源:金蝶云社区作者:金蝶2024-09-165

其他单据参与【预计量统计】

如果想统计二开单据的预计出/入,需要二开插件来完成!具体步骤如下:

1. 继承抽象基类:AbstractExpectQtyPlugin

该抽象基类位于Kingdee.K3.Core.ExpectQty命名空间下。主要定义了以下方法和属性:

protected AbstractExpectQtyPlugIn(string expectType, string billname)
{
    this.ExpectType = expectType;
    this.BillName = billname;
}

/// <summary>
/// 预计类型:OUT/IN
/// </summary>
public string ExpectType { get; set; }

/// <summary>
/// 单据标识
/// </summary>
public string BillName { get; set; }

/// <summary>
/// 上下文,使用属性注入
/// </summary>
public Context Context { get; set; }

/// <summary>
/// 预计量参数,使用属性注入
/// </summary>
public ExpectQtySystemParameter ExpectSystemParameter { get; set; }

/// <summary>
/// 获取当前单据的预计出/入设置
/// </summary>
public ExpectQtySystemParameter.ExpectQtyBillSetting CurrentExpectQtyBillSetting
{
  get
  {
  return this.ExpectSystemParameter.ExpectOutQtyBillSettings
  .Concat(this.ExpectSystemParameter.ExpectInQtyBillSettings)
  .FirstOrDefault(billSetting => billSetting.ExpectType.EqualsIgnoreCase(this.ExpectType) 
  && billSetting.Bill.EqualsIgnoreCase(this.BillName));
  }
}

/// <summary>
/// 提供预计量查询SQL
/// </summary>
/// <returns></returns>
protected abstract string PrepareExpectQtyQuerySql();

继承该抽象基类时,需要在构造函数中指定,ExpectTypeBillName。其中ExpectType用于指定该单据是统计预计出还是预计入,分别对应OUTIN(大写);BillName即单据标识(大小写敏感,和BOS IDE上定义的单据标识保持一致)。

2. 方法重载

按以上所述,根据预计类型ExpectType重载对应的方法。该方法的重载,主要是构造查询SQL,按照指定的表结构查询指定的列即可。需要查询以下列:

FTYPE VARCHAR(10) DEFAULT ' ',--统计类型【OUT\IN】
FBILLNAME VARCHAR(36) DEFAULT ' ',--单据标识(大小写敏感,必须与单据上定义的标识一致)
FTABLENAME VARCHAR(36) DEFAULT ' ',--所在表名(大小写敏感,必须与单据上定义的标识一致)
FBILLNO VARCHAR(36) DEFAULT ' ', --单据编号
FBILLTYPEID VARCHAR(36) DEFAULT '', --单据类型
FSRCBILLNO VARCHAR(36) DEFAULT ' ', --源单编号
FSOENTRYID INT DEFAULT 0, --原始订单分录
FDOCUMENTSTATUS CHAR(1) DEFAULT '0',--单据状态
FID INT DEFAULT 0,--单据内码
FENTRYID VARCHAR(36) DEFAULT 0, --分录内码
FBILLSEQ INT DEFAULT 0, --分录行号
FMASTERID INT DEFAULT 0,--物料编码(需要关联T_BD_MATERIAL,查询FMASTERID)
FBASEUNITID INT DEFAULT 0, --基本计量单位
FBASEQTY AS FSTOCKBASEQTY,--基本单位数量(库存单位)
FSTOCKORGID INT DEFAULT 0,--库存组织
FSTOCKID INT DEFAULT 0,--仓库
FSTOCKLOCID INT DEFAULT 0,--仓位
FAUXPROPID INT DEFAULT 0,--辅助属性
FMTONO VARCHAR(50) DEFAULT ' ',--计划跟踪号
FBOMID INT DEFAULT 0,--BOM版本
FLOT INT DEFAULT 0,--批号
FLOT_TEXT NVARCHAR(30) DEFAULT ' ',--批号文本
FPRODUCEDATE DATETIME DEFAULT '19910101',--生产日期
FEXPIRYDATE DATETIME DEFAULT '19910101',--过期日期
FSTOCKSTATUSID INT DEFAULT 0,--库存状态
FOWNERTYPEID VARCHAR(36) DEFAULT ' ',--货主类型
FOWNERID INT DEFAULT 0,--货主
FKEEPERTYPEID VARCHAR(36) DEFAULT ' ',--保管者类型
FKEEPERID INT DEFAULT 0,--保管者
'BD_Customer' AS FSUPPLYSOURCETYPE,--供应来源类型
--销售类订单是客户(BD_Customer),采购类订单是供应商(BD_Supplier),生产类订单是部门(BD_Department),其他的为空 FCUSTOMERID AS FSUPPLYSOURCEID,--供应来源 FDATE, --单据日期
FREFDELIVERYDATE --参考要货日期

其中FTYPEFBILLNAME,与定义的ExpectTypeFBillName属性保持一致即可(大小写敏感)。若对应列为空,则按对应列字段类型,给予默认值即可。

注意所有数量字段,需要按基本单位查询!!!

3. 举例说明(其他出库单,统计预计出)

namespace Kingdee.K3.SCM.Business.DynamicForm.ExpectQty
{
     [Description("其他出库单预计出统计插件")]
    public class MisdilveryExpectQtyPlugIn : AbstractExpectQtyPlugIn
    {
         public MisdilveryExpectQtyPlugIn()
             : base("OUT", "STK_MisDelivery")
         { 

其他单据参与【预计量统计】

如果想统计二开单据的预计出/入,需要二开插件来完成!具体步骤如下:1. 继承抽象基类:AbstractExpectQtyPlugin该抽象基类位于Kingdee.K3...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信