<% ' %> <% main() Sub main() If Not(SessionCheck()) Then Exit Sub End If Dim Query Dim Content Dim Content2 Dim Content3 Dim Content4 Dim TmpCnt Dim ii Dim jj Dim KanjyoCD(10) Dim KanjyoMeisyo(10) Dim TekiyoCD(10) Dim Tekiyo(10) Dim KarikataKingaku(10) Dim KashikataKingaku(10) Dim KurikoshiEnshuCD Dim Kitakuriyou Dim Genkariyou Query = "exec SPM演習取得 '" & GB_SystemCD & "', '" & EnshuCD & "'" Set Content = OpenQuery(Query) If Not(Content.BOF Or Content.EOF) Then KurikoshiEnshuCD = Content.Fields("期末繰越先演習CD") Kitakuriyou = "" & Content.Fields("寄託倉庫利用") Genkariyou = "" & Content.Fields("原価会計利用") End If Dim FromYmd Query = "exec SPM演習取得 '" & GB_SystemCD & "', '" & KurikoshiEnshuCD & "'" Set Content = OpenQuery(Query) If Not(Content.BOF Or Content.EOF) Then FromYmd = Content.Fields("会計開始日") End If Dim KitakuGaisyaCD If Kitakuriyou = "1" Then Query = "exec SPM会社取得 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "'" Set Content = OpenQuery(Query) If Not(Content.BOF Or Content.EOF) Then KitakuGaisyaCD = Content.Fields("寄託会社CD") End If End If 'アプリケーションロック Call Application.Lock() Query = "exec SPM演習更新データコピー会社学生繰越 '" & GB_SystemCD & "','" & EnshuCD & "'" Query = Query & ", '" & KaisyaCD & "', '" & GB_GakuseiNo & "'" Query = Query & ", '" & KurikoshiEnshuCD & "'" Set Content = OpenQuery(Query) '以下単プロシージャで処理出来ない期末残高繰越処理 Dim objFS Set objFS = CreateObject("Scripting.FileSystemObject") '会社一覧ループ(同時同業の場合は生徒会社全てのため) Query = "exec SPM会社一覧2 '" & GB_SystemCD & "', '" & EnshuCD & "', '', '', 2" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) If (GB_EnshuKubun = "P" And Content.Fields("学生番号") = GB_GakuseiNo) Or (GB_EnshuKubun = "G" And Content.Fields("会社CD") = KaisyaCD) Then Dim ZaikoFlg '商品テンポラリ挿入 ZaikoFlg = 0 'コピー元会社の在庫を取得 Query = "exec SPR入出庫在庫単価 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & Content.Fields("会社CD") & "'" ' Query = "exec SPR入出庫在庫 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & Content.Fields("会社CD") & "', '" & GB_KaikeiSyuryobi & "'" Set Content2 = OpenQuery(Query) Do While Not(Content2.BOF Or Content2.EOF) If "" & Content2.Fields("在庫数") <> "" And "" & Content2.Fields("在庫数") <> "0" Then ZaikoFlg = 1 Query = "exec SPK繰越商品挿入" Query = Query & " '" & GB_SystemCD & "'" Query = Query & ", '" & KurikoshiEnshuCD & "'" '演習CD Query = Query & ", '" & Content.Fields("会社CD") & "'" '会社CD Query = Query & ", 'SS'" '商品入庫 Query = Query & ", '" & Content2.Fields("商品CD") & "'" '商品CD Query = Query & ", " & Content2.Fields("在庫数") & "" '数量 If "" & Content2.Fields("単価") <> "" Then Query = Query & "," & Content2.Fields("単価") & "" '単価 Else Query = Query & ", null" '単価 End If Query = Query & ",0" '受注単価 Set Content3 = OpenQuery(Query) If Kitakuriyou = "1" Then '商品 Query = "exec SPD寄託在庫繰越商品挿入 '" & GB_SystemCD & "'," Query = Query & " '" & KurikoshiEnshuCD & "'" '演習CD Query = Query & ",'" & Content.Fields("会社CD") & "'" '会社CD Query = Query & ",'" & KitakuGaisyaCD & "'" '寄託会社CD Query = Query & ",''" '学生番号 Query = Query & ",'" & Content2.Fields("商品CD") & "'" '商品CD Query = Query & "," & Content2.Fields("在庫数") '数量 If "" & Content2.Fields("単価") <> "" Then Query = Query & "," & Content2.Fields("単価") & "" '単価 Else Query = Query & ", null" '単価 End If Query = Query & ",0" '運送単価 Set Content3 = OpenQuery(Query) End If End If Content2.MoveNext Loop '期首製品は存在出来ない仕様なので強制的に期首商品に含める If Genkariyou = "1" Then Dim MinusSuryo Dim TmpBunsyoNaiyoCD Query = "exec SPD製造指図書一覧 '" & GB_SystemCD & "'" Query = Query & ", '" & EnshuCD & "'" Query = Query & ", '" & Content.Fields("会社CD") & "'" Set Content4 = OpenQuery(Query) Do While Not(Content4.BOF Or Content4.EOF) If TmpBunsyoNaiyoCD <> Content4.Fields("文書内容CD") Then TmpBunsyoNaiyoCD = Content4.Fields("文書内容CD") MinusSuryo = 0 'すでに出庫された数量をMinusSuryoに算出する If Content4.Fields("製造状況区分") = "MS" Then Query = "exec SPD入出庫一覧 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & Content.Fields("会社CD") & "', '" & Content.Fields("会社CD") & "', 'MU'" Set Content2 = OpenQuery(Query) Do While Not(Content2.BOF Or Content2.EOF) '先方書類が当該入庫に該当する出庫の数量をMinusSuryoに算出 If Content2.Fields("先方文書種類CD") = Content4.Fields("製造状況区分") And Content2.Fields("先方文書内容CD") = Content4.Fields("文書内容CD") Then Query = "exec SPD入出庫取得2 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & Content.Fields("会社CD") & "', '" & Content.Fields("会社CD") & "', 'MU', '" & Content2.Fields("文書内容CD") & "'" Set Content3 = OpenQuery(Query) Do While Not(Content3.BOF Or Content3.EOF) MinusSuryo = MinusSuryo + Content3.Fields("数量") Content3.MoveNext Loop End If Content2.MoveNext Loop If (Content4.Fields("商品数量") - MinusSuryo) > 0 Then ZaikoFlg = 1 Query = "exec SPK繰越商品挿入" Query = Query & " '" & GB_SystemCD & "'" Query = Query & ", '" & KurikoshiEnshuCD & "'" '演習CD Query = Query & ", '" & Content.Fields("会社CD") & "'" '会社CD Query = Query & ", 'SS'" '商品入庫 Query = Query & ", '" & Content4.Fields("商品CD") & "'" '商品CD Query = Query & ", " & Content4.Fields("商品数量") - MinusSuryo & "" '数量 If "" & Content4.Fields("商品単価") <> "" Then Query = Query & "," & Content4.Fields("商品単価") & "" '単価 Else Query = Query & ", null" '単価 End If Query = Query & ",0" '受注単価 Set Content3 = OpenQuery(Query) If Kitakuriyou = "1" Then '商品 Query = "exec SPD寄託在庫繰越商品挿入 '" & GB_SystemCD & "'," Query = Query & " '" & KurikoshiEnshuCD & "'" '演習CD Query = Query & ",'" & Content.Fields("会社CD") & "'" '会社CD Query = Query & ",'" & KitakuGaisyaCD & "'" '寄託会社CD Query = Query & ",''" '学生番号 Query = Query & ",'" & Content4.Fields("商品CD") & "'" '商品CD Query = Query & ", " & Content4.Fields("商品数量") - MinusSuryo & "" '数量 If "" & Content4.Fields("商品単価") <> "" Then Query = Query & "," & Content4.Fields("商品単価") & "" '単価 Else Query = Query & ", null" '単価 End If Query = Query & ",0" '運送単価 Set Content3 = OpenQuery(Query) End If End If End If End If Content4.MoveNext Loop End If '商品テンポラリから本テーブルに挿入 If ZaikoFlg = 1 Then Query = "exec SPK繰越商品更新" Query = Query & " '" & GB_SystemCD & "'" Query = Query & ", '" & KurikoshiEnshuCD & "'" Query = Query & ", '" & Content.Fields("会社CD") & "'" Query = Query & ", 'SS'" '商品入庫 Query = Query & ", '" & FromYmd & "'" Query = Query & ",''" Set Content3 = OpenQuery(Query) If Kitakuriyou = "1" Then Query = "exec SPD寄託在庫繰越商品更新 '" & GB_SystemCD & "'," Query = Query & " '" & KurikoshiEnshuCD & "'" '演習CD Query = Query & ",'" & Content.Fields("会社CD") & "'" '会社CD Query = Query & ",'" & FromYmd & "'" '寄託会社CD Query = Query & ",''" Set Content3 = OpenQuery(Query) End If '繰越商品の入庫を削除(明細はYTMP操作時に空になる) Else Query = "exec SPK繰越商品削除" Query = Query & " '" & GB_SystemCD & "'" Query = Query & ", '" & KurikoshiEnshuCD & "'" Query = Query & ", '" & Content.Fields("会社CD") & "'" Query = Query & ", 'SS'" '商品入庫 Query = Query & ", '" & FromYmd & "'" Query = Query & ", ''" Set Content3 = OpenQuery(Query) If Kitakuriyou = "1" Then Query = "exec SPD寄託在庫繰越商品削除 '" & GB_SystemCD & "'," Query = Query & " '" & KurikoshiEnshuCD & "'" '演習CD Query = Query & ",'" & Content.Fields("会社CD") & "'" '会社CD Query = Query & ",'" & FromYmd & "'" Query = Query & ",''" Set Content3 = OpenQuery(Query) End If End If '材料 If Genkariyou = "1" Then ZaikoFlg = 0 'コピー元会社の在庫を取得 Query = "exec SPR材料入出庫在庫単価 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & Content.Fields("会社CD") & "'" Set Content2 = OpenQuery(Query) Do While Not(Content2.BOF Or Content2.EOF) If "" & Content2.Fields("在庫数") <> "" And "" & Content2.Fields("在庫数") <> "0" Then ZaikoFlg = 1 Query = "exec SPK繰越商品挿入" Query = Query & " '" & GB_SystemCD & "'" Query = Query & ", '" & KurikoshiEnshuCD & "'" '演習CD Query = Query & ", '" & Content.Fields("会社CD") & "'" '会社CD Query = Query & ", 'ZS'" '材料入庫 Query = Query & ", '" & Content2.Fields("商品CD") & "'" '商品CD Query = Query & ", " & Content2.Fields("在庫数") & "" '数量 If "" & Content2.Fields("単価") <> "" Then Query = Query & "," & Content2.Fields("単価") & "" '単価 Else Query = Query & ", null" '単価 End If Query = Query & ",0" '受注単価 Set Content3 = OpenQuery(Query) End If Content2.MoveNext Loop If ZaikoFlg = 1 Then Query = "exec SPK繰越商品更新" Query = Query & " '" & GB_SystemCD & "'" Query = Query & ", '" & KurikoshiEnshuCD & "'" Query = Query & ", '" & Content.Fields("会社CD") & "'" Query = Query & ", 'ZS'" '材料入庫 Query = Query & ", '" & FromYmd & "'" Query = Query & ",''" Set Content3 = OpenQuery(Query) '繰越商品の入庫を削除(明細はYTMP操作時に空になる) Else Query = "exec SPK繰越商品削除" Query = Query & " '" & GB_SystemCD & "'" Query = Query & ", '" & KurikoshiEnshuCD & "'" Query = Query & ", '" & Content.Fields("会社CD") & "'" Query = Query & ", 'ZS'" '材料入庫 Query = Query & ", '" & FromYmd & "'" Query = Query & ", ''" Set Content3 = OpenQuery(Query) End If End If '仕訳残高(商社・銀行・製造部) Dim EndCnt EndCnt = 1 If Genkariyou = "1" And GB_GyosyuKubun = "S" Then EndCnt = 2 End If For TmpCnt = 1 To EndCnt Dim ShiwakeFlg ShiwakeFlg = 0 jj = 0 Dim TmpGyoshu TmpGyoshu = GB_GyosyuKubun If TmpCnt = 2 Then TmpGyoshu = "G" '製造部 End If Query = "exec SPK自動転記帳簿_合計残高試算表照会 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & Content.Fields("会社CD") & "', '" & GB_KaikeiKaishibi & "', '" & GB_KaikeiSyuryobi & "', 11, '" & TmpGyoshu & "'" Set Content2 = OpenQuery(Query) Do While Not(Content2.BOF Or Content2.EOF) If "" & Content2.Fields("借方残高") <> "0" Or "" & Content2.Fields("貸方残高") <> "0" Then ShiwakeFlg = 1 If jj = 10 Then jj = 1 Else jj = jj + 1 End If '1〜9回目までは代入のみ KanjyoCD(jj) = Content2.Fields("勘定CD") KanjyoMeisyo(jj) = Content2.Fields("勘定名称") TekiyoCD(jj) = "" Tekiyo(jj) = "" KarikataKingaku(jj) = Content2.Fields("借方残高") If KarikataKingaku(jj) = 0 Then KarikataKingaku(jj) = "null" End If KashikataKingaku(jj) = Content2.Fields("貸方残高") If KashikataKingaku(jj) = 0 Then KashikataKingaku(jj) = "null" End If '10回目に挿入 If jj = 10 Then Query = "exec SPK繰越残高設定挿入10 '" & GB_SystemCD & "', '" & KurikoshiEnshuCD & "', '" & Content.Fields("会社CD") & "'" If TmpGyoshu = "G" Then Query = Query & ", 'D8'" '製造部振替伝票 Else Query = Query & ", 'D5'" '振替伝票 End If Query = Query & ", " & jj '行数 For ii = 1 To jj Query = Query & ", '" & KanjyoCD(ii) & "'" Query = Query & ", '" & TekiyoCD(ii) & "'" Query = Query & ", '" & Tekiyo(ii) & "'" Query = Query & ", " & KarikataKingaku(ii) Query = Query & ", " & KashikataKingaku(ii) Next For ii = jj + 1 To 10 '余りは埋めないと例外エラーになる。プロシージャ側で無視されるので何でも良い。 Query = Query & ", '" & KanjyoCD(ii) & "'" Query = Query & ", '" & TekiyoCD(ii) & "'" Query = Query & ", '" & Tekiyo(ii) & "'" Query = Query & ", null" Query = Query & ", null" Next Set Content3 = OpenQuery(Query) End If End If Content2.MoveNext Loop 'ループアウト時に端数があれば此処で処理 If jj < 10 Then Query = "exec SPK繰越残高設定挿入10 '" & GB_SystemCD & "', '" & KurikoshiEnshuCD & "', '" & Content.Fields("会社CD") & "'" If TmpGyoshu = "G" Then Query = Query & ", 'D8'" '製造部振替伝票 Else Query = Query & ", 'D5'" '振替伝票 End If Query = Query & ", " & jj '行数 For ii = 1 To jj Query = Query & ", '" & KanjyoCD(ii) & "'" Query = Query & ", '" & TekiyoCD(ii) & "'" Query = Query & ", '" & Tekiyo(ii) & "'" Query = Query & ", " & KarikataKingaku(ii) Query = Query & ", " & KashikataKingaku(ii) Next For ii = jj + 1 To 10 '余りは埋めないと例外エラーになる。プロシージャ側で無視されるので何でも良い。 Query = Query & ", '" & KanjyoCD(ii) & "'" Query = Query & ", '" & TekiyoCD(ii) & "'" Query = Query & ", '" & Tekiyo(ii) & "'" Query = Query & ", null" Query = Query & ", null" Next Set Content3 = OpenQuery(Query) End If If ShiwakeFlg = 1 Then Query = "exec SPK繰越残高設定更新 '" & GB_SystemCD & "'," Query = Query & " '" & KurikoshiEnshuCD & "'" Query = Query & ", '" & Content.Fields("会社CD") & "'" If TmpGyoshu = "G" Then Query = Query & ", 'D8'" '製造部振替伝票 Else Query = Query & ", 'D5'" '振替伝票 End If Query = Query & ", '" & FromYmd & "'" Query = Query & ", ''" Set Content3 = OpenQuery(Query) Query = "exec SPM記帳チェック挿入伝票 '" & GB_SystemCD & "'," Query = Query & " '" & KurikoshiEnshuCD & "'," Query = Query & " '" & Content.Fields("会社CD") & "'" Set Content3 = OpenQuery(Query) End If Next 'ポータルサイト画像 If Not(objFS.FolderExists(Server.MapPath(FPortal & "/" & KurikoshiEnshuCD))) Then objFS.CreateFolder(Server.MapPath(FPortal & "/" & KurikoshiEnshuCD)) End If If objFS.FolderExists(Server.MapPath(FPortal & "/" & EnshuCD & "/" & Content.Fields("会社CD"))) Then objFS.CopyFolder Server.MapPath(FPortal & "/" & EnshuCD & "/" & Content.Fields("会社CD")), Server.MapPath(FPortal & "/" & KurikoshiEnshuCD & "/" & Content.Fields("会社CD")), True End If End If Content.MoveNext Loop '商品画像(演習一括処理) If objFS.FolderExists(Server.MapPath(Fgoods & "/" & EnshuCD)) Then objFS.CopyFolder Server.MapPath(Fgoods & "/" & EnshuCD), Server.MapPath(Fgoods & "/" & KurikoshiEnshuCD), True End If '名刺画像(演習一括処理) Dim MeishiDir MeishiDir = "/" & HomeAlias & "/data/meishi" If objFS.FolderExists(Server.MapPath(MeishiDir)) Then Dim objFolder Set objFolder = objFS.GetFolder(Server.MapPath(MeishiDir)) Dim FileName For Each FileName In objFolder.Files Dim FileNameAry FileNameAry = Split(FileName.Name, "_~_") If UBound(FileNameAry) = 3 Then If FileNameAry(0) = EnshuCD And ((GB_EnshuKubun = "G" And FileNameAry(1) = KaisyaCD) Or (GB_EnshuKubun = "P" And FileNameAry(2) = GB_GakuseiNo)) Then objFS.CopyFile Server.MapPath(MeishiDir & "/" & FileName.Name), Server.MapPath(MeishiDir & "/" & KurikoshiEnshuCD & Mid(FileName.Name, Len(EnshuCD) + 1)), True End If ElseIf UBound(FileNameAry) = 2 Then '旧ファイル名仕様 If FileNameAry(0) = EnshuCD And ((GB_EnshuKubun = "G" And FileNameAry(1) = KaisyaCD) Or (GB_EnshuKubun = "P" And Right(FileNameAry(1), Len(GB_GakuseiNo) + 1) = "-" & GB_GakuseiNo)) Then objFS.CopyFile Server.MapPath(MeishiDir & "/" & FileName.Name), Server.MapPath(MeishiDir & "/" & KurikoshiEnshuCD & Mid(FileName.Name, Len(EnshuCD) + 1)), True End If End If Next End If Call Application.Unlock() '繰越先演習にオートログイン Response.Redirect("../default_bin.asp?AutoLogin=1&EnshuCD=" & KurikoshiEnshuCD & "&AutoLoginKaisyaCD=" & KaisyaCD & "&Kurikoshi=1") End Sub %>