
@[TOC](目录)
## 背景
BOS设计器中有一个名为【获取采购价格】的预置服务,该服务是根据当前单据上的字段的维度(根据价格参数配置)匹配查询【采购价目表】价格,有很多客户在实际使用中会出现该服务取价**不成功**或者**不正确**的问题,无论是预置的采购单据上,还在在其他单据上新增这个服务遇到上述问题,一般都是**数据问题**造成的,具体表现为:==业务单据字段数据不正确、取价服务配置不正确、采购价目表字段数据不正确==。下面针对一些常见的可能引起取价异常的点进行介绍,供客户参考自助排查。

## 排查思路
### 1、202304版本之前——采购价目表录入了预置自定义字段,但是服务没配置自定义字段映射
202304版本之前,一旦采购价目表上预置自定义字段有数据,该服务就需要单据上有对应的字段与之匹配,如果取价服务没有配置自定义字段映射,就会导致取价时,永远是用一个空数据去跟价目表实际自定义字段做匹配,导致无法取到价格。202304版本之后已经做了调整,如果取价服务没有配置,就无需参考。==异常==情况示例:


### 2、采购价目表有维护需求组织,取价服务没有配置需求组织映射
需求组织实际是个必配置字段,由于取价服务未给该字段标星号,导致很多其他单据上新增该服务时漏配置,导致取不到价。==异常==情况示例:


如果采购价目表没有填需求组织字段,那就没这个问题
### 3、采购价目表表头有维护供应商字段,取价服务没有配置供应商映射
供应商实际是个必配置字段,由于取价服务未给该字段标星号,导致很多其他单据上新增该服务时漏配置,导致取不到价。==异常==情况示例:


如果采购价目表没有填供应商字段,那就没这个问题
### 4、个别物料或者个别价目表异常
个别物料和个别价目表异常,可先根据上述三步对号入座,如果没有,可用这个帖子的脚本**在采购订单上做个测试数据后**到数据库中进行查询,看下是否能查到数据,如果不能,==一步一步注释Where条件,定位到是哪个条件异常==。根据采购订单中的物料和供应商通过SQL查询当前价目表最新价格:[https://wenku.my7c.com/link/s/lHZ1v](https://wenku.my7c.com/link/s/lHZ1v)
**其他更多文章入口**:[https://wenku.my7c.com/link/s/lbRPP](https://wenku.my7c.com/link/s/lbRPP)