<!-- #include file="../../../include.asp" --> <% '<!-- '################################################ ' 名称 :原価計算表 ' 作成日 :2016/02/2 ' 作成者 :小野 ' 概要 : '################################################ '--> ' %> <% main() Sub main() If Not(SessionCheck()) Then Exit Sub End If Dim Cnt Dim PageType PageType = Request("PageType") Dim Label If PageType = "Uriage" Then Label = "売上帳" Else Label = "仕入帳" End If Label = "原価計算表" Dim RouteType RouteType = Request("RouteType") Dim BunsyoNaiyoCD BunsyoNaiyoCD = Request("BunsyoNaiyoCD") Dim Mode Mode = Request("Mode") Dim ii, jj Dim Query Dim Content Dim Content2 Dim SyohinKubun Dim SyohinKubunMei Dim SyohinCD Dim ShohinMeisho Dim Lot Dim Tani Dim SeizoLot Dim SoSeizoSu Dim SyohinTanka Dim Syoribi Dim Kanryobi Dim SeizouKubun Dim ZBunsyoNaiyoCD Dim RoumuHi Dim KeiHi Dim GokeiKingaku Query = "exec SPD製造指図書取得 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "', '" & BunsyoNaiyoCD & "'" Set Content = OpenQuery(Query) If Not(Content.BOF Or Content.EOF) Then SyohinCD = Content.Fields("商品CD") KeiHi = Content.Fields("経費") RoumuHi = Content.Fields("労務費") 'Response.Write(SyohinCD) 'Exit Function ' Lot = 1 'ゼロ除算例外対策 If Left(Content.Fields("製造状況区分"), 1) = "P" Or Left(Content.Fields("製造状況区分"), 1) = "M" Then SyohinKubun = "S" SyohinKubunMei = "商品" Query = "exec SPM商品取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & SyohinCD & "'" Set Content2 = OpenQuery(Query) If Not(Content2.BOF Or Content2.EOF) Then ShohinMeisho = Content2.Fields("商品名称") Lot = Content2.Fields("ロット") Tani = Content2.Fields("単位") End If Else SyohinKubun = "Z" SyohinKubunMei = "材料" Query = "exec SPM材料取得 '" & GB_SystemCD & "','" & EnshuCD & "','" & SyohinCD & "'" Set Content2 = OpenQuery(Query) If Not(Content2.BOF Or Content2.EOF) Then ShohinMeisho = Content2.Fields("材料名称") Lot = Content2.Fields("ロット") Tani = Content2.Fields("単位") End If End If SeizoLot = Content.Fields("商品数量") If Lot <> 0 Then SeizoLot = SeizoLot / Lot End If SoSeizoSu = Content.Fields("商品数量") SyohinTanka = Content.Fields("商品単価") Syoribi = SetTimeYYYYMMDD(Content.Fields("処理日")) Kanryobi = SetTimeYYYYMMDD(Content.Fields("完了日")) SeizouKubun = Content.Fields("製造状況区分") ZBunsyoNaiyoCD = Content.Fields("材料出庫CD") End If If "" & KeiHi = "" Then KeiHi = 0 End If If "" & RoumuHi = "" Then RoumuHi = 0 End If GokeiKingaku = 0 ' Dim AutoZandakaNyuryoku ' AutoZandakaNyuryoku = GetEnshuParam(EnshuCD, "残高自動計算") %> <html> <% = HtmlHeader("sj3tyobored11") %> <SCRIPT LANGUAGE="JavaScript"> <!-- HomeAlias = "<% = HomeAlias %>"; HomeAliasSL = "<% = HomeAliasSL %>"; ExitFlg = 2; --> </SCRIPT> <body onkeydown="if(ExitFlg==2)ExitFlg=3;" onBeforeUnload="if(ExitFlg!=0)window.event.returnValue = ExitMsg(ExitFlg)" bgcolor="#5C70B6" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <form OnKeyDown="FormKeyDown(this)" method="POST" action="fk_genkakeisanhyo_bin.asp" name="form1" autocomplete="off"> <input type="hidden" name="RouteType" value="<% = RouteType %>"> <input type="hidden" name="PageType" value="<% = PageType %>"> <input type="hidden" name="BunsyoNaiyoCD" value="<% = BunsyoNaiyoCD %>"> <input type="hidden" name="Mode" value="<% = Mode %>"> <input type="hidden" name="SendValue" value=""> <% If InStr(RouteType, "HojyoboOnly") > 0 Then Response.Write(HtmlDesign(2)) Else Response.Write(HtmlDesign(1)) End If Response.Write(HttpL1(3)) If InStr(RouteType, "HojyoboOnly") > 0 Then Response.Write(HttpL2("補助簿ウィンドウ" ,"tblbtn( '/" & HomeAlias & "/user/bk/menu_s12.asp?RouteType=" & RouteType & "')", Label, "", "", "", "", "","", "", "", "")) ElseIf PackageMode = 1 Then Response.Write(HttpL2("メインメニュー" ,"tblbtn('/" & HomeAlias & "/user/bk/menu_cyac.asp')", "手入力帳簿", "tblbtn( '/" & HomeAlias & "/user/bk/menu_cyac3.asp')", Label, "", "", "", "", "", "", "")) Else ' Response.Write(HttpL2("会社選択" ,"tblbtn( '/" & HomeAlias & "/user/bk/')", GB_GyosyuMeisyo, "tblbtn( '/" & HomeAlias & "/user/bk/menu_" & GB_Gyosyu & ".asp')", "経理部", "tblbtn( '/" & HomeAlias & "/user/bk/menu_s1.asp')", "帳簿", "tblbtn( '/" & HomeAlias & "/user/bk/menu_s12.asp')", Label, "", "", "")) Response.Write(HttpL2("会社選択" ,"tblbtn( '/" & HomeAlias & "/user/bk/')", GB_GyosyuMeisyo, "tblbtn( '/" & HomeAlias & "/user/bk/menu_" & GB_Gyosyu & ".asp')", "製造部", "tblbtn( '/" & HomeAlias & "/user/bk/menu_s6.asp')", Label, "", "", "", "", "")) End If Response.Write(HttpL3("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "")) ' Response.Write(HttpL3_1("保存", "SubmitCheck()", "行の追加", "SpreadAddItem2(document.vaSpread1);", "行の挿入", "SpreadInsertItem(document.vaSpread1);", "行の削除", "SpreadDelItem(document.vaSpread1);", "", "")) If GB_IEmode = "1" Then '※HttpL3_1にボタンを追加する事前処理(210107小野) ' Call HttpL3_1_AddBtn( "", "", "", "", "", "", "", "", "", "") Response.Write(HttpL3_1("保存", "SubmitCheck()", "行の追加", "SpreadAddItem2(document.vaSpread1);", "行の挿入", "SpreadInsertItem(document.vaSpread1);", "行の削除", "SpreadDelItem(document.vaSpread1);", "", "")) Else '※HttpL3_1にボタンを追加する事前処理(210107小野) ' Call HttpL3_1_AddBtn( "", "", "", "", "", "", "", "", "", "") Response.Write(HttpL3_1("保存", "SubmitCheck()", "行挿入", "SpRowInsert();", "行削除", "SpRowDelete();", "行↑", "SpRowShift('Up');", "行↓", "SpRowShift('Dn');")) End If Response.Write(HttpL3_2("照会", "tblbtn('fk_genkakeisanhyo_view.asp?RouteType=" & RouteType & "&PageType=" & PageType & "&Mode=" & Mode & "&BunsyoNaiyoCD=" & BunsyoNaiyoCD & "')", "戻る", "tblbtn('" & HomeAliasSL & "user/bk/shiireuriage/fd_seizosashizusho_ichiran.asp?RouteType=" & RouteType & "&Mode=" & Mode & "&GenkaHyo=1')", "", "", "", "", "", "")) Response.Write(HttpL4(Label, "")) %> <div id="L0" style="position: absolute; visibility: hidden; left: 0px; top: -2000px;"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="5"> <tr> <td align="center" valign="middle"> <table width="720" height="100%" border="0" cellspacing="5" cellpadding="15" bgcolor="#ffffff" style="border:1px solid #000000"> <tr> <td align="center"> <% If GB_IEmode = "1" Then %> <table width="700" height="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td valign="top" align="center" height="30"> <table border="0" width="798" cellspacing="0" cellpadding="0"> <tr> <td width="330" class="tx1416" align="left" nowrap> </td> <td class="tx1618" align="center" style="border-bottom: 1px solid black;" nowrap><% = SetStringInsertSpace(Label) %></td> <td width="330" class="tx1416" align="right" nowrap> </td> </tr> </table> </td> </tr> <tr> <td valign="top" align="center" height="30"> <table border="0" width="700" cellspacing="0" cellpadding="0"> <tr> <td class="tx1416" align="left" nowrap> <table border="0" cellspacing="4" cellpadding="0"> <tr> <td class="tx1416" nowrap> 製造指図書 </td> <td class="tx1416" style="border-bottom: 1px solid black;" nowrap> #<% = BunsyoNaiyoCD %> </td> </tr> <tr> <td class="tx1416" nowrap> 製 品 名 </td> <td class="tx1416" style="border-bottom: 1px solid black;" nowrap> <% = ShohinMeisho %> </td> </tr> </table> </td> <td class="tx1618" align="center" nowrap> <table border="0" cellspacing="4" cellpadding="0"> <tr> <td class="tx1416" nowrap> 着手日 </td> <td class="tx1416" style="border-bottom: 1px solid black;" nowrap> <% = SetDate(Syoribi, 3) %> </td> </tr> <tr> <td class="tx1416" nowrap> 完成日 </td> <td class="tx1416" style="border-bottom: 1px solid black;" nowrap> <% = SetDate(Kanryobi, 3) %> </td> </tr> </table> </td> <td class="tx1416" align="right" nowrap> <table border="0" cellspacing="4" cellpadding="0"> <tr> <td class="tx1416" nowrap> 命令数量 </td> <td class="tx1416" style="border-bottom: 1px solid black;" nowrap> <% = SeizoLot %> ロット </td> </tr> <tr> <td class="tx1416" nowrap> 完成数量 </td> <td class="tx1416" style="border-bottom: 1px solid black;" nowrap> <% If Kanryobi <> "" Then %> <% = SeizoLot %> ロット <% Else %> <% End If %> </td> </tr> </table> </td> </tr> </table> </td> </tr> <tr> <td valign="middle" align="center"> <object classid="clsid:5220cb21-c88d-11cf-b347-00aa00a28331"> <param name="lpkpath" value="spread6.lpk"> </object> <object width="925" height="100%" onMouseOver="SubmitFlg=1" classid="clsid:41f841c1-ae16-11d5-8817-0050da6ef5e5" codebase="/<% = HomeAlias %>/binx/spr32x60.cab#version=1,1,1,1" id="vaSpread1" border="0"> </object> </td> </tr> </table> <% Else %> <% Dim WidthTorihikibi, WidthTekiyo, WidthKingaku, WidthParent, WidthParent2 Dim HeightCell HeightCell = 22 WidthTorihikibi = 78 WidthTekiyo = 57 WidthKingaku = 86 WidthParent = 928 ' WidthParent2 = 902 Dim SpreadCls SpreadCls = "Spread4" %> <TABLE WIDTH="<% = WidthParent %>" BORDER="0" CELLSPACING="0" CELLPADDING="0" HEIGHT="100%"> <tr> <td valign="top" align="center" height="30"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left" width="35%" nowrap></td> <td align="center" width="30%" class="bb2" nowrap><% = SetStringInsertSpace(Label) %></td> <td align="right" width="35%" nowrap class="tx1214"></td> </tr> </table> </td> </tr> <tr> <td valign="top" align="center" height="30"> <table border="0" width="700" cellspacing="0" cellpadding="0"> <tr> <td class="tx1416" align="left" nowrap> <table border="0" cellspacing="4" cellpadding="0"> <tr> <td class="tx1416" nowrap> 製造指図書 </td> <td class="tx1416" style="border-bottom: 1px solid red;" nowrap> #<% = BunsyoNaiyoCD %> </td> </tr> <tr> <td class="tx1416" nowrap> 製 品 名 </td> <td class="tx1416" style="border-bottom: 1px solid red;" nowrap> <% = ShohinMeisho %> </td> </tr> </table> </td> <td class="tx1618" align="center" nowrap> <table border="0" cellspacing="4" cellpadding="0"> <tr> <td class="tx1416" nowrap> 着手日 </td> <td class="tx1416" style="border-bottom: 1px solid red;" nowrap> <% = SetDate(Syoribi, 3) %> </td> </tr> <tr> <td class="tx1416" nowrap> 完成日 </td> <td class="tx1416" style="border-bottom: 1px solid red;" nowrap> <% = SetDate(Kanryobi, 3) %> </td> </tr> </table> </td> <td class="tx1416" align="right" nowrap> <table border="0" cellspacing="4" cellpadding="0"> <tr> <td class="tx1416" nowrap> 命令数量 </td> <td class="tx1416" style="border-bottom: 1px solid red;" nowrap> <% = SeizoLot %> ロット </td> </tr> <tr> <td class="tx1416" nowrap> 完成数量 </td> <td class="tx1416" style="border-bottom: 1px solid red;" nowrap> <% If Kanryobi <> "" Then %> <% = SeizoLot %> ロット <% Else %> <% End If %> </td> </tr> </table> </td> </tr> </table> </td> </tr> <TR> <TD HEIGHT="20" VALIGN="BOTTOM" WIDTH="600"> <TABLE HEIGHT="20" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="bt3" STYLE="border-collapse: collapse"> <TR ALIGN="CENTER" HEIGHT="22"> <TD class="br3b1" colspan="3">直接材料費</TD> <TD class="br3b1" colspan="3">直接労務費</TD> <TD class="br3b1" colspan="3">直接経費</TD> <TD class="bb1" colspan="3">製造間接費</TD> </TR> <TR ALIGN="CENTER" HEIGHT="22"> <TD WIDTH="<% = WidthTorihikibi %>" class="br1b1">日付</TD> <TD WIDTH="<% = WidthTekiyo %>" class="br3b1">摘要</TD> <TD WIDTH="<% = WidthKingaku %>" class="br3b1">金額</TD> <TD WIDTH="<% = WidthTorihikibi %>" class="br1b1">日付</TD> <TD WIDTH="<% = WidthTekiyo %>" class="br3b1">摘要</TD> <TD WIDTH="<% = WidthKingaku %>" class="br3b1">金額</TD> <TD WIDTH="<% = WidthTorihikibi %>" class="br1b1">日付</TD> <TD WIDTH="<% = WidthTekiyo %>" class="br3b1">摘要</TD> <TD WIDTH="<% = WidthKingaku %>" class="br3b1">金額</TD> <TD WIDTH="<% = WidthTorihikibi %>" class="br1b1">日付</TD> <TD WIDTH="<% = WidthTekiyo %>" class="br3b1">摘要</TD> <TD WIDTH="<% = WidthKingaku %>" class="bb1">金額</TD> </TR> </TABLE> </TD> </TR> <TR> <TD HEIGHT="1" VALIGN="BOTTOM"></TD><!--これがないと見出しのボトムラインが消える--> </TR> <TR> <TD VALIGN="TOP"> <DIV ID="Layer1" STYLE="position:relative; left:0px; top:-1px; width:<% = WidthParent %>px; height:100%; z-index:1; overflow: auto;"> <TABLE ID="SyoukaiList" BORDER="0" CELLSPACING="0" CELLPADDING="0" CLASS="tx1416" STYLE="border-collapse: collapse"> <% 'スプレッドシート定義 ※全行共通なのでループ外 Dim SpMaxRow Dim SpRowCnt Dim SpMaxCol SpRowCnt = 0 SpMaxRow = SpRowCnt 'フォーム名 SpFormName = "SpCell" ' '行定義 SpRowHeight = HeightCell '高さ(pixel指定) SpRowCls = "" '行スタイルclass SpRowStyle = "" '行スタイル '列1定義 SpCellType(1) = "0" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(1) = WidthTorihikibi 'セル幅(pixel指定) SpCellCls(1) = "br1" 'セルスタイルclass SpCellStyle(1) = "" 'セルスタイル SpInputCls(1) = SpreadCls & "C" 'フォームスタイルclass SpInputStyle(1) = "" 'フォームスタイル SpInputFocus(1) = "" 'onFocusで作動させるスクリプト SpInputBlur(1) = "SetDate(this, 1, true);" 'onBlurで作動させるスクリプト SpInputChange(1) = "" 'onChangeで作動させるスクリプト SpInputRO(1) = "" 'フォームreadonlyフラグ("1") '列2定義 SpCellType(2) = "1" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(2) = WidthTekiyo 'セル幅(pixel指定) ※フォーム幅は自動計算 SpCellCls(2) = "br3" 'セルスタイルclass SpCellStyle(2) = "" 'セルスタイル SpInputCls(2) = SpreadCls & "L" 'フォームスタイルclass SpInputStyle(2) = "" 'フォームスタイル SpInputFocus(2) = "" 'onFocusで作動させるスクリプト SpInputBlur(2) = "FormStrLeftIME(this,20,true);" 'onBlurで作動させるスクリプト SpInputChange(2) = "" 'onChangeで作動させるスクリプト SpInputRO(2) = "" 'フォームreadonlyフラグ("1") '列3定義 SpCellType(3) = "3" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(3) = WidthKingaku 'セル幅(pixel指定) ※フォーム幅は自動計算 SpCellCls(3) = "br3" 'セルスタイルclass SpCellStyle(3) = "" 'セルスタイル SpInputCls(3) = SpreadCls & "R" 'フォームスタイルclass SpInputStyle(3) = "" 'フォームスタイル SpInputFocus(3) = "FormStrCommaReplace(this);" 'onFocusで作動させるスクリプト SpInputBlur(3) = "FormStrFloatEdge(this,10,0,true);FormStrFloatCutoff(this,true);" 'onBlurで作動させるスクリプト SpInputChange(3) = "" 'onChangeで作動させるスクリプト SpInputRO(3) = "" 'フォームreadonlyフラグ("1") '列4定義 SpCellType(4) = "0" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(4) = WidthTorihikibi 'セル幅(pixel指定) SpCellCls(4) = "br1" 'セルスタイルclass SpCellStyle(4) = "" 'セルスタイル SpInputCls(4) = SpreadCls & "C" 'フォームスタイルclass SpInputStyle(4) = "" 'フォームスタイル SpInputFocus(4) = "" 'onFocusで作動させるスクリプト SpInputBlur(4) = "SetDate(this, 1, true);" 'onBlurで作動させるスクリプト SpInputChange(4) = "" 'onChangeで作動させるスクリプト SpInputRO(4) = "" 'フォームreadonlyフラグ("1") '列5定義 SpCellType(5) = "1" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(5) = WidthTekiyo 'セル幅(pixel指定) ※フォーム幅は自動計算 SpCellCls(5) = "br3" 'セルスタイルclass SpCellStyle(5) = "" 'セルスタイル SpInputCls(5) = SpreadCls & "L" 'フォームスタイルclass SpInputStyle(5) = "" 'フォームスタイル SpInputFocus(5) = "" 'onFocusで作動させるスクリプト SpInputBlur(5) = "FormStrLeftIME(this,20,true);" 'onBlurで作動させるスクリプト SpInputChange(5) = "" 'onChangeで作動させるスクリプト SpInputRO(5) = "" 'フォームreadonlyフラグ("1") '列6定義 SpCellType(6) = "3" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(6) = WidthKingaku 'セル幅(pixel指定) ※フォーム幅は自動計算 SpCellCls(6) = "br3" 'セルスタイルclass SpCellStyle(6) = "" 'セルスタイル SpInputCls(6) = SpreadCls & "R" 'フォームスタイルclass SpInputStyle(6) = "" 'フォームスタイル SpInputFocus(6) = "FormStrCommaReplace(this);" 'onFocusで作動させるスクリプト SpInputBlur(6) = "FormStrFloatEdge(this,10,0,true);FormStrFloatCutoff(this,true);" 'onBlurで作動させるスクリプト SpInputChange(6) = "" 'onChangeで作動させるスクリプト SpInputRO(6) = "" 'フォームreadonlyフラグ("1") '列7定義 SpCellType(7) = "0" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(7) = WidthTorihikibi 'セル幅(pixel指定) SpCellCls(7) = "br1" 'セルスタイルclass SpCellStyle(7) = "" 'セルスタイル SpInputCls(7) = SpreadCls & "C" 'フォームスタイルclass SpInputStyle(7) = "" 'フォームスタイル SpInputFocus(7) = "" 'onFocusで作動させるスクリプト SpInputBlur(7) = "SetDate(this, 1, true);" 'onBlurで作動させるスクリプト SpInputChange(7) = "" 'onChangeで作動させるスクリプト SpInputRO(7) = "" 'フォームreadonlyフラグ("1") '列8定義 SpCellType(8) = "1" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(8) = WidthTekiyo 'セル幅(pixel指定) ※フォーム幅は自動計算 SpCellCls(8) = "br3" 'セルスタイルclass SpCellStyle(8) = "" 'セルスタイル SpInputCls(8) = SpreadCls & "L" 'フォームスタイルclass SpInputStyle(8) = "" 'フォームスタイル SpInputFocus(8) = "" 'onFocusで作動させるスクリプト SpInputBlur(8) = "FormStrLeftIME(this,20,true);" 'onBlurで作動させるスクリプト SpInputChange(8) = "" 'onChangeで作動させるスクリプト SpInputRO(8) = "" 'フォームreadonlyフラグ("1") '列9定義 SpCellType(9) = "3" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(9) = WidthKingaku 'セル幅(pixel指定) ※フォーム幅は自動計算 SpCellCls(9) = "br3" 'セルスタイルclass SpCellStyle(9) = "" 'セルスタイル SpInputCls(9) = SpreadCls & "R" 'フォームスタイルclass SpInputStyle(9) = "" 'フォームスタイル SpInputFocus(9) = "FormStrCommaReplace(this);" 'onFocusで作動させるスクリプト SpInputBlur(9) = "FormStrFloatEdge(this,10,0,true);FormStrFloatCutoff(this,true);" 'onBlurで作動させるスクリプト SpInputChange(9) = "" 'onChangeで作動させるスクリプト SpInputRO(9) = "" 'フォームreadonlyフラグ("1") '列10定義 SpCellType(10) = "0" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(10) = WidthTorihikibi 'セル幅(pixel指定) SpCellCls(10) = "br1" 'セルスタイルclass SpCellStyle(10) = "" 'セルスタイル SpInputCls(10) = SpreadCls & "C" 'フォームスタイルclass SpInputStyle(10) = "" 'フォームスタイル SpInputFocus(10) = "" 'onFocusで作動させるスクリプト SpInputBlur(10) = "SetDate(this, 1, true);" 'onBlurで作動させるスクリプト SpInputChange(10) = "" 'onChangeで作動させるスクリプト SpInputRO(10) = "" 'フォームreadonlyフラグ("1") '列11定義 SpCellType(11) = "1" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(11) = WidthTekiyo 'セル幅(pixel指定) ※フォーム幅は自動計算 SpCellCls(11) = "br3" 'セルスタイルclass SpCellStyle(11) = "" 'セルスタイル SpInputCls(11) = SpreadCls & "L" 'フォームスタイルclass SpInputStyle(11) = "" 'フォームスタイル SpInputFocus(11) = "" 'onFocusで作動させるスクリプト SpInputBlur(11) = "FormStrLeftIME(this,20,true);" 'onBlurで作動させるスクリプト SpInputChange(11) = "" 'onChangeで作動させるスクリプト SpInputRO(11) = "" 'フォームreadonlyフラグ("1") '列12定義 SpCellType(12) = "3" '形式指定(0:日付・1:文字列・2:英数字・3:通貨) SpCellWidth(12) = WidthKingaku 'セル幅(pixel指定) ※フォーム幅は自動計算 SpCellCls(12) = "b0" 'セルスタイルclass SpCellStyle(12) = "" 'セルスタイル SpInputCls(12) = SpreadCls & "R" 'フォームスタイルclass SpInputStyle(12) = "" 'フォームスタイル SpInputFocus(12) = "FormStrCommaReplace(this);" 'onFocusで作動させるスクリプト SpInputBlur(12) = "FormStrFloatEdge(this,10,0,true);FormStrFloatCutoff(this,true);" 'onBlurで作動させるスクリプト SpInputChange(12) = "" 'onChangeで作動させるスクリプト SpInputRO(12) = "" 'フォームreadonlyフラグ("1") ii = 0 Dim Gokei1, Gokei2, Gokei3, Gokei4 Gokei1 = 0 Gokei2 = 0 Gokei3 = 0 Gokei4 = 0 Query = "exec SPK補助簿_原価計算表取得 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "', '" & BunsyoNaiyoCD & "'" Set Content = OpenQuery(Query) If 0=1 And Not(Content.BOF Or Content.EOF) Then Do While Not(Content.BOF Or Content.EOF) Bottom = Bottom + 1 If "" & Content.Fields("直接材料費") <> "" Then Gokei1 = Gokei1 + Content.Fields("直接材料費") End If If "" & Content.Fields("直接労務費") <> "" Then Gokei2 = Gokei2 + Content.Fields("直接労務費") End If If "" & Content.Fields("直接経費") <> "" Then Gokei3 = Gokei3 + Content.Fields("直接経費") End If If "" & Content.Fields("製造間接費") <> "" Then Gokei4 = Gokei4 + Content.Fields("製造間接費") End If Content.MoveNext Loop Content.MoveFirst End If Do While Not(Content.BOF Or Content.EOF) Dim Torihikibi1, Torihikibi2, Torihikibi3, Torihikibi4, Tekiyo1, Tekiyo2, Tekiyo3, Tekiyo4, Kingaku1, Kingaku2, Kingaku3, Kingaku4 Torihikibi1 = SetTimeYYYYMMDD(Content.Fields("直接材料費日付")) Torihikibi2 = SetTimeYYYYMMDD(Content.Fields("直接労務費日付")) Torihikibi3 = SetTimeYYYYMMDD(Content.Fields("直接経費日付")) Torihikibi4 = SetTimeYYYYMMDD(Content.Fields("製造間接費日付")) Tekiyo1 = Content.Fields("直接材料費摘要") Tekiyo2 = Content.Fields("直接労務費摘要") Tekiyo3 = Content.Fields("直接経費摘要") Tekiyo4 = Content.Fields("製造間接費摘要") Kingaku1 = Content.Fields("直接材料費") Kingaku2 = Content.Fields("直接労務費") Kingaku3 = Content.Fields("直接経費") Kingaku4 = Content.Fields("製造間接費") 'スプレッドシート行生成 ※此処で値のみ代入 SpRowCnt = SpRowCnt + 1 '行番号(フォーム名に反映) SpMaxRow = SpRowCnt SpInputValue(1) = Torihikibi1 'フォーム初期値 SpInputValue(2) = Tekiyo1 'フォーム初期値 SpInputValue(3) = ConvIntToMoney(Kingaku1, false, false) 'フォーム初期値 SpInputValue(4) = Torihikibi2 'フォーム初期値 SpInputValue(5) = Tekiyo2 'フォーム初期値 SpInputValue(6) = ConvIntToMoney(Kingaku2, false, false) 'フォーム初期値 SpInputValue(7) = Torihikibi3 'フォーム初期値 SpInputValue(8) = Tekiyo3 'フォーム初期値 SpInputValue(9) = ConvIntToMoney(Kingaku3, false, false) 'フォーム初期値 SpInputValue(10) = Torihikibi4 'フォーム初期値 SpInputValue(11) = Tekiyo4 'フォーム初期値 SpInputValue(12) = ConvIntToMoney(Kingaku4, false, false) 'フォーム初期値 'Response.Write(SpreadRow(SpRowCnt)) '引数の行番号がフォーム名に付加される Call SpreadRow(SpRowCnt) '引数の行番号がフォーム名に付加される If 0=1 Then Response.Write("<TR ALIGN=""CENTER"">" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthTorihikibi & """ HEIGHT=""" & HeightCell & """ ALIGN=""CENTER"" class=""br1"">" & Torihikibi1 & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthTekiyo & """ ALIGN=""LEFT"" class=""br3"">" & Tekiyo1 & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthKingaku & """ ALIGN=""RIGHT"" class=""br3"">" & ConvIntToMoney(Kingaku1, false, false) & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthTorihikibi & """ HEIGHT=""" & HeightCell & """ ALIGN=""CENTER"" class=""br1"">" & Torihikibi2 & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthTekiyo & """ ALIGN=""LEFT"" class=""br3"">" & Tekiyo2 & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthKingaku & """ ALIGN=""RIGHT"" class=""br3"">" & ConvIntToMoney(Kingaku2, false, false) & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthTorihikibi & """ HEIGHT=""" & HeightCell & """ ALIGN=""CENTER"" class=""br1"">" & Torihikibi3 & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthTekiyo & """ ALIGN=""LEFT"" class=""br3"">" & Tekiyo3 & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthKingaku & """ ALIGN=""RIGHT"" class=""br3"">" & ConvIntToMoney(Kingaku3, false, false) & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthTorihikibi & """ HEIGHT=""" & HeightCell & """ ALIGN=""CENTER"" class=""br1"">" & Torihikibi4 & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthTekiyo & """ ALIGN=""LEFT"" class=""br3"">" & Tekiyo4 & "</TD>" & vbCrLf) Response.Write("<TD WIDTH=""" & WidthKingaku & """ ALIGN=""RIGHT"" class=""b0"">" & ConvIntToMoney(Kingaku4, false, false) & "</TD>" & vbCrLf) Response.Write("</TR>" & vbCrLf) End If ii = ii + 1 Content.MoveNext Loop 'スプレッドシートの空白行を発生させる SpInputValue(1) = "" 'フォーム初期値 SpInputValue(2) = "" 'フォーム初期値 SpInputValue(3) = "" 'フォーム初期値 SpInputValue(4) = "" 'フォーム初期値 SpInputValue(5) = "" 'フォーム初期値 SpInputValue(6) = "" 'フォーム初期値 SpInputValue(7) = "" 'フォーム初期値 SpInputValue(8) = "" 'フォーム初期値 SpInputValue(9) = "" 'フォーム初期値 SpInputValue(10) = "" 'フォーム初期値 SpInputValue(11) = "" 'フォーム初期値 SpInputValue(12) = "" 'フォーム初期値 For Cnt = SpRowCnt + 1 To SpRowCnt + SpBlankRow 'Response.Write(SpreadRow(SpRowCnt)) '引数の行番号がフォーム名に付加される Call SpreadRow(Cnt) '引数の行番号がフォーム名に付加される SpMaxRow = Cnt Next %> </TABLE> </DIV> </TD> </TR> <TR> <TD colspan="10" height="1" align="center" class="tx1214"> ※入力行が足りない場合は一度「保存」してください </td> </TR> </TABLE> <% End If %> </td> </tr> </table> </td> </tr> </table> </div> </form> </body> <% If GB_IEmode <> "1" Then %> <SCRIPT LANGUAGE="JavaScript"> SpMinRow = 1; SpMaxRow = <% = SpMaxRow %>; <% '最大セル番号を取得 SpMaxCol = 0 For Cnt = 1 To UBound(SpCellType) If "" & SpCellType(Cnt) <> "" Then SpMaxCol = Cnt End If Next %> SpMaxCol = <% = SpMaxCol %>; function SubmitCheck() { //alert("SubmitCheck"); form1.SendValue.value = "" for (jj = SpMinRow; jj <= SpMaxRow; jj++) { Target = "SpCell" + jj + "_" //セル番号を除くフォーム名 var RowText; RowText = ""; var bCheck; bCheck = Array(); var Kingaku1, Kingaku2, Kingaku3, Kingaku4 ; for (ii = 1; ii <= SpMaxCol; ii++) { //金額の0入力はクリア(onBlurで処理しているが念のため) if ((ii == 3 || ii == 6 || ii == 9 || ii == 12) && form1[Target + ii].value == "0") { form1[Target + ii].value = ""; } var Text1; Text1 = form1[Target + ii].value; //alert("SubmitCheck"); //通貨のカンマ区切りを外す if (ii == 3 || ii == 6 || ii == 9 || ii == 12) { Text1 = ReplaceStr(Text1, ",", ""); } //文字型フィールドの半角カンマ・セミコロンを代替文字に変換する処理 Text1 = ReplaceStr(Text1, ",", "CommammoC") Text1 = ReplaceStr(Text1, ";", "SemicolonolocimeS") RowText = RowText + Text1; RowText = RowText + ","; bCheck[ii] = 0; if (Text1 == "") { bCheck[ii] = 1; } } if (ReplaceStr(RowText, ",", "") != "") { if (bCheck[1] == 1 && bCheck[4] == 1 && bCheck[7] == 1 && bCheck[10] == 1) { // alert("日付を入力してください"); // form1[Target + 1].focus(); // return; } if (bCheck[3] == 1 && bCheck[6] == 1 && bCheck[9] == 1 && bCheck[12] == 1) { // alert("金額を入力してください "); // form1[Target + 3].focus(); // return; } form1.SendValue.value = form1.SendValue.value + RowText + ";" } } //alert(form1.SendValue.value); SubmitReal(form1); return true; } window.onload = function() { form1.SpCell<% = (SpRowCnt + 1) %>_1.focus(); } </SCRIPT> <% Else 'IEモード %> <SCRIPT LANGUAGE="JavaScript"> function SubmitCheck() { form1.SendValue.value = "" for (jj = 1; jj <= document.vaSpread1.MaxRows; jj++) { document.vaSpread1.Row = jj; var RowText; RowText = ""; var TmpRowText; TmpRowText = ""; var bCheck; bCheck = Array(); var Kingaku1, Kingaku2, Kingaku3, Kingaku4 ; for (ii = 1; ii <= document.vaSpread1.MaxCols; ii++) { document.vaSpread1.Col = ii; //0入力はクリア if ((ii == 3 || ii == 6 || ii == 9 || ii == 12) && document.vaSpread1.Text == "0") { document.vaSpread1.Text = ""; } bCheck[ii] = 0; var Text1; Text1 = document.vaSpread1.Text; //通貨型ならカンマ除去 if (document.vaSpread1.ColID == 12) { Text1 = ReplaceStr(Text1, ",", ""); } RowText = RowText + Text1; RowText = RowText + ","; if (Text1 == "") { bCheck[ii] = 1; } if (ii == 3) Kingaku1 = Math.floor(Text1); if (ii == 6) Kingaku2 = Math.floor(Text1); if (ii == 9) Kingaku3 = Math.floor(Text1); if (ii == 12) Kingaku4 = Math.floor(Text1); } if (ReplaceStr(RowText, ",", "") != "") { if (bCheck[1] == 1 && bCheck[4] == 1 && bCheck[7] == 1 && bCheck[10] == 1) { // alert("日付を入力してください "); // document.vaSpread1.SetActiveCell(1, jj); // document.vaSpread1.focus(); // document.vaSpread1.EditMode = true; // return; } if (bCheck[3] == 1 && bCheck[6] == 1 && bCheck[9] == 1 && bCheck[12] == 1) { // alert("金額を入力してください "); // document.vaSpread1.SetActiveCell(3, jj); // document.vaSpread1.focus(); // document.vaSpread1.EditMode = true; // return; } form1.SendValue.value = form1.SendValue.value + RowText + ";" } } //alert(form1.SendValue.value); //return false SubmitReal(form1); return true; } function SpreadInit(fpSpread) { fpSpread.MaxRows = 0; // return false; //作業中につき停止 <% ii = 0 Query = "exec SPK補助簿_原価計算表取得 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "', '" & BunsyoNaiyoCD & "'" Set Content = OpenQuery(Query) '選択行の色を変える動作を停止(090624小野) Response.Write(" SpreadRowColorMode = false;" & vbCrLf) Do While Not(Content.BOF Or Content.EOF) ii = ii + 1 Response.Write(" SpreadAddItem(fpSpread);" & vbCrLf) Response.Write(" fpSpread.Row = " & ii & ";" & vbCrLf) Response.Write(" fpSpread.Col = 1;" & vbCrLf) Response.Write(" fpSpread.Text = """ & SetTimeYYYYMMDD(Content.Fields("直接材料費日付")) & """;" & vbCrLf) Response.Write(" fpSpread.Col = 2;" & vbCrLf) Response.Write(" fpSpread.Text = """ & Replace(Replace(Content.Fields("直接材料費摘要"), "\", "\\"), """", "”") & """;" & vbCrLf) Response.Write(" fpSpread.Col = 3;" & vbCrLf) Response.Write(" fpSpread.Text = """ & ConvIntToMoney(Content.Fields("直接材料費"), false ,false) & """;" & vbCrLf) Response.Write(" fpSpread.Col = 4;" & vbCrLf) Response.Write(" fpSpread.Text = """ & SetTimeYYYYMMDD(Content.Fields("直接労務費日付")) & """;" & vbCrLf) Response.Write(" fpSpread.Col = 5;" & vbCrLf) Response.Write(" fpSpread.Text = """ & Replace(Replace(Content.Fields("直接労務費摘要"), "\", "\\"), """", "”") & """;" & vbCrLf) Response.Write(" fpSpread.Col = 6;" & vbCrLf) Response.Write(" fpSpread.Text = """ & ConvIntToMoney(Content.Fields("直接労務費"), false ,false) & """;" & vbCrLf) Response.Write(" fpSpread.Col = 7;" & vbCrLf) Response.Write(" fpSpread.Text = """ & SetTimeYYYYMMDD(Content.Fields("直接経費日付")) & """;" & vbCrLf) Response.Write(" fpSpread.Col = 8;" & vbCrLf) Response.Write(" fpSpread.Text = """ & Replace(Replace(Content.Fields("直接経費摘要"), "\", "\\"), """", "”") & """;" & vbCrLf) Response.Write(" fpSpread.Col = 9;" & vbCrLf) Response.Write(" fpSpread.Text = """ & ConvIntToMoney(Content.Fields("直接経費"), false ,false) & """;" & vbCrLf) Response.Write(" fpSpread.Col = 10;" & vbCrLf) Response.Write(" fpSpread.Text = """ & SetTimeYYYYMMDD(Content.Fields("製造間接費日付")) & """;" & vbCrLf) Response.Write(" fpSpread.Col = 11;" & vbCrLf) Response.Write(" fpSpread.Text = """ & Replace(Replace(Content.Fields("製造間接費摘要"), "\", "\\"), """", "”") & """;" & vbCrLf) Response.Write(" fpSpread.Col = 12;" & vbCrLf) Response.Write(" fpSpread.Text = """ & ConvIntToMoney(Content.Fields("製造間接費"), false ,false) & """;" & vbCrLf) Response.Write(" fpSpread.Col = 0;" & vbCrLf) Response.Write(" fpSpread.Text = "" "";" & vbCrLf) Content.MoveNext Loop '空白行を5行追加し1行目を選択状態にする(080620小野) ii = ii + 1 Response.Write(" SpreadAddItem(fpSpread);" & vbCrLf) Response.Write(" SpreadAddItem(fpSpread);" & vbCrLf) Response.Write(" SpreadAddItem(fpSpread);" & vbCrLf) Response.Write(" SpreadAddItem(fpSpread);" & vbCrLf) Response.Write(" SpreadAddItem(fpSpread);" & vbCrLf) Response.Write(" document.vaSpread1.SetActiveCell(1, " & ii & ");" & vbCrLf) Response.Write(" fpSpread.EditMode=true;" & vbCrLf) '選択行の色を変える動作を再開(090624小野) Response.Write(" SpreadRowColorMode = true;" & vbCrLf) Response.Write(" SpreadRowColor(fpSpread);") '選択行の色を変える(090624小野) %> } </SCRIPT> <SCRIPT FOR="vaSpread1" EVENT="KeyDown(KeyAsciiCode, KeyShift)" LANGUAGE="JavaScript"> // SpreadKeyDown(this, KeyAsciiCode, KeyShift); </SCRIPT> <SCRIPT FOR="vaSpread1" EVENT="KeyUp(KeyAsciiCode, KeyShift)" LANGUAGE="JavaScript"> SpreadKeyUp(this, KeyAsciiCode, KeyShift); </SCRIPT> <SCRIPT FOR="vaSpread1" EVENT="ScriptLeaveCell(ColNo, RowNo, NewColNo, NewRowNo, Cancel)" LANGUAGE="VBScript"> Dim tmp tmp = SpreadChange(Me, ColNo, RowNo) If tmp = "ERR" Then Cancel = true SpreadReFocus(Me) Else Call SetRenewCell(Me, ColNo, RowNo) End If </SCRIPT> <SCRIPT LANGUAGE="JavaScript"> function SetRenewCell(obj, ColNo, RowNo) { } </SCRIPT> <SCRIPT FOR="vaSpread1" EVENT="Click(ColNo, RowNo)" LANGUAGE="JavaScript"> // SpreadClick(this, ColNo, RowNo); this.Col = this.ActiveCol; this.Row = this.ActiveRow; this.EditMode = true; </SCRIPT> <SCRIPT FOR="vaSpread1" EVENT="ComboCloseUp(ColNo, RowNo)" LANGUAGE="JavaScript"> this.focus(); </SCRIPT> <SCRIPT FOR="vaSpread1" EVENT="EditMode(Col, Row, Mode, ChangeMade)" LANGUAGE="JavaScript"> this.Col = Col; this.Row = Row; if(this.CellType == 12) { if(!Mode) { this.TypeCurrencyLeadingZero = 2; } } SpreadRowColor(this); //選択行の色を変える(090624小野) this.focus(); </SCRIPT> <SCRIPT FOR="window" EVENT="onload" LANGUAGE="JavaScript"> if(typeof(form1.dummy) == "object")form1.dummy.focus(); // SpreadLoad 第 3n + 1 引数 (nは整数) // 0:日付型 1:文字型 8:コンボボックス型 10:チェックボックス型 12:通貨型 13:数値型 21:勘定科目 22:摘要 document.vaSpread1.Redraw = false; //SpreadLoad(document.vaSpread1, "日付", 23, 9, "摘要", 22, 6, "金額", 12, 7.5, "日付", 23, 9, "摘要", 22, 6, "金額", 12, 7.5, "日付", 23, 9, "摘要", 22, 6, "金額", 12, 7.5, "日付", 23, 9, "摘要", 22, 6, "金額", 12, 7.4, "摘要", 22, 12, "金額", 12, 7.5); SpreadLoad(document.vaSpread1, "日付", 23, 9, "摘要", 22, 8, "金額", 12, 10.4, "日付", 23, 9, "摘要", 22, 8, "金額", 12, 10.4, "日付", 23, 9, "摘要", 22, 8, "金額", 12, 10.4, "日付", 23, 9, "摘要", 22, 8, "金額", 12, 10.4); document.vaSpread1.ScriptEnhanced = true; document.vaSpread1.Col = -1; document.vaSpread1.Row = -1; document.vaSpread1.FontSize = 10; document.vaSpread1.ColHeaderRows = 2; var SpreadHeader; SpreadHeader = -1000; document.vaSpread1.AddCellSpan( 1, SpreadHeader, 3, 1); //セル結合 第3・4引数が横・縦の結合数 document.vaSpread1.AddCellSpan( 4, SpreadHeader, 3, 1); document.vaSpread1.AddCellSpan( 7, SpreadHeader, 3, 1); document.vaSpread1.AddCellSpan(10, SpreadHeader, 3, 1); document.vaSpread1.AddCellSpan(13, SpreadHeader, 2, 1); // ヘッダ1行目の設定 document.vaSpread1.Row = SpreadHeader; document.vaSpread1.Col = 1; document.vaSpread1.Text = "直接材料費"; document.vaSpread1.Col = 4; document.vaSpread1.Text = "直接労務費"; document.vaSpread1.Col = 7; document.vaSpread1.Text = "直接経費"; document.vaSpread1.Col = 10; document.vaSpread1.Text = "製造間接費"; document.vaSpread1.Col = 13; document.vaSpread1.Text = "集 計"; // ヘッダ2行目の設定 document.vaSpread1.Row = SpreadHeader + 1; document.vaSpread1.Col = 1; document.vaSpread1.Text = "日付"; document.vaSpread1.Col = 2; document.vaSpread1.Text = "摘要"; document.vaSpread1.Col = 3; document.vaSpread1.Text = "金額"; document.vaSpread1.Col = 4; document.vaSpread1.Text = "日付"; document.vaSpread1.Col = 5; document.vaSpread1.Text = "摘要"; document.vaSpread1.Col = 6; document.vaSpread1.Text = "金額"; document.vaSpread1.Col = 7; document.vaSpread1.Text = "日付"; document.vaSpread1.Col = 8; document.vaSpread1.Text = "摘要"; document.vaSpread1.Col = 9; document.vaSpread1.Text = "金額"; document.vaSpread1.Col = 10; document.vaSpread1.Text = "日付"; document.vaSpread1.Col = 11; document.vaSpread1.Text = "摘要"; document.vaSpread1.Col = 12; document.vaSpread1.Text = "金額"; document.vaSpread1.Col = 13; document.vaSpread1.Text = "摘 要"; document.vaSpread1.Col = 14; document.vaSpread1.Text = "金額"; document.vaSpread1.RetainSelBlock = false; SpreadInit(document.vaSpread1); document.vaSpread1.Redraw = true; </SCRIPT> <% End If %> <% = HtmlFooter %> </html> <% End Sub %>