Sp_update_BusineesVoucherBillNo.md 2.04 KB

Sp_update_BusineesVoucherBillNo (procedure)

业务单据删除前校验 -1 回滚

  • Type: PROCEDURE
  • Deterministic: NO
  • SQL data access: CONTAINS SQL

Parameters

# Mode Name Type
1 IN sFormGuid varchar(100)
2 IN iFlag int
3 IN sGuid varchar(100)
4 IN sTableName varchar(100)
5 IN sLoginId varchar(100)
6 OUT sReturn varchar(4000)
7 IN sBrId varchar(100)
8 IN sSuId varchar(100)
9 OUT sCode int

Body

Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURESpupdate_BusineesVoucherBillNo'._

Narrative

Business context: 财务 → 凭证 — pre-delete validator for udfVoucherMaster (业务单据删除前校验 -1 回滚). When a user requests to delete a voucher that was generated from a business document, this proc decides whether the delete is safe and, when not, returns sCode=-1 to roll back.

What it does: Looks up udfVoucherMaster (sId=sGuid) for sMastertbName (comma-separated list of source master tables) and bMinus (是否红冲). If bMinus=1 the proc immediately blocks with the localised sBusineesVoucherBillNoHcCantDel message ("红冲凭证不能直接删除,可删除相应的蓝字单据"). Otherwise it iterates the comma-separated sMastertbName list, splitting each token to find a candidate update column — the disabled inner branches show the original intent was to NULL out sVoucherBillId on every source master row, but the executable path now just walks the list. Returns sCode/sReturn.

Invocation: Status: appears orphaned. No caller found in any channel — not bound to a form-master, no gdsmodule hook, no other routine references it, and the only xly-src hit is its own install script script/标版/30100101/Sp_update_BusineesVoucherBillNo.sql. The name suggests it was meant to be wired as a sDeleteProName hook on a voucher form but never was. Candidate for maintainer audit.