
# 一、业务背景
客户为了提高录单的效率,希望在单据的分录上能够直接选择上游“发货通知单”的单据编号,(这里以发货通知单为例),并且不需要上下游的关联关系,单纯的记录“发货通知单号”即可。
# 二、实现步骤
**注意:BOS不会自动创建视图,所以需要自己手动数据库新建对应的视图**
1.数据库中新建视图,以 SQL server数据库为例:
SqlServer数据库中,新建“发货通知单视图”;其他类型的数据库,写法也差不多。
~~~sql
if(exists (select * from sys.objects where name='V_T_SAL_DELIVERYNOTICE'))
drop view V_T_SAL_DELIVERYNOTICE
go
create view V_T_SAL_DELIVERYNOTICE as
(
select
FID as FID,
FBILLNO as FNumber,--单据编号
FSaleOrgId as FSaleOrgId --销售组织
from T_SAL_DELIVERYNOTICE
where FDocumentStatus='C' and FCLOSESTATUS='A' and FCancelStatus='A'
--条件过滤 “已审核、未关闭、未作废” 数据
)
~~~
2.BOS中的操作:
1)新增空白对象基础资料【可以按需求选择模板,模板预置的“名称”字段是多语言的字段,还需要多新建一个带 _L 的视图】

2)修改表单属性,“代码字段”和“名称字段”需要填写,不然 在其他单据关联该基础资料类型时,“关联检索字段”和“关联基础资料字段名”将会显示为空。

3)修改单据头属性,将表名修改为视图名【V_T_SAL_DELIVERYNOTICE】

4)添加需要的字段,字段名称需要和视图的字段别名相同,不然会报“字段无效”的错误


3.单据上新增基础资料类型字段,关联该基础资料类型,组织过滤条件: FSaleOrgId = 'GetValue(FOrgId)'

4.效果:
