<!-- #include file="../../../include.asp" --> <% '<!-- '################################################ ' 名称 :損益分岐点分析 ' 作成日:2002/12/25 ' 作成者:山崎 ' 目的 :損益分岐点を表示する。 ' 概要 : ' <<表示>> ' ・損益分岐点の画面' '################################################ '--> ' %> <% main() Sub main() If Not(SessionCheck()) Then Exit Sub End If Dim RouteType RouteType = Request("RouteType") Dim PageType PageType = "損益分岐点分析" Dim JissekiSonekiBunkitenUriage, JissekiUriagedakaRiekiRitsu Dim JissekiMokuhyoUriageDaka, JissekiUriagedakaHi, JissekiUriageGenka, JissekiUriageGenkaHi, JissekiGenkaiRieki, JissekiGenkaiRiekiHi, JissekiKoteihiHi, JissekiZeibikimaeRieki, JissekiZeibikimaeRiekiHi, JissekiKoteihi JissekiMokuhyoUriageDaka = 0 JissekiUriagedakaHi = 0 JissekiUriageGenka = 0 JissekiUriageGenkaHi = 0 JissekiGenkaiRieki = 0 JissekiGenkaiRiekiHi = 0 JissekiKoteihi = 0 JissekiKoteihiHi = 0 JissekiZeibikimaeRieki = 0 JissekiZeibikimaeRiekiHi = 0 Dim Query, Content Query = "exec SPR分析_損益実績取得" Query = Query & " '" & GB_SystemCD & "', '" & EnshuCD & "'" '演習CD Query = Query & ",'" & KaisyaCD & "'" '会社CD Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) Dim Meisyo Meisyo = Content.Fields("名称") If Meisyo = "固定費" Then JissekiKoteihi = Content.Fields("金額") ElseIf Meisyo = "変動費" Then JissekiUriageGenka = UriageGenkaSyutoku(GB_KaikeiSyuryobi) + Content.Fields("金額") ElseIf Meisyo = "売上高" Then JissekiMokuhyoUriageDaka = Content.Fields("金額") ElseIf Meisyo = "変動費" Then End If Content.MoveNext Loop JissekiGenkaiRieki = JissekiMokuhyoUriageDaka - JissekiUriageGenka JissekiZeibikimaeRieki = JissekiGenkaiRieki - JissekiKoteihi JissekiUriagedakaHi = 100 If JissekiMokuhyoUriageDaka <> 0 Then JissekiUriageGenkaHi = Int(JissekiUriageGenka * 100 / JissekiMokuhyoUriageDaka) JissekiGenkaiRiekiHi = Int(JissekiGenkaiRieki * 100 / JissekiMokuhyoUriageDaka) JissekiKoteihiHi = Int(JissekiKoteihi * 100 / JissekiMokuhyoUriageDaka) JissekiZeibikimaeRiekiHi = Int(JissekiZeibikimaeRieki * 100 / JissekiMokuhyoUriageDaka) JissekiUriagedakaRiekiRitsu = 1 - (JissekiUriageGenka / JissekiMokuhyoUriageDaka) End If If JissekiUriagedakaRiekiRitsu <> 0 Then JissekiSonekiBunkitenUriage = Int(JissekiKoteihi / JissekiUriagedakaRiekiRitsu) End If %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="-1"> <link href="../../../binx/sj3web.css?<% = TimeUniq() %>" rel="stylesheet" type="text/css"> <title><% = AppTitle %></title> <script language="JScript" src="../../../include.js?<% = TimeUniq() %>"></script> <script language="JScript" src="../../../includesj.js?<% = TimeUniq() %>"></script> <script language="JScript.Encode" src="../../../include_enc.js?<% = TimeUniq() %>"></script> <script language="JScript.Encode" src="../../../includesj_enc.js?<% = TimeUniq() %>"></script> <script type=""text/javascript"" src="../../../javascript.js?<% = TimeUniq() %>"></script> </head> <SCRIPT LANGUAGE="JavaScript"> <!-- HomeAlias = "<% = HomeAlias %>"; HomeAliasSL = "<% = HomeAliasSL %>"; ExitFlg = 1; --> </SCRIPT> <body onkeydown="if(ExitFlg==2)ExitFlg=3;" onBeforeUnload="window.event.returnValue = ExitMsg(ExitFlg)" bgcolor="#5C70B6" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <form OnKeyDown="FormKeyDown(this)" method="POST" action="fk_sonekikeikaku_bin.asp" name="form1"> <% If InStr(RouteType, "ViewOnly") > 0 Then Response.Write(HtmlDesign(4)) Else Response.Write(HtmlDesign(1)) End If Response.Write(HttpL1(3)) If InStr(RouteType, "ViewOnly") > 0 Then Response.Write(HttpL2("照会・集計ウィンドウ" ,"tblbtn( '/" & HomeAlias & "/user/bk/menu_s_viewonly.asp')", "社長室・総務部", "", "財務集計", "", PageType, "", "", "", "", "")) ElseIf PackageMode = 1 Then Response.Write(HttpL2("メインメニュー" ,"tblbtn('/" & HomeAlias & "/user/bk/menu_cyac.asp')", "財務諸表", "tblbtn( '/" & HomeAlias & "/user/bk/menu_cyac5.asp')", PageType, "", "", "", "", "", "", "")) Else Response.Write(HttpL2("会社選択" ,"tblbtn( '/" & HomeAlias & "/user/bk/')", GB_GyosyuMeisyo, "tblbtn( '/" & HomeAlias & "/user/bk/menu_" & GB_Gyosyu & ".asp')", "社長室・総務部", "tblbtn( '/" & HomeAlias & "/user/bk/menu_s4.asp')", "財務諸表", "tblbtn( '/" & HomeAlias & "/user/bk/menu_s41.asp')", PageType, "", "", "")) End If Response.Write(HttpL3("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "")) Response.Write(HttpL3_1("印刷", "PrintoutReal()", "", "", "", "", "", "", "", "")) Response.Write(HttpL3_2("", "", "", "", "", "", "", "", "", "")) Response.Write(HttpL4(PageType, "")) %> <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> <table border="0" cellpadding="5" cellspacing="0" width="100%" height="100%"> <tr> <td align="CENTER" valign="MIDDLE"> <TABLE BORDER="0" CELLSPACING="5" CELLPADDING="15" BGCOLOR="#FFFFFF" STYLE="BORDER:1px solid #000000" WIDTH="500" HEIGHT="100%"> <TR> <TD ALIGN="CENTER" valign="top"> <table width="600" height="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"> <TABLE BORDER="1" WIDTH="300" CELLPADDING="0" CELLSPACING="0" BORDERCOLOR="#000000" BGCOLOR="#F3F3F3" CLASS="tx1214" STYLE="border-collapse: collapse"> <tr> <td colspan="3" align="center">項目</td> <td align="center">金額</td> <td align="center">構成比(%)</td> </tr> <tr> <td colspan="3">売上高</td> <td align="right" bgcolor="#FFFFFF"><% = ConvIntToMoney(JissekiMokuhyoUriageDaka, false, false) %></td> <td align="right" bgcolor="#FFFFFF">100</td> </tr> <tr> <td rowspan="4"> </td> <td colspan="2">変動費</td> <td align="right" bgcolor="#FFFFFF"><% = ConvIntToMoney(JissekiUriageGenka, false, false) %></td> <td align="right" bgcolor="#FFFFFF"><% = JissekiUriageGenkaHi %></td> </tr> <tr> <td colspan="2">限界利益</td> <td align="right" bgcolor="#FFFFFF"><% = ConvIntToMoney(JissekiGenkaiRieki, false, false) %></td> <td align="right" bgcolor="#FFFFFF"><% = JissekiGenkaiRiekiHi %></td> </tr> <tr> <td rowspan="2"> </td> <td>固定費</td> <td align="right" bgcolor="#FFFFFF"><% = ConvIntToMoney(JissekiKoteihi, false, false) %></td> <td align="right" bgcolor="#FFFFFF"><% = JissekiKoteihiHi %></td> </tr> <tr> <td>経常利益</td> <td align="right" bgcolor="#FFFFFF"><% = ConvIntToMoney(JissekiZeibikimaeRieki, false, false) %></td> <td align="right" bgcolor="#FFFFFF"><% = JissekiZeibikimaeRiekiHi %></td> </tr> </table> </td> </tr> <tr> <td align="center"> <OBJECT CLASSID="CLSID:5220CB21-C88D-11CF-B347-00AA00A28331"> <PARAM NAME="LPKPath" VALUE="olectra6.lpk"> </OBJECT> <object classid="clsid:92D71E93-25A8-11CF-A640-9986B64D9618" width="400" height="200" id="Chart2D1" codebase="/<% = HomeAlias %>/binx/Olec-2d.cab#version=1,1,1,1"> <PARAM NAME="_StockProps" VALUE="0"> </object> </td> </tr> </table> </TD> </TR> </TABLE> </td> </tr> </table> </td> </tr> </table> </div> </form> </body> <SCRIPT LANGUAGE="JavaScript"> function SubmitCheck() { SubmitReal(form1); } function ChartReload() { var Rates = new Array(2); var Values = new Array(200); var i; var j; var ChartMaxWidth; var SonekiBunkitenUriage, Koteihi, UriagedakaRiekiRitsu; var GenkaiRiekiRitsu; document.Chart2D1.IsBatched = true; document.Chart2D1.Layout = 2; document.Chart2D1.AllowUserChanges = false; <% If JissekiSonekiBunkitenUriage <> "" And JissekiKoteihi <> "" And JissekiUriagedakaRiekiRitsu <> "" Then %> SonekiBunkitenUriage = <% = JissekiSonekiBunkitenUriage %>; Koteihi = <% = JissekiKoteihi %>; UriagedakaRiekiRitsu = <% = JissekiUriagedakaRiekiRitsu %>; MokuhyoUriageDaka = <% = JissekiMokuhyoUriageDaka %>; GenkaiRiekiRitsu = <% = JissekiGenkaiRiekiHi / 100 %>; var MaxValue; MaxValue = Math.floor(Math.max(SonekiBunkitenUriage, MokuhyoUriageDaka) * 4 / 3); if(SonekiBunkitenUriage == 0) { MaxValue = 1000000; } document.Chart2D1.ChartArea.Axes(1).Max = MaxValue; document.Chart2D1.ChartArea.Axes(2).Max = MaxValue; document.Chart2D1.ChartArea.Axes(1).Title = "売上高(円)"; document.Chart2D1.ChartArea.Axes(2).Title = "費用・損益(円)"; document.Chart2D1.ChartGroups(1).ChartType = 1; document.Chart2D1.ChartGroups(1).Data.NumSeries = 4; document.Chart2D1.ChartGroups(1).Data.Layout = 2; document.Chart2D1.ChartGroups(1).Data.NumPoints(1) = 3; document.Chart2D1.ChartGroups(1).Data.NumPoints(2) = 3; document.Chart2D1.ChartGroups(1).Data.NumPoints(3) = 3; document.Chart2D1.ChartGroups(1).Data.NumPoints(4) = 2; document.Chart2D1.ChartGroups(1).Data.X(1, 1) = 0; document.Chart2D1.ChartGroups(1).Data.X(1, 2) = SonekiBunkitenUriage; document.Chart2D1.ChartGroups(1).Data.X(1, 3) = MaxValue; document.Chart2D1.ChartGroups(1).Data.X(2, 1) = 0; document.Chart2D1.ChartGroups(1).Data.X(2, 2) = SonekiBunkitenUriage; document.Chart2D1.ChartGroups(1).Data.X(2, 3) = MaxValue; document.Chart2D1.ChartGroups(1).Data.X(3, 1) = 0; document.Chart2D1.ChartGroups(1).Data.X(3, 2) = SonekiBunkitenUriage; document.Chart2D1.ChartGroups(1).Data.X(3, 3) = MaxValue; document.Chart2D1.ChartGroups(1).Data.Y(1, 1) = 0; document.Chart2D1.ChartGroups(1).Data.Y(1, 2) = SonekiBunkitenUriage; document.Chart2D1.ChartGroups(1).Data.Y(1, 3) = MaxValue; document.Chart2D1.ChartGroups(1).Data.Y(2, 1) = Koteihi; document.Chart2D1.ChartGroups(1).Data.Y(2, 2) = Koteihi; document.Chart2D1.ChartGroups(1).Data.Y(2, 3) = Koteihi; document.Chart2D1.ChartGroups(1).Data.Y(3, 1) = Koteihi; document.Chart2D1.ChartGroups(1).Data.X(4, 1) = MokuhyoUriageDaka; document.Chart2D1.ChartGroups(1).Data.X(4, 2) = MokuhyoUriageDaka; document.Chart2D1.ChartGroups(1).Data.Y(4, 1) = 0; document.Chart2D1.ChartGroups(1).Data.Y(4, 2) = MaxValue; document.Chart2D1.ChartGroups(1).Styles(1).Line.Color = 255 * 256 * 256; document.Chart2D1.ChartGroups(1).Styles(1).Line.Pattern = 3; document.Chart2D1.ChartGroups(1).Styles(2).Line.Color = 128 * 256 * 256; document.Chart2D1.ChartGroups(1).Styles(2).Line.Pattern = 5; document.Chart2D1.ChartGroups(1).Styles(3).Line.Color = 128 * 256; document.Chart2D1.ChartGroups(1).Styles(3).Line.Pattern = 6; document.Chart2D1.ChartGroups(1).Styles(4).Line.Color = 0; document.Chart2D1.ChartGroups(1).Styles(4).Line.Pattern = 2; if(SonekiBunkitenUriage != 0 && MaxValue != 0 && GenkaiRiekiRitsu != 1) { document.Chart2D1.ChartGroups(1).Data.Y(3, 2) = Math.floor(Koteihi) + Math.floor(SonekiBunkitenUriage * (1 - GenkaiRiekiRitsu)); } else { document.Chart2D1.ChartGroups(1).Data.Y(3, 2) = 0; } if(GenkaiRiekiRitsu != 1) { document.Chart2D1.ChartGroups(1).Data.Y(3, 3) = Math.floor(Koteihi) + Math.floor(MaxValue * (1 - GenkaiRiekiRitsu)); } else { document.Chart2D1.ChartGroups(1).Data.Y(3, 3) = 0; } if(SonekiBunkitenUriage != 0 && MaxValue != 0 && UriagedakaRiekiRitsu != 1) { document.Chart2D1.ChartLabels.RemoveAll(); document.Chart2D1.ChartLabels.Add.Text = "損益分岐点"; document.Chart2D1.ChartLabels(1).Border.Type = 0; document.Chart2D1.ChartLabels(1).AttachMethod = 2; document.Chart2D1.ChartLabels(1).IsConnected = true; document.Chart2D1.ChartLabels(1).Anchor = 16; document.Chart2D1.ChartLabels(1).AttachDataIndex.ChartGroup = 1; document.Chart2D1.ChartLabels(1).AttachDataIndex.Series = 1; document.Chart2D1.ChartLabels(1).AttachDataIndex.Point = 2; document.Chart2D1.ChartLabels(1).Offset = 20; document.Chart2D1.ChartLabels.Add.Text = "売上高"; document.Chart2D1.ChartLabels(2).Border.Type = 0; document.Chart2D1.ChartLabels(2).AttachMethod = 2; document.Chart2D1.ChartLabels(2).IsConnected = true; document.Chart2D1.ChartLabels(2).Anchor = 16; document.Chart2D1.ChartLabels(2).AttachDataIndex.ChartGroup = 1; document.Chart2D1.ChartLabels(2).AttachDataIndex.Series = 4; document.Chart2D1.ChartLabels(2).AttachDataIndex.Point = 2; document.Chart2D1.ChartLabels(2).Offset = 20; } document.Chart2D1.Legend.Anchor = 1; document.Chart2D1.Legend.Orientation = 1; // document.Chart2D1.Legend.Anchor = 32; // document.Chart2D1.Legend.Orientation = 2; document.Chart2D1.Legend.IsShowing = true; document.Chart2D1.Legend.Location.Width = 10; document.Chart2D1.ChartGroups(1).SeriesLabels.RemoveAll(); document.Chart2D1.ChartGroups(1).SeriesLabels.Add("売上高線", 1); document.Chart2D1.ChartGroups(1).SeriesLabels.Add("固定費線", 2); document.Chart2D1.ChartGroups(1).SeriesLabels.Add("費用線", 3); <% End If %> document.Chart2D1.IsBatched = false; } </SCRIPT> <SCRIPT FOR="window" EVENT="onload" LANGUAGE="JavaScript"> ChartReload(); </SCRIPT> <% = HtmlFooter %> </html> <% End Sub %>