跳至主要內容

销售订单:备注内容包含“申请审批”字段则触发审批

五六零网校大约 1 分钟

用户使用场景

  • 制单人员添加销售订单填写的单价低于特殊价格的,系统左下角会提醒对应物料低于特殊价格
  • 制单人员可修正为符合条件新价格
  • 制单人员仍需要按当前价格保留的,在单据备注内填写:“申请审批”+原因,触发审批

审批逻辑

  • 根据特殊价格判断当前单据价格是否低于,符合条件则限制添加单据
  • 需要申请审核的,在备注字段内备注申请审批即可触发审批流程

提示例图

  • 审批条件代码
SELECT 'true'
WHERE
$[ORDR.Comments]   Like '%%申请审批%%'
  • 对应的单据控制代码
----销售订单:限制行物料单价必须大于对应特殊价格,或者申请审批
IF @object_type = '17'
	BEGIN
		IF @transaction_type = 'A'
			BEGIN
				DECLARE @ITEM_560 NVARCHAR(50);;
				DECLARE @LINENUM NVARCHAR(20);;
				DECLARE @TSPRICE NVARCHAR(50);;
				DECLARE @DCPRICE NVARCHAR(20);;
				DECLARE @COMM NVARCHAR(20);;
				SELECT @ITEM_560 = T1.[ItemCode], @LINENUM = T1.LineNum + 1
					, @DCPRICE = T1.Price, @TSPRICE = T2.Price
					, @COMM = T0.Comments
				FROM ORDR T0
					INNER JOIN RDR1 T1 ON T0.[DocEntry] = T1.[DocEntry]
					INNER JOIN OSPP T2
					ON T2.CardCode = T0.CardCode
						AND T2.ItemCode = T1.ItemCode
				WHERE T1.Price < T2.Price
					AND T0.DocEntry = @list_of_cols_val_tab_del
				ORDER BY T1.LineNum DESC;;
				BEGIN
					IF @ITEM_560 IS NOT NULL
					AND @COMM NOT Like '%%申请审批%%'
						BEGIN
							SET @error = 1;;
							SET @error_message = N'第 ' + @LINENUM + N'行 物料: ' + @ITEM_560
 + N' 低于特殊价格,   ' + N'单据价格: ' + @DCPRICE + N'  特殊价格为:'
 + @TSPRICE + N'     请注意检查或在备注字段填:“申请审批”   !';;
						END;
				END;;
			END;
	END