<% Function TyoboSokanjyoMototyoH(EnshuCD, KaisyaCD, SakuseiKaisyaCD, BunsyoSyuruiCD, BunsyoNaiyoCD, AutoFlg, PrintFlg, Param1, Param2, Param3) Dim RowBreakNum, RowCount Dim Page RowCount = 0 Dim ZandakaTotal,KarikataKingakuTotal,KashikataKingakuTotal Dim KarikataMonthTotal,KashikataMonthTotal KarikataMonthTotal = 0 KashikataMonthTotal = 0 '改ページ制御のためのフラグ '※月計と累計の間では改行させないよう改ページ判定時にフラグを利用する '※フラグが立っている際は下部空白行を表示しないようにする(印刷用) Dim RowBrakeFlg RowBrakeFlg = 0 If PrintFlg = 1 Then RowBreakNum = 40 Else RowBreakNum = MaxRowBreakNum MaxPage = 1 End If Dim KanjyoCD KanjyoCD = BunsyoNaiyoCD Dim Query Dim Content Dim ii, jj ii = 0 '伝票番号表示モード Dim ShichoDenpyo Dim JidoBangoDenpyo '月計累計表示フラグ Dim MonthTotalHyoji Dim KaikeiKaishibi, KaikeiSyuryobi Query = "exec SPM演習取得 '" & GB_SystemCD & "','" & EnshuCD & "'" Set Content = OpenQuery(Query) If Not(Content.BOF Or Content.EOF) Then JidoBangoDenpyo = "" & Content.Fields("自動番号伝票") ShichoDenpyo = "" & Content.Fields("自動転記総勘定元帳仕丁表示") KaikeiKaishibi = Content.Fields("会計開始日") KaikeiSyuryobi = Content.Fields("会計終了日") MonthTotalHyoji = "" & Content.Fields("総勘定元帳月計累計利用") End If If MonthTotalHyoji = "" Then MonthTotalHyoji = "0" End If 'MonthTotalHyoji = "2" 'ShichoDenpyo = "1" If ShichoDenpyo = "" Or AutoFlg <> 1 Then ShichoDenpyo = "0" End If Dim ContentKarikata, ContentKashikata Dim SyoruiMei If AutoFlg = 0 Then Query = "exec SPK帳簿_総勘定元帳取得 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "', '" & KanjyoCD & "'" SyoruiMei = "総勘定元帳" ElseIf AutoFlg = 1 Then Query = "exec SPK自動転記帳簿_総勘定元帳照会 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "','" & KanjyoCD & "','" & Param1 & "','" & KaikeiKaishibi & "','" & Param2 & "'" SyoruiMei = "総勘定元帳(自動)" Else Query = "SELECT * FROM TC1システムM WHERE 1 = 0" SyoruiMei = "総勘定元帳" End If ' Set ContentKarikata = OpenQuery(Query) ' Set ContentKashikata = OpenQuery(Query) Set Content = OpenQuery(Query) 'デバッグ用 'MonthTotalHyoji = "1" '先に行配列に分解する Dim KarikataTorihikibi Dim KarikataTekiyo2 Dim KarikataAiteKanjyo Dim KarikataShityo Dim KarikataKingaku Dim KashikataTorihikibi Dim KashikataTekiyo2 Dim KashikataAiteKanjyo Dim KashikataShityo Dim KashikataKingaku Dim RowMonthAry Dim BottomLine ReDim KarikataTorihikibi(0) ReDim KarikataTekiyo2(0) ReDim KarikataAiteKanjyo(0) ReDim KarikataShityo(0) ReDim KarikataKingaku(0) ReDim KashikataTorihikibi(0) ReDim KashikataTekiyo2(0) ReDim KashikataAiteKanjyo(0) ReDim KashikataShityo(0) ReDim KashikataKingaku(0) ReDim RowMonthAry(0) ReDim BottomLine(0) If MonthTotalHyoji = "0" Then Do While Not(Content.BOF Or Content.EOF) If "" & Content.Fields("借方金額") <> "" And "" & Content.Fields("借方金額") <> "0" Then ReDim PreServe KarikataTorihikibi(UBound(KarikataTorihikibi) + 1) ReDim PreServe KarikataTekiyo2(UBound(KarikataTekiyo2) + 1) ReDim PreServe KarikataAiteKanjyo(UBound(KarikataAiteKanjyo) + 1) ReDim PreServe KarikataShityo(UBound(KarikataShityo) + 1) ReDim PreServe KarikataKingaku(UBound(KarikataKingaku) + 1) KarikataTorihikibi(UBound(KarikataTorihikibi)) = SetTimeYYYYMMDD(Content.Fields("取引日")) KarikataTekiyo2(UBound(KarikataTekiyo2)) = Content.Fields("摘要") If AutoFlg = 1 And "" & KarikataTekiyo2(UBound(KarikataTekiyo2)) = "" Then KarikataTekiyo2(UBound(KarikataTekiyo2)) = "" & Content.Fields("伝票摘要") End If KarikataAiteKanjyo(UBound(KarikataAiteKanjyo)) = Content.Fields("相手勘定CD") KarikataShityo(UBound(KarikataShityo)) = Content.Fields("仕丁") If ShichoDenpyo = "1" And AutoFlg = 1 Then KarikataShityo(UBound(KarikataShityo)) = "" & Content.Fields("伝票番号") If JidoBangoDenpyo = "1" Then KarikataShityo(UBound(KarikataShityo)) = Left(KarikataShityo(UBound(KarikataShityo)), 7) '自動伝票番号の枝番切り落とし End If KarikataShityo(UBound(KarikataShityo)) = Right(KarikataShityo(UBound(KarikataShityo)), 5) '下5桁で切り落とし End If KarikataKingaku(UBound(KarikataKingaku)) = Content.Fields("借方金額") ElseIf "" & Content.Fields("貸方金額") <> "" And "" & Content.Fields("貸方金額") <> "0" Then ReDim PreServe KashikataTorihikibi(UBound(KashikataTorihikibi) + 1) ReDim PreServe KashikataTekiyo2(UBound(KashikataTekiyo2) + 1) ReDim PreServe KashikataAiteKanjyo(UBound(KashikataAiteKanjyo) + 1) ReDim PreServe KashikataShityo(UBound(KashikataShityo) + 1) ReDim PreServe KashikataKingaku(UBound(KashikataKingaku) + 1) KashikataTorihikibi(UBound(KashikataTorihikibi)) = SetTimeYYYYMMDD(Content.Fields("取引日")) KashikataTekiyo2(UBound(KashikataTekiyo2)) = Content.Fields("摘要") If AutoFlg = 1 And "" & KashikataTekiyo2(UBound(KashikataTekiyo2)) = "" Then KashikataTekiyo2(UBound(KashikataTekiyo2)) = "" & Content.Fields("伝票摘要") End If KashikataAiteKanjyo(UBound(KashikataAiteKanjyo)) = Content.Fields("相手勘定CD") KashikataShityo(UBound(KashikataShityo)) = Content.Fields("仕丁") If ShichoDenpyo = "1" And AutoFlg = 1 Then KashikataShityo(UBound(KashikataShityo)) = "" & Content.Fields("伝票番号") If JidoBangoDenpyo = "1" Then KashikataShityo(UBound(KashikataShityo)) = Left(KashikataShityo(UBound(KashikataShityo)), 7) '自動伝票番号の枝番切り落とし End If KashikataShityo(UBound(KashikataShityo)) = Right(KashikataShityo(UBound(KashikataShityo)), 5) '下5桁で切り落とし End If KashikataKingaku(UBound(KashikataKingaku)) = Content.Fields("貸方金額") End If Content.MoveNext Loop '借方貸方配列数の整合 If UBound(KarikataTorihikibi) > UBound(KashikataTorihikibi) Then ReDim PreServe KashikataTorihikibi(UBound(KarikataTorihikibi)) ReDim PreServe KashikataTekiyo2(UBound(KarikataTorihikibi)) ReDim PreServe KashikataAiteKanjyo(UBound(KarikataTorihikibi)) ReDim PreServe KashikataShityo(UBound(KarikataTorihikibi)) ReDim PreServe KashikataKingaku(UBound(KarikataTorihikibi)) ElseIf UBound(KarikataTorihikibi) < UBound(KashikataTorihikibi) Then ReDim PreServe KarikataTorihikibi(UBound(KashikataTorihikibi)) ReDim PreServe KarikataTekiyo2(UBound(KashikataTorihikibi)) ReDim PreServe KarikataAiteKanjyo(UBound(KashikataTorihikibi)) ReDim PreServe KarikataShityo(UBound(KashikataTorihikibi)) ReDim PreServe KarikataKingaku(UBound(KashikataTorihikibi)) End If ReDim PreServe BottomLine(UBound(KarikataTorihikibi)) ReDim PreServe RowMonthAry(UBound(KarikataTorihikibi)) For jj = 1 To UBound(BottomLine) BottomLine(jj) = "" Next Else If Not(Content.BOF Or Content.EOF) Then '月計表示のための会計期間月配列 Dim TmpMonth TmpMonth = Month(GB_KaikeiKaishibi) '先頭月 Dim MonthAry ReDim MonthAry(0) Dim MonthFlg ReDim MonthFlg(0) Dim MCnt For MCnt = 0 To 11 ReDim PreServe MonthAry(UBound(MonthAry) + 1) ReDim PreServe MonthFlg(UBound(MonthFlg) + 1) MonthAry(UBound(MonthAry)) = TmpMonth + MCnt MonthFlg(UBound(MonthFlg)) = False '当該月の行存在フラグ If MonthAry(UBound(MonthAry)) > 12 Then MonthAry(UBound(MonthAry)) = MonthAry(UBound(MonthAry)) - 12 End If Next '月ごとに処理 For MCnt = 1 To UBound(MonthAry) Content.MoveFirst Do While Not(Content.BOF Or Content.EOF) If Month(Content.Fields("取引日")) = MonthAry(MCnt) Then If "" & Content.Fields("借方金額") <> "" And "" & Content.Fields("借方金額") <> "0" Then ReDim PreServe KarikataTorihikibi(UBound(KarikataTorihikibi) + 1) ReDim PreServe KarikataTekiyo2(UBound(KarikataTekiyo2) + 1) ReDim PreServe KarikataAiteKanjyo(UBound(KarikataAiteKanjyo) + 1) ReDim PreServe KarikataShityo(UBound(KarikataShityo) + 1) ReDim PreServe KarikataKingaku(UBound(KarikataKingaku) + 1) KarikataTorihikibi(UBound(KarikataTorihikibi)) = SetTimeYYYYMMDD(Content.Fields("取引日")) KarikataTekiyo2(UBound(KarikataTekiyo2)) = Content.Fields("摘要") If AutoFlg = 1 And "" & KarikataTekiyo2(UBound(KarikataTekiyo2)) = "" Then KarikataTekiyo2(UBound(KarikataTekiyo2)) = "" & Content.Fields("伝票摘要") End If KarikataAiteKanjyo(UBound(KarikataAiteKanjyo)) = Content.Fields("相手勘定CD") KarikataShityo(UBound(KarikataShityo)) = Content.Fields("仕丁") If ShichoDenpyo = "1" And AutoFlg = 1 Then KarikataShityo(UBound(KarikataShityo)) = "" & Content.Fields("伝票番号") If JidoBangoDenpyo = "1" Then KarikataShityo(UBound(KarikataShityo)) = Left(KarikataShityo(UBound(KarikataShityo)), 7) '自動伝票番号の枝番切り落とし End If KarikataShityo(UBound(KarikataShityo)) = Right(KarikataShityo(UBound(KarikataShityo)), 5) '下5桁で切り落とし End If KarikataKingaku(UBound(KarikataKingaku)) = Content.Fields("借方金額") ElseIf "" & Content.Fields("貸方金額") <> "" And "" & Content.Fields("貸方金額") <> "0" Then ReDim PreServe KashikataTorihikibi(UBound(KashikataTorihikibi) + 1) ReDim PreServe KashikataTekiyo2(UBound(KashikataTekiyo2) + 1) ReDim PreServe KashikataAiteKanjyo(UBound(KashikataAiteKanjyo) + 1) ReDim PreServe KashikataShityo(UBound(KashikataShityo) + 1) ReDim PreServe KashikataKingaku(UBound(KashikataKingaku) + 1) KashikataTorihikibi(UBound(KashikataTorihikibi)) = SetTimeYYYYMMDD(Content.Fields("取引日")) KashikataTekiyo2(UBound(KashikataTekiyo2)) = Content.Fields("摘要") If AutoFlg = 1 And "" & KashikataTekiyo2(UBound(KashikataTekiyo2)) = "" Then KashikataTekiyo2(UBound(KashikataTekiyo2)) = "" & Content.Fields("伝票摘要") End If KashikataAiteKanjyo(UBound(KashikataAiteKanjyo)) = Content.Fields("相手勘定CD") KashikataShityo(UBound(KashikataShityo)) = Content.Fields("仕丁") If ShichoDenpyo = "1" And AutoFlg = 1 Then KashikataShityo(UBound(KashikataShityo)) = "" & Content.Fields("伝票番号") If JidoBangoDenpyo = "1" Then KashikataShityo(UBound(KashikataShityo)) = Left(KashikataShityo(UBound(KashikataShityo)), 7) '自動伝票番号の枝番切り落とし End If KashikataShityo(UBound(KashikataShityo)) = Right(KashikataShityo(UBound(KashikataShityo)), 5) '下5桁で切り落とし End If KashikataKingaku(UBound(KashikataKingaku)) = Content.Fields("貸方金額") End If End If Content.MoveNext Loop '借方貸方配列数の整合 If UBound(KarikataTorihikibi) > UBound(KashikataTorihikibi) Then ReDim PreServe KashikataTorihikibi(UBound(KarikataTorihikibi)) ReDim PreServe KashikataTekiyo2(UBound(KarikataTorihikibi)) ReDim PreServe KashikataAiteKanjyo(UBound(KarikataTorihikibi)) ReDim PreServe KashikataShityo(UBound(KarikataTorihikibi)) ReDim PreServe KashikataKingaku(UBound(KarikataTorihikibi)) ElseIf UBound(KarikataTorihikibi) < UBound(KashikataTorihikibi) Then ReDim PreServe KarikataTorihikibi(UBound(KashikataTorihikibi)) ReDim PreServe KarikataTekiyo2(UBound(KashikataTorihikibi)) ReDim PreServe KarikataAiteKanjyo(UBound(KashikataTorihikibi)) ReDim PreServe KarikataShityo(UBound(KashikataTorihikibi)) ReDim PreServe KarikataKingaku(UBound(KashikataTorihikibi)) End If Next ReDim PreServe RowMonthAry(UBound(KarikataTorihikibi)) ReDim PreServe BottomLine(UBound(KarikataTorihikibi)) For jj = 1 To UBound(BottomLine) BottomLine(jj) = "" '各行の月を取得 If "" & KarikataTorihikibi(jj) <> "" Then RowMonthAry(jj) = Month(KarikataTorihikibi(jj)) Else RowMonthAry(jj) = Month(KashikataTorihikibi(jj)) End If 'Response.Write(RowMonthAry(jj)) Next For jj = 1 To UBound(BottomLine) - 1 '次行判定なので1行前まで '次行を判定 If RowMonthAry(jj + 1) <> RowMonthAry(jj) Then '月替わりで下線を赤にするフラグ BottomLine(jj) = "b1" End If Next BottomLine(UBound(BottomLine)) = "b1" '最終行は確定 End If End If Dim LoopCnt1 Dim LoopCnt2 LoopCnt1 = 0 LoopCnt2 = 0 If PrintFlg = 0 Then %>
<% End If '↓ウィンドウ幅 Dim WidthParent, WidthParent2 Dim WidthCell1, WidthCell2, WidthCell3, WidthCell4, WidthCell5, WidthCell6, WidthCell7 Dim HeightCell If PrintFlg = 0 Then HeightCell = 23 WidthCell7 = 82 WidthCell3 = 77 WidthCell4 = 108 WidthCell1 = 50 WidthCell5 = 137 WidthCell2 = 91 WidthCell6 = 18 ' WidthParent2 = 811 WidthParent = 853 Else HeightCell = 18 WidthCell7 = 62 WidthCell3 = 69 WidthCell4 = 95 WidthCell1 = 36 WidthCell5 = 110 WidthCell2 = 67 WidthCell6 = 16 ' WidthParent2 = 706 WidthParent = 636 End If '↑ウィンドウ幅 Dim RCnt RCnt = 1 For Page = 1 To MaxPage '無限ループデバッグ用 'LoopCnt2 = LoopCnt2 + 1 If LoopCnt2 > 100 then Response.Write("LoopCnt2") Exit Function End If If Page <> 1 Then Response.Write(PageBreakBefore) End If %>
<% If PrintFlg = 1 Then Response.Write(PrintHeader1(AutoFlg)) End if %>
<% If (MonthTotalHyoji <> "2" Or PrintFlg = 0) Then %> <% End If %>
<% = SetStringInsertSpace(SyoruiMei) %> <% If AutoFlg <> -1 And PrintFlg = 1 Then %><% = Page %>ページ<% End If %>
 <% = ConvKanjyoMeisyoDx(GB_SystemCD, EnshuCD, KanjyoCD) %>  No.<% = KanjyoCD %>
取引日 相手勘定科目 仕丁 借方 取引日 相手勘定科目 仕丁 貸方
<% If PrintFlg <> 1 Then %>
<% End If %> <% ii = 0 RowBrakeFlg = 0 For jj = RCnt To UBound(BottomLine) RCnt = RCnt + 1 RowCount = RowCount + 1 If IsNull(KarikataKingaku(jj)) Or (KarikataKingaku(jj) = "") Then Else KarikataKingakuTotal = KarikataKingakuTotal + KarikataKingaku(jj) KarikataMonthTotal = KarikataMonthTotal + KarikataKingaku(jj) End If If IsNull(KashikataKingaku(jj)) Or ("" & KashikataKingaku(jj) = "") Then Else KashikataKingakuTotal = KashikataKingakuTotal + KashikataKingaku(jj) KashikataMonthTotal = KashikataMonthTotal + KashikataKingaku(jj) End If 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) If BottomLine(jj) = "" Then BottomLine(jj) = "0" End If Response.Write("" & vbCrLf) If BottomLine(jj) = "0" Then BottomLine(jj) = "" End If Response.Write("" & vbCrLf) ii = ii + 1 If (RowCount Mod RowBreakNum = 0) Then RowBrakeFlg = 1 '累計表示を行うので此処ではフラグだけ立てる End If '月計累計表示(110509小野) If BottomLine(jj) = "b1" Then ' If MonthTotalHyoji <> "0" Then '月計の下線を赤にするための判定(月計あり累計無しの場合) Dim MonthBottomLine MonthBottomLine = "" If MonthTotalHyoji <> "2" Then MonthBottomLine = BottomLine(jj) End If '月計 Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) If MonthBottomLine = "" Then MonthBottomLine = "0" End If Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) KarikataMonthTotal = 0 'リセット KashikataMonthTotal = 0 'リセット '発生行のためMoveNextせず改ページ判定する RowCount = RowCount + 1 If (RowCount Mod RowBreakNum = 0) Then RowBrakeFlg = 1 '累計表示を行うので此処ではフラグだけ立てる End If ' End If If MonthTotalHyoji = "2" Then '累計 Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) RowCount = RowCount + 1 If (RowCount Mod RowBreakNum = 0) Then RowBrakeFlg = 1 End If End If End If If RowBrakeFlg = 1 Then Exit For End If Next '月計累計表示の場合は印刷時に空白行を表示しない If MonthTotalHyoji <> "2" Or PrintFlg = 0 Then For jj = RowCount + 1 To Max(19, 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) Next End If %>
" & KarikataTorihikibi(jj) & "" & KarikataAiteKanjyo(jj) & "" & ConvKanjyoMeisyoDx(GB_SystemCD, EnshuCD, KarikataAiteKanjyo(jj)) & "" & KarikataShityo(jj) & "" & ConvIntToMoney(KarikataKingaku(jj), false, false) & "" & KashikataTorihikibi(jj) & "" & KashikataAiteKanjyo(jj) & "" & ConvKanjyoMeisyoDx(GB_SystemCD, EnshuCD, KashikataAiteKanjyo(jj)) & "" & KashikataShityo(jj) & "" & ConvIntToMoney(KashikataKingaku(jj), false, false) & "
月計" & ConvIntToMoney(KarikataMonthTotal, false, false) & "月計" & ConvIntToMoney(KashikataMonthTotal, false, false) & "
累計" & ConvIntToMoney(KarikataKingakuTotal, false, false) & "累計" & ConvIntToMoney(KashikataKingakuTotal, 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 RCnt > UBound(BottomLine) Then Exit For End If Next If PrintFlg = 0 Then %>
<% End If End Function %>