进销存管理系统 联系客服

发布时间 : 星期三 文章进销存管理系统更新完毕开始阅读92d361213c1ec5da51e27055

报税务局的也是全月一次加权平均法,为了过度时期的使用,本系统不仅设计了更合理的移动加权平均法,同时设计了全月一次加权平均法。

加权平均法(称全月一次加权平均法),指以本月全部收货数量加月初存货数量作为权数,去除本月全部收货成本加上月初存货成本,计算出存货的加权平均单位成本,从而确定存货的发出和库存成本。

计算公式如下:

移动平均法

移动平均法亦称移动加权平均法,指本次收货的成本加原有库存的成本,除以本次收货数量加原有收货数量,据以计算加权单价,并对发出存货进行计价的一种方法。

移动加权平均法的优点:能使管理当局及时了解存货的结存情况,而且计算的平均单位成本以及发出和结存的存货成本比较客观。缺点:每次收货都要计算一次平均单价,计算工作量较大。

20

5 编码实现与测试

5.1 编码摘要

材料收发存分类汇总的部分代码: sql语句:

SELECT [K_llll_D].[CLBH] AS CLBH, [K_llll_M].[KDRQ] AS KDRQ, [K_llll_M].[CBXM] AS CBXM, [K_llll_M].[DHDH], [K_llll_D].[SLSL] AS SLSL, [k_LLLL_D].[JEJE] AS JEJE

FROM K_llll_M INNER JOIN K_llll_D ON [K_llll_M].[DHDH]=[K_llll_D].[DHDH] WHERE [K_llll_M].[status]=1;

SELECT [K_clrk_D].[CLBH] AS CLBH, [K_clrk_M].[KDRQ] AS KDRQ, [K_clrk_M].[DHDH] AS DHDH, [K_clrk_D].[SLSL] AS SLSL, [SLSL]*[K_clrk_D].[DJDJ] AS JEJE FROM K_clrk_M INNER JOIN K_clrk_D ON [K_clrk_M].[DHDH]=[K_clrk_D].[DHDH] WHERE [K_clrk_m].[STATUS]=1;

SELECT A.CLBH, Sum(A.SLSL) AS ZSL, Sum(A.JEJE) AS ZJE, year([KDRQ]) & \FROM SFC_rk AS A

GROUP BY A.CLBH, year([KDRQ]) & \

SELECT A.CLBH, Sum(IIf(ISNULL(A.SLSL),0,A.SLSL)) AS ZSL, Sum(IIf(ISNULL(A.JEJE),0,A.JEJE)) AS ZJE, year([KDRQ]) & \& Month([KDRQ]) & \FROM SFC_ck AS A

GROUP BY A.CLBH, year([KDRQ]) & \

SELECT A.BHBH AS BHBH, A.YFYF AS YFYF, IIf(ISNULL(A.QCSL),0,A.QCSL) AS QCSL, IIf(ISNULL(B.ZSL),0,B.ZSL) AS SRSL, [QCSL]+SRSL AS MISL, IIf(ISNULL(A.QCJE),0,A.QCJE) AS QCJE, IIf(ISNULL(B.ZJE),0,B.ZJE) AS SRJE, [QCJE]+SRJE AS MIJE

FROM T_SFC_QC AS A LEFT JOIN SFC_RK_GP AS B ON (A.YFYF=CDATE(B.MON)) AND (A.BHBH=B.CLBH) ORDER BY [bhbh];

SELECT A.BHBH, A.YFYF, A.QCSL, A.SRSL, A.MISL-IIF(ISNULL(B.ZSL),0,B.ZSL) AS QMSL, A.QCJE, A.SRJE,

21

A.MIJE-IIF(ISNULL(B.ZJE),0,B.ZJE) AS QMJE, IIF(ISNULL(B.ZSL),0,B.ZSL) AS FCSL, IIF(ISNULL(B.ZJE),0,B.ZJE) AS FCJE

FROM SFC_AAA AS A LEFT JOIN SFC_CK_GP AS B ON (A.YFYF=CDATE(B.MON)) AND (A.BHBH=B.CLBH) ORDER BY [bhbh];

SELECT A.BHBH, B.PMPM AS PMPM, B.GGGG AS GGGG, A.YFYF, A.QCSL, A.SRSL, A.FCSL, A.QMSL, A.QCJE, A.SRJE, A.FCJE, A.QMJE, B.FLAA, B.FLBB, B.FLCC

FROM SFC_BBB AS A LEFT JOIN J_clcl AS B ON A.BHBH=B.BHBH ORDER BY A.BHBH;

SELECT SFC_CCC.*, IIf(ISNULL([O_Dzfy].[ZWZW]),\空\ZWBB

FROM SFC_CCC LEFT JOIN O_Dzfy ON [O_Dzfy].[FHFH]=[SFC_CCC].[FLBB];

SELECT SFC_ZW_B.*, IIf(isnull([O_Dzfy].[ZWZW]),\空\AS ZWCC FROM SFC_ZW_B LEFT JOIN O_Dzfy ON [SFC_ZW_B].[FLCC]=[O_Dzfy].[FHFH];

SELECT A.FLBB AS FLBB, A.ZWBB AS ZWBB, A.ZWCC AS ZWCC, A.YFYF AS YFYF, Sum(A.QCSL) AS QCZSL, Sum(A.SRSL) AS SRZSL, Sum(A.FCSL) AS FCZSL, Sum(A.QMSL) AS QMZSL, Sum(A.QCJE) AS QCZJE, Sum(A.SRJE) AS SRZJE, Sum(A.FCJE) AS FCZJE, Sum(A.QMJE) AS QMZJE FROM SFC_ZW_C AS A

GROUP BY A.FLBB, A.ZWBB, A.YFYF, A.ZWCC;

全月一次加权平均计算单价的部分代码: sql 语句:

SELECT A.CLBH, SUM(A.SLSL) AS RKSL, SUM(A.JEJE) AS RKJE FROM AVER_MTH_RK1 AS A WHERE NOT (ISNULL(A.YFYF)) GROUP BY [CLBH];

SELECT A.CLBH, [SLSL], [JEJE], [YFYF]

FROM AVER_MTH_RK AS A LEFT JOIN T_SFC_QC AS B ON (A.CLBH=B.BHBH) AND (A.KDRQ>=B.YFYF);

SELECT A.DHDH, A.KDRQ, B.CLBH, B.SLSL, B.SLSL*B.DJDJ AS JEJE FROM K_clrk_M AS A INNER JOIN K_clrk_D AS B ON A.DHDH=B.DHDH WHERE STATUS=1;

22

SELECT A.CLBH, B.YFYF, IIf(A.RKSL=0,IIf(ISNULL([QCSL]),0,[QCJE]/[QCSL]),(B.QCJE+A.RKJE)/(B.QCSL+A.RKSL)) AS DJDJ

FROM AVER_MTH_RK2 AS A LEFT JOIN T_SFC_QC AS B ON A.CLBH=B.BHBH;

功能函数

Public Sub Do_Aver_DJ()

Dim da_Rec As ADODB.Recordset Dim da_SQL As String

Set da_Rec = AppCN.Execute(\VER_DJ\AppCN.BeginTrans

Do While Not da_Rec.EOF

da_SQL = \ J_clcl set DJDJ =\'\AppCN.Execute (da_SQL)

da_SQL = \K_LLLL_D set JEJE =\& da_Rec.Fields(\& \* k_LLLL_D.SLSL where K_LLLL_D.CLBH='\

da_Rec.Fields(\& \and K_LLLL_D.DHDH IN (SELECT DHDH FROM AVER_mth_LL2)\

AppCN.Execute (da_SQL) da_Rec.MoveNext Loop

AppCN.CommitTrans End Sub

收发存明细,追踪某中材料某月的进出库情况,并显示出是那一帐单据进行操作,如果是领料则在摘要中写明成本项目。计算出每次操作之后的结存数量及金额。

Private Sub CmdMe_Click(Index As Integer) If Index = 0 Then

Call PrintLstv(Me.LstView, LoadResString(804), \材料[\收发存明细A\Else

Unload Me End If End Sub

23