-
上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:17k
源码类别:

企业管理

开发平台:

Visual Basic

  1. Attribute VB_Name = "XtsyModule"
  2.  '系统私有模块用来放置一些子系统独有的过程与函数
  3.  Public str_Code As String                               '存储列内容参数
  4.  Public Xt_XtJc As Boolean            '系统集成
  5.  Public StartMon As Integer           '开帐月份
  6.  Public LastMon As Integer            '当前年度最后一个月份
  7.  Public Qmclcy As Boolean             '期末是否处理差异
  8.  Public ClrkdKfsc As Boolean          '材料入库单库存管理系统生成
  9.  Public Xtclzg As Boolean             '系统是否处理暂估
  10.  Public Cylzg As Boolean              '差异率计算是否包括本期暂估
  11.  Public LcbckFs As Integer            '零成本出库方式
  12.  Public EvalFs As Integer             '暂估方式
  13.  Public SFjezt As Boolean             '系统处理实发金额自填
  14.  
  15.  '生成凭证的信息
  16.  Public vouchdata() As Variant
  17.  Public vouchz As String
  18.  Public PzRecordCount As Integer
  19.  Public PzDataRow As Integer
  20.  
  21.  Public Price_Flag As Boolean         '单价标记
  22.  Public Edit_Flag As Boolean          '编辑标志
  23.  
  24.  Dim Tsxx As String
  25.  
  26. Public Sub Drxtztcs()                                   '读入系统帐套参数
  27.    
  28.     Dim Ztcsbrec As New ADODB.Recordset
  29.     Dim Rectemp As New ADODB.Recordset
  30.     Dim SqlStr As String
  31.   
  32.     '读入本位币
  33.     SqlStr = "Select ForeignCurrCode,ForeignCurrName from Gy_ForeignCurrency where StandardFlag=1"
  34.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  35.     XtSCurrCode = Trim(Rectemp.Fields("ForeignCurrCode"))
  36.     XtSCurrName = Trim(Rectemp.Fields("ForeignCurrName"))
  37.     
  38.     With Ztcsbrec
  39.         '金额总位数
  40.         .Open "Select * From Gy_AccInformation Where SystemCode='Cwzz'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  41.         .MoveFirst
  42.         .Find "itemcode='cwjezws'"
  43.         If Not Ztcsbrec.EOF Then
  44.             Xtjezws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  45.         End If
  46.         
  47.         '数量总位数
  48.         .MoveFirst
  49.         .Find "itemcode='cwslzws'"
  50.         If Not Ztcsbrec.EOF Then
  51.             Xtslzws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  52.         End If
  53.    
  54.         '单价总位数
  55.         .MoveFirst
  56.         .Find "itemcode='cwdjzws'"
  57.         If Not Ztcsbrec.EOF Then
  58.             Xtdjzws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  59.         End If
  60.         
  61.         '金额小数位数
  62.         .MoveFirst
  63.         .Find "itemcode='cwjexsws'"
  64.         If Not Ztcsbrec.EOF Then
  65.             Xtjexsws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  66.         End If
  67.    
  68.         '数量小数位数
  69.         .MoveFirst
  70.         .Find "itemcode='cwslxsws'"
  71.         If Not Ztcsbrec.EOF Then
  72.             Xtslxsws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  73.         End If
  74.         
  75.         '单价小数位数
  76.         .MoveFirst
  77.         .Find "itemcode='cwdjxsws'"
  78.         If Not Ztcsbrec.EOF Then
  79.             Xtdjxsws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  80.         End If
  81.         .Close
  82.     End With
  83.     
  84.    With Rectemp
  85.         If .State = 1 Then .Close
  86.         .Open "Select * From Gy_AccInformation Where SystemCode='chhs'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  87.         '期末是否处理差异
  88.         .MoveFirst
  89.         .Find "itemcode='Chhs_Qmclcy'"
  90.         If Not .EOF Then
  91.            If .Fields("itemvalue") = 1 Then
  92.               Qmclcy = True
  93.            Else
  94.               Qmclcy = False
  95.            End If
  96.         End If
  97.         
  98.         '系统是否处理暂估
  99.         .MoveFirst
  100.         .Find "itemcode='Chhs_Xtclzg'"
  101.         If Not .EOF Then
  102.            If .Fields("itemvalue") = 1 Then
  103.               Xtclzg = True
  104.            Else
  105.               Xtclzg = False
  106.            End If
  107.         End If
  108.         
  109.         '差异率计算是否包括暂估
  110.         .MoveFirst
  111.         .Find "itemcode='Chhs_Cylzg'"
  112.         If Not .EOF Then
  113.            If .Fields("itemvalue") = 1 Then
  114.               Cylzg = True
  115.            Else
  116.               Cylzg = False
  117.            End If
  118.         End If
  119.         
  120.         '材料入库单是否是库房系统生成
  121.         .MoveFirst
  122.         .Find "itemcode='Chhs_ClrkdKfsc'"
  123.         If Not .EOF Then
  124.            If .Fields("itemvalue") = 1 Then
  125.               ClrkdKfsc = True
  126.            Else
  127.               ClrkdKfsc = False
  128.            End If
  129.         End If
  130.         
  131.          '系统集成
  132.         .MoveFirst
  133.         .Find "itemcode='chhs_xtjc'"
  134.         If Not .EOF Then
  135.            If .Fields("itemvalue") = 1 Then
  136.               Xt_XtJc = True
  137.            Else
  138.               Xt_XtJc = False
  139.            End If
  140.         End If
  141.          
  142.          '暂估方式
  143.         .MoveFirst
  144.         .Find "itemcode='Chhs_Eval1'"
  145.         If Not .EOF Then
  146.            If .Fields("itemvalue") = 1 Then
  147.               EvalFs = 1
  148.            End If
  149.         End If
  150.         .MoveFirst
  151.         .Find "itemcode='Chhs_Eval2'"
  152.         If Not .EOF Then
  153.            If .Fields("itemvalue") = 1 Then
  154.               EvalFs = 3
  155.            End If
  156.         End If
  157.         .MoveFirst
  158.         .Find "itemcode='Chhs_Eval3'"
  159.         If Not .EOF Then
  160.            If .Fields("itemvalue") = 1 Then
  161.               EvalFs = 3
  162.            End If
  163.         End If
  164.          
  165.          '零成本出库方式
  166.         .MoveFirst
  167.         .Find "itemcode='Chhs_Lcbck1'"
  168.         If Not .EOF Then
  169.            If .Fields("itemvalue") = 1 Then
  170.               LcbckFs = 1
  171.            End If
  172.         End If
  173.         .MoveFirst
  174.         .Find "itemcode='Chhs_Lcbck2'"
  175.         If Not .EOF Then
  176.            If .Fields("itemvalue") = 1 Then
  177.               LcbckFs = 2
  178.            End If
  179.         End If
  180.         .MoveFirst
  181.         .Find "itemcode='Chhs_Lcbck3'"
  182.         If Not .EOF Then
  183.            If .Fields("itemvalue") = 1 Then
  184.               LcbckFs = 3
  185.            End If
  186.         End If
  187.         .MoveFirst
  188.         .Find "itemcode='Chhs_Lcbck4'"
  189.         If Not .EOF Then
  190.            If .Fields("itemvalue") = 1 Then
  191.               LcbckFs = 4
  192.            End If
  193.         End If
  194.         .MoveFirst
  195.         .Find "itemcode='Chhs_Lcbck5'"
  196.         If Not .EOF Then
  197.            If .Fields("itemvalue") = 1 Then
  198.               LcbckFs = 5
  199.            End If
  200.         End If
  201.         
  202.         '系统处理实发金额自填
  203.         .MoveFirst
  204.         .Find "itemcode='Chhs_SFjezt'"
  205.         If Not .EOF Then
  206.            If .Fields("itemvalue") = 1 Then
  207.               SFjezt = True
  208.            Else
  209.               SFjezt = False
  210.            End If
  211.         End If
  212.     End With
  213.   
  214.     '开帐月份
  215.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("select * from gy_kjrlb where kjyear=" & Xtyear & " and beginflag=1")
  216.     If Not Rectemp.EOF Then
  217.         StartMon = Rectemp.Fields("period")
  218.         Cw_DataEnvi.DataConnect.Execute ("update gy_kjrlb set chhsjzbz=1 where period<" & StartMon & " and kjyear=" & Xtyear)
  219.     Else
  220.         StartMon = 1
  221.     End If
  222.     
  223.     '终止月份
  224.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("select * from gy_kjrlb where kjyear=" & Xtyear & " order by period desc ")
  225.     If Not Rectemp.EOF Then
  226.         LastMon = Rectemp.Fields("period")
  227.     End If
  228.     
  229. End Sub
  230. Public Function KjMonth(Datestr As Date) As Integer              '当前会计月份  bfy
  231.     Dim Rectemp As Recordset
  232.    
  233.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("select * from gy_kjrlb where kjyear=" & PGKjYear & " and '" & Format(Datestr, "yyyy-mm-dd") & "' between qsrq and zzrq ")
  234.    
  235.     If Not Rectemp.EOF Then
  236.         KjMonth = Rectemp.Fields("period")
  237.     Else
  238.         Tsxx = "此会计月份不存在!"
  239.         Call Xtxxts(Tsxx, 0, 1)
  240.     End If
  241.    
  242. End Function
  243. Public Function PGKjYear() As Integer              '当前会计年度
  244.     Dim Rectemp As Recordset
  245.    
  246.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("select * from gy_kjrlb where chhsjzbz=0 order by kjyear,period")
  247.    
  248.     If Not Rectemp.EOF Then
  249.         PGKjYear = Rectemp.Fields("KjYear")
  250.     Else
  251.         Tsxx = "此会计年度不存在!"
  252.         Call Xtxxts(Tsxx, 0, 1)
  253.     End If
  254.    
  255. End Function
  256. Public Function PGNowmon() As Integer              '当前会计月份
  257.     Dim Rectemp As Recordset
  258.    
  259.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("select * from gy_kjrlb where chhsjzbz=0 order by kjyear,period")
  260.    
  261.     If Not Rectemp.EOF Then
  262.         PGNowmon = Rectemp.Fields("period")
  263.     Else
  264.         Tsxx = "此会计年度不存在!"
  265.         Call Xtxxts(Tsxx, 0, 1)
  266.     End If
  267.    
  268. End Function
  269. Public Function PGEndDate() As String
  270.     
  271.     Dim Rectemp As Recordset
  272.    
  273.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("select Zzrq from gy_kjrlb where chhsjzbz=0 order by kjyear,period")
  274.    
  275.     If Not Rectemp.EOF Then
  276.         PGEndDate = Rectemp.Fields("Zzrq")
  277.     Else
  278.         Tsxx = "此会计年度不存在!"
  279.         Call Xtxxts(Tsxx, 0, 1)
  280.     End If
  281. End Function
  282. Public Function PGPrevKjYear() As Integer
  283.     
  284.     Dim Rectemp As Recordset
  285.    
  286.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("select Kjyear from gy_kjrlb where chhsjzbz=1 order by kjyear,period")
  287.    
  288.     If Not Rectemp.EOF Then
  289.         Rectemp.MoveLast
  290.         PGPrevKjYear = Rectemp.Fields("Kjyear")
  291.     Else
  292.         Tsxx = "此会计年度不存在!"
  293.         Call Xtxxts(Tsxx, 0, 1)
  294.     End If
  295. End Function
  296. Public Function PGPrevKjMon() As Integer
  297.     
  298.     Dim Rectemp As Recordset
  299.    
  300.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("select Period from gy_kjrlb where chhsjzbz=1 order by kjyear,period")
  301.    
  302.     If Not Rectemp.EOF Then
  303.         Rectemp.MoveLast
  304.         PGPrevKjMon = Rectemp.Fields("Period")
  305.     Else
  306.         PGPrevKjMon = 1
  307.     End If
  308. End Function
  309. Public Sub MaccCode(WhCode As String, Mnumber As String, Msort As String)      '设置存货科目、差异科目
  310.                     '仓库编码,存货编码,存货分类
  311.     Dim Rectemp As Recordset
  312.     Dim RecTempFz As Recordset
  313.     Dim Msortcode As String
  314.    
  315.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("select * from chhs_macc where whcode='" & WhCode & "' ")
  316.     If Not Rectemp.EOF Then
  317.         Rectemp.Find "mnumber='" & Mnumber & "'"
  318.         If Not Rectemp.EOF Then
  319.             Xtfhcs = Trim(Rectemp.Fields("macct"))
  320.             Xtfhcsfz = Trim(Rectemp.Fields("diffacct") & "")
  321.             Exit Sub
  322.         Else
  323.             SqlStr = "SELECT * FROM Gy_CodeScheme WHERE (ItemCode = 'Kf_KfwlflSet')"
  324.             Set RecTempFz = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  325.             If Not RecTempFz.EOF Then
  326.                Msortcode = Left(Trim(RecTempFz.Fields("CodeScheme")), 1)
  327.                Msortcode = Left(Trim(Msort), Val(Msortcode))
  328.             End If
  329.             
  330.             Rectemp.MoveFirst
  331.             Rectemp.Find "msort like '" & Msortcode & "'"
  332.             If Not Rectemp.EOF Then
  333.                 Xtfhcs = Trim(Rectemp.Fields("macct"))
  334.                 Xtfhcsfz = Trim(Rectemp.Fields("diffacct") & "")
  335.                 Exit Sub
  336.             Else
  337.                 Rectemp.MoveFirst
  338.                 Rectemp.Find "WHCODE = '" & WhCode & "'"
  339.                 Xtfhcs = Trim(Rectemp.Fields("macct"))
  340.                 Xtfhcsfz = Trim(Rectemp.Fields("diffacct") & "")
  341.                 Exit Sub
  342.             End If
  343.         End If
  344.      End If
  345. End Sub
  346. Public Sub DfaccCode(InoutClassCode As String, Deptcode As String, Msort As String, Mnumber As String)     '设置对方科目
  347.                     '收发类别、部门编码,存货分类,存货编码
  348.     Dim Rectemp As Recordset
  349.     Dim RecTempFz As Recordset
  350.     Dim SqlStr As String
  351.     Dim Msortcode As String
  352.     '存货分类顶级编码
  353.     SqlStr = "SELECT * FROM Gy_CodeScheme WHERE (ItemCode = 'Kf_KfwlflSet')"
  354.     Set RecTempFz = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  355.     If Not RecTempFz.EOF Then
  356.        Msortcode = Left(Trim(RecTempFz.Fields("CodeScheme")), 1)
  357.        Msortcode = Left(Trim(Msort), Val(Msortcode))
  358.     End If
  359.     
  360.     '收发类别+部门+存货
  361.     SqlStr = "select * from chhs_dfacc where inoutclasscode='" & InoutClassCode & "' " & _
  362.             " and deptcode='" & Deptcode & "' and mnumber='" & Mnumber & "'"
  363.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  364.     If Not Rectemp.EOF Then
  365.         Xtfhcs = Rectemp.Fields("dfacct")
  366.     Else
  367.         If Trim(InoutClassCode) <> "" Then
  368.             If Trim(Deptcode) <> "" Then
  369.                 
  370.                 '收发类别+部门+存货分类
  371.                 SqlStr = "select * from chhs_dfacc where inoutclasscode='" & InoutClassCode & "' " & _
  372.                         " and deptcode='" & Deptcode & "' and msort like '" & Msortcode & "%' "
  373.                             Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  374.                 Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  375.                 If Not Rectemp.EOF Then
  376.                     Xtfhcs = Rectemp.Fields("dfacct")
  377.                 Else
  378.                 
  379.                      '收发类别+存货分类
  380.                      SqlStr = "select * from chhs_dfacc where inoutclasscode='" & InoutClassCode & "' " & _
  381.                        " and msort like '" & Msortcode & "%'"
  382.                     Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  383.                     If Not Rectemp.EOF Then
  384.                         Xtfhcs = Rectemp.Fields("dfacct")
  385.                     Else
  386.                          
  387.                          '收发类别
  388.                         SqlStr = "select * from chhs_dfacc where inoutclasscode='" & InoutClassCode & "'"
  389.                         Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  390.                         If Not Rectemp.EOF Then
  391.                             Xtfhcs = Rectemp.Fields("dfacct")
  392.                             Exit Sub
  393.                         End If
  394.                         
  395.                         '部门
  396.                         SqlStr = "select * from chhs_dfacc where deptcode='" & Deptcode & "'"
  397.                         Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  398.                         If Not Rectemp.EOF Then
  399.                             Xtfhcs = Rectemp.Fields("dfacct")
  400.                             Exit Sub
  401.                         End If
  402.                         
  403.                         '存货分类
  404.                         SqlStr = "select * from chhs_dfacc where msort like '" & Msortcode & "%'"
  405.                         Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  406.                         If Not Rectemp.EOF Then
  407.                             Xtfhcs = Rectemp.Fields("dfacct")
  408.                             Exit Sub
  409.                         End If
  410.                     End If
  411.                 End If
  412.             Else
  413.                 '收发类别+存货分类
  414.                 SqlStr = "select * from chhs_dfacc where inoutclasscode='" & InoutClassCode & "' " & _
  415.                    " and msort like '" & Msortcode & "%'"
  416.                 Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  417.                 If Not Rectemp.EOF Then
  418.                     Xtfhcs = Rectemp.Fields("dfacct")
  419.                 Else
  420.                      '收发类别
  421.                     SqlStr = "select * from chhs_dfacc where inoutclasscode='" & InoutClassCode & "'"
  422.                     Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  423.                     If Not Rectemp.EOF Then
  424.                         Xtfhcs = Rectemp.Fields("dfacct")
  425.                         Exit Sub
  426.                     End If
  427.             
  428.                       '存货分类
  429.                     SqlStr = "select * from chhs_dfacc where msort like '" & Msortcode & "%'"
  430.                     Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  431.                     If Not Rectemp.EOF Then
  432.                         Xtfhcs = Rectemp.Fields("dfacct")
  433.                         Exit Sub
  434.                     End If
  435.               End If
  436.             End If
  437.          Else
  438.             If Trim(Deptcode) <> "" Then
  439.                 '部门+存货分类
  440.                 SqlStr = "select * from chhs_dfacc where  " & _
  441.                         " deptcode='" & Deptcode & "' and msort like '" & Msortcode & "%' "
  442.                 Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  443.                 If Not Rectemp.EOF Then
  444.                     Xtfhcs = Rectemp.Fields("dfacct")
  445.                 Else
  446.                     '部门
  447.                     SqlStr = "select * from chhs_dfacc where deptcode='" & Deptcode & "'"
  448.                     Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  449.                     If Not Rectemp.EOF Then
  450.                         Xtfhcs = Rectemp.Fields("dfacct")
  451.                         Exit Sub
  452.                     End If
  453.                     
  454.                     '存货分类
  455.                     SqlStr = "select * from chhs_dfacc where  msort like '" & Msortcode & "%'"
  456.                     Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  457.                     If Not Rectemp.EOF Then
  458.                         Xtfhcs = Rectemp.Fields("dfacct")
  459.                     End If
  460.                 End If
  461.             Else
  462.                 '存货分类
  463.                 SqlStr = "select * from chhs_dfacc where msort like '" & Msortcode & "%'"
  464.                 Set Rectemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  465.                 If Not Rectemp.EOF Then
  466.                     Xtfhcs = Rectemp.Fields("dfacct")
  467.                 End If
  468.             End If
  469.         End If
  470.     End If
  471. End Sub
  472. Public Function Sub_Records(mDate As Date, mRecrod As String) As Boolean      '单据当天记录集
  473.     Dim RecQuery As Recordset
  474.     Dim SqlStr As String
  475.     
  476.     Sub_Records = True
  477.     SqlStr = "Select InOutMainId from " & mRecrod & " a LEFT OUTER JOIN Gy_Whlimit " & _
  478.             " ON a.WhCode = Gy_Whlimit.WhCode " & _
  479.             " Where  BillDate='" & mDate & "' and Gy_Whlimit.Czybm='" & Xtczybm & "'"
  480.     Set RecQuery = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  481.     If RecQuery.EOF Then
  482.         Sub_Records = False
  483.     End If
  484.     
  485. End Function