
# 苍穹表单插件如何操作分录
## 表单插件给分录设置值
### 先上代码
```
/**
* 关联查询展示分录
*/
private void justShowEntryEntity() {
// 1.获取分录对象
DynamicObjectCollection entryEntity = this.getModel().getEntryEntity(FormConstant.MODE_ENTRY_ENTITY);
// 2.构建查询条件,反查出关联的业务对象集合
List<Long> backTaskIds = entryEntity.stream().map(entry -> {
return entry.getLong(FollowTaskConstant.ENTRY_BACK_TASK);
}).collect(Collectors.toList());
QFilter qf2 = new QFilter(PROPERTY_ID, QCP.in, backTaskIds);
DynamicObjectCollection backTasks = QueryServiceHelper.query(DeclarationTaskConstant.MODE_BACK_TASK,
"id,acceptorgid.name,acceptorgid.number,reportstatus,creator.username,reporttime", qf2.toArray());
// 3.如果业务对象不为空,再根据关联主键,将查出的值设置到相应的分录对象中
if (!CollectionUtils.isEmpty(backTasks)) {
entryEntity.stream().forEach(entry -> {
DynamicObject query = backTasks.stream().filter(backTask -> {
return entry.getLong(FollowTaskConstant.ENTRY_BACK_TASK) == backTask.getLong(PROPERTY_ID);
}).findFirst().get();
if (Objects.nonNull(query)) {
entry.set("acceptorgcode", query.get("acceptorgid.number"));
entry.set("acceptorgname", query.get("acceptorgid.name"));
entry.set("reportstatus", query.get("reportstatus"));
entry.set("reportperson", query.get("creator.username"));
entry.set("reporttime", query.get("reporttime"));
}
});
}
// 4.更新让分录显示(这步很重要,没有这步,上面操作都是没有效果的)
this.getView().updateView(FormConstant.MODE_ENTRY_ENTITY);
}
```
### 效果图

## 表单插件新增分录
### 上代码
```
/**
* 将选择的范围插入到分录中
*/
private void insertEntity(String spreadStr,Boolean isChanged) {
if (StringUtils.isNotBlank(spreadStr)) {
String[] split = spreadStr.split(FormConstant.SPLIT_CHAR_1);
int row = this.getModel().createNewEntryRow(