跳至主要內容

销售订单:行单价低于特殊价格需要申请审批

五六零网校大约 1 分钟

用户使用场景

  • 制单人员添加销售订单填写的单价低于特殊价格的,系统左下角会提醒对应物料低于特殊价格
  • 制单人员可修正为符合条件新价格
  • 制单人员仍需要按当前价格保留的,点击单据的单据审批字段为 Y ,触发审批流程

设置逻辑

  • 在营销单据增加自定义字段:单据审批 U_DJSP
  • 设置自定义字段默认为空白或者N

提示例图

  • 审批条件代码
Select 'true' 
where $[ORDR.U_DJSP]='Y'
  • 对应的单据控制代码
----销售订单:限制行物料单价必须大于对应特殊价格,或者申请审批
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 @DJSP NVARCHAR(20);;
				SELECT @ITEM_560 = T1.[ItemCode], @LINENUM = T1.LineNum + 1
					, @DCPRICE = T1.Price, @TSPRICE = T2.Price
					, @DJSP = T0.U_DJSP
				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
					OR @DJSP <>'Y'
						BEGIN
							SET @error = 1;;
							SET @error_message = N'第 ' + @LINENUM + N'行 物料: ' + @ITEM_560
 + N' 低于特殊价格,   ' + N'单据价格: ' + @DCPRICE + N'  特殊价格为:'
 + @TSPRICE + N'     请注意检查或申请审批 !';;
						END;
				END;;
			END;
	END