用户手册
帮助中心/用户手册/接 SAP Business One:拉订单和客户进来,查库存

接 SAP Business One:拉订单和客户进来,查库存

最后更新 2026-11-01

填入不带 /b1s/v2 后缀的 Service Layer 地址、CompanyDB 以及 B1 用户名和密码,测试、配 Mapping、激活——订单和客户流进来,库存也能查。

SAP Business One 连接器用会话登录的方式登入您的 B1 Service Layer,把订单和客户拉进系统,还能查 SAP Business One 里的库存。库存暂时还不能从这边推回 SAP Business One,所以这个连接用来把订单和客户拉进来、查库存。一个连接对应一个 CompanyDB。

SAP Business One 接入步骤:先备好地址和 B1 用户,再填入、测试、配 Mapping、激活。

前置条件#

  • 一套 Service Layer 可用的 SAP Business One 系统,且您知道它的地址,例如 https://b1server:50000。
  • 您要连接的公司数据库的确切名称,即 CompanyDB,例如 SBODemoUS。
  • 该 CompanyDB 里的一个 B1 用户,带有 API 访问权限,以及它的密码。
  • 没有单独要去申请的开发者密钥:凭证就是这个 B1 用户账号本身。

拿凭证#

  1. 向您的 SAP Business One 管理员拿到 Service Layer 地址。形态如 https://b1server:50000,只到主机和端口。不要带 /b1s/v2 后缀:系统调用 Service Layer 时会自己拼上这一段。
  2. 向同一位管理员确认 CompanyDB:它是 Service Layer 的 Login 里用的公司数据库名,例如 SBODemoUS。
  3. 拿到该 CompanyDB 的 B1 用户名和密码,例如用户 manager。该用户必须有 API 访问权限,否则登录和后续读取都走不通。
地址后缀是最常见的填错:把已经带 /b1s/v2 的完整地址粘进来,系统会再拼一次,调用就会走到错误的路径。地址只填到主机和端口为止。

填进 Integration#

  1. 打开 Integration → 连接器市场 → SAP Business One → 新建连接。
  2. base_url——必填,Service Layer 地址:粘贴 Service Layer 地址,例如 https://b1server:50000。填在 base_url 字段,只填到主机和端口,不带 /b1s/v2 后缀。
  3. company_db——必填,CompanyDB:填入公司数据库名,例如 SBODemoUS。填在 company_db 字段,按管理员给您的原样填写。
  4. username——必填,Username:填入该 CompanyDB 的 B1 用户名,例如 manager。填在 username 字段。
  5. password——必填,Password:填入该 B1 用户的密码。填在 password 字段;这是密码字段,输入内容会被掩码显示,之后也不会在表单里回显。

测试连接#

点测试连接。测试先在本侧查四个字段:company_db 为空会返回 MISSING_CONFIG,username 或 password 为空会返回 MISSING_CREDENTIALS。然后它做一次真实登录:把 CompanyDB、UserName、Password 发到 Service Layer 的 Login,取回复里的 SessionId;再带着这个会话读一次订单——Orders、$top=1、$select=DocEntry——证明不只是能登录、单据也能读到。

这是会话登录,没有需要您手动续期的令牌。后续读取如果被回复 401,系统会自己再登录一次再试。测试 12 秒超时就结束,所以超时通常表示 Service Layer 地址连不上或没有及时回复——先核对地址,再重新测试。

配 Mapping / 选模板#

选 SAP Business One 的拉单模板,让每张 B1 订单都落成标准订单。激活前,先用一张真实订单打开预览,核对单据、行和数量与 SAP Business One 里的一致。从 B1 拉来的客户记录和库存查询都按 SAP Business One 的原值使用,所以请让 B1 里的名称和编码与您这边用的产品保持一致。

SAP Business One 往返:先会话登录,再拉订单和客户进来,库存按需查。

激活#

激活后,Integration 按您设的频率从 SAP Business One 拉新订单和客户,SAP Business One 里的库存也能从这边查。库存暂时还不能从这边推回 SAP Business One,如需回写库存,请在 SAP Business One 里另作一步处理。先在 运行监控 / 日志里盯几张拉进来的订单,确认无误再放手跑。

常见问题#

测试报 401(INVALID_CREDENTIALS)

Service Layer 对 Login 回了 401,意思是 CompanyDB、用户名或密码无效:三者里至少有一个与 SAP Business One 中该数据库的记录对不上。

逐项核对三个值:确认 company_db 是管理员给您的确切 CompanyDB,username 和 password 属于同一个 CompanyDB,然后重新输入密码再测试。

测试返回 MISSING_CONFIG 或 MISSING_CREDENTIALS

有必填字段是空的,测试还没开始登录就停了。MISSING_CONFIG 表示 company_db 为空,MISSING_CREDENTIALS 表示 username 或 password 为空。

把四个必填字段——base_url、company_db、username、password——全部填好,保存连接,再重新测试。

地址带 /b1s/v2 后缀时登录失败

您粘进来的 base_url 是带 /b1s/v2 的完整 Service Layer 地址。系统会自己拼这一段,字段里再带一段,地址就会出现两次,Login 调用走到了错误的路径。

把 base_url 改短到只有主机和端口,例如 https://b1server:50000,保存后重新测试。

测试失败且没有返回会话(AUTH_FAILED)

Login 调用返回时没有带 SessionId,所以 B1SESSION 会话没有建起来,登录后面要做的订单读取也就跑不了。卡住的是登录这一步本身。

先核对 base_url 是 Service Layer 的根地址,只到主机和端口、没有多余路径。然后请 SAP Business One 管理员确认 Service Layer 能对该 CompanyDB 和该用户响应 Login,确认后重新测试。