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

<%
'<!--
'################################################
'	名称	:仕入・売上伝票データ登録
'	作成日:2002/8/5
'	作成者:川崎 三佳
'	目的	:・仕入伝票データを登録する。
'				-- 商品M
'				-- 伝票F
'				-- 伝票明細F
'				-- 仕入売上明細F
'	概要 :
'			1.データの引継ぎ
'			2.ストアドプロシージャーの引数の作成
'			3.ストアドプロシージャー実行
'################################################
'-->
'
'
%>

<%
main()

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


Call Application.Lock() '多くの挿入処理が発生するためロックする


	Dim DenpyoNo, Torihikibi, DenpyoTekiyo,TorihikisakiCD, OldDenpyoNo
	Dim GokeiKingaku,SyohizeiKingaku,ZeikomiKingaku
	Dim PageType
	Dim TujyoHenpinKubun
	Dim TmpSyohinCD(5)
	Dim TmpTanka(5)
	Dim TmpSuryo(5)
	Dim TmpKingaku(5)
	Dim TmpTaxRate(5)
	Dim BinType

	Dim QueryStr

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

'###############################################	 1.データの引継ぎ

	'ヘッダ部
	DenpyoNo = Request("DenpyoNo")									'伝票番号
	OldDenpyoNo = Request("OldDenpyoNo")									'伝票番号
	Torihikibi = Request("Torihikibi")								'取引日
	TorihikisakiCD = Request("TorihikisakiCD")						'取引CD
	DenpyoTekiyo = Request("DenpyoTekiyo")							'伝票摘要
	TujyoHenpinKubun= Request("TujyoHenpinKubun")					'伝票種類	0:通常 1:返品
	PageType = Request("PageType")									'ページタイプ "仕入" or "売上"
	GokeiKingaku = ConvMoneyToInt(Request("GokeiKingaku"))			'合計金額
	SyohizeiKingaku =ConvMoneyToInt(Request("SyohizeiKingaku"))		'消費税
	ZeikomiKingaku = ConvMoneyToInt(Request("ZeikomiKingaku"))		'税込金額
	BinType = Request("BinType")
	QueryStr = QueryStr & "&BinType=" & BinType
	QueryStr = QueryStr & "&DenpyoNo=" & DenpyoNo
	QueryStr = QueryStr & "&OldDenpyoNo=" & OldDenpyoNo
	QueryStr = QueryStr & "&Torihikibi=" & Torihikibi
	QueryStr = QueryStr & "&TorihikisakiCD=" & TorihikisakiCD
	QueryStr = QueryStr & "&DenpyoTekiyo=" & DenpyoTekiyo
	QueryStr = QueryStr & "&TujyoHenpinKubun=" & TujyoHenpinKubun
	QueryStr = QueryStr & "&GokeiKingaku=" & GokeiKingaku
	QueryStr = QueryStr & "&SyohizeiKingaku=" & SyohizeiKingaku
	QueryStr = QueryStr & "&ZeikomiKingaku=" & ZeikomiKingaku
	QueryStr = QueryStr & "&PageType=" & PageType

'Response.Write(SyohizeiKingaku)
'Exit Sub

	If SyohizeiKingaku = "" Then
		SyohizeiKingaku = 0
	End If

	'明細部:TK仕入伝票明細F
	For ii = 1 To 5
		TmpSyohinCD(ii) = Request("SyohinCD" & ii)			'商品CD
		TmpSuryo(ii) = ConvMoneyToInt(Request("Suryo" & ii))	'受注数量
		TmpTanka(ii) = ConvMoneyToInt(Request("Tanka" & ii))	'受注単価
		TmpKingaku(ii) = ConvMoneyToInt(Request("Kingaku" & ii))'金額
		TmpTaxRate(ii) = Request("TaxRate" & ii) '税率
		QueryStr = QueryStr & "&SyohinCD" & ii & "=" & TmpSyohinCD(ii)
		QueryStr = QueryStr & "&Suryo" & ii & "=" & TmpSuryo(ii)
		QueryStr = QueryStr & "&Tanka" & ii & "=" & TmpTanka(ii)
		QueryStr = QueryStr & "&Kingaku" & ii & "=" & TmpKingaku(ii)
		QueryStr = QueryStr & "&TaxRate" & ii & "=" & TmpTaxRate(ii)
	Next

	Dim KanjyoCDShiire, KanjyoCDUriage, KanjyoCDUrikakekin, KanjyoCDKaikakekin
	Dim KanjyoCDKaribaraiSyohizei, KanjyoCDKariukeSyohizei, KanjyoCDSyokuchi
	Dim KanjyoCDGenkin

	Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', ''"
	Set Content = OpenQuery(Query)
	Do While Not(Content.BOF OR Content.EOF)
		If Content.Fields("特別勘定区分") = "DA" Then	'小売販売は現金仕訳
			KanjyoCDGenkin = Content.Fields("勘定CD")
		ElseIf Content.Fields("特別勘定区分") = "DL" Then
			KanjyoCDShiire = Content.Fields("勘定CD")
		ElseIf Content.Fields("特別勘定区分") = "DM" Then
			KanjyoCDUriage = Content.Fields("勘定CD")
		ElseIf Content.Fields("特別勘定区分") = "DN" Then
			KanjyoCDUrikakekin = Content.Fields("勘定CD")
		ElseIf Content.Fields("特別勘定区分") = "DO" Then
			KanjyoCDKaikakekin = Content.Fields("勘定CD")
		ElseIf Content.Fields("特別勘定区分") = "DP" Then
			KanjyoCDKaribaraiSyohizei = Content.Fields("勘定CD")
		ElseIf Content.Fields("特別勘定区分") = "DQ" Then
			KanjyoCDKariukeSyohizei = Content.Fields("勘定CD")
		ElseIf Content.Fields("特別勘定区分") = "DZ" Then
			KanjyoCDSyokuchi = Content.Fields("勘定CD")
		End If
		
		Content.MoveNext
	Loop




	Dim Content

	Dim JidoBangoDenpyo
	JidoBangoDenpyo = GetEnshuParam(EnshuCD, "自動番号伝票")

'###############################################	 2.ストアドプロシージャーの引数の作成

	If BinType = "Del" Then
		Query = "exec SPK伝票_削除 '" & GB_SystemCD & "',"
		Query = Query & "'" & EnshuCD & "'"		'演習CD
		Query = Query & ",'" & KaisyaCD & "'"	'会社CD
		If PageType = "Shiire" Then
			Query = Query & ",'D3'"					'伝票区分 		3:仕入伝票 
		Else
			Query = Query & ",'D4'"					'伝票区分 		4:売上伝票
		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_shiireuriage_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 = "Shiire" 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("この伝票番号は存在しています。<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



	Dim w_no, Query, w_tc, w_biko, w_aite, ii, jj, KK, q_siwake, r_siwake

	'実行プロシージャーの特定 
	If AddMode = 1 Then					'追加モード
		If PageType = "Shiire" Then
			Query = "exec SPK伝票_仕入伝票挿入 '" & GB_SystemCD & "',"
		Else
			Query = "exec SPK伝票_売上伝票挿入 '" & GB_SystemCD & "',"
		End If
	Else
		If PageType = "Shiire" 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 = "Shiire" Then					'伝票区分
		Query = Query & ",'D3'"	'仕入
	Else
		Query = Query & ",'D4'"	'売上
	End If

	'伝票番号
	Query = Query & ",'" & DenpyoNo & "'"
	If AddMode = 1 Then			'追加モード
	Else
		Query = Query & ",'" & OldDenpyoNo & "'"
	End If

	Query = Query & ",1"						'伝票処理区分
	'伝票摘要
	If DenpyoTekiyo	= "" Then
		Query = Query & ",null"
	Else
		Query = Query & ",'" & DenpyoTekiyo	& "'"
	End If

	If PageType = "Shiire" Then					'仕入売上区分
		Query = Query & ",'仕入'"
	Else
		Query = Query & ",'売上'"
	End If
	Query = Query & ",'" & TorihikisakiCD	& "'"	'取引先CD
	Query = Query & ",'" & Torihikibi & "'"		'取引日
	If Session(HomeAlias & "EnshuKubun") = "P" AND GB_JisyaFlag = "0" Then
		Query = Query & ",''"
	Else
		Query = Query & ",'" & GakuseiNo & "'"
	End If



	If TujyoHenpinKubun = "N" Then				'通常返品区分
		Query = Query & ",'N'"		'通常
	Else
		Query = Query & ",'R'"		'返品
	End If

	'** 画面明細部 
	jj = 0
	For ii = 1 To 5
		 If TmpSyohinCD(ii) = "" Then
		 	Query = Query & ",null,null,null,null,null"
		 Else
			jj = jj + 1
			Query = Query & ","& jj 							'伝票SEQ
			Query = Query & ",'"& TmpSyohinCD(ii) & "'"		'商品CD
			Query = Query & ","& TmpSuryo(ii)					'受注数量
			Query = Query & ","& TmpTanka(ii)					'受注単価
			Query = Query & ","& TmpTaxRate(ii)					'消費税率
		 End If
	Next
	'** 

	If PageType = "Shiire" Then					'※※※※仕入伝票※※※※
		'** 借方仕入勘定作成
		Query = Query & ",'" & KanjyoCDShiire & "'"						'仕入借方・勘定CD
		Query = Query & ",'" & KanjyoCDKaikakekin & "'"						'仕入借方・相手勘定
		If TujyoHenpinKubun = "N" Then				'※通常伝票※
			Query = Query & "," & GokeiKingaku			'仕入借方・借方金額
			Query = Query & ",0"						'仕入借方・貸方金額
			Query = Query & ",'D'"						'仕入借方・貸借区分
		Else										'※返品伝票※
			Query = Query & ",0"						'仕入借方・借方金額
			Query = Query & "," & GokeiKingaku			'仕入借方・貸方金額
			Query = Query & ",'C'"						'仕入借方・貸借区分
		End IF

		'** 借方消費税勘定作成
		If SyohizeiKingaku <> 0 Then
			Query = Query & ",'" & KanjyoCDKaribaraiSyohizei & "'"					'借方消費税・相手勘定
			Query = Query & ",'" & KanjyoCDKaikakekin & "'"					'借方消費税・勘定CD
			If TujyoHenpinKubun = "N" Then			'※通常伝票※
				Query = Query & "," & SyohizeiKingaku	'借方消費税・借方金額
				Query = Query & ",0"					'借方消費税・貸方金額
				Query = Query & ",'D'"					'借方消費税・貸借区分
			Else									'※返品伝票※
				Query = Query & ",0"					'借方消費税・借方金額
				Query = Query & ","	& SyohizeiKingaku	'借方消費税・貸方金額
				Query = Query & ",'C'"					'借方消費税・貸借区分
			End If
		Else
			Query = Query & ",null"						'借方消費税・勘定CD
			Query = Query & ",null"						'借方消費税・相手勘定
			Query = Query & ",null"						'借方消費税・借方金額
			Query = Query & ",null"						'借方消費税・貸方金額
			Query = Query & ",null"						'借方消費税・貸借区分
		End If

		'** 貸方買掛金勘定作成
		Query = Query & ",'" & KanjyoCDKaikakekin & "'"						'貸方買掛金・勘定CD
		Query = Query & ",'" & KanjyoCDSyokuchi & "'"						'貸方買掛金・相手勘定
		If TujyoHenpinKubun = "N" Then				'※通常伝票※
			Query = Query & ",0"						'貸方買掛金・借方金額
			Query = Query & "," &	ZeikomiKingaku		'貸方買掛金・貸方金額
			Query = Query & ",'C'"						'貸方買掛金・貸借区分
		Else									'※返品伝票※
			Query = Query & "," &	ZeikomiKingaku		'貸方買掛金・借方金額
			Query = Query & ",0"						'貸方買掛金・貸方金額
			Query = Query & ",'D'"						'貸方買掛金・貸借区分
		End IF

	Else								'※※※※売上伝票※※※※

		Dim TmpShiwake
'		If TorihikisakiCD = "SJ4KOURIHANBAI" Then	'小売販売は現金仕訳(廃止)
'			TmpShiwake = KanjyoCDGenkin
'		Else
			TmpShiwake = KanjyoCDUrikakekin
'		End If

		'** 借方売掛金勘定作成
		Query = Query & ",'" & TmpShiwake & "'"						'借方売掛金・勘定CD
		Query = Query & ",'" & KanjyoCDSyokuchi & "'"						'借方売掛金・相手勘定
		If TujyoHenpinKubun = "N" Then				'※通常伝票※
			Query = Query & "," & ZeikomiKingaku		'借方仕入・借方金額
			Query = Query & ",0"						'借方仕入・貸方金額
			Query = Query & ",'D'"						'借方仕入・貸借区分
		Else										'※返品伝票※
			Query = Query & ",0"						'借方仕入・借方金額
			Query = Query & "," & ZeikomiKingaku		'借方仕入・貸方金額
			Query = Query & ",'C'"						'借方仕入・貸借区分
		End IF

		'** 貸方売上勘定作成
		Query = Query & ",'" & KanjyoCDUriage & "'"							'貸方売上・勘定CD
		Query = Query & ",'" & TmpShiwake & "'"						'貸方売上・相手勘定
		If TujyoHenpinKubun = "N" Then				'※通常伝票※
			Query = Query & ",0"						'貸方買掛金・借方金額
			Query = Query & "," & GokeiKingaku			'貸方買掛金・貸方金額
			Query = Query & ",'C'"						'貸方買掛金・貸借区分
		Else										'※返品伝票※
			Query = Query & "," & GokeiKingaku			'貸方買掛金・借方金額
			Query = Query & ",0" 						'貸方買掛金・貸方金額
			Query = Query & ",'D'"						'貸方買掛金・貸借区分
		End If

		'** 貸方消費税勘定作成
		If SyohizeiKingaku <> 0 Then
			Query = Query & ",'" & KanjyoCDKariukeSyohizei & "'"			'貸方消費税・勘定CD
			Query = Query & ",'" & TmpShiwake & "'"					'貸方消費税・相手勘定
			If TujyoHenpinKubun = "N" Then			'※通常伝票※
				Query = Query & ",0"					'貸方消費税・借方金額
				Query = Query & "," & SyohizeiKingaku	'貸方消費税・貸方金額
				Query = Query & ",'C'"					'貸方消費税・貸借区分
			Else									'※返品伝票※
				Query = Query & "," & SyohizeiKingaku	'貸方消費税・借方金額
				Query = Query & ",0" 					'貸方消費税・貸方金額
				Query = Query & ",'D'"					'貸方消費税・貸借区分
			End If
		Else
			Query = Query & ",null"					'貸方消費税・勘定CD
			Query = Query & ",null"					'貸方消費税・相手勘定
			Query = Query & ",null"					'貸方消費税・借方金額
			Query = Query & ",null"					'貸方消費税・貸方金額
			Query = Query & ",null"					'借貸方消費税・貸借区分
		End If
	End If

	End If
'###############################################	 ?.ストアドプロシージャ-実行


'Response.Write(Query)
'Exit Sub
	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_shiireuriage_view.asp?PageType=" & PageType & "&DenpyoNo=" & DenpyoNo & "&ShowDel=" & ShowDel)

End Sub
%>