**基础资料字段**

 

基础资料就是选择对应的基础资料数据的用的，F7是基础选择弹出的快捷键，标准的基础资料是只有单据头的数据，如果存在单据体，那么这个不是基础资料，此设计不合理，需要基础资料引用基础资料的方式

 

**基础资料的属性**

![](image\1.png)

 

1. 基础资料类型：绑定的基础资料实体标识

2. 使用组织：受基础资料策略控制的组织权限设置，如果没有设置，但是单据上设置了主业务组织，那么主业务组织将会作为使用组织使用

3. 编辑显示属性：基础资料获得焦点后根据此设置显示内容

4. 显示属性：基础资料根据此设置显示内容

5. 引用属性：后台实体引用的属性，用于获取数据和后台赋值

6. 过滤条件：给选择内容设置过滤

7. 是否只显示启用：是否只显示使用状态为“已启用”的数据，默认为开启

8. 显示风格：下拉或输入

9. 列表布局：显示使用的布局模板

10. 查看详情：设置后可以点击图标查看基础资料明细数据

11. 支持模糊查询：是否支持输入查询内容搜索

12. 启用我的常用：启用后可以看到最近输入的搜索内容

 

**填充规则**

1. 基础资料在单据头单个填值

2. 多选基础资料在单据头批量填值

3. 基础资料单据体默认单个填值，如果想批量填值，请打开下面的开关

 

![](image\2.png)

 

![](image\3.png)

 

**基础资料关联过滤查询配置**

![](image\4.png)

 

**列表基础资料和单据基础资料选择的区别**

1. 列表基础资料不支持模糊查询、使用组织设置、查看详情等

2. 单据上的过滤设置对列表无效

3. 列表的基础资料插件编写方式和单据上有本质区别，具体查看列表插件说明

 

**插件事件列表**

 

| 事件名称                       | 说明                                                         |
| ------------------------------ | ------------------------------------------------------------ |
| addBeforeF7SelectListener      | 查询过滤前触发的事件，用于设置改变查询数据的过滤条件和排序规则，或者传递自定义参数等，见下面的示例 |
| addAfterF7SelectListener       | 用于F7返回后批量填充数据干预                                 |
| addBeforeF7ViewDetailListener  | 用于取消查看详情并自定义实现自己的查询详情内容               |
| addBasedataFuzzySearchListener | 用于实现模糊查询时自定义取数                                 |

 

**ListShowParameter****（未列出方法为还未实现的方法）**

 

| 事件名称               | 说明                                       |
| ---------------------- | ------------------------------------------ |
| setSelectedRow         | 设置选中行（单选,传PKID）                  |
| setSelectedRows        | 设置选中行（多选,传PKID）                  |
| getListFilterParameter | 获取过滤条件参数变量（可以设置过滤，排序） |
| setListFilterParameter | 获取过滤条件参数变量                       |
| getFilterSchemeId      | 获取选中方案id                             |
| setFilterSchemeId      | 设置选中方案id                             |
| isIsolationOrg         | 是否隔离组织                               |
| setIsolationOrg        | 设置是否隔离组织                           |
| isShowUsed             | 是否只显示“已启用”数据                     |
| setShowUsed            | 设置是否只显示“已启用”数据                 |
| isShowApproved         | 是否显示“已审核”数据                       |
| setShowApproved        | 设置是否只显示“已审核”数据                 |
| isLookUp               | 是否为选择数据模式                         |
| setLookUp              | 设置是否为选择数据模式                     |
| isMultiSelect          | 是否多选                                   |
| setMultiSelect         | 设置是否为多选                             |
| getBillFormId          | 获取表单编号                               |
| setBillFormId          | 设置表单编号                               |

 

示例：beforeF7Select 

 

```java
@Override

​    **public** **void** registerListener(EventObject e) {

​       BasedataEdit basedataEdit = getControl("userfield1");

​       basedataEdit.addBeforeF7SelectListener(**new** BeforeF7SelectListener() {



​           @Override

​           **public** **void** beforeF7Select(BeforeF7SelectEvent evt) {

​               ListShowParameter listShowParameter = (ListShowParameter) evt.getFormShowParameter();

​                               listShowParameter.getListFilterParameter().getQFilters().add(new QFilter())

​           }

​       });

}
```

