%
'
'
'
%>
<%
main()
Sub main()
If Not(SessionCheck()) Then
Exit Sub
End If
Dim DenpyoNo, Torihikibi, DenpyoTekiyo,TorihikisakiCD, OldDenpyoNo
Dim GokeiKingaku,SyohizeiKingaku,ZeikomiKingaku
Dim PageType
Dim TujyoHenpinKubun
Dim TmpZairyoCD(10)
Dim TmpTanka(10)
Dim TmpSuryo(10)
Dim TmpKingaku(10)
Dim TmpTaxRate(10)
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 = Int(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
If "" & SyohizeiKingaku = "" Then
SyohizeiKingaku = 0
End If
Dim ReturnValue
ReturnValue = Request("SendValue")
QueryStr = QueryStr & "&ReturnValue=" & ReturnValue
'明細部:TK仕入伝票明細F
' For ii = 1 To 5
' TmpZairyoCD(ii) = Request("SyohinCD" & ii) '商品CD
' TmpSuryo(ii) = ConvMoneyToInt(Request("Suryo" & ii)) '受注数量
' TmpTanka(ii) = ConvMoneyToInt(Request("Tanka" & ii)) '受注単価
' TmpKingaku(ii) = ConvMoneyToInt(Request("Kingaku" & ii))'金額
' Next
Dim KanjyoCDShiire, KanjyoCDUriage, KanjyoCDUrikakekin, KanjyoCDKaikakekin
Dim KanjyoCDKaribaraiSyohizei, KanjyoCDKariukeSyohizei, KanjyoCDSyokuchi
Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', ''"
Set Content = OpenQuery(Query)
Do While Not(Content.BOF OR Content.EOF)
If Content.Fields("特別勘定区分") = "DK" 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
Query = Query & ",'D7'" '伝票区分
Query = Query & ",'" & DenpyoNo & "'"
Set Content = OpenQuery(Query)
Query = "exec SPM記帳チェック挿入伝票 '" & GB_SystemCD & "',"
Query = Query & " '" & EnshuCD & "'"
Query = Query & ",'" & KaisyaCD & "'"
Set Content = OpenQuery(Query)
Response.Redirect("fk_zairyoshiire_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
'重複チェックは全伝票通しで行う
Query = "exec SPK伝票_伝票取得全区分 '" & GB_SystemCD & "','"
Query = Query & EnshuCD & "', '" & KaisyaCD & "', '" & DenpyoNo & "'"
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
' Response.Write("この伝票番号は存在しています。
")
' Response.Write("戻る")
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
Dim SendValue, TmpValue1, TmpValue2
SendValue = Request("SendValue")
If Request("KaisyaCD") <> "" Then
KaisyaCD = Request("KaisyaCD")
End If
Dim WaitTime
WaitTime = Request("WaitTime")
If WaitTime <> "" And WaitTime <> "0" And WaitTime <> "1" Then
Query = "exec SPMウェイトフラグ更新 '" & GB_SystemCD & "', '0'"
Set Content = OpenQuery(Query)
WaitTime = ""
End If
Dim WaitFlg
WaitFlg = ""
Query = "SELECT * FROM TC0ウェイトフラグ"
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
WaitFlg = "" & Content.Fields("ウェイトフラグ")
End If
If WaitFlg <> "1" Then
Query = "exec SPMウェイトフラグ更新 '" & GB_SystemCD & "', '1'"
Set Content = OpenQuery(Query)
Query = "exec SPK伝票_削除 '" & GB_SystemCD & "',"
Query = Query & "'" & EnshuCD & "'" '演習CD
Query = Query & ",'" & KaisyaCD & "'" '会社CD
Query = Query & ",'D7'" '伝票区分
Query = Query & ",'" & OldDenpyoNo & "'"
Set Content = OpenQuery(Query)
Dim db
Set db = InitQuery()
GokeiKingaku = 0
'SyohizeiKingaku = 0 'フォームから取得するので計算はしない
ZeikomiKingaku = 0
TmpValue1 = split(SendValue, ";")
Dim bCheck
bCheck = 0
For ii = 0 To UBound(TmpValue1) - 1
If jj = 10 Then
jj = 1
Else
jj = jj + 1
End If
TmpValue2 = split(TmpValue1(ii), ",")
TmpZairyoCD(jj) = ConvRevZairyoMeisyo(TmpValue2(0))
TmpSuryo(jj) = ConvMoneyToInt(TmpValue2(1))
TmpTanka(jj) = ConvMoneyToInt(TmpValue2(2))
TmpTaxRate(jj) = ConvMoneyToInt(TmpValue2(4))
If jj = 10 Or ii = UBound(TmpValue1) - 1 Then
Query = "exec SPK伝票_材料仕入伝票挿入 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "'"
Query = Query & ", '" & DenpyoNo & "', '" & Torihikibi & "'"
If Session(HomeAlias & "EnshuKubun") = "P" AND GB_JisyaFlag = "0" Then
Query = Query & ", ''"
Else
Query = Query & ", '" & GakuseiNo & "'"
End If
Query = Query & ", " & jj
For kk = 1 To jj
Query = Query & ", '" & TmpZairyoCD(kk) & "'"
If TmpSuryo(kk) <> "" Then
Query = Query & ", " & TmpSuryo(kk)
Else
Query = Query & ", null"
End If
If TmpTanka(kk) <> "" Then
Query = Query & ", " & TmpTanka(kk)
Else
Query = Query & ", null"
End If
If TmpTaxRate(kk) <> "" Then
Query = Query & ", " & TmpTaxRate(kk)
Else
Query = Query & ", null"
End If
If TmpSuryo(kk) <> "" And TmpTanka(kk) <> "" Then
GokeiKingaku = GokeiKingaku + (ConvMoneyToInt(TmpSuryo(kk)) * ConvMoneyToInt(TmpTanka(kk))) '合計金額
End If
Next
For kk = jj + 1 To 10 '余りは埋めないと例外エラーになる。プロシージャ側で無視されるので何でも良い。
Query = Query & ", '" & TmpZairyoCD(kk) & "'"
If TmpSuryo(kk) <> "" Then
Query = Query & ", " & TmpSuryo(kk)
Else
Query = Query & ", null"
End If
If TmpTanka(kk) <> "" Then
Query = Query & ", " & TmpTanka(kk)
Else
Query = Query & ", null"
End If
If TmpTaxRate(kk) <> "" Then
Query = Query & ", " & TmpTaxRate(kk)
Else
Query = Query & ", null"
End If
If TmpSuryo(kk) <> "" And TmpTanka(kk) <> "" Then
GokeiKingaku = GokeiKingaku + (CLng(TmpSuryo(kk)) * CLng(TmpTanka(kk))) '合計金額
End If
Next
DebugQuery(Query)
bCheck = 1
'Response.Write(Query)
'Exit Sub
Set Content = OpenQuery(Query)
DenpyoNo = Content.Fields(0) '初回挿入時に採番したら伝票番号を取得しておく
End If
Next
'Response.Write(DenpyoNo)
'Exit Sub
'SyohizeiKingaku = Int(GokeiKingaku * GB_Shohizei / 100) '消費税 'フォームから取得するので計算はしない
ZeikomiKingaku = GokeiKingaku + SyohizeiKingaku '税込金額
'Response.Write(ZeikomiKingaku)
'Exit Sub
Query = "exec SPK伝票_材料仕入伝票更新 '" & GB_SystemCD & "'"
Query = Query & ", '" & EnshuCD & "'" '演習CD
Query = Query & ", '" & KaisyaCD & "'" '会社CD
Query = Query & ", '" & DenpyoNo & "'" '伝票番号
Query = Query & ", '" & OldDenpyoNo & "'" '旧伝票番号
Query = Query & ", 1" '伝票処理区分
If DenpyoTekiyo = "" Then
Query = Query & ",null"
Else
Query = Query & ",'" & DenpyoTekiyo & "'" '伝票摘要
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
'** 仕入借方勘定作成
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
'############################################### ?.ストアドプロシージャ-実行
'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)
Query = "exec SPMウェイトフラグ更新 '" & GB_SystemCD & "', '0'"
Set Content = OpenQuery(Query)
'############################################### 4.更新データをビューで表示
Response.Redirect("fk_zairyoshiire_view.asp?PageType=" & PageType & "&DenpyoNo=" & DenpyoNo & "&ShowDel=" & ShowDel)
Else
If WaitTime = "1" Then
WaitTime = "2"
Else
WaitTime = "1"
End If
%>