%
'
'
%>
<%
main()
Sub main()
'マスタの標準消費税率を取得
Dim StdTaxRate
Dim StdTaxRateUnso
StdTaxRate = GB_Shohizei
StdTaxRateUnso = GB_Shohizei
If GB_ShohizeiMode = 1 Then
Query = " SELECT * FROM TDA消費税率M WHERE システムCD = '" & GB_SystemCD & "' AND 演習CD = '" & EnshuCD & "' AND (標準 = '1' OR 運送費標準 = '1') "
Set Content = OpenQuery(Query)
Do While Not(Content.BOF Or Content.EOF)
If "" & Content.Fields("標準") = "1" Then
StdTaxRate = Content.Fields("消費税率")
End If
If "" & Content.Fields("運送費標準") = "1" Then
StdTaxRateUnso = Content.Fields("消費税率")
End If
Content.MoveNext
Loop
End If
Dim TmpCnt
Dim DenpyoNo, Torihikibi, DenpyoTekiyo,TorihikisakiCD '伝票番号、取引日、伝票摘要、取引先CD
Dim DenpyoSyoriKubun,TujyoHenpinKubun,TmpTorihikisakiName '伝票処理区分、通常返品区分、取引先名称
Dim PageType 'ページの種類 "仕入" or "売上"かを判定
Dim SyohinCD(5) '商品コード
Dim SyohinName(5) '商品名称
Dim Kakaku(5) '標準価格
Dim Suryo(5) '数量
Dim Tanka(5) '単価
Dim Kingaku(5) '金額
Dim TaxRate(5) '消費税率
Dim GokeiKingaku '合計
Dim SyohizeiKingaku '消費税
Dim ZeikomiKingaku '税込み金額
Dim Checked_N,Checked_R
Dim GakuseiShimei '学生氏名(係印)
Dim OldDenpyoNo
SyohizeiKingaku = 0
For TmpCnt = 1 To 5
TaxRate(TmpCnt) = StdTaxRate
Next
Dim ShowDel
ShowDel = Request("ShowDel")
Dim LabelSoumu
Dim LabelTanto
Dim LabelKakari
LabelSoumu = ""
LabelTanto = ""
LabelKakari = "係 印"
If MHMINRANLEFT <> "" Then LabelSoumu = MHMINRANLEFT End If
If MHMINRANCENTER <> "" Then LabelTanto = MHMINRANCENTER End If
If MHMINRANRIGHT <> "" Then LabelKakari = MHMINRANRIGHT End If
Dim Query
Dim Content
Dim Genkin, Toza
Dim Shimei
DenpyoNo = Request("DenpyoNo")
PageType= Request("Pagetype")
Dim title
If PageType = "Shiire" Then
title = "仕入伝票"
Else
title = "売上伝票"
End If
Dim GakuseiBango
If Session(HomeAlias & "EnshuKubun") = "P" AND GB_JisyaFlag = "0" Then
Else
GakuseiBango = GB_GakuseiNo
End If
Dim ErrorFlg
ErrorFlg = Request("ErrorFlg")
'追加モードでリジェクトされた場合はクエリを取得(090528小野)
If ErrorFlg <> "" Then
DenpyoNo = Request("DenpyoNo")
Torihikibi = Request("Torihikibi")
TorihikisakiCD = Request("TorihikisakiCD")
TujyoHenpinKubun = Request("TujyoHenpinKubun")
DenpyoTekiyo = Request("DenpyoTekiyo")
For TmpCnt = 1 To 5
SyohinCD(TmpCnt) = Request("SyohinCD" & CStr(TmpCnt))
Suryo(TmpCnt) = ConvMoneyToInt(Request("Suryo" & CStr(TmpCnt)))
Tanka(TmpCnt) = ConvMoneyToInt(Request("Tanka" & CStr(TmpCnt)))
Kingaku(TmpCnt) = ConvMoneyToInt(Request("Kingaku" & CStr(TmpCnt)))
Kingaku(TmpCnt) = Request("Kingaku" & CStr(TmpCnt))
TaxRate(TmpCnt) = Request("TaxRate" & CStr(TmpCnt))
If Kingaku(TmpCnt) <> "" Then
GokeiKingaku = GokeiKingaku + CLng(Kingaku(TmpCnt))
'SyohizeiKingaku = Int(GokeiKingaku * GB_Shohizei / 100)
If TaxRate(TmpCnt) <> "" Then
SyohizeiKingaku = SyohizeiKingaku + (Kingaku(TmpCnt) * CCur(TaxRate(TmpCnt)) / 100)
Else
SyohizeiKingaku = SyohizeiKingaku + (Kingaku(TmpCnt) * StdTaxRate / 100)
End If
End If
Next
ZeikomiKingaku = Fix(SyohizeiKingaku) + GokeiKingaku
If TujyoHenpinKubun = "N" Then '通常
Checked_N = "checked"
Checked_R = ""
Else
Checked_R = "checked"
Checked_N = ""
End If
'修正モード
ElseIf DenpyoNo <> "" Then
OldDenpyoNo = DenpyoNo 'この場合のみOldDenpyoNoを持たせる(090528小野)
'/////// 1.「伝票」ヘッダ部のデータを取得。
If PageType = "Shiire" Then
Query = "exec SPK伝票_仕入伝票取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "', '" & DenpyoNo & "'"
Else
Query = "exec SPK伝票_売上伝票取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "', '" & DenpyoNo & "'"
End If
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
Torihikibi = SetTimeYYYYMMDD(Content.Fields("取引日"))
DenpyoTekiyo = Content.Fields("伝票摘要")
DenpyoSyoriKubun = Content.Fields("伝票処理区分")
TorihikisakiCD = Content.Fields("取引先CD")
TujyoHenpinKubun = Content.Fields("通常返品区分")
GakuseiShimei = Content.Fields("氏名")
GakuseiBango = Content.Fields("学生番号")
If TujyoHenpinKubun = "N" Then '通常
Checked_N = "checked"
Checked_R = ""
Else
Checked_R = "checked"
Checked_N = ""
End If
End IF
'/////// 2.「仕入明細」明細部のデータを取得。
If PageType = "Shiire" Then
Query = "exec SPK伝票_仕入明細取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "', '" & DenpyoNo & "'"
Else
Query = "exec SPK伝票_売上明細取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "', '" & DenpyoNo & "'"
End If
Set Content = OpenQuery(Query)
GokeiKingaku = 0
If Not(Content.BOF Or Content.EOF) Then
Do While Not(Content.BOF Or Content.EOF)
Dim DenpyoSEQ
DenpyoSEQ = Content.Fields("仕入売上明細SEQ")
SyohinCD(DenpyoSEQ) = Content.Fields("商品CD")
SyohinName(DenpyoSEQ) = ConvSyohinMeisyo(Content.Fields("商品CD"))
Kakaku(DenpyoSEQ) = ConvSyohinHanbaiTanka(Content.Fields("商品CD"))
Suryo(DenpyoSEQ) = Content.Fields("受注数量")
Tanka(DenpyoSEQ) = Content.Fields("受注単価")
Kingaku(DenpyoSEQ) = Content.Fields("受注単価") * Content.Fields("受注数量")
TaxRate(DenpyoSEQ) = Content.Fields("消費税率")
If "" & TaxRate(DenpyoSEQ) = "" Or GB_ShohizeiMode <> 1 Then
TaxRate(DenpyoSEQ) = StdTaxRate
End If
GokeiKingaku = GokeiKingaku + Kingaku(DenpyoSEQ)
'SyohizeiKingaku = Int(GokeiKingaku * GB_Shohizei / 100)
SyohizeiKingaku = SyohizeiKingaku + (Kingaku(DenpyoSEQ) * TaxRate(DenpyoSEQ) / 100)
'Response.Write(Kingaku(DenpyoSEQ) * TaxRate(DenpyoSEQ) & "
")
Content.MoveNext
Loop
End If
ZeikomiKingaku = Fix(SyohizeiKingaku) + GokeiKingaku
Else
Checked_N = "checked"
Checked_R = ""
End If
Dim jj,tmps
' Dim JidoBangoDenpyo
' JidoBangoDenpyo = GetEnshuParam(EnshuCD, "自動番号伝票")
'自動番号伝票フラグ・実践日取得
Dim JidoBangoDenpyo
Dim Jissenbi
Dim ShiireUriageSyohizei
Dim HyojunTankaHyoji
Jissenbi = ""
Query = "exec SPM演習取得 '" & GB_SystemCD & "','" & EnshuCD & "'"
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
JidoBangoDenpyo = "" & Content.Fields("自動番号伝票")
Jissenbi = "" & SetTimeYYYYMMDD(Content.Fields("実践日"))
ShiireUriageSyohizei = "" & Content.Fields("仕入売上伝票消費税手動仕訳")
HyojunTankaHyoji = "" & Content.Fields("標準販売単価表示")
End If
Dim KouriRiyo
KouriRiyo = KourihanbaiRiyo()
If ShiireUriageSyohizei = "1" Then
SyohizeiKingaku = 0
ZeikomiKingaku = SyohizeiKingaku + GokeiKingaku
End If
Dim CategoryEnable 'カテゴリ存在フラグ(サイバー会計モード)
CategoryEnable = False
Query = ""
Query = Query & " "
Query = Query & " SELECT カテゴリ "
Query = Query & " FROM TDA商品M "
Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' "
Query = Query & " AND 演習CD = '" & EnshuCD & "' "
Query = Query & " AND カテゴリ <> '' AND カテゴリ IS NOT NULL "
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
CategoryEnable = True
End If
'会社配列作成
Dim KaishaCDA
Dim KaishaNameA
Dim KaishaShijoA
ReDim KaishaCDA(0)
ReDim KaishaNameA(0)
ReDim KaishaShijoA(0)
Query = "exec SPM会社全部一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & GakuseiNo & "'"
Set Content = OpenQuery(Query)
Do While Not(Content.BOF Or Content.EOF)
'サイバー会計モードでは全会社表示(091007小野)
If (PackageMode = 1 Or ((Content.Fields("市場CD") = GB_ShijyoCD And Content.Fields("業種CD") = "K") OR Content.Fields("業種CD") = "S")) And Content.Fields("会社略名称") <> GB_KaisyaRyakuMeisyo Then
ReDim PreServe KaishaCDA(UBound(KaishaCDA) + 1) '配列数+1
ReDim PreServe KaishaNameA(UBound(KaishaCDA))
ReDim PreServe KaishaShijoA(UBound(KaishaCDA))
KaishaCDA(UBound(KaishaCDA)) = "" & Content.Fields("会社CD")
KaishaNameA(UBound(KaishaCDA)) = "" & Content.Fields("会社名称")
KaishaShijoA(UBound(KaishaCDA)) = "" & Content.Fields("市場CD")
End If
Content.MoveNext
Loop
If KouriRiyo > 0 And PageType = "Uriage" Then '売上伝票のみ
ReDim PreServe KaishaCDA(UBound(KaishaCDA) + 1) '配列数+1
ReDim PreServe KaishaNameA(UBound(KaishaCDA))
ReDim PreServe KaishaShijoA(UBound(KaishaCDA))
KaishaCDA(UBound(KaishaCDA)) = "SJ4KOURIHANBAI"
KaishaNameA(UBound(KaishaCDA)) = "" & ConvKaisyaMeisyo("SJ4KOURIHANBAI")
KaishaShijoA(UBound(KaishaCDA)) = ""
End If
'消費税率配列作成(消費税率マスタ及び商品マスタ・現在伝票からすべての設定税率を取得する)
'まず仮配列に代入しその後本配列にソートする
Dim TmpTaxRateAry
ReDim TmpTaxRateAry(0)
Dim TmpTaxRate
Query = ""
Query = Query & " "
Query = Query & " SELECT * "
Query = Query & " FROM TDA消費税率M "
Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' "
Query = Query & " AND 演習CD = '" & EnshuCD & "' "
Query = Query & " ORDER BY 消費税率 DESC "
Set Content = OpenQuery(Query)
Do While Not(Content.BOF Or Content.EOF)
ReDim PreServe TmpTaxRateAry(UBound(TmpTaxRateAry) + 1) '配列+1
TmpTaxRateAry(UBound(TmpTaxRateAry)) = Content.Fields("消費税率")
'Response.Write(TmpTaxRateAry(UBound(TmpTaxRateAry)) & "
")
TmpTaxRate = TmpTaxRate & "'" & Content.Fields("消費税率") & "'" '存在チェック用羅列
Content.MoveNext
Loop
Query = "exec SPM商品一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & GB_GakuseiNo & "'"
Set Content = OpenQuery(Query)
Do While Not(Content.BOF Or Content.EOF)
If "" & Content.Fields("標準消費税率") <> "" Then
If InStr(TmpTaxRate, "'" & Content.Fields("標準消費税率") & "'") < 1 Then
ReDim PreServe TmpTaxRateAry(UBound(TmpTaxRateAry) + 1) '配列+1
TmpTaxRateAry(UBound(TmpTaxRateAry)) = Content.Fields("標準消費税率")
TmpTaxRate = TmpTaxRate & "'" & Content.Fields("標準消費税率") & "'" '存在チェック用羅列
End If
End If
Content.MoveNext
Loop
For TmpCnt = 1 To 5
If "" & TaxRate(TmpCnt) <> "" Then
If InStr(TmpTaxRate, "'" & TaxRate(TmpCnt) & "'") < 1 Then
ReDim PreServe TmpTaxRateAry(UBound(TmpTaxRateAry) + 1) '配列+1
TmpTaxRateAry(UBound(TmpTaxRateAry)) = CCur(TaxRate(TmpCnt))
TmpTaxRate = TmpTaxRate & "'" & TaxRate(TmpCnt) & "'" '存在チェック用羅列
End If
End If
Next
'本配列にソート
Dim TCnt
Dim TaxRateAry
ReDim TaxRateAry(0)
ReDim PreServe TaxRateAry(UBound(TmpTaxRateAry)) '仮配列と同じ長さ
For TCnt = 1 To UBound(TaxRateAry)
TaxRateAry(Tcnt) = 0 'すべてにゼロを代入
Next
TmpTaxRate = "" '存在チェック用羅列リセット
For TCnt = 1 To UBound(TaxRateAry)
For TmpCnt = 1 To UBound(TmpTaxRateAry)
'その時点で有効な最大税率を取得する
If InStr(TmpTaxRate, "'" & TmpTaxRateAry(TmpCnt) & "'") < 1 Then
If TmpTaxRateAry(TmpCnt) > TaxRateAry(TCnt) Then
TaxRateAry(TCnt) = TmpTaxRateAry(TmpCnt)
End If
End If
Next
TmpTaxRate = TmpTaxRate & "'" & TaxRateAry(TCnt) & "'" '存在チェック用羅列
Next
For TmpCnt = 1 To UBound(TmpTaxRateAry)
' Response.Write(TmpTaxRateAry(TmpCnt) & "
")
Next
For TCnt = 1 To UBound(TaxRateAry)
' Response.Write(TaxRateAry(TCnt) & "
")
Next
'Response.Write(TmpTaxRate & "
")
'Exit Sub
'商品配列作成
Dim ShohinCDA
Dim ShohinNameA
Dim ShohinShijoA
Dim ShohinShiireA '仕入先CD(サイバー会計用)
Dim ShohinCategoryA 'カテゴリ(サイバー会計用)
ReDim ShohinCDA(0)
ReDim ShohinNameA(0)
ReDim ShohinShijoA(0)
ReDim ShohinShiireA(0)
ReDim ShohinCategoryA(0)
Query = "exec SPM商品一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & GB_GakuseiNo & "'"
Set Content = OpenQuery(Query)
Do While Not(Content.BOF Or Content.EOF)
'If PackageMode = 1 And GB_EnshuKubun = "G" And "" & Content.Fields("所有会社CD") <> "" And "" & Content.Fields("学生番号") <> "" And (UCase(Content.Fields("所有会社CD")) <> UCase(GB_GakuseiNo) Or UCase(Content.Fields("学生番号")) <> UCase(GB_GakuseiNo)) Then
'Else
ReDim PreServe ShohinCDA(UBound(ShohinCDA) + 1) '配列数+1
ReDim PreServe ShohinNameA(UBound(ShohinCDA))
ReDim PreServe ShohinShijoA(UBound(ShohinCDA))
ReDim PreServe ShohinShiireA(UBound(ShohinCDA))
ReDim PreServe ShohinCategoryA(UBound(ShohinCDA))
ShohinCDA(UBound(ShohinCDA)) = "" & Content.Fields("商品CD")
ShohinNameA(UBound(ShohinCDA)) = "" & Content.Fields("商品名称")
ShohinShijoA(UBound(ShohinCDA)) = "" & Content.Fields("市場CD")
ShohinShiireA(UBound(ShohinCDA)) = "" & Content.Fields("仕入先CD")
If GB_EnshuKubun = "P" And ShohinShiireA(UBound(ShohinCDA)) <> "" And Right(ShohinShiireA(UBound(ShohinCDA)), Len("-" & GB_GakuseiNo)) <> "-" & GB_GakuseiNo Then
ShohinShiireA(UBound(ShohinCDA)) = ShohinShiireA(UBound(ShohinCDA)) & "-" & GB_GakuseiNo
End If
ShohinCategoryA(UBound(ShohinCDA)) = "" & Content.Fields("カテゴリ")
'End If
Content.MoveNext
Loop
'システム予約商品
ReDim PreServe ShohinCDA(UBound(ShohinCDA) + 1) '配列数+1
ReDim PreServe ShohinNameA(UBound(ShohinCDA))
ReDim PreServe ShohinShijoA(UBound(ShohinCDA))
ReDim PreServe ShohinShiireA(UBound(ShohinCDA))
ReDim PreServe ShohinCategoryA(UBound(ShohinCDA))
ShohinCDA(UBound(ShohinCDA)) = "ETCSHOHIN"
ShohinNameA(UBound(ShohinCDA)) = "その他の商品"
ShohinShijoA(UBound(ShohinCDA)) = ""
ShohinShiireA(UBound(ShohinCDA)) = ""
ShohinCategoryA(UBound(ShohinCDA)) = ""
'商品名称メニュー幅トグル
Dim ShohinWidth
ShohinWidth = 145
If HyojunTankaHyoji = "0" Then '標準販売単価非表示
ShohinWidth = ShohinWidth + 104
End If
Dim ii
Dim ShijoCDSSelndex
Dim ShijoCDSSelndexSonzai
ShijoCDSSelndex = 0
ShijoCDSSelndexSonzai = False
'GB_ShohizeiMode = 0
%>
<% = HtmlHeader("") %>