%
'
'
%>
<%
main()
Sub main()
If Not(SessionCheck()) Then
Exit Sub
End If
'マスタの標準消費税率を取得
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 UnsohiButton
UnsohiButton = 0
Dim SakuseiKaisyaCD '作成会社CD
Dim TorihikisakiCD '取引先CD
Dim UnsoGaisyaCD '運送会社CD
Dim KitakuGaisyaCD '寄託会社CD
Dim SenpoKitakuGaisyaCD '先方寄託会社CD
Dim BunsyoSyuruiCD '文書種類CD
Dim BunsyoNaiyoCD '文書内容CD
Dim SenpoBunsyoSyuruiCD '先方文書種類CD
Dim SenpoBunsyoNaiyoCD '先方文書内容CD
Dim Syoribi '処理日
Dim SenpoSyoribi '先方処理日
Dim NonyuBasyoKubun '納入場所区分
Dim NonyuKijitsu '納入期日
Dim UntinSyogakariKubun '運賃諸掛区分
Dim Unsohi '運送費
Dim UnsohiSeikyuFlg '運送費請求フラグ
Dim Tekiyo '摘要
Dim ShiharaiHoho '支払方法
Dim HasshinFlg '発信フラグ
Dim GakuseiBango '学生番号
Dim SyohinCD(5) '商品CD
Dim ShijyoCD(5) '市場CD
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 SyoruiMei
Dim Query
Dim Content
Dim Genkin
Dim Toza
Dim Shimei
Dim BinType
Dim UnsoTanka(5) '運送単価
Dim UnsohiSyohin(5) '商品運送費
Dim UnsohiGokei
Dim OldSyoruiFlg
UnsohiGokei = 0
OldSyoruiFlg = 0
BinType = Request("BinType")
SakuseiKaisyaCD = Request("SakuseiKaisyaCD")
TorihikisakiCD = Request("TorihikisakiCD")
BunsyoSyuruiCD = Request("BunsyoSyuruiCD")
BunsyoNaiyoCD = Request("BunsyoNaiyoCD")
SenpoBunsyoSyuruiCD = Request("SenpoBunsyoSyuruiCD")
SenpoBunsyoNaiyoCD = Request("SenpoBunsyoNaiyoCD")
Dim UnsohiSyohizei
Dim Tekiyo2
Dim SenpoFlg
SenpoFlg = 0
If SenpoBunsyoNaiyoCD <> "" Then
SenpoFlg = 1
End If
Dim SenpoTmpBunsyoSyuruiCD
Dim BunsyoKubun
Select Case BunsyoSyuruiCD
Case "KI"
SyoruiMei = "見積依頼書"
BunsyoKubun = "S"
Case "KM"
SyoruiMei = "見積書"
BunsyoKubun = "U"
SenpoTmpBunsyoSyuruiCD = "KI"
Case "KC"
SyoruiMei = "注文書"
BunsyoKubun = "S"
SenpoTmpBunsyoSyuruiCD = "KM"
Case "KU"
SyoruiMei = "注文請書"
BunsyoKubun = "U"
SenpoTmpBunsyoSyuruiCD = "KC"
' Case "KK"
' SyoruiMei = "相手注文請書確認"
' BunsyoKubun = "S"
' SenpoTmpBunsyoSyuruiCD = "KU"
Case "KN"
SyoruiMei = "納品請求書"
BunsyoKubun = "U"
SenpoTmpBunsyoSyuruiCD = "KK"
Case "KB"
SyoruiMei = "物品受領書"
BunsyoKubun = "S"
SenpoTmpBunsyoSyuruiCD = "KN"
Case "KQ"
SyoruiMei = "領収書"
BunsyoKubun = "U"
SenpoTmpBunsyoSyuruiCD = "KB"
Case "KX"
SyoruiMei = "管理部買入申込書"
BunsyoKubun = "X"
Case "KY"
SyoruiMei = "管理部売渡申込書"
BunsyoKubun = "1"
Case "KV"
SyoruiMei = "管理部納品請求書"
BunsyoKubun = "V"
SenpoTmpBunsyoSyuruiCD = "KX"
Case "KW"
SyoruiMei = "管理部売渡受付書"
BunsyoKubun = "W"
SenpoTmpBunsyoSyuruiCD = "KY"
Case "KO"
SyoruiMei = "管理部宛物品受領書"
BunsyoKubun = "X"
SenpoTmpBunsyoSyuruiCD = "KV"
Case "KP"
SyoruiMei = "管理部宛納品請求書"
BunsyoKubun = "1"
SenpoTmpBunsyoSyuruiCD = "KW"
Case "KS"
SyoruiMei = "出庫依頼書"
BunsyoKubun = "U"
SenpoTmpBunsyoSyuruiCD = "KS"
Case Else
End Select
'見積依頼書・管理部買入申込書・管理部売渡申込書は税率・合計がないので此処でレイアウトトグル
Dim TmpShohizeiMode
Dim TmpGokeiMode
TmpShohizeiMode = GB_ShohizeiMode
TmpGokeiMode = 1
If BunsyoSyuruiCD = "KI" Or BunsyoSyuruiCD = "KX" Or BunsyoSyuruiCD = "KY" Then
TmpShohizeiMode = 0
TmpGokeiMode = 0
End If
'Response.Write(TmpShohizeiMode)
'Exit Sub
'修正または先方書類モード
If BunsyoNaiyoCD <> "" Or SenpoBunsyoNaiyoCD <> "" Then
If SenpoBunsyoSyuruiCD = "KK" Then
Query = "exec SPD仕入売上書類取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "', '', 'KU', '" & SenpoBunsyoNaiyoCD & "'"
ElseIf SenpoFlg = 1 Then
If GB_JisyaFlag <> "" Then '運用管理・演習管理(自社フラグ無し)では開封フラグを立てない(061213小野)
Query = "exec SPD仕入売上書類開封 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "', '" & SakuseiKaisyaCD & "', '" & SenpoBunsyoSyuruiCD & "', '" & SenpoBunsyoNaiyoCD & "'"
Set Content = OpenQuery(Query)
End If
Query = "exec SPD仕入売上書類取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "', '" & SakuseiKaisyaCD & "', '" & SenpoBunsyoSyuruiCD & "', '" & SenpoBunsyoNaiyoCD & "'"
Else
Query = "exec SPD仕入売上書類取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "', '" & SakuseiKaisyaCD & "', '" & BunsyoSyuruiCD & "', '" & BunsyoNaiyoCD & "'"
End If
'Response.Write(Query)
'Exit Sub
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
' BunsyoNaiyoCD = Content.Fields("文書内容CD")
If SenpoBunsyoSyuruiCD = "KK" OR SenpoBunsyoSyuruiCD = "KU" Then
SenpoSyoribi = SetTimeYYYYMMDD(Content.Fields("処理日"))
TorihikisakiCD = Content.Fields("取引先CD")
HasshinFlg = Content.Fields("発行フラグ")
ElseIf SenpoFlg = 1 Then
TorihikisakiCD = Content.Fields("作成会社CD")
SenpoSyoribi = SetTimeYYYYMMDD(Content.Fields("処理日"))
Else
SenpoBunsyoNaiyoCD = Content.Fields("先方文書内容CD")
SenpoBunsyoSyuruiCD = Content.Fields("先方文書種類CD")
SenpoSyoribi = SetTimeYYYYMMDD(Content.Fields("先方処理日"))
TorihikisakiCD = Content.Fields("取引先CD")
HasshinFlg = Content.Fields("発行フラグ")
Syoribi = SetTimeYYYYMMDD(Content.Fields("処理日"))
End If
NonyuBasyoKubun = Content.Fields("納入場所区分")
NonyuKijitsu = SetTimeYYYYMMDD(Content.Fields("納入期日"))
UntinSyogakariKubun = Content.Fields("運賃諸掛区分")
UnsoGaisyaCD = Content.Fields("運送会社CD")
Unsohi = Content.Fields("運送費")
UnsohiSeikyuFlg = Content.Fields("運送費請求フラグ")
Tekiyo = Content.Fields("摘要")
If SenpoFlg <> 1 Then
Tekiyo2 = Content.Fields("摘要2")
End If
ShiharaiHoho = Content.Fields("支払方法")
KitakuGaisyaCD = Content.Fields("寄託会社CD")
SenpoKitakuGaisyaCD = Content.Fields("先方寄託会社CD")
GakuseiBango = Content.Fields("学生番号")
Do While Not(Content.BOF Or Content.EOF)
Dim DenpyoSEQ,PreDenpyoSEQ
DenpyoSEQ = Content.Fields("文書内容SEQ")
SyohinCD(DenpyoSEQ) = Content.Fields("商品CD")
ShijyoCD(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
UnsoTanka(DenpyoSEQ) = Content.Fields("運送単価")
UnsohiSyohin(DenpyoSEQ) = Content.Fields("運送単価") * Content.Fields("数量")
If PreDenpyoSEQ <> DenpyoSEQ then
If TaxRate(DenpyoSEQ) <> "" Then
SyohizeiKingaku = SyohizeiKingaku + (Kingaku(DenpyoSEQ) * CCur(TaxRate(DenpyoSEQ)) / 100)
Else
SyohizeiKingaku = SyohizeiKingaku + (Kingaku(DenpyoSEQ) * StdTaxRate / 100)
End If
GokeiKingaku = GokeiKingaku + Kingaku(DenpyoSEQ)
If Not(IsNull(UnsohiSyohin(DenpyoSEQ))) Then
UnsohiGokei = UnsohiGokei + UnsohiSyohin(DenpyoSEQ)
End If
End If
Content.MoveNext
PreDenpyoSEQ=DenpyoSEQ
Loop
SyohizeiKingaku = Int((GokeiKingaku + Unsohi * UnsohiSeikyuFlg) * GB_Shohizei / 100)
UnsohiSyohizei = Int(Unsohi * GB_Shohizei / 100)
ZeikomiKingaku = SyohizeiKingaku + GokeiKingaku + Unsohi * UnsohiSeikyuFlg
If UnsohiGokei <> Unsohi Then '運送単価から計算された値が運送費と異なっていれば旧仕様にする
OldSyoruiFlg = 1
End If
End If
End If
If BinType = "Saisakusei" Then
BunsyoNaiyoCD = ""
End If
Dim jj,tmps
Dim Kaisyamei, KaisyaRyakumei, kaisyaKanamei, ZipCode
Dim Adr1, Adr2, Tel, Fax, GyosyuCD, Set_ShijyoCD
Query = "exec SPM会社取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "'"
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
Kaisyamei = Content.Fields("会社名称")
KaisyaRyakumei = Content.Fields("会社略名称")
kaisyaKanamei = Content.Fields("会社カナ名称")
ZipCode = Content.Fields("郵便番号")
Adr1 = Content.Fields("住所1")
Adr2 = Content.Fields("住所2")
Tel = Content.Fields("TEL")
Fax = Content.Fields("FAX")
GyosyuCD = Content.Fields("業種CD")
Set_ShijyoCD = Content.Fields("市場CD")
KitakuGaisyaCD = Content.Fields("寄託会社CD")
End If
'何らかの理由で仕入売上書類Fの寄託会社・先方寄託会社にNULLがセットされてしまうことがあるので保険(091225)
If "" & KitakuGaisyaCD = "" Then
Query = "exec SPM会社取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & KaisyaCD & "'"
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
KitakuGaisyaCD = Content.Fields("寄託会社CD")
Query = ""
Query = Query & " "
Query = Query & " UPDATE TSA仕入売上書類F "
Query = Query & " SET 寄託会社CD = '" & KitakuGaisyaCD & "' "
Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' "
Query = Query & " AND 演習CD = '" & EnshuCD & "' "
Query = Query & " AND 作成会社CD = '" & KaisyaCD & "' "
Query = Query & " AND (寄託会社CD = '' OR 寄託会社CD IS NULL) "
' Set Content = OpenQuery(Query)
' Query = ""
' Query = Query & " "
Query = Query & " UPDATE TSA仕入売上書類F "
Query = Query & " SET 先方寄託会社CD = '" & KitakuGaisyaCD & "' "
Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' "
Query = Query & " AND 演習CD = '" & EnshuCD & "' "
Query = Query & " AND 取引先CD = '" & KaisyaCD & "' "
Query = Query & " AND (先方寄託会社CD = '' OR 先方寄託会社CD IS NULL) "
Set Content = OpenQuery(Query)
End If
End If
If "" & SenpoKitakuGaisyaCD = "" Then
Query = "exec SPM会社取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & TorihikisakiCD & "'"
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
SenpoKitakuGaisyaCD = Content.Fields("寄託会社CD")
Query = ""
Query = Query & " "
Query = Query & " UPDATE TSA仕入売上書類F "
Query = Query & " SET 先方寄託会社CD = '" & SenpoKitakuGaisyaCD & "' "
Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' "
Query = Query & " AND 演習CD = '" & EnshuCD & "' "
Query = Query & " AND 取引先CD = '" & TorihikisakiCD & "' "
Query = Query & " AND (先方寄託会社CD = '' OR 先方寄託会社CD IS NULL) "
' Set Content = OpenQuery(Query)
' Query = ""
' Query = Query & " "
Query = Query & " UPDATE TSA仕入売上書類F "
Query = Query & " SET 寄託会社CD = '" & SenpoKitakuGaisyaCD & "' "
Query = Query & " WHERE システムCD = '" & GB_SystemCD & "' "
Query = Query & " AND 演習CD = '" & EnshuCD & "' "
Query = Query & " AND 作成会社CD = '" & TorihikisakiCD & "' "
Query = Query & " AND (寄託会社CD = '' OR 寄託会社CD IS NULL) "
Set Content = OpenQuery(Query)
End If
End If
Dim JidoBangoShiireUriageSyorui
JidoBangoShiireUriageSyorui = GetEnshuParam(EnshuCD, "自動番号仕入売上書類")
'演習設定取得
Dim ShameiYusen
ShameiYusen = ""
Dim Kitakuriyou
Dim Jissenbi
Jissenbi = ""
Dim SenpoRiyo
Dim KanribuUnchinShogakari
Dim ShiireUriageKennin
Query = "exec SPM演習取得 '" & GB_SystemCD & "','" & EnshuCD & "'"
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
Kitakuriyou = Content.Fields("寄託倉庫利用")
Jissenbi = "" & SetTimeYYYYMMDD(Content.Fields("実践日"))
SenpoRiyo = "" & Content.Fields("仕入売上書類先方書類必要")
KanribuUnchinShogakari = "" & Content.Fields("管理部買入売渡運賃諸掛")
ShiireUriageKennin = ";" & Content.Fields("仕入売上書類検認利用") & ";"
ShameiYusen = "" & Content.Fields("仕入売上書類社名優先")
End If
If ShiireHanbaiKennin <> 1 Then
ShiireUriageKennin = ""
End If
If BunsyoSyuruiCD = "KW" Then '管理部売渡受付書の場合デフォルトの先方寄託会社を取得
Query = "exec SPM会社取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & TorihikisakiCD & "'"
Set Content = OpenQuery(Query)
If Not(Content.BOF Or Content.EOF) Then
SenpoKitakuGaisyaCD = Content.Fields("寄託会社CD")
End If
End If
'会社配列作成
Dim KaishaCDA
Dim KaishaNameA
Dim KaishaGyoshuA
Dim KaishaShijoA
ReDim KaishaCDA(0)
ReDim KaishaNameA(0)
ReDim KaishaShijoA(0)
If BunsyoSyuruiCD = "KX" OR BunsyoSyuruiCD = "KO" OR BunsyoSyuruiCD = "KY" OR BunsyoSyuruiCD = "KV" OR BunsyoSyuruiCD = "KW" OR BunsyoSyuruiCD = "KP" Then
Query = "exec SPM会社市場一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & GakuseiNo & "', '" & GB_ShijyoCD & "'"
Else
Query = "exec SPM会社全部一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & GakuseiNo & "'"
End If
Set Content = OpenQuery(Query)
Do While Not(Content.BOF Or Content.EOF)
If ((BunsyoKubun = "X" OR BunsyoKubun = "1") AND Content.Fields("業種CD") = "K") OR ((BunsyoKubun <> "X" AND BunsyoKubun <> "1") AND Content.Fields("業種CD") = "S") Then
If Content.Fields("会社CD") <> KaisyaCD 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
End If
Content.MoveNext
Loop
'↓商品表示幅の指定及び商品名称・商品略名称の指定(修正061031小野)
Dim SyohinMeisyo, SyohinMeisyoListWidth, ShijyoListWidth
SyohinMeisyo = "商品名称"
SyohinMeisyoListWidth = ""
If BunsyoSyuruiCD <> "KI" AND BunsyoSyuruiCD <> "KX" AND BunsyoSyuruiCD <> "KO" AND BunsyoSyuruiCD <> "KY" Then
SyohinMeisyo = "商品名称"
SyohinMeisyoListWidth = "width:220;"
ElseIf BunsyoSyuruiCD = "KX" Then
SyohinMeisyo = "商品名称"
SyohinMeisyoListWidth = "width:300;"
Else
SyohinMeisyo = "商品名称"
End If
'↑商品表示幅の指定及び商品名称・商品略名称の指定(修正061031小野)
'消費税率配列作成(消費税率マスタ及び商品マスタ・現在書類からすべての設定税率を取得する)
'まず仮配列に代入しその後本配列にソートする
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
%>
<% = HtmlHeader("") %>