## 类的使用
kd.bos.entity.BillEntityType

- 使用BillEntityType的程序包
  程序包 | 说明
  --- | ---
  kd.bos.entity |
  kd.bos.entity.botp.plugin |
  kd.bos.entity.botp.plugin.args |
  kd.bos.entity.botp.runtime |
  kd.bos.entity.plugin |

- - ### kd.bos.entity中BillEntityType的使用

    kd.bos.entity中BillEntityType的子类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `BasedataEntityType` 基础资料实体类型
    `class` | `QueryEntityType`
    `class` | `RefEntityType`

    参数类型为BillEntityType的kd.bos.entity中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static java.lang.String` | EntityTypeUtil.`getBilltypeId(BillEntityType entityType)`

  - ### kd.bos.entity.botp.plugin中BillEntityType的使用

    返回BillEntityType的kd.bos.entity.botp.plugin中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `default BillEntityType` | IConvertRuleSetPlugIn.`getSrcMainType()` 上游单据主实体
    `BillEntityType` | IConvertPlugIn.`getSrcMainType()`
    `BillEntityType` | AbstractConvertRuleSetPlugIn.`getSrcMainType()`
    `BillEntityType` | AbstractConvertPlugIn.`getSrcMainType()`
    `BillEntityType` | IWriteBackPlugIn.`getTargetSubMainType()` 下游目标单主实体，仅包含了需要的字段，与单据数据包一致
    `BillEntityType` | AbstractWriteBackPlugIn.`getTargetSubMainType()` 下游目标单主实体模型
    `default BillEntityType` | IConvertRuleSetPlugIn.`getTgtMainType()` 下游单据主实体
    `BillEntityType` | IConvertPlugIn.`getTgtMainType()`
    `BillEntityType` | AbstractConvertRuleSetPlugIn.`getTgtMainType()`
    `BillEntityType` | AbstractConvertPlugIn.`getTgtMainType()`

    参数类型为BillEntityType的kd.bos.entity.botp.plugin中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `default void` | IConvertRuleSetPlugIn.`setContext(BillEntityType srcMainType, BillEntityType tgtMainType)` 设置上下文
    `void` | ConvertRuleSetPlugInProxy.`setContext(BillEntityType srcMainType, BillEntityType tgtMainType)`
    `void` | AbstractConvertRuleSetPlugIn.`setContext(BillEntityType srcMainType, BillEntityType tgtMainType)`
    `void` | WriteBackPlugInProxy.`setContext(BillEntityType targetSubMainType, java.lang.String opType, LinkSetItemElement linkSetItem)`
    `void` | IWriteBackPlugIn.`setContext(BillEntityType targetSubMainType, java.lang.String opType, LinkSetItemElement linkSetItem)` 设置当前上下文
    `void` | AbstractWriteBackPlugIn.`setContext(BillEntityType targetSubMainType, java.lang.String opType, LinkSetItemElement linkSetItem)`
    `void` | IConvertPlugIn.`setContext(ConvertOpType opType, BillEntityType srcMainType, BillEntityType tgtMainType, ConvertRuleElement rule)` 开始执行转换规则之前，创建规则上挂的插件后，触发此事件
    `void` | ConvertPlugInProxy.`setContext(ConvertOpType opType, BillEntityType srcMainType, BillEntityType tgtMainType, ConvertRuleElement rule)`
    `void` | AbstractConvertPlugIn.`setContext(ConvertOpType opType, BillEntityType srcMainType, BillEntityType tgtMainType, ConvertRuleElement rule)`

  - ### kd.bos.entity.botp.plugin.args中BillEntityType的使用

    返回BillEntityType的kd.bos.entity.botp.plugin.args中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `BillEntityType` | PreparePropertysEventArgs.`getMainType()`
    `BillEntityType` | BeforeReadSourceBillEventArgs.`getSrcMainType()` 上游源单主实体，包含了完整字段
    `BillEntityType` | BeforeExcessCheckEventArgs.`getSrcSubMainType()` 上游源单主实体，仅包含需要用到的字段
    `BillEntityType` | AfterExcessCheckEventArgs.`getSrcSubMainType()` 上游源单主实体，仅包含需要用到的字段
    `BillEntityType` | AfterCommitAmountEventArgs.`getSrcSubMainType()` 上游源单主实体，仅包含需要用到的字段

    参数类型为BillEntityType的kd.bos.entity.botp.plugin.args中的构造器
    构造器和说明
    `AfterCommitAmountEventArgs(WriteBackRuleElement rule, WriteBackFormula ruleItem, BillEntityType srcSubMainType, EntityType srcEntity, kd.bos.dataentity.entity.DynamicObject srcActiveRow, java.lang.String srcFieldKey, java.math.BigDecimal currVal, java.math.BigDecimal realVal, java.lang.Object currCVal, EntityType targetEntity, kd.bos.dataentity.entity.DynamicObject targetActiveRow)`
    `AfterExcessCheckEventArgs(WriteBackRuleElement rule, BillEntityType srcSubMainType, EntityType srcEntity, kd.bos.dataentity.entity.DynamicObject srcActiveRow, EntityType targetEntity, kd.bos.dataentity.entity.DynamicObject targetActiveRow)`
    `BeforeExcessCheckEventArgs(WriteBackRuleElement rule, BillEntityType srcSubMainType, EntityType srcEntity, kd.bos.dataentity.entity.DynamicObject srcActiveRow, EntityType targetEntity, kd.bos.dataentity.entity.DynamicObject targetActiveRow)`
    `BeforeReadSourceBillEventArgs(BillEntityType srcMainType, java.util.List<WriteBackRuleElement> rules)`
    `PreparePropertysEventArgs(BillEntityType mainType, java.util.List<java.lang.String> fieldKeys)`

  - ### kd.bos.entity.botp.runtime中BillEntityType的使用

    返回BillEntityType的kd.bos.entity.botp.runtime中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `BillEntityType` | CRBizRuleContext.`getMainType()` 单据主实体
    `BillEntityType` | CRBizRuleAction.`getMainType()` 单据主实体
    `BillEntityType` | CRExpressionContext.`getSrcMainType()` 源单主实体
    `BillEntityType` | CRExpressionContext.`getTgtMainType()` 目标单主实体

    参数类型为BillEntityType的kd.bos.entity.botp.runtime中的构造器
    构造器和说明
    `CRBizRuleContext(BillEntityType mainType, ConvertRuleElement convertRule, CRBizRuleElement bizRule)` 构造函数：适用于单据转换场景
    `CRBizRuleContext(BillEntityType mainType, WriteBackRuleElement writebackRule, CRBizRuleElement bizRule)`
    `CRExpressionContext(BillEntityType srcMainType, BillEntityType tgtMainType, ConvertRuleElement rule)` 构造函数

  - ### kd.bos.entity.plugin中BillEntityType的使用

    返回BillEntityType的kd.bos.entity.plugin中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `default BillEntityType` | IImportPlugin.`getImportMainEntityType(java.lang.String billFormId)` 引入时用来生成自定义实体
    `default BillEntityType` | IImportPlugin.`getImportMainEntityType(java.lang.String billFormId, kd.bos.dataentity.entity.DynamicObject templateData)` 引出模板时用来生成自定义实体（根据模板数据过滤、调整实体结构）