<!-- #include file="../../../include.asp" -->

<%
'<!--
'################################################
'	 名称	:振替伝票処理
'	 作成日:2002/8/2
'	 作成者:山崎
'	 目的 :仕訳伝票画面を追加・修正処理する。
'	 概要	:
'		<<表示>>
'	・無し
'
'	修正:2002/8/19:山崎:データキーを使わないように修正
'	修正:2002/8/20:山崎:「振分」から「振替」に変更
'	修正:2002/8/21:山崎:Query文の「生徒NO」分を削除、形式区分を5に修正
'	2006/11/29:一覧表表示に戻る時スクロールしないようにする
'	修正変更:(080317小野)製造部振替伝票モードを新設
'################################################
'-->
'
%>

<%
main()

Sub main()
	If Not(SessionCheck()) Then
		Exit Sub
	End If

	Dim QueryStr

	Dim ShowDel
	ShowDel = Request("ShowDel")
	QueryStr = QueryStr & "&ShowDel=" & ShowDel

	'繰越記入にトグルするためのフラグ(081021小野)
	Dim Kimatsu
	Kimatsu = Request("Kimatsu")
	QueryStr = QueryStr & "&Kimatsu=" & Kimatsu

	Dim DenpyoNo, Torihikibi, DenpyoTekiyo, OldDenpyoNo
	Dim KashikataGokei, KarikataGokei

	Dim TmpKanjyoCD(10)
	Dim TmpKingaku(10)
	Dim TmpTekiyoCD(10)
	Dim TmpTekiyo(10)

	Dim DenpyoSEQ(10)
	Dim KanjyoCD(10)
	Dim Kingaku1(10)
	Dim Kingaku2(10)
	Dim TekiyoCD(10)
	Dim Tekiyo(10)
	Dim AiteKanjyo(10)
	Dim TaisyakuKubun(10)

	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
	Dim Content
'###############################################	 1.データの引継ぎ

	BinType = Request("BinType")				'更新区別
	DenpyoNo = Request("DenpyoNo")
	OldDenpyoNo = Request("OldDenpyoNo")
	Torihikibi = Request("Torihikibi")
	DenpyoTekiyo = Request("DenpyoTekiyo")
	KashikataGokei = Request("KashikataGokei")
	KarikataGokei = Request("KarikataGokei")
	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

	For ii = 1 To 10
		TmpKanjyoCD(ii) = Request("KanjyoCD" & CStr(ii))
		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 JidoBangoDenpyo
	JidoBangoDenpyo = GetEnshuParam(EnshuCD, "自動番号伝票")


	Dim SyokuchiKanjyoCD

	If GB_Gyosyu <> "B" Then
		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 & "', 'DU'"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			SyokuchiKanjyoCD = Content.Fields("勘定CD")
			Content.MoveNext
		Loop
	End If


	If BinType = "Del" Then
		Query = "exec SPK伝票_削除 '" & GB_SystemCD & "',"
		Query = Query & "'" & EnshuCD & "'"		'演習CD
		Query = Query & ",'" & KaisyaCD & "'"	'会社CD
		Query = Query & ",'D5'"					'伝票区分 		5:振替伝票 
		Query = Query & ",'" & DenpyoNo & "'"
'Response.Write(Query)
'Exit Sub
		Set Content = OpenQuery(Query)


		Query = "exec SPM記帳チェック挿入伝票 '" & GB_SystemCD & "',"
		Query = Query & " '" & EnshuCD & "'"
		Query = Query & ",'" & KaisyaCD & "'"
		Set Content = OpenQuery(Query)

		Response.Redirect("fk_furikae_ichiran.asp?Kimatsu=" & Kimatsu & "&ShowDel=" & ShowDel)

	Else

		Dim AddMode 
		AddMode = 0
'		If DenpyoNo = "" Then
		If DenpyoNo = "" Or OldDenpyoNo = "" Then
			AddMode = 1
		End If

		If JidoBangoDenpyo = "1" then
			DenpyoNo = ""
		End If

		If AddMode = 1 Then
			'Query = "exec SPK伝票_振替伝票取得 '" & GB_SystemCD & "','"
			'重複チェックは全伝票通しで行う
			Query = "exec SPK伝票_伝票取得全区分 '" & GB_SystemCD & "','"
			Query = Query & EnshuCD & "','" & KaisyaCD & "', '" & DenpyoNo & "'"
			Set Content = OpenQuery(Query)
			If Not(Content.BOF Or Content.EOF) Then
'				Response.Write("この伝票番号は存在しています。<br>" & vbCrLf)
'				Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>" & vbCrLf)
				Response.Write(SubmitHystoryBack(Replace(Request.ServerVariables("SCRIPT_NAME"), "_bin", "") & "?ErrorFlg=伝票番号が重複しています " & QueryStr))
				Exit Sub
			End If
		End If


		If AddMode = 1 Then
			Query = "exec SPK伝票_振替伝票挿入 '" & GB_SystemCD & "',"
		Else
			Query = "exec SPK伝票_振替伝票更新 '" & GB_SystemCD & "',"
		End If
		Query = Query & " '" & EnshuCD & "'"
		Query = Query & ",'" & KaisyaCD & "'"
		Query = Query & ",'D5'"		'伝票区分 振替伝票なので5
		Query = Query & ",'" & DenpyoNo & "'"
		If AddMode = 1 Then			'追加モード
		Else
			Query = Query & ",'" & OldDenpyoNo & "'"
		End If

		Query = Query & ",'" & Torihikibi & "'"
		Query = Query & ",'" & DenpyoTekiyo	& "'"

		If Request("seiri") = "ON" Then
			If Kimatsu = "Kurikoshi" Then
				Query = Query & ",10"				'伝票処理区分
			Else
				Query = Query & ",9"				'伝票処理区分
			End If
		Else
			Query = Query & ",1"				'伝票処理区分
		End If
		If Session(HomeAlias & "EnshuKubun") = "P" AND GB_JisyaFlag = "0" Then
			Query = Query & ",''"
		Else
			Query = Query & ",'" & GakuseiNo & "'"
		End If


		WK_KARI_CNT = 0
		For ii = 1 To 9 Step 2
				If TmpKanjyoCD(ii) <> "" Then
					 WK_KARI_CNT = WK_KARI_CNT + 1
					 If WK_KARI_CNT = 1 Then
							WK_KARI_AC = TmpKanjyoCD(ii)
					 Else
							WK_KARI_AC = SyokuchiKanjyoCD
					 End If
				End If
		Next
'貸方勘定の数とコードをチェック
		WK_KASI_CNT = 0
		For ii = 2 To 10 Step 2
				If TmpKanjyoCD(ii) <> "" Then
					 WK_KASI_CNT = WK_KASI_CNT + 1
					 If WK_KASI_CNT = 1 Then
							WK_KASI_AC = TmpKanjyoCD(ii)
					 Else
				WK_KASI_AC = SyokuchiKanjyoCD
					 End If
				End If
		Next



		jj = 1
		KK = 2
		For ii = 1 To 10
			If TmpKanjyoCD(ii) <> "" Then
				Select Case ii
					Case 1, 3, 5, 7, 9
					DenpyoSEQ(jj) = jj
					KanjyoCD(jj) = TmpKanjyoCD(ii)
					Kingaku1(jj) = TmpKingaku(ii)
					Kingaku2(jj) = 0
					TekiyoCD(jj) = TmpTekiyoCD(ii)
					Tekiyo(jj) = TmpTekiyo(ii)
					AiteKanjyo(jj) = WK_KASI_AC
					TaisyakuKubun(jj) = "D"
					jj = jj + 2
				Case Else
					DenpyoSEQ(KK) = KK
					KanjyoCD(KK) = TmpKanjyoCD(ii)
					Kingaku1(KK) = 0
					Kingaku2(KK) = TmpKingaku(ii)
					TekiyoCD(KK) = TmpTekiyoCD(ii)
					Tekiyo(KK) = TmpTekiyo(ii)
					AiteKanjyo(KK) = WK_KARI_AC
					TaisyakuKubun(KK) = "C"
					KK = KK + 2
				End Select
			End If
		Next



		For ii = 1 To 10
			If KanjyoCD(ii) = "" Then
				Query = Query & ",null,null,null,null,null,null,null,null"
			Else
				Query = Query & "," & DenpyoSEQ(ii) & ",'" & KanjyoCD(ii) & "'," & Kingaku1(ii) & "," & Kingaku2(ii) & ",'" & TaisyakuKubun(ii) & "'"
				Query = Query & ",'" & TekiyoCD(ii) & "', '" & Tekiyo(ii) & "', '" & AiteKanjyo(ii) & "'"
			End If
		Next

	End If

	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)

	Response.Redirect("fk_furikae_view.asp?Kimatsu=" & Kimatsu & "&DenpyoNo=" & DenpyoNo & "&ShowDel=" & ShowDel)

End Sub
%>