%
Function HojyoboSyohinAridakatyo(EnshuCD, KaisyaCD, SakuseiKaisyaCD, BunsyoSyuruiCD, BunsyoNaiyoCD, AutoFlg, PrintFlg, Param1, Param2, Param3)
Dim SyohinCD
SyohinCD = BunsyoNaiyoCD
Dim RowBreakNum, RowCount
Dim Page,Dummy
RowCount = 0
If PrintFlg = 1 Then
RowBreakNum = 35
Else
RowBreakNum = MaxRowBreakNum
MaxPage = 1
End If
Dim DbKarikataKingakuTotal
Dim DbKashikataKingakuTotal
DbKarikataKingakuTotal = 0
DbKashikataKingakuTotal = 0
Dim KaikeiKaishibi, KaikeiSyuryobi
Query = "exec SPM演習取得 '" & GB_SystemCD & "','" & EnshuCD & "'"
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
KaikeiKaishibi = Content.Fields("会計開始日")
KaikeiSyuryobi = Content.Fields("会計終了日")
End If
If Param1 <> "" Then
KaikeiSyuryobi = Param1
End If
Dim PageType
If AutoFlg = 1 Then
Query = "exec SPR入出庫在庫明細 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "','" & SyohinCD & "','" & KaikeiSyuryobi & "'"
PageType = "商品在庫"
Else
Query = "exec SPK補助簿_商品有高帳取得 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "','" & SyohinCD & "'"
PageType = "商品有高帳"
End If
Set Content = OpenQuery(Query)
Dim KeisanHoho
Dim Tani
Dim Query, Content
Dim Query1, Content1
If AutoFlg = 0 Then
If Not(Content.BOF Or Content.EOF) Then
KeisanHoho = Content.Fields("商品有高帳計算区分")
Tani = Content.Fields("単位")
End If
Else
Query1 = "exec SPM商品取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & SyohinCD & "'"
Set Content1 = OpenQuery(Query1)
If Not(Content1.BOF Or Content1.EOF) Then
Tani = Content1.Fields("単位")
End If
If BunsyoSyuruiCD = "MJ" Then
KeisanHoho = "IH"
Else
KeisanHoho = "SS"
End If
End If
Dim MyTable()
ReDim MyTable(12, 0)
Dim ii, jj ,kk
ii = 1
If BunsyoSyuruiCD = "MJ" Or AutoFlg = 0 Then '06/06/28
Do While Not(Content.BOF Or Content.EOF)
'移動平均法の場合の処理はここで行います。2006/06/27 By Hamada
Dim SyohinAridakatyoCD, Torihikibi,TorihikisakiMeisyo
Dim UkebaraiKubun, UkeireSuryo, UkeireTanka, UkeireKingaku
Dim HaraidashiSuryo, HaraidashiTanka, HaraidashiKingaku
Dim ZandakaSuryo, ZandakaTanka, ZandakaKingaku
Dim bOriginal
If AutoFlg = 0 Then
'Dummy = "あれ"
Torihikibi = Content.Fields("取引日")
KeisanHoho = Content.Fields("商品有高帳計算区分")
UkebaraiKubun = Content.Fields("受払区分名称")
UkeireSuryo = Content.Fields("受入数量")
UkeireTanka = Content.Fields("受入単価")
UkeireKingaku = Content.Fields("受入金額")
HaraidashiSuryo = Content.Fields("払出数量")
HaraidashiTanka = Content.Fields("払出単価")
HaraidashiKingaku = Content.Fields("払出金額")
ZandakaSuryo = Content.Fields("残高数量")
ZandakaTanka = Content.Fields("残高単価")
ZandakaKingaku = Content.Fields("残高金額")
Else
'Dummy = "これ"
Torihikibi = SetTimeMMDD(Content.Fields("処理日"))
Select Case Content.fields("文書種類CD")
Case "SC" 'オ商入庫
UkebaraiKubun = "オ商入庫"
UkeireSuryo = Content.fields("数量")
UkeireTanka = Content.fields("単価")
HaraidashiSuryo = 0
HaraidashiTanka = 0
bOriginal = 1
Case "SS" '仕入入庫
If Content.fields("文書内容CD") = 0 Then
UkebaraiKubun = "前期繰越"
Else
UkebaraiKubun = "仕入"
End If
UkeireSuryo = Content.fields("数量")
UkeireTanka = Content.fields("単価")
HaraidashiSuryo = 0
HaraidashiTanka = 0
Case "SU" '売上出庫
UkebaraiKubun = "売上"
UkeireSuryo = 0
UkeireTanka = 0
HaraidashiSuryo = Content.fields("数量")
HaraidashiTanka = ZandakaTanka 'Content.fields("単価")
Case "SX" '仕入返品
UkebaraiKubun = "仕入返品"
UkeireSuryo = 0
UkeireTanka = 0
HaraidashiSuryo = Content.fields("数量")
HaraidashiTanka = Content.fields("単価")
Case "SY" '売上返品
UkebaraiKubun = "売上返品"
UkeireSuryo = Content.fields("数量")
UkeireTanka = ZandakaTanka 'Content.fields("単価")
HaraidashiSuryo = 0
HaraidashiTanka = 0
Case Else
UkebaraiKubun = "その他"
UkeireSuryo = Content.fields("数量")
UkeireTanka = Content.fields("単価")
HaraidashiSuryo = Content.fields("数量")
HaraidashiTanka = Content.fields("単価")
End Select
If IsNull(UkeireSuryo) Or UkeireSuryo="" Then
UkeireSuryo = 0
End If
If IsNull(UkeireTanka) Or UkeireTanka="" Then
UkeireTanka = 0
End If
If IsNull(HaraidashiSuryo) Or HaraidashiSuryo="" Then
HaraidashiSuryo = 0
End If
If IsNull(HaraidashiTanka) Or HaraidashiTanka="" Then
HaraidashiTanka = 0
End If
UkeireKingaku = UkeireSuryo * UkeireTanka
HaraidashiKingaku = HaraidashiSuryo * HaraidashiTanka
ZandakaSuryo = ZandakaSuryo + UkeireSuryo - HaraidashiSuryo
ZandakaKingaku = ZandakaKingaku + UkeireKingaku - HaraidashiKingaku
If ZandakaSuryo <> 0 Then
ZandakaTanka = Clng(ZandakaKingaku / ZandakaSuryo)
Else
ZandakaTanka = 0
End If
ZandakaKingaku = ZandakaTanka * ZandakaSuryo
End If
TorihikisakiMeisyo = Content.Fields("取引先名称")
ReDim Preserve MyTable(12, ii)
MyTable(1, ii) = Torihikibi
MyTable(2, ii) = UkebaraiKubun
MyTable(3, ii) = TorihikisakiMeisyo
MyTable(4, ii) = UkeireSuryo
MyTable(5, ii) = UkeireTanka
MyTable(6, ii) = UkeireKingaku
MyTable(7, ii) = HaraidashiSuryo
MyTable(8, ii) = HaraidashiTanka
MyTable(9, ii) = HaraidashiKingaku
MyTable(10, ii) = ZandakaSuryo
If ZandakaSuryo = 0 Then '表示のバグ修正 BY HAMADA 06/06/27
MyTable(11, ii) = HaraidashiTanka
Else
MyTable(11, ii) = ZandakaTanka
End If
MyTable(12, ii) = ZandakaKingaku
ii = ii + 1
Content.MoveNext
Loop
Else
Dim Zaikos()
ReDim Zaikos(9, 0)
Dim mm
mm = 0
Do While Not(Content.BOF Or Content.EOF)
Dim TankaA, SuryoA
Dim PlusMinus, TargetSell
RowCount = RowCount + 1
TankaA = Content.fields("単価")
SuryoA = Content.fields("数量")
Select Case Content.fields("文書種類CD")
Case "SC" 'オ商入庫
UkebaraiKubun = "オ商入庫"
PlusMinus = 1
TargetSell = 4
bOriginal = 1
Case "SS" '仕入入庫
If Content.fields("文書内容CD") = 0 Then
UkebaraiKubun = "前期繰越"
Else
UkebaraiKubun = "仕入"
End If
PlusMinus = 1
TargetSell = 4
Case "SU" '売上出庫
UkebaraiKubun = "売上"
PlusMinus = -1
TargetSell = 5
Case "SX" '仕入返品
UkebaraiKubun = "仕入返品"
PlusMinus = -1
TargetSell = 5
Case "SY" '売上返品
UkebaraiKubun = "売上返品"
PlusMinus = 1
TargetSell = 4
Case Else
UkebaraiKubun = "その他"
PlusMinus = 1
TargetSell = 4
End Select
Dim bExist
bExist = 0
For jj = 1 To UBound(Zaikos, 2)
For kk = 4 To 9
Zaikos(kk, jj) = 0
Next
Next
For jj = UBound(Zaikos, 2) To 1 Step -1
If Zaikos(1, jj) = TankaA Then
Zaikos(3, jj) = Zaikos(3, jj) + PlusMinus * SuryoA
Zaikos(TargetSell, jj) = SuryoA
If Zaikos(3, jj) = 0 Then
Zaikos(0, jj) = -1
End If
bExist = 1
End If
Next
If bExist = 0 Then
ReDim Preserve Zaikos(9, UBound(Zaikos, 2) + 1)
Zaikos(0, UBound(Zaikos, 2)) = 1
Zaikos(1, UBound(Zaikos, 2)) = TankaA
Zaikos(2, UBound(Zaikos, 2)) = PlusMinus * SuryoA
Zaikos(3, UBound(Zaikos, 2)) = PlusMinus * SuryoA
Zaikos(TargetSell, UBound(Zaikos, 2)) = SuryoA
End If
Dim Mokuji
Mokuji = Array("有効フラグ","単価","過去", "現在庫", "今回入","今回出")
ii = 0
bExist = 0
Dim ll
For jj = 1 To UBound(Zaikos, 2)
Dim StyleStr
'If Zaikos(0, jj) = 1 Then
ii = ii + 1
mm = mm + 1
bExist = 1
ReDim Preserve MyTable(12, mm)
If ii = 1 Then
ll = 1
StyleStr = "style=""border-style: solid solid none solid;"""
MyTable(1, mm) = (Content.fields("処理日"))
MyTable(3, mm) = Content.fields("取引先名称")
MyTable(2, mm) = UkebaraiKubun
Else
MyTable(1, mm) = ""
MyTable(2, mm) = ""
MyTable(3, mm) = ""
End If
bExist = 0
For kk = ll To UBound(Zaikos, 2)
ll = kk + 1
If Zaikos(4, kk) <> 0 Or Zaikos(5, kk) <> 0 Then
If Zaikos(4, kk) <> 0 Then
MyTable(4, mm) = Zaikos(4, kk)
MyTable(5, mm) = Zaikos(1, kk)
MyTable(6, mm) = Zaikos(4, kk) * Zaikos(1, kk)
Else
MyTable(4, mm) = ""
MyTable(5, mm) = ""
MyTable(6, mm) = ""
End If
If Zaikos(5, kk) <> 0 Then
MyTable(7, mm) = Zaikos(5, kk)
MyTable(8, mm) = Zaikos(1, kk)
MyTable(9, mm) = Zaikos(5, kk) * Zaikos(1, kk)
Else
MyTable(7, mm) = ""
MyTable(8, mm) = ""
MyTable(9, mm) = ""
End If
bExist = 1
Exit For
End If
Next
If bExist = 0 Then
MyTable(4, mm) = ""
MyTable(5, mm) = ""
MyTable(6, mm) = ""
MyTable(7, mm) = ""
MyTable(8, mm) = ""
MyTable(9, mm) = ""
End if
'表示のバグ修正 BY HAMADA 06/06/27
If Zaikos(3, jj) <> 0 Then
MyTable(10, mm) = Zaikos(3, jj)
MyTable(11, mm) = Zaikos(1, jj)
MyTable(12, mm) = Zaikos(3, jj) * Zaikos(1, jj)
Else
MyTable(10, mm) = "0"
MyTable(11, mm) = Zaikos(1, jj)
MyTable(12, mm) = "0"
End If
'End If
'If Zaikos(3, jj) = 0 And Zaikos(1, jj) = MyTable(8, mm) Then '売り上げて在庫0になるとき
' Zaikos(0, jj) = 0
'End If
Next
Content.MoveNext
Loop
End If
If PrintFlg = 0 Then
%>
<%
End If
Dim WidthCell1, WidthCell2, WidthCell3, WidthCell4, WidthParent, WidthParent2
If PrintFlg = 0 Then
WidthCell1 = 54
WidthCell2 = 67
WidthCell3 = 45
WidthCell4 = 69
WidthParent = 745
WidthParent2 = 724
Else
WidthCell1 = 49
WidthCell2 = 61
WidthCell3 = 39
WidthCell4 = 59
WidthParent = 630
WidthParent2 = 630
End If
For Page = 1 To MaxPage
If Page <> 1 Then
Response.Write("")
End If
%>
<%
If PrintFlg = 1 Then
Response.Write(PrintHeader1(AutoFlg))
End if
%>
|
<% = SetStringInsertSpace(PageType) %> |
<% If AutoFlg <> -1 And PrintFlg = 1 Then %><% = Page %>ページ<% End If %> |
|
計算方法 : <%= Dummy %><%
Response.Write(ConvKubunMeisyo("商品有高帳計算区分", KeisanHoho))
%> |
left<% Else %>center<% End If %>">
商品名 :<% = ConvSyohinMeisyo(SyohinCD) %>
|
単位:<%
Response.Write(Tani)
%> |
|
取引 日 |
摘 要 |
受 入 |
払 出 |
残 高 |
受払区分 |
取引先 |
数量 |
単価 |
金額 |
数量 |
単価 |
金額 |
数量 |
単価 |
金額 |
<% If PrintFlg <> 1 Then %>
|
<% End If %>
<%
ii = 0
If SyohinCD <> "" Then
For jj = 1 To RowBreakNum
If ii + 1 > Ubound(MyTable, 2) Then
Exit For
End If
RowCount = RowCount + 1
Response.Write("" & vbCrLf)
Response.Write("" & SetDateStr(MyTable(1, ii + 1), "MM/DD") & " | " & vbCrLf)
Response.Write("" & MyTable(2, ii + 1) & " | " & vbCrLf)
Response.Write("" & MyTable(3, ii + 1) & " | " & vbCrLf)
Response.Write("" & ConvIntToMoney(MyTable(4, ii + 1), false, true) & " | " & vbCrLf)
Response.Write("" & ConvIntToMoney(MyTable(5, ii + 1), false, true) & " | " & vbCrLf)
Response.Write("" & ConvIntToMoney(MyTable(6, ii + 1), false, true) & " | " & vbCrLf)
Response.Write("" & ConvIntToMoney(MyTable(7, ii + 1), false, true) & " | " & vbCrLf)
Response.Write("" & ConvIntToMoney(MyTable(8, ii + 1), false, true) & " | " & vbCrLf)
Response.Write("" & ConvIntToMoney(MyTable(9, ii + 1), false, true) & " | " & vbCrLf)
'表示のバグ修正 BY HAMADA 06/06/27
If MyTable(10, ii + 1) = "0" Then
Response.Write("" & MyTable(10, ii + 1) & " | " & vbCrLf)
Else
Response.Write("" & ConvIntToMoney(MyTable(10, ii + 1), false, true) & " | " & vbCrLf)
End If
Response.Write("" & ConvIntToMoney(MyTable(11, ii + 1), false, true) & " | " & vbCrLf)
If MyTable(12, ii + 1) = "0" Then
Response.Write("" & MyTable(12, ii + 1) & " | " & vbCrLf)
Else
Response.Write("" & ConvIntToMoney(MyTable(12, ii + 1), false, true) & " | " & vbCrLf)
End If
Response.Write(" " & vbCrLf)
ii = ii + 1
If (RowCount Mod RowBreakNum = 0) Then
Exit For
End If
Next
End If
For jj = RowCount + 1 To Max(15, Max(RowBreakNum, (Int((RowCount - 1) / RowBreakNum) + 1) * RowBreakNum) * PrintFlg)
Response.Write("" & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" | " & vbCrLf)
Response.Write(" ")
Next
%>
<% If PrintFlg <> 1 Then %>
<% End If %>
|
<%
If PrintFlg = 1 Then
Response.Write(PrintFooter())
End If
%>
|
|
<%
If (Content.BOF Or Content.EOF) Then
Exit For
End If
Next
If PrintFlg = 0 Then
%>
|
|
<%
End if
End Function
%>