<% '※手入力仕訳帳を新レイアウトに対応させたためこのファイルは未使用になりました Dim jj 'ここで宣言しないとForループ時に変数のスコープが届かなくなる。VBの仕様? jj = 0 Function TyoboShiwakenikkityoJidou(EnshuCD, KaisyaCD, SakuseiKaisyaCD, BunsyoSyuruiCD, BunsyoNaiyoCD, AutoFlg, PrintFlg, Param1, Param2, Param3) Dim RowBreakNum, RowCount Dim Page RowCount = 0 If PrintFlg = 1 Then RowBreakNum = 35 '印刷時の上限行数 Else RowBreakNum = MaxRowBreakNum MaxPage = 1 End If '↓↓↓借方・貸方初期値0 Dim DbKarikataKingakuTotal Dim DbKashikataKingakuTotal DbKarikataKingakuTotal = 0 DbKashikataKingakuTotal = 0 '↑↑↑借方・貸方初期値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 '↑↑↑会計開始・終了日を取得 Dim SyoruiMei Query = "exec SPK自動転記帳簿_仕訳帳照会 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "','" & KaikeiKaishibi & "','" & KaikeiSyuryobi & "'" SyoruiMei = "仕訳帳(自動)" Set Content = OpenQuery(Query) If PrintFlg = 0 Then %>
<% End If Dim Query Dim Content,Content2 Dim ii, dd Dim DenpyoPageCnt() '伝票ページカウント配列 Dim PageCnt 'ページカウンタ Dim DenpyoRowCnt '伝票行数カウンタ Dim RowCnt '全体行数カウンタ Dim ShokuchiFlg() '諸口表示用フラグ配列(0=無し:1=左側:2=右側:3=両側) Dim KarikataCnt,KashikataCnt '借方・貸方カウンタ Dim SentogyoFlg RowCnt = 0 PageCnt = 0 DenpyoRowCnt = 0 ii = 0 dd = "" KarikataCnt = 0 KashikataCnt = 0 Dim MoveFirstFlg '先頭がEOFでない場合のみMoveFirstするフラグ(例外対策) MoveFirstFlg = 0 '↓↓↓諸口表示・改ページ用フラグ配列作成(061204小野) Do While Not(Content.BOF Or Content.EOF) MoveFirstFlg = 1 If dd <> "" And dd <> Content.Fields("伝票番号") Then RowCnt = RowCnt + 1 '伝票の最後に小書き行が付加されるので全体行数+1 DenpyoRowCnt = DenpyoRowCnt + 1 '同じく小書き行で直前伝票行数+1 If ShokuchiFlg(ii) = 1 Then DenpyoRowCnt = DenpyoRowCnt + 1 '直前伝票の諸口フラグが3なら直前伝票行数+1 RowCnt = RowCnt + 1 '同じく諸口フラグ3で全体行数+1 End If ReDim Preserve DenpyoPageCnt(ii) '直前伝票ページ配列作成 If RowCnt > RowBreakNum Then PageCnt = PageCnt + 1 'ページカウントアップ RowCnt = DenpyoRowCnt '全体行数カウントに直前伝票行数+1をセット RowCnt = RowCnt + 1 '先頭行の「前ページから」表記のため End If DenpyoRowCnt = 1 '伝票行数カウンタリセット+1 DenpyoPageCnt(ii) = PageCnt '直前伝票ページ配列にページカウントをセット End If If dd <> Content.Fields("伝票番号") Then dd = Content.Fields("伝票番号") KarikataCnt = 0 KashikataCnt = 0 ii = ii + 1 ReDim Preserve ShokuchiFlg(ii) End If If Content.Fields("借方金額") <> "0" Then KarikataCnt = KarikataCnt + 1 Else KashikataCnt = KashikataCnt + 1 End If If KarikataCnt > 1 And KashikataCnt > 1 Then ShokuchiFlg(ii) = 1 '諸口フラグ両側 ElseIf KarikataCnt > 1 Then ShokuchiFlg(ii) = 3 '諸口フラグ左側(SPK自動転記帳簿_仕訳帳照会_伝票貸方で伝票再取得) ElseIf KashikataCnt > 1 Then ShokuchiFlg(ii) = 2 '諸口フラグ右側 Else ShokuchiFlg(ii) = 0 '諸口フラグ無し End If RowCnt = RowCnt + 1 '全体行数+1 DenpyoRowCnt = DenpyoRowCnt + 1 '伝票行数+1 Content.MoveNext Loop '↓最終伝票の処理 If MoveFirstFlg <> 0 Then 'ループ処理が発生した場合のみ行う(例外対策) RowCnt = RowCnt + 1 '伝票の最後に小書き行が付加されるので全体行数+1 DenpyoRowCnt = DenpyoRowCnt + 1 '同じく小書き行で直前伝票行数+1 If ShokuchiFlg(ii) = 1 Then DenpyoRowCnt = DenpyoRowCnt + 1 '直前伝票の諸口フラグが3なら直前伝票行数+1 RowCnt = RowCnt + 1 '同じく諸口フラグ3で全体行数+1 End If ReDim Preserve DenpyoPageCnt(ii) '直前伝票ページ配列作成 If RowCnt > RowBreakNum Then PageCnt = PageCnt + 1 'ページカウントアップ End If DenpyoPageCnt(ii) = PageCnt '直前伝票ページ配列にページカウントをセット '↓EOF ReDim Preserve ShokuchiFlg(ii+1) ShokuchiFlg(ii+1) = "EOF" ReDim Preserve DenpyoPageCnt(ii+1) DenpyoPageCnt(ii+1) = "EOF" Content.MoveFirst End If '↑↑↑諸口表示・改ページ用フラグ配列作成(061204小野) For Page = 1 To MaxPage RowCount = 0 If Page <> 1 Then Response.Write("
") 'page<>1なら改ページ処理 End If %>
<% If PrintFlg = 1 Then Response.Write(PrintHeader1(AutoFlg)) '印刷ヘッダ End if %>
<% If Content.BOF Or Content.EOF Then %> <% Else %> <% End If %>
<% = SetStringInsertSpace(SyoruiMei) %> <% If AutoFlg <> -1 And PrintFlg = 1 Then %><% = Page %>ページ<% End If %>
取引日 摘    要 (伝票番号) 元丁 借方金額 貸方金額
<% If PrintFlg <> 1 Then %>
<% End If %> <% If Page <> 1 Then %> <% RowCount = RowCount + 1 %> <% End If %> <% ii = 0 dd = "" SentogyoFlg = 1 Do While Not(Content.BOF Or Content.EOF) Dim Denpyo, Tekiyo, Tekiyo2, DenpyoTekiyo, DenpyoTekiyo2 Dim DbDenpyoNo, DbDenpyoKubun, DbDenpyoSyoriKubun Dim DbTorihikibi, DbKanjyoCD, DbKarikataKingaku, DbKashikataKingaku Dim DbKanjyoMeisyo If dd <> Content.Fields("伝票番号") Then '小書き入力部 If dd <> "" Then '初回ループはスルー If Tekiyo2 = "" Then Tekiyo2 = DenpyoTekiyo2 End If RowCount = RowCount + 1 '行数カウント Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) If PageCnt > DenpyoPageCnt(jj) And DenpyoPageCnt(jj) <> DenpyoPageCnt(jj+1) Then Response.Write("" & vbCrLf) Else Response.Write("" & vbCrLf) End If Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("") Tekiyo2 = "" DenpyoTekiyo2 = "" SentogyoFlg = 1 If PageCnt > DenpyoPageCnt(jj) And DenpyoPageCnt(jj) <> DenpyoPageCnt(jj+1) Then dd = Content.Fields("伝票番号") Exit Do '改ページ End If End If jj = jj + 1 dd = Content.Fields("伝票番号") End If If AutoFlg = 1 Then DbDenpyoNo = Content.Fields("伝票番号") DbDenpyoKubun = Content.Fields("伝票区分名称") DbDenpyoSyoriKubun = Content.Fields("伝票処理区分") If DbDenpyoSyoriKubun = 0 Then Denpyo = "繰越残高" ElseIf DbDenpyoSyoriKubun = 9 Then Denpyo = "整理記入" ElseIf DbDenpyoSyoriKubun = 1 Then Denpyo = DbDenpyoKubun & " " & DbDenpyoNo End If Tekiyo = Content.Fields("摘要") Tekiyo = Content.Fields("摘要会社名称") & Content.Fields("摘要") Else Denpyo = Content.Fields("伝票") Tekiyo = Content.Fields("摘要") End If Tekiyo2 = "" DenpyoTekiyo = Content.Fields("伝票摘要") DbTorihikibi = Content.Fields("取引日") DbKanjyoCD = Content.Fields("勘定CD") DbKanjyoMeisyo = Content.Fields("勘定名称") DbKarikataKingaku = Content.Fields("借方金額") DbKashikataKingaku = Content.Fields("貸方金額") If SentogyoFlg = 1 Then SentogyoFlg = 0 Else DbTorihikibi = "" DbDenpyoNo = "" End If If DbKarikataKingaku <> "" Then DbKarikataKingakuTotal = DbKarikataKingakuTotal + DbKarikataKingaku End If If DbKashikataKingaku <> "" Then DbKashikataKingakuTotal = DbKashikataKingakuTotal + DbKashikataKingaku End If 'If AscLen(Tekiyo) > 11 Then ' Tekiyo = AscLeft(Tekiyo,11) '摘要を11byteで切捨て(061027小野) 'End If RowCount = RowCount + 1 '行数カウント If ShokuchiFlg(jj) = 1 Then Response.Write("" & vbCrLf) '諸口両側 Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("") RowCount = RowCount + 1 '行数カウント ShokuchiFlg(jj) = 0 SentogyoFlg = 0 DbTorihikibi = "" DbDenpyoNo = "" End If Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) If ShokuchiFlg(jj) > 2 Then '諸口左側時の処理(貸方優先ソート) If ShokuchiFlg(jj) = "3" Then Query = "exec SPK自動転記帳簿_仕訳帳照会_伝票貸方 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "','" & KaikeiKaishibi & "','" & KaikeiSyuryobi & "','" & DbDenpyoNo & "'" Set Content2 = OpenQuery(Query) Response.Write("" & vbCrLf) ShokuchiFlg(jj) = 4 'クエリ・諸口記入終了フラグ Else If Content2.Fields("貸方金額") <> "0" Then Response.Write("" & vbCrLf) Else ' Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) End If End If Tekiyo = "" If AutoFlg = 1 Then ' DbDenpyoNo = Content2.Fields("伝票番号") DbDenpyoKubun = Content2.Fields("伝票区分名称") DbDenpyoSyoriKubun = Content2.Fields("伝票処理区分") If DbDenpyoSyoriKubun = 0 Then Denpyo = "繰越残高" ElseIf DbDenpyoSyoriKubun = 9 Then Denpyo = "整理記入" ElseIf DbDenpyoSyoriKubun = 1 Then Denpyo = DbDenpyoKubun & " " & DbDenpyoNo End If Tekiyo = Content2.Fields("摘要") Tekiyo = Content2.Fields("摘要会社名称") & Content2.Fields("摘要") Else Denpyo = Content2.Fields("伝票") Tekiyo = Content2.Fields("摘要") End If DenpyoTekiyo = Content2.Fields("伝票摘要") DbKanjyoCD = Content2.Fields("勘定CD") DbKarikataKingaku = Content2.Fields("借方金額") DbKashikataKingaku = Content2.Fields("貸方金額") Content2.MoveNext ElseIf DbKarikataKingaku <> "0" And ShokuchiFlg(jj) = 2 Then '諸口右側時の処理 Response.Write("" & vbCrLf) ShokuchiFlg(jj) = 0 ElseIf DbKarikataKingaku <> "0" Then Response.Write("" & vbCrLf) Else Response.Write("" & vbCrLf) End If Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("") Content.MoveNext Loop If Content.BOF Or Content.EOF Then RowCount = RowCount + 1 '行数カウント Response.Write("" & vbCrLf) '最後の小書き入力部 Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("" & vbCrLf) Response.Write("") Tekiyo2 = "" DenpyoTekiyo2 = "" End If If 1 = 1 Then For ii = 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("") Next End if %>
前ページから <% = SetMoney(DbKarikataKingakuTotal, false, true) %> <% = SetMoney(DbKashikataKingakuTotal, false, true) %>
" & DbTorihikibi & "" & DenpyoTekiyo & "" & DenpyoTekiyo & "
" & DbTorihikibi & "
諸    口諸    口
" & DbDenpyoNo & "
" & DbTorihikibi & "
諸    口" & KintouWaritsuke(Content2.Fields("勘定名称")) & "
 " & KintouWaritsuke(Content2.Fields("勘定名称")) & "
" & KintouWaritsuke(Content2.Fields("勘定名称")) & " 
" & KintouWaritsuke(Content2.Fields("勘定名称")) & " 
" & KintouWaritsuke(DbKanjyoMeisyo) & "諸    口
" & KintouWaritsuke(DbKanjyoMeisyo) & " 
 " & KintouWaritsuke(DbKanjyoMeisyo) & "
" & DbDenpyoNo & "" & DbKanjyoCD & "" & ConvIntToMoney(DbKarikataKingaku, false, true) & "" & ConvIntToMoney(DbKashikataKingaku, false, true) & "
" & DbTorihikibi & "" & DenpyoTekiyo & "
<% If PrintFlg <> 1 Then %>
<% End If %>
合計 <% = SetMoney(DbKarikataKingakuTotal, false, true) %> <% = SetMoney(DbKashikataKingakuTotal, false, true) %>
次ページへ <% = SetMoney(DbKarikataKingakuTotal, false, true) %> <% = SetMoney(DbKashikataKingakuTotal, 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 Function KintouWaritsuke(p_Str) Dim i Dim TargetStr If Len(p_Str) = 0 Or IsNull(Len(p_Str)) Then '文字列が 0 or Null の場合 KintouWaritsuke = "" Exit Function End If i = 0 '文字数初期化 TargetStr = ReplaceSpace(p_Str) KintouWaritsuke = "" '文字列初期化 KintouWaritsuke = KintouWaritsuke + "" KintouWaritsuke = KintouWaritsuke & "" Do While i < Len(TargetStr) '文字数でループ KintouWaritsuke = KintouWaritsuke & "" i = i + 1 '1文字シフト Loop KintouWaritsuke = KintouWaritsuke & "" KintouWaritsuke = KintouWaritsuke & "
" KintouWaritsuke = KintouWaritsuke & Mid(TargetStr, i+1, 1) & "
" & vbCrLf End Function %>