跳到主要内容

保存其他费用支出

其他费用支出存盘接口

基本信息

信息备注
接口名称其他费用支出保存根据单据 ID 来新增单据(包括修改)
请求状态POSTRESTful 方式
接口路径http://localhost:23798/api/Bill/SaveBill向服务器地址发送 POST 请求
远程模式http://www.linkerplus.com/api/ext_erp/Bill/SaveBill远程模式向服务器地址发送 POST 请求,需要 ERP 注册号注册远程模式,并在 Headers 添加 sn 参数
支持日期2026-08-24自该日期起支持

请求参数

Headers

参数名称是否必须参数值备注
Content-Typeapplication/json用于指定数据的传输类型
LoginIde835943e-55c2-4bf0-832d-6f4166592941用户登录的 LoginId,取用户登录或账套验证接口返回的 LoginId
snMGR_REST_1001远程模式需添加 sn 参数,MGR_REST_ERP注册号

Body

参数名称类型是否必须参数值备注其它信息
HeadDataobject必须表头数据
EntryOrderIdstringWMS00001调用方业务编码调用方唯一编码,关联 ERP 单据,且避免重复提交,当提交的 EntryOrderId 重复时返回提示。为空则没有该项检测
CallIdstringEP调用的单据识别号"EP":表示其他费用支出
CallNostring修改时必须EP20268200001调用的单据号码传入该值代表修改原单据信息,新增数据时无需添加
DepNostring0000部门代号
SalNostring010经办人代号
Remstring这是表头原因备注
UsrNostringADMIN制单人账套验证的 LoginId 需添加 UsrNo,用户登录的 LoginId 则无需添加 UsrNo
ExtendPropsobject"EP_DD":"2026-04-30",
"ZDY": "表头自定义"
表头扩展功能包括表头的其它字段以及用户自定义字段,字段名需与数据库表(MF_EXP)中的栏位名称一致
NotUseAuditFlowstringT/F跳过审核流程,自动审核。默认不跳过当传"T"时,该单据通过接口生成时,不考虑审核流程,直接自动终审
BodyDataarray必须表身数据item 类型: array
CallItmnumber修改时必须1原单项次HeadData 中 CallNo 存在并有值时才生效,传入该值代表修改原单据表身对应 PRE_ITM 列的信息,新增数据时无需添加
CusNostringCS0001付款对象代号
IdxNostringFYXM0001费用项目代号
TaxIdstring1税别
CurIdstring币别
DepNostringBM001部门代号
BatNostringPH001批号
EpTypestring1费用类型1 其他费用;2运费;默认1
ObjNostringXM001项目代号
ObjClassstring0002项目类别
SalNostringS001业务员代号
ExcRtonumber汇率
Rtonumber税率
Amtnumber金额
Remstring表身摘要
IsDeletestringF删除行CallItm 存在并有值时才生效,传入该值为 T 代表删除原单据表身对应 PRE_ITM 列,不删除行时无需添加
ExtendPropsobject"OBJ_NO":"项目代号0001",
"ZDY": "表身自定义"
表身扩展功能包括表身的其它字段以及用户自定义字段,字段名需与数据库表(TF_EXP)中的栏位名称一致

返回数据

参数名称类型参数值备注
EntryOrderIdstringWMS00001调用方业务编码
CallIDstringEP调用的单据识别号
CallNOstringEP20268200001生成的单据号码
CallOKstringT执行是否成功, 是:"T" 否:"F"
Datastring"TF_TABNAME": "TF_EXP",
"BIL_ITM": "0",
"MF_TABNAME": "MF_EXP",
"BIL_NO": "EP20268200001",
"BIL_ID": "EP"
单据信息,JSON 字符串格式
ErrorStrstring错误信息

调用范例

Request

{
"HeadData": {// 必须,表头数据
"EntryOrderId": "WMS00001", // 非必须,调用方业务编码
"CallId": "EP", // 必须,调用的单据识别号,"ER":表示其他费用收入
"CallNo": "EP20268200001", // 非必须,修改原单时必须,调用的单据号码,传入该值代表修改原单据信息,新增数据时无需添加
"DepNo": "0000",// 非必须,表头部门代号
"SALNO": "050",// 非必须,表头经办人代号
"Rem": "001"// 非必须,表头备注
},
"BodyData": [// 必须,表身数据
{
"CallItm": 1, // 非必须,修改原单时必须,原单项次,传入该值代表修改原单据表身对应PRE_ITM列的信息,新增数据时无需添加
"CusNo": "CS0001",// 必须,付款对象
"IdxNo": "02",// 必须,费用代号
"TaxId": "2",// 非必须
"CurId": "01",// 非必须
"ExcRto": 2,// 非必须
"DepNo": "0001",// 非必须
"Rto": 6,// 非必须
"BatNo": "001",// 非必须
"EpType": "1",// 非必须
"ObjNo": "101",// 非必须
"ObjClass": "0002",// 非必须
"Rem": "111",// 非必须
"Amt": 100// 必须
}
]
}

Response

{
"EntryOrderId": "WMS00001", // 调用方业务编码
"CallID": "EP", // 调用的单据识别号
"CallNO": "EP20268200001", // 生成的单据号码
"CallOK": "T", // 执行是否成功,是:"T" 否:"F"
"Data": "{\r\n \"TF_TABNAME\": \"TF_EXP\",\r\n \"BIL_ITM\": \"0\",\r\n \"MF_TABNAME\": \"MF_EXP\",\r\n \"BIL_NO\": \"EP20268200001\",\r\n \"BIL_ID\": \"EP\"\r\n}", // 单据信息, JSON字符串格式
"ErrorStr": "" // 错误信息
}

备注

  • 必须在 Headers 里面传入用户登录或账套验证的LoginId
  • 当采用的是账套验证获取的LoginId,那么 HeadData 中UsrNo就是制单人,不能为空。采用用户登录的LoginId则无需添加UsrNo,用户即制单人。
  • Body 中 JSON 字段,尽量不要添加赋空值的字段。
  • ExtendProps中为拓展字段,需要对应数据库表的字段,自定义字段同样在这里处理。
  • 统一字段与接口所需数据库表字段重复时,只取统一字段的值。
  • 接口程序不处理审核,没有审核流直接终审,有审核流就处于未审状态。
  • 可查看后台表LOG_BILLSAVE查看执行信息。
  • 当 HeadData 中 EntryOrderId 不为空时,可查看后台表LOG_OTHERSAVE查看单据关联信息。
EntryOrderId

EntryOrderId:为同一次调用动作的唯一 ID,全局唯一,建议采用随机 uuid/guid;例如调用方请求第一次时,无响应信息或者响应错误后再请求一次时,该 EntryOrderId 应相同,为同一次调用动作。相反,调用方第一次调用返回成功信息后,删除了单据(无论删除 ERP 单据还是调用方单据),再重新调用一次,此时 EntryOrderId 是不能与没删除前的 EntryOrderId 相同。简而言之,只要调用接口返回成功信息后的 EntryOrderId 就不能再重复调用。