日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

选取销售订单开发票,控制销售订单中已开票金额

發(fā)布時(shí)間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 选取销售订单开发票,控制销售订单中已开票金额 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

選取銷(xiāo)售訂單開(kāi)發(fā)票,控制銷(xiāo)售訂單中已開(kāi)票金額

  • 一、業(yè)務(wù)場(chǎng)景介紹
    • 1、銷(xiāo)售訂單表DDLB、銷(xiāo)售發(fā)票表FPLB,銷(xiāo)售訂單記錄表JLB,表結(jié)構(gòu)
  • 二、整體流程介紹
  • 三、具體實(shí)現(xiàn)
    • 1、銷(xiāo)售發(fā)票選擇了T_DD中的訂單20190923,保存后,將更新記錄表中訂單20190923對(duì)應(yīng)的明細(xì)。存儲(chǔ)過(guò)程如下:
    • 2、銷(xiāo)售發(fā)票作廢稽核通過(guò)后,更新記錄表。存儲(chǔ)過(guò)程如下:
    • 3、銷(xiāo)售發(fā)票申請(qǐng)單直接刪除,刪除后,更新記錄表。存儲(chǔ)過(guò)程如下:
    • 4、保存前校驗(yàn)金額

一、業(yè)務(wù)場(chǎng)景介紹

已有銷(xiāo)售訂單表DDLB,記作T_DD,有銷(xiāo)售發(fā)票表FPLB,記作T_FP
現(xiàn)在開(kāi)發(fā)票業(yè)務(wù),必須選擇T_DD中的一條或多條銷(xiāo)售訂單,每條訂單可以全開(kāi)或開(kāi)一部分(即開(kāi)票金額小于銷(xiāo)售訂單的銷(xiāo)售金額)。

1、銷(xiāo)售訂單表DDLB、銷(xiāo)售發(fā)票表FPLB,銷(xiāo)售訂單記錄表JLB,表結(jié)構(gòu)

CREATE TABLE FSSCSAPXSDDDYKPJLB([JLID] [varchar](36) NOT NULL,[SGXSKPNM] [varchar](36) NULL,[SGXSKPBH] [varchar](40) NULL,[SGXSKPMXNM] [varchar](36) NULL,[XSDDBH] [varchar](36) NULL,[XSDDMXNM] [varchar](36) NULL,[WLBH] [varchar](8) NULL,[BCKPJE] [decimal](15, 2) NULL,[PZBS] [varchar](2) NULL,[LogTime] [datetime] NULL,

二、整體流程介紹

三、具體實(shí)現(xiàn)

1、銷(xiāo)售發(fā)票選擇了T_DD中的訂單20190923,保存后,將更新記錄表中訂單20190923對(duì)應(yīng)的明細(xì)。存儲(chǔ)過(guò)程如下:

//創(chuàng)建存儲(chǔ)過(guò)程:更新記錄表 ALTER proc [SP_FSSC_AR_FSSCSGXSKPYKPXSSaveAfter] (@BillNo varchar(36)/*銷(xiāo)售開(kāi)票(手工)單據(jù)內(nèi)碼*/) AS /*------------------------------------------------------------ * 銷(xiāo)售開(kāi)票(手工)預(yù)開(kāi)票銷(xiāo)售訂單,保存后記錄開(kāi)票銷(xiāo)售訂單信息 * create by wahson * 2019年9月15日 *------------------------------------------------------------*/ declare @ywlx varchar(36)select @ywlx= ROBXDJ_YWLX from ROBXDJ where ROBXDJ_NM = @BillNo/*1.1) 編輯保存*/update FSSCSAPXSDDDYKPJLBset BCKPJE = CASE ROBXDJ_XM6 WHEN ('藍(lán)字發(fā)票') THEN ROBXMX_SQJE WHEN ('紅字發(fā)票') THEN 0-ROBXMX_SQJE ELSE ROBXMX_SQJE END,LogTime= getdate()from ROBXMX1join ROBXDJ on ROBXDJ_NM = ROBXMX_BXNMwhere ROBXMX_BXNM = FSSCSAPXSDDDYKPJLB.SGXSKPNM and ROBXMX_NM7 = XSDDMXNMand ROBXMX_BXNM = @BillNo/*1.2) 新增保存*/insert into FSSCSAPXSDDDYKPJLB(JLID,SGXSKPNM,SGXSKPBH,SGXSKPMXNM,XSDDBH,XSDDMXNM,WLBH,BCKPJE,PZBS,LogTime)select newid() JLID ,/**/ROBXMX_BXNM SGXSKPNM ,/*手工銷(xiāo)售開(kāi)票內(nèi)碼*/ROBXDJ_BH SGXSKPBH ,/*手工銷(xiāo)售開(kāi)票編號(hào)*/ROBXMX_NM SGXSKPMXNM ,/*手工銷(xiāo)售開(kāi)票明細(xì)內(nèi)碼*/ROBXMX_DDH XSDDBH ,/*銷(xiāo)售訂單編號(hào)*/ROBXMX_NM7 XSDDMXNM ,/*銷(xiāo)售訂單明細(xì)內(nèi)碼*/ROBXMX_NM15 WLBH ,/*物料號(hào)*/CASE ROBXDJ_XM6 WHEN ('藍(lán)字發(fā)票') THEN ROBXMX_SQJE WHEN ('紅字發(fā)票') THEN 0-ROBXMX_SQJE ELSE ROBXMX_SQJE END BCKPJE ,/*本次開(kāi)票金額*/'0' PZBS ,/*SAP憑證標(biāo)識(shí)*/getdate() LogTime /*記錄時(shí)間*/from ROBXMX1join ROBXDJ on ROBXDJ_NM = ROBXMX_BXNMleft join FSSCSAPXSDDDYKPJLB on SGXSKPNM = ROBXMX_BXNM and SGXSKPMXNM = ROBXMX_NMwhere ROBXMX_BXNM = @BillNo and FSSCSAPXSDDDYKPJLB.SGXSKPMXNM is NULL/*1.3) 刪除保存*/delete from FSSCSAPXSDDDYKPJLBwhere SGXSKPNM = @BillNo and XSDDMXNM not in (select ROBXMX_NM7 from ROBXMX1 where ROBXMX_BXNM = @BillNo)

2、銷(xiāo)售發(fā)票作廢稽核通過(guò)后,更新記錄表。存儲(chǔ)過(guò)程如下:

ALTER proc [LC0029999].[SP_FSSC_AR_FSSCXSFPZFSQDJHAfter]--銷(xiāo)售發(fā)票作廢申請(qǐng)單稽核后 (@BillNo varchar(50)/*銷(xiāo)售開(kāi)票(手工)單據(jù)編號(hào)*/) AS /*------------------------------------------------------------ * 銷(xiāo)售發(fā)票作廢申請(qǐng)單稽核后,將預(yù)開(kāi)票銷(xiāo)售訂單中的開(kāi)票情況復(fù)原 * create by wahson * 2019年9月8日 *------------------------------------------------------------*/ /*新增保存*/insert into FSSCSAPXSDDDYKPJLB(JLID,SGXSKPNM,SGXSKPBH,SGXSKPMXNM,XSDDBH,XSDDMXNM,WLBH,BCKPJE,PZBS,LogTime)select newid() JLID ,/**/ROBXMX_BXNM SGXSKPNM ,/*手工銷(xiāo)售開(kāi)票內(nèi)碼*/ROBXDJ_BH SGXSKPBH ,/*手工銷(xiāo)售開(kāi)票編號(hào)*/ROBXMX_NM SGXSKPMXNM ,/*手工銷(xiāo)售開(kāi)票明細(xì)內(nèi)碼*/ROBXMX_DDH XSDDBH ,/*銷(xiāo)售訂單編號(hào)*/ROBXMX_NM7 XSDDMXNM ,/*銷(xiāo)售訂單明細(xì)內(nèi)碼*/ROBXMX_NM15 WLBH ,/*物料號(hào)*/CASE ROBXDJ_XM6 WHEN ('藍(lán)字發(fā)票') THEN 0-ROBXMX_SQJE WHEN ('紅字發(fā)票') THEN ROBXMX_SQJE ELSE ROBXMX_SQJE END YKPSL,/*藍(lán)票取負(fù)值,紅票取正值,正好與開(kāi)票時(shí)抵消*/--0-ROBXMX_SQJE BCKPJE ,/*本次開(kāi)票金額*/--金額設(shè)置為負(fù)數(shù),和之前的記錄表中的數(shù)據(jù)抵消'0' PZBS ,/*SAP憑證標(biāo)識(shí)*/getdate() LogTime /*記錄時(shí)間*/from ROBXMX1join ROBXDJ on ROBXDJ_NM = ROBXMX_BXNMleft join FSSCSAPXSDDDYKPJLB on SGXSKPNM = ROBXMX_BXNM and SGXSKPMXNM = ROBXMX_NMwhere ROBXMX_BXNM = @BillNo ; --當(dāng)訂單的開(kāi)票記錄表中的行合計(jì)金額大于0,設(shè)置ZNOTE3 為2開(kāi)票中;等于0,設(shè)置為0未開(kāi)票;declare @DDBH varchar(50)/*銷(xiāo)售訂單編號(hào)*/declare @SUMJE decimal(15, 2)/*合計(jì)金額*/set @DDBH = (select top 1 ROBXMX_DDH from ROBXMX1 where ROBXMX_BXNM = @BillNo);if(@DDBH is not null and @DDBH != '')beginselect @sumJE = sum(BCKPJE) from FSSCSAPXSDDDYKPJLB where XSDDBH=@DDBH;--訂單開(kāi)票記錄表金額總計(jì) if(@SUMJE = 0)beginupdate FSSCSAPXSDDB set ZNOTE3 = '0' where VBELN = @DDBH;endelse if(@SUMJE != 0)beginupdate FSSCSAPXSDDB set ZNOTE3 = '2' where VBELN = @DDBH;endend

3、銷(xiāo)售發(fā)票申請(qǐng)單直接刪除,刪除后,更新記錄表。存儲(chǔ)過(guò)程如下:

ALTER PROCEDURE [LC0029999].[SP_FSSC_AR_FSSCSGXSKPDeleteAfter] (@BillNo varchar(36) /*銷(xiāo)售開(kāi)票(手工)單據(jù)內(nèi)碼,*/) AS /*------------------------------------------------------------ * 銷(xiāo)售開(kāi)票(手工)刪除單據(jù)后擴(kuò)展 1)單據(jù)刪除后更新預(yù)開(kāi)票銷(xiāo)售訂單開(kāi)票記錄表 * create by wahson * 2019年6月28日 *------------------------------------------------------------*//*------------------------------------------------------------* 3)銷(xiāo)售開(kāi)票(手工)單據(jù)刪除后更新預(yù)開(kāi)票銷(xiāo)售訂單開(kāi)票記錄表*------------------------------------------------------------*//*刪除扣款記錄表的記錄*/delete from FSSCSAPXSDDDYKPJLBwhere SGXSKPNM = @BillNo and PZBS = '0'

4、保存前校驗(yàn)金額

USE [cwbase002] GO /****** Object: StoredProcedure [LC0029999].[SP_FSSC_AR_FSSCSGXSZCSQSaveBefore] Script Date: 2019/9/25 15:03:30 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GOALTER PROCEDURE [LC0029999].[SP_FSSC_AR_FSSCSGXSZCSQSaveBefore] (@BillNo varchar(36),/*銷(xiāo)售開(kāi)票(手工)單據(jù)內(nèi)碼*/ @MXNM varchar(36),/*資產(chǎn)類(lèi)申請(qǐng)單明細(xì)內(nèi)碼*/ @BCSL varchar(36)/*本次數(shù)量*/) as /*------------------------------------------------------------ * 銷(xiāo)售開(kāi)票(手工)處理固定資產(chǎn)調(diào)撥/報(bào)廢出售業(yè)務(wù),資產(chǎn)明細(xì)保存前校驗(yàn) * * * 校驗(yàn)多張銷(xiāo)售開(kāi)票的累計(jì)數(shù)量不大于資產(chǎn)申請(qǐng)單明細(xì)對(duì)應(yīng)數(shù)量 * create by wahson * 2019年7月9日 *------------------------------------------------------------*/declare @yzjg varchar(10) /*驗(yàn)證結(jié)果:'true','false'*/ declare @SL_Before decimal(24,7)/*記錄表中的金額--除去銷(xiāo)售開(kāi)票的資產(chǎn)明細(xì)*/select @SL_Before = case when sum(YKPSL) is null then 0 else sum(YKPSL) end from FSSCSGXSGLZCSQJLwhere SQDJMXNM = @MXNM and SGXSNM <> @BillNoselect @yzjg = case when (ROSQXCMX_SZ1 >= @SL_Before + convert(decimal(24,7),@BCSL) and @SL_Before + convert(decimal(24,7),@BCSL) > = 0 )then 'true' else 'false' end from ROSQXCMXwhere ROSQXCMX_NM = @MXNMselect @yzjg yzjg

總結(jié)

以上是生活随笔為你收集整理的选取销售订单开发票,控制销售订单中已开票金额的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。