<% ' ' %> <% main() Sub main() Call Application.Lock() '多くの挿入処理が発生するためロックする Dim DenpyoNo, Torihikibi, DenpyoTekiyo, OldDenpyoNo Dim KashikataGokei, KarikataGokei Dim QueryStr Dim ShowDel ShowDel = Request("ShowDel") QueryStr = QueryStr & "&ShowDel=" & ShowDel Dim TmpKanjyoCD(10) '画面引継ぎ:勘定CD Dim TmpKingaku(10) '画面引継ぎ:金額 Dim TmpTekiyoCD(10) '画面引継ぎ:摘要CD Dim TmpTekiyo(10) '画面引継ぎ:摘要 Dim DenpyoSEQ(10) '伝票SEQ Dim KanjyoCD(10) '勘定CD Dim Kingaku1(10) '借方金額 Dim Kingaku2(10) '貸方金額 Dim TekiyoCD(10) '摘要CD Dim Tekiyo(10) '摘要 Dim AiteKanjyo(10) '相手勘定 Dim TaisyakuKubun(10) '貸借区分 2002/8/23 追加 川崎 貸:"D" 、借:"C" Dim PageType 'ページタイプ Dim WK_KARI_CNT, WK_KARI_AC Dim WK_KASI_CNT, WK_KASI_AC Dim Query, w_TekiyoCD, w_Tekiyo, w_AiteKanjyo, ii, jj, KK Dim BinType '############################################### 1.データの引継ぎ BinType = Request("BinType") '更新区別 DenpyoNo = Request("DenpyoNo") '伝票番号 OldDenpyoNo = Request("OldDenpyoNo") '伝票番号 Torihikibi = Request("Torihikibi") '取引日 DenpyoTekiyo = Request("DenpyoTekiyo") '伝票摘要 KashikataGokei = Request("KashikataGokei") '借方合計金額 KarikataGokei = Request("KarikataGokei") '借方合計金額 PageType = Request("PageType") 'ページタイプ QueryStr = QueryStr & "&BinType=" & BinType QueryStr = QueryStr & "&DenpyoNo=" & DenpyoNo QueryStr = QueryStr & "&OldDenpyoNo=" & OldDenpyoNo QueryStr = QueryStr & "&Torihikibi=" & Torihikibi QueryStr = QueryStr & "&DenpyoTekiyo=" & DenpyoTekiyo QueryStr = QueryStr & "&KashikataGokei=" & KashikataGokei QueryStr = QueryStr & "&KarikataGokei=" & KarikataGokei QueryStr = QueryStr & "&PageType=" & PageType For ii = 1 To 10 TmpKanjyoCD(ii) = Request("KanjyoCD" & CStr(ii)) '勘定科目CD TmpKingaku(ii) = ConvMoneyToInt(Request("Kingaku" & CStr(ii))) '金額 TmpTekiyoCD(ii) = Request("TekiyoCD" & CStr(ii)) '摘要コード TmpTekiyo(ii) = Request("Tekiyo" & CStr(ii)) QueryStr = QueryStr & "&KanjyoCD" & ii & "=" & TmpKanjyoCD(ii) QueryStr = QueryStr & "&Kingaku" & ii & "=" & TmpKingaku(ii) QueryStr = QueryStr & "&TekiyoCD" & ii & "=" & TmpTekiyoCD(ii) QueryStr = QueryStr & "&Tekiyo" & ii & "=" & TmpTekiyo(ii) Next Dim GenkinKanjyoCD, SyokuchiKanjyoCD Dim JidoBangoDenpyo JidoBangoDenpyo = GetEnshuParam(EnshuCD, "自動番号伝票") Dim Content If GB_Gyosyu <> "B" Then Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', 'DA'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) GenkinKanjyoCD = Content.Fields("勘定CD") Content.MoveNext Loop Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', 'DZ'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) SyokuchiKanjyoCD = Content.Fields("勘定CD") Content.MoveNext Loop Else Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', 'DT'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) GenkinKanjyoCD = Content.Fields("勘定CD") Content.MoveNext Loop Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', 'DU'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) SyokuchiKanjyoCD = Content.Fields("勘定CD") Content.MoveNext Loop End If '############################################### 2.ストアドプロシージャーの引数の作成 If BinType = "Del" Then Query = "exec SPK伝票_削除 '" & GB_SystemCD & "'," Query = Query & "'" & EnshuCD & "'" '演習CD Query = Query & ",'" & KaisyaCD & "'" '会社CD If PageType = "Nyukin" Then Query = Query & ",'D1'" '伝票区分  1:入金伝票  Else Query = Query & ",'D2'" '伝票区分   2:出金伝票 End If Query = Query & ",'" & DenpyoNo & "'" Set Content = OpenQuery(Query) Query = "exec SPM記帳チェック挿入伝票 '" & GB_SystemCD & "'," Query = Query & " '" & EnshuCD & "'" Query = Query & ",'" & KaisyaCD & "'" Set Content = OpenQuery(Query) Call Application.Unlock() Response.Redirect("fk_nyukinsyukin_ichiran.asp?DenpyoNo=" & DenpyoNo & "&PageType=" & PageType & "&ShowDel=" & ShowDel) Else Dim AddMode AddMode = 0 If DenpyoNo = "" Or OldDenpyoNo = "" Then AddMode = 1 End If If JidoBangoDenpyo = "1" then DenpyoNo = "" End If If AddMode = 1 Then If PageType = "Nyukin" Then Query = "exec SPK伝票_入金伝票取得 '" & GB_SystemCD & "','" Else Query = "exec SPK伝票_出金伝票取得 '" & GB_SystemCD & "','" End If '重複チェックは全伝票通しで行う Query = "exec SPK伝票_伝票取得全区分 '" & GB_SystemCD & "','" Query = Query & EnshuCD & "','" & KaisyaCD & "', '" & DenpyoNo & "'" Set Content = OpenQuery(Query) If Not(Content.BOF Or Content.EOF) Then Call Application.Unlock() ' Response.Write("この伝票番号は存在しています。") ' Response.Write("戻る" & vbCrLf) Response.Write(SubmitHystoryBack(Replace(Request.ServerVariables("SCRIPT_NAME"), "_bin", "") & "?ErrorFlg=伝票番号が重複しています " & QueryStr)) Exit Sub End If End If '実行プロシージャーの特定  If AddMode = 1 Then '追加モード If PageType = "Nyukin" Then Query = "exec SPK伝票_入金伝票挿入 '" & GB_SystemCD & "'," Else Query = "exec SPK伝票_出金伝票挿入 '" & GB_SystemCD & "'," End If Else '更新モード If PageType = "Nyukin" Then Query = "exec SPK伝票_入金伝票更新 '" & GB_SystemCD & "'," Else Query = "exec SPK伝票_出金伝票更新 '" & GB_SystemCD & "'," End If End If Query = Query & " '" & EnshuCD & "'" '演習CD Query = Query & ",'" & KaisyaCD & "'" '会社CD If PageType = "Nyukin" Then Query = Query & ",'D1'" '伝票区分  1:入金伝票  Else Query = Query & ",'D2'" '伝票区分   2:出金伝票 End If Query = Query & ",'" & DenpyoNo & "'" If AddMode = 1 Then '追加モード Else Query = Query & ",'" & OldDenpyoNo & "'" End If Query = Query & ",'" & Torihikibi & "'" '取引日 If DenpyoTekiyo = "" Then '伝票摘要 Query = Query & ",null" Else Query = Query & ",'" & DenpyoTekiyo & "'" End If Query = Query & ",1" '伝票処理区分 1:通常伝票 If Session(HomeAlias & "EnshuKubun") = "P" AND GB_JisyaFlag = "0" Then Query = Query & ",''" Else Query = Query & ",'" & GakuseiNo & "'" End If '学生番号 '////// 貸方現金勘定作成 DenpyoSEQ(1) = 1 KanjyoCD(1) = GenkinKanjyoCD Kingaku1(1) = 0 Kingaku2(1) = 0 If PageType = "Nyukin" Then For ii = 1 To 5 If Not(IsNull(TmpKingaku(ii))) AND TmpKingaku(ii) <> "" Then Kingaku1(1) = Kingaku1(1) + TmpKingaku(ii) End If Next Else For ii = 1 To 5 If Not(IsNull(TmpKingaku(ii))) AND TmpKingaku(ii) <> "" Then Kingaku2(1) = Kingaku2(1) + TmpKingaku(ii) End If Next End If Tekiyo(1) = Null TekiyoCD(1) = Null If TmpKanjyoCD(2) <> "" Then AiteKanjyo(1) = SyokuchiKanjyoCD Else AiteKanjyo(1) = TmpKanjyoCD(1) End If If PageType = "Nyukin" Then TaisyakuKubun(1) = "D" Else TaisyakuKubun(1) = "C" End If '////// 借方現金勘定作成(画面入力部分) jj = 1 For ii = 1 To 5 If TmpKanjyoCD(ii) <> "" Then jj = ii + 1 DenpyoSEQ(jj) = ii + 1 KanjyoCD(jj) = TmpKanjyoCD(ii) AiteKanjyo(jj) = GenkinKanjyoCD Kingaku1(jj) = 0 Kingaku2(jj) = 0 If PageType = "Nyukin" Then Kingaku2(jj) = TmpKingaku(ii) TaisyakuKubun(jj) = "C" Else Kingaku1(jj) = TmpKingaku(ii) TaisyakuKubun(jj) = "D" End If TekiyoCD(jj) = TmpTekiyoCD(ii) Tekiyo(jj) = TmpTekiyo(ii) End If Next For ii = 1 To 6 If KanjyoCD(ii) = "" Then Query = Query & ",null,null,null,null,null,null,null,null" Else If TekiyoCD(ii) = "" Then '摘要CD w_TekiyoCD = "null" Else w_TekiyoCD = "'" & TekiyoCD(ii) & "'" End If If Tekiyo(ii) = "" Then '摘要 w_Tekiyo = "null" Else w_Tekiyo = "'" & Tekiyo(ii) & "'" End If If AiteKanjyo(ii) = "" Then '相手勘定 w_AiteKanjyo = "null" Else w_AiteKanjyo = "'" & AiteKanjyo(ii) & "'" End If Query = Query & "," & DenpyoSEQ(ii) & ",'" & KanjyoCD(ii) & "'," & Kingaku1(ii) & "," & Kingaku2(ii) & ",'" & TaisyakuKubun(ii) & "'" Query = Query & "," & w_TekiyoCD & "," & w_Tekiyo & "," & w_AiteKanjyo End If Next End If '############################################### 3.ストアドプロシージャー実行 Response.write(Query) Set Content = OpenQuery(Query) While Not Content Is Nothing If Content.Fields.Count > 0 Then DenpyoNo = Content.Fields(0) End If Set Content = Content.NextRecordset Wend Query = "exec SPM記帳チェック挿入伝票 '" & GB_SystemCD & "'," Query = Query & " '" & EnshuCD & "'" Query = Query & ",'" & KaisyaCD & "'" Set Content = OpenQuery(Query) Call Application.Unlock() '############################################### 4.更新データをビューで表示 Response.Redirect("fk_nyukinsyukin_view.asp?PageType=" & PageType & "&DenpyoNo=" & DenpyoNo & "&ShowDel=" & ShowDel) End Sub %>