kd.bos.entity.datamodel

## 接口 IBillModel

- 所有超级接口:
    IDataModel, IDataProvider, IEntryOperate, kd.bos.dataentity.entity.ISupportInitialize
  所有已知子接口:
    IBaseModel

      public interface IBillModel
      extends IDataModel

- - ### 方法概要

    所有方法 实例方法 抽象方法 默认方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.lang.Object` | `getPKValue()` 获取当前单据主键
    `default boolean` | `isFromImport()`
    `default boolean` | `isFromWebApi()`
    `void` | `load(java.lang.Object pk)` 加载单据
    `void` | `load(java.lang.Object pk, java.util.function.Supplier<OperationResult> initializer)` 加载单据后调用初始化方法（一般webapi用来覆盖更新数据包）
    `void` | `push(java.lang.Object newObject)` 下推
    `void` | `setPKValue(java.lang.Object value)` 设置当前单据的主键
    `default void` | `syncDataFromDB(java.util.Collection<java.lang.String> fieldKeys)` 从数据库加载指定字段值，更新到模型中：操作结束后，只需要刷新部分字段值

    - ### 从接口继承的方法 kd.bos.entity.datamodel.IDataModel

      `addDataModelChangeListener, addDataModelListener, addService, batchInsertEntryRow, batchInsertEntryRow, cacheExpireAfter, clearDirty, clearDirty, clearNoDataRow, createNewData, createNewData, createNewData, createNewData, forceClearNoDataRow, getChangeDesc, getCompanyfromOrg, getContextVariable, getCurrUserSetting, getDataChanged, getDataEntity, getDataEntity, getDataEntityType, getDirty, getEntryCurrentFieldKey, getOrgbyYzjorgId, getProperty, getService, getTimeService, getValue, getValue, putContextVariable, removeContextVariable, setDataChanged, setItemValueByID, setItemValueByID, setItemValueByID, setItemValueByID, setItemValueByID, setItemValueByID, setItemValueByNumber, setItemValueByNumber, setItemValueByNumber, setItemValueByNumber, setItemValueByNumber, setItemValueByNumber, setItemValueByNumbers, setValue, setValue, setValue, setValue, updateCache`

    - ### 从接口继承的方法 kd.bos.dataentity.entity.ISupportInitialize

      `beginInit, endInit, isInitialized`

    - ### 从接口继承的方法 kd.bos.entity.datamodel.IEntryOperate

      `appendEntryRow, batchCreateNewEntryRow, batchCreateNewEntryRow, copyEntryRow, createNewEntryRow, createNewEntryRow, createNewEntryRow, deleteEntryData, deleteEntryRow, deleteEntryRows, getEntryCurrentRowIndex, getEntryEntity, getEntryEntity, getEntryNextRowCount, getEntryNextRows, getEntryRowCount, getEntryRowEntity, insertEntryRow, moveEntryRowDown, moveEntryRowsDown, moveEntryRowsUp, moveEntryRowUp, setEntryCurrentRowIndex`

    - ### 从接口继承的方法 kd.bos.entity.datamodel.IDataProvider

      `loadReferenceData, loadReferenceDataBatch`

- - ### 方法详细资料

    - #### getPKValue

          java.lang.Object getPKValue()

      获取当前单据主键
      返回:
        返回当前单据主键

    - #### setPKValue

          void setPKValue(java.lang.Object value)

      设置当前单据的主键
      参数:
        `value` - 主键值

    - #### load

          void load(java.lang.Object pk,
                    java.util.function.Supplier<OperationResult> initializer)

      加载单据后调用初始化方法（一般webapi用来覆盖更新数据包）
      参数:
        `pk` - 主键值

    - #### load

          void load(java.lang.Object pk)

      加载单据
      参数:
        `pk` - 主键值

    - #### push

          void push(java.lang.Object newObject)

      下推
      参数:
        `newObject` - 下推生成的单据

    - #### syncDataFromDB

          default void syncDataFromDB(java.util.Collection<java.lang.String> fieldKeys)

      从数据库加载指定字段值，更新到模型中：操作结束后，只需要刷新部分字段值
      参数:
        `fieldKeys` -

    - #### isFromWebApi

          default boolean isFromWebApi()

    - #### isFromImport

          default boolean isFromImport()