
# 1.业务场景
## 1.1背景介绍
单据或基础资料使用了地址控件,地址信息存储在地址基础资料上。地址控件的使用,参考短视频:[国际化地址控件介绍](https://vip.kingdee.com/knowledge/specialDetail/226749837180928512?category=312600387305713664&id=312895837904680704&productLineId=29)。
## 1.2场景详细描述
例如:客户基础资料上使用了地址控件存储客户的地址,地址数据实际存储于地址基础资料,被客户基础资料引用。而用户使用excel表引入客户基础资料时,原始数据表格通常是地址信息(省、市、县、地址详情等)作为客户数据的若干个列。在引入这份excel数据时,需要同时创建客户和地址的基础资料,并建立二者的引用关系。
# 2.解决方案
本方案实现原理如下:
① 引入主数据和地址时,同时录入地址的属性,在引入时干预引入过程,根据录入的地址属性,动态生成地址基础资料,并填写到地址内码字段中,用于主数据保存和地址的引用关系。
② 引出主数据和地址时,对地址引出做干预处理,通过属性配置,可以选择引出时地址的基础资料属性引出的是编码或名称。
# 3.引入处理操作步骤
(1)地址控件“引用属性”处引用地址所有属性

(2)编写“引入数据”操作的业务插件并注册
在列表的“引入数据”操作中,注册干预引入的操作插件。此插件需要编写代码,参考如下,插件需要调用batchImportAddressHelper的saveCheck方法用于干预地址导入处理。

将此操作插件注册到“引入数据”操作中去

(3)配置引入模板属性
地址字段要必录,否则平台会报错,地址字段可以随意填写任意值,插件干预时会修改此值。选择地址“引出属性”,一般需要引出,国家或地区,地址格式,行政区划1,2,3级和其他需要填写的字段。

(4)填写模板内容并引入
配置好引入模版后,可以下载模版,如下图。就可以在引入模版中填写地址属性值。

填写注意事项如下:
① 默认地址属性都要填写编码、国家或地区、地址格式。
② 地址格式要和填写的属性字段相符,地址格式需要的字段要正确填写,多填或少填 都会导致引入失败。
③ 如果想要使用名称填写地址的基础资料属性字段,可以在列表的pageCache里添加配置this.getPageCache().put