USE [UFDATA_999_2020]
GO
/****** Object: StoredProcedure [dbo].[AddNewSaleOrder_zd] Script Date: 2022-09-16 9:11:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
--销售订单生单
CREATE PROCEDURE [dbo].[AddNewSaleOrder_zd]
(
@cSOCode NVARCHAR(30) , --销售订单号
@cCrmPersonCode NVARCHAR(255) ,--制单人,联系人
@cSTCode NVARCHAR(2)='01' , --销售类型编码
@cBusType NVARCHAR(8)='普通销售' , --业务类型
@cDepCode NVARCHAR(12), --部门编码ok
@cCusCode NVARCHAR(20) , --客户编码
@iTaxRate FLOAT =13, --表头税率
@cexch_name NVARCHAR(8)='人民币' , --币种名称
@iExchRate FLOAT , --汇率
@cInvCode NVARCHAR(20) , --存货编码
@iQuantity DECIMAL , --数量
@iTaxUnitPrice DECIMAL , --原币含税单价
@cMemo NVARCHAR(60) --备注
)
AS /*************************************主表(SO_SOMain)字段****************************************/
DECLARE @ID INT; --销售订单主表标识
DECLARE @dDate DATETIME = CAST(CONVERT(VARCHAR(100), GETDATE(), 23) AS DATETIME); --单据日期 ok
--declare @cSOCode nvarchar(30) --销售订单号
-- DECLARE @cDepCode NVARCHAR(12); --部门编码ok
DECLARE @cPersonCode NVARCHAR(20); --业务员编码ok
DECLARE @cMaker NVARCHAR(20); --制单人ok
DECLARE @bDisFlag BIT = 0; --是否整单打折 默认0 ok
DECLARE @bReturnFlag BIT = 0; --退货标志(1-退货;0-正常) 默认0 ok
DECLARE @cCusName NVARCHAR(120); --客户名称ok
DECLARE @bOrder BIT = 0; --是否生成物料需求计划 默认0 ok
DECLARE @iVTid INT = 95; --单据模版号 默认95 ok
DECLARE @cDefine11 NVARCHAR(120); --自定义项11 ok
DECLARE @dPreMoDateBT DATETIME = CAST(CONVERT(VARCHAR(100), GETDATE(), 23) AS DATETIME); --预完工日期ok
DECLARE @dPreDateBT DATETIME = CAST(CONVERT(VARCHAR(100), GETDATE(), 23) AS DATETIME); --预发货日期ok
DECLARE @iStatus INT = 0; --审核状态 默认0 ok
DECLARE @iswfcontrolled TINYINT = 0; --是否控制工作流 默认1 ok
DECLARE @dcreatesystime DATETIME = CAST(CONVERT(VARCHAR(100), GETDATE(), 121) AS DATETIME); --制单时间ok
DECLARE @bcashsale BIT = 0; --现款结算 默认0 ok
DECLARE @bmustbook BIT = 0; --必有定金 默认0 ok
DECLARE @cCrmPersonName NVARCHAR(255); --联系人ok
DECLARE @cSysBarCode NVARCHAR(60); --表头单据条码
DECLARE @cinvoicecompany NVARCHAR(20) = @cCusCode; --开票单位编码ok
/**************************************从表(SO_SODetails)字段***************************************/
DECLARE @dPreDate DATETIME = CAST(CONVERT(VARCHAR(100), GETDATE(), 23) AS DATETIME); --预发货日期 ok
DECLARE @iQuotedPrice DECIMAL = 0; --报价 默认0 ok
DECLARE @iUnitPrice DECIMAL; --原币无税单价 ok
DECLARE @iMoney MONEY; --原币无税金额 ok
DECLARE @iTax MONEY; --原币税额 ok
DECLARE @iSum MONEY; --原币价税合计 ok
DECLARE @iDisCount MONEY = 0; --原币折扣额 默认0 ok
DECLARE @iNatUnitPrice DECIMAL; --本币无税单价 ok
DECLARE @iNatMoney MONEY; --本币无税金额 ok
DECLARE @iNatTax MONEY; --本币税额 ok
DECLARE @iNatSum MONEY; --本币价税合计 ok
DECLARE @iNatDisCount MONEY = 0; --本币折扣额 默认0
DECLARE @iSOsID INT; --销售订单子表标识2
DECLARE @KL DECIMAL = 100; --扣率 默认100 ok