<% Function HojyoboUrikaikakekintyo(EnshuCD, KaisyaCD, SakuseiKaisyaCD, BunsyoSyuruiCD, BunsyoNaiyoCD, RouteType, AutoFlg, PrintFlg) Dim Query Dim Content Dim TorihikisakiCD TorihikisakiCD = BunsyoNaiyoCD Dim Label Dim Mode Dim PageType If BunsyoSyuruiCD = "ME" Then Label = "売掛金元帳" Mode = "AC" PageType = "Urikake" Else Label = "買掛金元帳" Mode = "AD" PageType = "Kaikake" End If Dim RowBreakNum, RowCount Dim Page RowCount = 0 If PrintFlg = 1 Then RowBreakNum = 33 Else RowBreakNum = MaxRowBreakNum MaxPage = 1 End If Dim DbKarikataKingakuTotal Dim DbKashikataKingakuTotal DbKarikataKingakuTotal = 0 DbKashikataKingakuTotal = 0 Dim KarikataKingakuTotal Dim KashikataKingakuTotal KarikataKingakuTotal = 0 KashikataKingakuTotal = 0 '記帳の有無を確認するフラグ(照会集計画面用) Dim KichoFlg Set KichoFlg = Server.CreateObject("Scripting.Dictionary") '記帳の有無を確認するフラグ(照会集計画面用) Query = "" Query = Query & " " Query = Query & " SELECT 取引先CD, COUNT(" & Label & "CD) AS 記帳数 " Query = Query & " FROM TSK補助簿_" & Label & "F " Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' AND 演習CD = '" & EnshuCD & "' AND 会社CD = '" & GB_KaisyaCD & "' " Query = Query & " GROUP BY 取引先CD " Query = Query & " " Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) ' 引数は確実に文字列指定しないとダメ KichoFlg("" & Content.Fields("取引先CD")) = "" & Content.Fields("記帳数") Content.MoveNext Loop If Label = "売掛金元帳" Then If AutoFlg = "2" Then If InStr(Request.ServerVariables("URL"), "fm_tyohyo_") > 0 And TorihikisakiCD = "" Then Query = "exec SPK自動転記補助簿照会 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "', '" & Mode & "', 'ALLALLALLALLALLALL', '', ''" Else '記帳の有無を確認するフラグ(照会集計画面用) Query = "exec SPK自動転記補助簿照会 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "', '" & Mode & "', 'ALLALLALLALLALLALL', '', ''" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) If "" & Content.Fields("取引先名称") = "" Then ' 引数は確実に文字列指定しないとダメ KichoFlg("SJ4KOURIHANBAI") = "1" '小売販売は名称NULLで取得されるので「SJ4KOURIHANBAI」名称にしておく Else ' 引数は確実に文字列指定しないとダメ KichoFlg("" & Content.Fields("取引先名称")) = "1" '名称しか取得できないので名称基準 End If Content.MoveNext Loop Query = "exec SPK自動転記補助簿照会 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "', '" & Mode & "', '" & TorihikisakiCD & "', '', ''" End If Label = Label & "(自動)" ElseIf TorihikisakiCD <> "" Then Query = "exec SPK補助簿_売掛金元帳取得 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "','" & TorihikisakiCD & "'" Else Query = "exec SPK補助簿_売掛金元帳取得_取引先別残高一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "'" End If Else If AutoFlg = "2" Then If InStr(Request.ServerVariables("URL"), "fm_tyohyo_") > 0 And TorihikisakiCD = "" Then Query = "exec SPK自動転記補助簿照会 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "', '" & Mode & "', 'ALLALLALLALLALLALL', '', ''" Else '記帳の有無を確認するフラグ(照会集計画面用) Query = "exec SPK自動転記補助簿照会 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "', '" & Mode & "', 'ALLALLALLALLALLALL', '', ''" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) ' 引数は確実に文字列指定しないとダメ KichoFlg("" & Content.Fields("取引先名称")) = "1" '名称しか取得できないので名称基準 Content.MoveNext Loop Query = "exec SPK自動転記補助簿照会 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "', '" & Mode & "', '" & TorihikisakiCD & "', '', ''" End If Label = Label & "(自動)" ElseIf TorihikisakiCD <> "" Then Query = "exec SPK補助簿_買掛金元帳取得 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "','" & TorihikisakiCD & "'" Else Query = "exec SPK補助簿_買掛金元帳取得_取引先別残高一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "'" End If End If 'Response.Write(Query) 'Exit Function Set Content = OpenQuery(Query) If PrintFlg = 0 Then %>
<% End If For Page = 1 To MaxPage If Page <> 1 Then Response.Write(PageBreakBefore) End If %>
<% If PrintFlg = 1 Then Response.Write(PrintHeader1(AutoFlg)) End if %>
<% If PrintFlg = "1" And AutoFlg <> "2" And TorihikisakiCD = "" Then %> <% ElseIf AutoFlg = "2" Or RouteType = "ViewOnly" Then %> <% ElseIf TorihikisakiCD <> "" Then %> <% Else %> <% End If %> <% If (Content.BOF Or Content.EOF) Then %> <% End If %>
<% = SetStringInsertSpace(Label) %> <% If AutoFlg <> -1 And PrintFlg = 1 Then %><% = Page %>ページ<% End If %>
取引先別残高一覧取引先:<% If (AutoFlg = 2 Or RouteType = "ViewOnly") And PrintFlg <> 1 And InStr(Request.ServerVariables("URL"), "fm_tyohyo_main.asp") < 1 Then If AutoFlg = 2 Then Response.Write("" & vbCrLf) Else Response.Write(ConvKaisyaMeisyoDx(EnshuCD, TorihikisakiCD)) End If %>取引先:<% =ConvKaisyaMeisyoDx(EnshuCD, TorihikisakiCD) %>取引先別残高一覧
<% If AutoFlg = "2" And InStr(Request.ServerVariables("URL"), "fm_tyohyo_") > 0 And TorihikisakiCD = "" Then %> <% ElseIf AutoFlg = "2" Or TorihikisakiCD <> "" Then %> <% Else %> <% End If %>
取引先取引日 摘要取引先借方金額 貸方金額 貸借 残高
<% If PrintFlg <> 1 Then %>
<% End If %> <% Dim ii,jj ii = 0 If AutoFlg = "2" And TorihikisakiCD = "" And InStr(Request.ServerVariables("URL"), "fm_tyohyo_") > 1 Then '書類一覧で取引先未指定の場合は取引先別集計 Dim KaishaAry Dim KarikataAry Dim KashikataAry Redim KaishaAry(0) Redim KarikataAry(0) Redim KashikataAry(0) Query = "exec SPM会社全部一覧 '" & GB_SystemCD & "','" & EnshuCD & "','" & GakuseiNo & "'" Set ContentTorisaki = OpenQuery(Query) Do While Not(ContentTorisaki.BOF Or ContentTorisaki.EOF) If ContentTorisaki.Fields("会社CD") <> "" And ContentTorisaki.Fields("会社CD") <> KaisyaCD And ContentTorisaki.Fields("業種CD") <> "B" Then '銀行を除外 Redim Preserve KaishaAry(UBound(KaishaAry) + 1) Redim Preserve KarikataAry(UBound(KaishaAry)) Redim Preserve KashikataAry(UBound(KaishaAry)) KaishaAry(UBound(KaishaAry)) = "" & ContentTorisaki.Fields("会社CD") KarikataAry(UBound(KaishaAry)) = 0 KashikataAry(UBound(KaishaAry)) = 0 End If ContentTorisaki.MoveNext Loop Dim KCnt Do While Not(Content.BOF Or Content.EOF) For KCnt = 1 To UBound(KaishaAry) If "" & Content.Fields("摘要CD") <> "" And KaishaAry(KCnt) = "" & Content.Fields("摘要CD") Then KarikataAry(KCnt) = KarikataAry(KCnt) + Content.Fields("借方金額") KashikataAry(KCnt) = KashikataAry(KCnt) + Content.Fields("貸方金額") Exit For End If Next Content.MoveNext Loop For KCnt = 1 To UBound(KaishaAry) If KarikataAry(KCnt) < KashikataAry(KCnt) Then TaisyakuName = "貸" Zandaka = KashikataAry(KCnt) - KarikataAry(KCnt) ElseIf KarikataAry(KCnt) > KashikataAry(KCnt) Then TaisyakuName = "借" Zandaka = KarikataAry(KCnt) - KashikataAry(KCnt) Else TaisyakuName = "" Zandaka = 0 End If Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Next For jj = RowCount + 1 To Max(30, 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("") Next Else '自動では仕入売上伝票の商品点数分だけ明細が取得されてしまうため '伝票番号単位で動作させるフラグで制御する Dim TmpDenpyoNo TmpDenpyoNo = "" Dim TmpOutputFlg Do While Not(Content.BOF Or Content.EOF) TmpOutputFlg = 0 If AutoFlg = "2" Then ' 仕入売上伝票以外は全明細を取得する If (Content.Fields("伝票区分") <> "D3" And Content.Fields("伝票区分") <> "D4") Or TmpDenpyoNo <> "" & Content.Fields("伝票番号") Then TmpDenpyoNo = "" & Content.Fields("伝票番号") TmpOutputFlg = 1 End If Else TmpOutputFlg = 1 End If If TmpOutputFlg = 1 Then RowCount = RowCount + 1 Dim UrikaikakekintyoCD, Torihikibi, Tekiyo, KarikataKingaku, KashikataKingaku,Taisyaku,Zandaka,TaisyakuName If AutoFlg = "2" Then TmpDenpyoNo = "" & Content.Fields("伝票番号") DbKarikataKingakuTotal = DbKarikataKingakuTotal + Content.Fields("借方金額") DbKashikataKingakuTotal = DbKashikataKingakuTotal + Content.Fields("貸方金額") If DbKarikataKingakuTotal < DbKashikataKingakuTotal Then TaisyakuName = "貸" Zandaka = DbKashikataKingakuTotal - DbKarikataKingakuTotal ElseIf DbKarikataKingakuTotal > DbKashikataKingakuTotal Then TaisyakuName = "借" Zandaka = DbKarikataKingakuTotal - DbKashikataKingakuTotal Else TaisyakuName = "" Zandaka = 0 End If Torihikibi = SetTimeYYYYMMDD(Content.Fields("取引日")) Tekiyo = "" & Content.Fields("伝票摘要") If Tekiyo = "" Then Tekiyo = "" & Content.Fields("摘要") End If ElseIf TorihikisakiCD <> "" Then If Label = "売掛金元帳" Then UrikaikakekintyoCD = Content.Fields("売掛金元帳CD") Else UrikaikakekintyoCD = Content.Fields("買掛金元帳CD") End If Torihikibi = SetTimeYYYYMMDD(Content.Fields("取引日")) Tekiyo = Content.Fields("摘要") TaisyakuName = Content.Fields("貸借略区分名称") Zandaka = Content.Fields("残高") Else If Content.Fields("残高") < 0 Then TaisyakuName = "貸" Zandaka = Content.Fields("残高") * -1 Else TaisyakuName = "借" Zandaka = Content.Fields("残高") End If End If KarikataKingaku = Content.Fields("借方金額") KashikataKingaku = Content.Fields("貸方金額") If AutoFlg = "2" Or TorihikisakiCD <> "" Then If "" & KarikataKingaku <> "" Then KarikataKingakuTotal = KarikataKingakuTotal + KarikataKingaku End If If "" & KashikataKingaku <> "" Then KashikataKingakuTotal = KashikataKingakuTotal + KashikataKingaku End If 'ElseIf "" & Content.Fields("取引先CD") <> "" Then ElseIf "" & ConvKaisyaMeisyoDx(EnshuCD, Content.Fields("取引先CD")) <> "" Then If "" & KarikataKingaku <> "" Then KarikataKingakuTotal = KarikataKingakuTotal + KarikataKingaku End If If "" & KashikataKingaku <> "" Then KashikataKingakuTotal = KashikataKingakuTotal + KashikataKingaku End If End If If AutoFlg = "2" Or TorihikisakiCD <> "" Then Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) 'ElseIf "" & Content.Fields("取引先CD") <> "" Then ElseIf "" & ConvKaisyaMeisyoDx(EnshuCD, Content.Fields("取引先CD")) <> "" Then Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) End If ii = ii + 1 Response.Write("") End If Content.MoveNext If (RowCount Mod RowBreakNum = 0) Then Exit Do End If Loop For jj = RowCount + 1 To Max(30, Max(RowBreakNum, (Int((RowCount - 1) / RowBreakNum) + 1) * RowBreakNum) * PrintFlg) Response.Write("" & vbCrLf) If AutoFlg = "2" Or TorihikisakiCD <> "" Then Response.Write("" & vbCrLf) End If Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("") Next End If %>
" & ConvKaisyaMeisyoDx(EnshuCD, KaishaAry(KCnt)) & "" & ConvIntToMoney(KarikataAry(KCnt), false, false) & "" & ConvIntToMoney(KashikataAry(KCnt), false, false) & "" & TaisyakuName & "" & ConvIntToMoney(Zandaka, false, false) & "
" & Torihikibi & "" & HardWrap(Tekiyo) & "" & ConvIntToMoney(KarikataKingaku, false, true) & "" & ConvIntToMoney(KashikataKingaku, false, true) & "" & TaisyakuName & "" & ConvIntToMoney(Zandaka, false, true) & "
" & ConvKaisyaMeisyoDx(EnshuCD, Content.Fields("取引先CD")) & "" & ConvIntToMoney(KarikataKingaku, false, false) & "" & ConvIntToMoney(KashikataKingaku, false, false) & "" & TaisyakuName & "" & ConvIntToMoney(Zandaka, false, false) & "
<% If PrintFlg <> 1 Then %>
<% End If %>
合計 <% = ConvIntToMoney(KarikataKingakuTotal, false, true) %> <% = ConvIntToMoney(KashikataKingakuTotal, false, true) %>  
<% 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 %>