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

如果想统计二开单据的预计出/入,需要二开插件来完成!具体步骤如下:
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();
继承该抽象基类时,需要在构造函数中指定,ExpectType和BillName。其中ExpectType用于指定该单据是统计预计出还是预计入,分别对应OUT和IN(大写);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 --参考要货日期
其中FTYPE和FBILLNAME,与定义的ExpectType和FBillName属性保持一致即可(大小写敏感)。若对应列为空,则按对应列字段类型,给予默认值即可。
注意所有数量字段,需要按基本单位查询!!!
3. 举例说明(其他出库单,统计预计出)
namespace Kingdee.K3.SCM.Business.DynamicForm.ExpectQty
{
[Description("其他出库单预计出统计插件")]
public class MisdilveryExpectQtyPlugIn : AbstractExpectQtyPlugIn
{
public MisdilveryExpectQtyPlugIn()
: base("OUT", "STK_MisDelivery")
{ 其他单据参与【预计量统计】
如果想统计二开单据的预计出/入,需要二开插件来完成!具体步骤如下:1. 继承抽象基类:AbstractExpectQtyPlugin该抽象基类位于Kingdee.K3...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



