<% Function KyuyoMeisai(EnshuCD, KaisyaCD, DbSyainNo, Seq, AutoFlg, PrintFlg, ShikyuKubun, ShikyuNenGetsu, Param3) Dim Action , NRflg , ErrMSG Dim DbSyainNoAry Dim SyainNoAry Dim SeqAry Dim Shikyubi Dim ShikyuKubunAry Dim Shimei Dim Birthday Dim FuyoNinzu Dim Yakusyoku Dim Kihonkyu Dim Jikangai Dim JikangaiTeate Dim SyokumuTeate Dim JyutakuTeate Dim SeikinTeate Dim KaikinTeate Dim SonotaTeate Dim kazokuTeate Dim TukinTeate Dim Soshikyugaku Dim KenkoHoken Dim KoseiNenkin Dim NenkinKikin Dim KoyoHoken Dim SyakaiHokenGokei Dim KazeiTaisyogaku Dim Syotokuzei Dim Jyuminzei Dim SozeiGokei Dim Sokojyogaku Dim SashikihiShikyugaku Dim ZangyoTeate Dim KaigoHoken ReDim DbSyainNoAry(0) ReDim SyainNoAry(0) ReDim SeqAry(0) ReDim Shikyubi(0) ReDim ShikyuKubunAry(0) ReDim Shimei(0) ReDim Birthday(0) ReDim FuyoNinzu(0) ReDim Yakusyoku(0) ReDim Kihonkyu(0) ReDim Jikangai(0) ReDim JikangaiTeate(0) ReDim SyokumuTeate(0) ReDim JyutakuTeate(0) ReDim SeikinTeate(0) ReDim KaikinTeate(0) ReDim SonotaTeate(0) ReDim kazokuTeate(0) ReDim TukinTeate(0) ReDim Soshikyugaku(0) ReDim KenkoHoken(0) ReDim KoseiNenkin(0) ReDim NenkinKikin(0) ReDim KoyoHoken(0) ReDim SyakaiHokenGokei(0) ReDim KazeiTaisyogaku(0) ReDim Syotokuzei(0) ReDim Jyuminzei(0) ReDim SozeiGokei(0) ReDim Sokojyogaku(0) ReDim SashikihiShikyugaku(0) ReDim ZangyoTeate(0) ReDim KaigoHoken(0) Dim Genkin Dim Toza Dim GakuseiShimei Dim GakuseiBango Dim Nengetu Dim Gatudo Dim Query Dim Content Dim Content2 Dim ii, jj ii = 0 If DbSyainNo <> "" Then Query = "exec SPK給与明細社員一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "', " & DbSyainNo Else Query = "exec SPK給与明細一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "'" End If Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) If (ShikyuNenGetsu = "" Or Left("" & SetTimeYYYYMMDD(Content.Fields("支給年月日")), 7) = ShikyuNenGetsu) And (ShikyuKubun = "" Or ShikyuKubun = "" & Content.Fields("支給区分")) Then ReDim PreServe Shikyubi(UBound(Shikyubi) + 1) ReDim PreServe DbSyainNoAry(UBound(Shikyubi)) ReDim PreServe SyainNoAry(UBound(Shikyubi)) ReDim PreServe SeqAry(UBound(Shikyubi)) ReDim PreServe ShikyuKubunAry(UBound(Shikyubi)) ReDim PreServe Shimei(UBound(Shikyubi)) ReDim PreServe Birthday(UBound(Shikyubi)) ReDim PreServe FuyoNinzu(UBound(Shikyubi)) ReDim PreServe Yakusyoku(UBound(Shikyubi)) ReDim PreServe Kihonkyu(UBound(Shikyubi)) ReDim PreServe Jikangai(UBound(Shikyubi)) ReDim PreServe JikangaiTeate(UBound(Shikyubi)) ReDim PreServe SyokumuTeate(UBound(Shikyubi)) ReDim PreServe JyutakuTeate(UBound(Shikyubi)) ReDim PreServe SeikinTeate(UBound(Shikyubi)) ReDim PreServe KaikinTeate(UBound(Shikyubi)) ReDim PreServe SonotaTeate(UBound(Shikyubi)) ReDim PreServe kazokuTeate(UBound(Shikyubi)) ReDim PreServe TukinTeate(UBound(Shikyubi)) ReDim PreServe Soshikyugaku(UBound(Shikyubi)) ReDim PreServe KenkoHoken(UBound(Shikyubi)) ReDim PreServe KoseiNenkin(UBound(Shikyubi)) ReDim PreServe NenkinKikin(UBound(Shikyubi)) ReDim PreServe KoyoHoken(UBound(Shikyubi)) ReDim PreServe SyakaiHokenGokei(UBound(Shikyubi)) ReDim PreServe KazeiTaisyogaku(UBound(Shikyubi)) ReDim PreServe Syotokuzei(UBound(Shikyubi)) ReDim PreServe Jyuminzei(UBound(Shikyubi)) ReDim PreServe SozeiGokei(UBound(Shikyubi)) ReDim PreServe Sokojyogaku(UBound(Shikyubi)) ReDim PreServe SashikihiShikyugaku(UBound(Shikyubi)) ReDim PreServe ZangyoTeate(UBound(Shikyubi)) ReDim PreServe KaigoHoken(UBound(Shikyubi)) DbSyainNoAry(UBound(Shikyubi)) = Content.Fields("社員番号") SeqAry(UBound(Shikyubi)) = Content.Fields("給与明細CD") Shikyubi(UBound(Shikyubi)) = SetTimeYYYYMMDD(Content.Fields("支給年月日")) ShikyuKubunAry(UBound(Shikyubi)) = Content.Fields("支給区分") Kihonkyu(UBound(Shikyubi)) = Content.Fields("基本給") Jikangai(UBound(Shikyubi)) = Content.Fields("時間外時間") JikangaiTeate(UBound(Shikyubi)) = Content.Fields("時間外手当") SyokumuTeate(UBound(Shikyubi)) = Content.Fields("職務手当") kazokuTeate(UBound(Shikyubi)) = Content.Fields("家族手当") JyutakuTeate(UBound(Shikyubi)) = Content.Fields("住宅手当") TukinTeate(UBound(Shikyubi)) = Content.Fields("通勤手当") SeikinTeate(UBound(Shikyubi)) = Content.Fields("精勤手当") KaikinTeate(UBound(Shikyubi)) = Content.Fields("皆勤手当") SonotaTeate(UBound(Shikyubi)) = Content.Fields("その他手当") KenkoHoken(UBound(Shikyubi)) = Content.Fields("健康保険") KoseiNenkin(UBound(Shikyubi)) = Content.Fields("厚生年金") NenkinKikin(UBound(Shikyubi)) = Content.Fields("年金基金") KoyoHoken(UBound(Shikyubi)) = Content.Fields("雇用保険") KaigoHoken(UBound(Shikyubi)) = Content.Fields("介護保険") Syotokuzei(UBound(Shikyubi)) = Content.Fields("所得税") Jyuminzei(UBound(Shikyubi)) = Content.Fields("住民税") If Kihonkyu(UBound(Shikyubi)) = "" Then Kihonkyu(UBound(Shikyubi)) = 0 End If If Jikangai(UBound(Shikyubi)) = "" Then Jikangai(UBound(Shikyubi)) = 0 End If If JikangaiTeate(UBound(Shikyubi)) = "" Then JikangaiTeate(UBound(Shikyubi)) = 0 End If If SyokumuTeate(UBound(Shikyubi)) = "" Then SyokumuTeate(UBound(Shikyubi)) = 0 End If If kazokuTeate(UBound(Shikyubi)) = "" Then kazokuTeate(UBound(Shikyubi)) = 0 End If If JyutakuTeate(UBound(Shikyubi)) = "" Then JyutakuTeate(UBound(Shikyubi)) = 0 End If If SeikinTeate(UBound(Shikyubi)) = "" Then SeikinTeate(UBound(Shikyubi)) = 0 End If If KaikinTeate(UBound(Shikyubi)) = "" Then KaikinTeate(UBound(Shikyubi)) = 0 End If If SonotaTeate(UBound(Shikyubi)) = "" Then SonotaTeate(UBound(Shikyubi)) = 0 End If If TukinTeate(UBound(Shikyubi)) = "" Then TukinTeate(UBound(Shikyubi)) = 0 End If If Soshikyugaku(UBound(Shikyubi)) = "" Then Soshikyugaku(UBound(Shikyubi)) = 0 End If If KenkoHoken(UBound(Shikyubi)) = "" Then KenkoHoken(UBound(Shikyubi)) = 0 End If If KoseiNenkin(UBound(Shikyubi)) = "" Then KoseiNenkin(UBound(Shikyubi)) = 0 End If If NenkinKikin(UBound(Shikyubi)) = "" Then NenkinKikin(UBound(Shikyubi)) = 0 End If If KoyoHoken(UBound(Shikyubi)) = "" Then KoyoHoken(UBound(Shikyubi)) = 0 End If If KaigoHoken(UBound(Shikyubi)) = "" Then KaigoHoken(UBound(Shikyubi)) = 0 End If If Syotokuzei(UBound(Shikyubi)) = "" Then Syotokuzei(UBound(Shikyubi)) = 0 End If If Jyuminzei(UBound(Shikyubi)) = "" Then Jyuminzei(UBound(Shikyubi)) = 0 End If Soshikyugaku(UBound(Shikyubi)) = Kihonkyu(UBound(Shikyubi)) + JikangaiTeate(UBound(Shikyubi)) + SyokumuTeate(UBound(Shikyubi)) + kazokuTeate(UBound(Shikyubi)) + JyutakuTeate(UBound(Shikyubi)) + SeikinTeate(UBound(Shikyubi)) + KaikinTeate(UBound(Shikyubi)) + SonotaTeate(UBound(Shikyubi)) + TukinTeate(UBound(Shikyubi)) SyakaiHokenGokei(UBound(Shikyubi)) = KenkoHoken(UBound(Shikyubi)) + KoseiNenkin(UBound(Shikyubi)) + NenkinKikin(UBound(Shikyubi)) + KoyoHoken(UBound(Shikyubi)) + KaigoHoken(UBound(Shikyubi)) '通勤手当が100000以下なら課税対象から差し引く If TukinTeate(UBound(Shikyubi)) > 100000 Then KazeiTaisyogaku(UBound(Shikyubi)) = Soshikyugaku(UBound(Shikyubi)) - SyakaiHokenGokei(UBound(Shikyubi)) Else KazeiTaisyogaku(UBound(Shikyubi)) = Soshikyugaku(UBound(Shikyubi)) - SyakaiHokenGokei(UBound(Shikyubi)) - TukinTeate(UBound(Shikyubi)) End If SozeiGokei(UBound(Shikyubi)) = Syotokuzei(UBound(Shikyubi)) + Jyuminzei(UBound(Shikyubi)) Sokojyogaku(UBound(Shikyubi)) = SyakaiHokenGokei(UBound(Shikyubi)) + SozeiGokei(UBound(Shikyubi)) SashikihiShikyugaku(UBound(Shikyubi)) = Soshikyugaku(UBound(Shikyubi)) - Sokojyogaku(UBound(Shikyubi)) Query = "exec SPK社員台帳取得2 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "', " & Content.Fields("社員番号") Set Content2 = OpenQuery(Query) If Not(Content2.BOF Or Content2.EOF) Then SyainNoAry(UBound(Shikyubi)) = Content2.Fields("社員番号ラベル") Shimei(UBound(Shikyubi)) = Content2.Fields("氏名") Birthday(UBound(Shikyubi)) = SetTimeYYYYMMDD(Content2.Fields("生年月日")) FuyoNinzu(UBound(Shikyubi)) = Content2.Fields("扶養家族人数") Yakusyoku(UBound(Shikyubi)) = Content2.Fields("役職") End If End If Content.MoveNext Loop ReDim PreServe Shikyubi(UBound(Shikyubi) + 1) ReDim PreServe ShikyuKubunAry(UBound(Shikyubi)) ReDim PreServe DbSyainNoAry(UBound(Shikyubi)) ReDim PreServe SyainNoAry(UBound(Shikyubi)) ReDim PreServe SeqAry(UBound(Shikyubi)) ReDim PreServe Shimei(UBound(Shikyubi)) ReDim PreServe Birthday(UBound(Shikyubi)) ReDim PreServe FuyoNinzu(UBound(Shikyubi)) ReDim PreServe Yakusyoku(UBound(Shikyubi)) ReDim PreServe Kihonkyu(UBound(Shikyubi)) ReDim PreServe Jikangai(UBound(Shikyubi)) ReDim PreServe JikangaiTeate(UBound(Shikyubi)) ReDim PreServe SyokumuTeate(UBound(Shikyubi)) ReDim PreServe JyutakuTeate(UBound(Shikyubi)) ReDim PreServe SeikinTeate(UBound(Shikyubi)) ReDim PreServe KaikinTeate(UBound(Shikyubi)) ReDim PreServe SonotaTeate(UBound(Shikyubi)) ReDim PreServe kazokuTeate(UBound(Shikyubi)) ReDim PreServe TukinTeate(UBound(Shikyubi)) ReDim PreServe Soshikyugaku(UBound(Shikyubi)) ReDim PreServe KenkoHoken(UBound(Shikyubi)) ReDim PreServe KoseiNenkin(UBound(Shikyubi)) ReDim PreServe NenkinKikin(UBound(Shikyubi)) ReDim PreServe KoyoHoken(UBound(Shikyubi)) ReDim PreServe SyakaiHokenGokei(UBound(Shikyubi)) ReDim PreServe KazeiTaisyogaku(UBound(Shikyubi)) ReDim PreServe Syotokuzei(UBound(Shikyubi)) ReDim PreServe Jyuminzei(UBound(Shikyubi)) ReDim PreServe SozeiGokei(UBound(Shikyubi)) ReDim PreServe Sokojyogaku(UBound(Shikyubi)) ReDim PreServe SashikihiShikyugaku(UBound(Shikyubi)) ReDim PreServe ZangyoTeate(UBound(Shikyubi)) ReDim PreServe KaigoHoken(UBound(Shikyubi)) For ii = 1 To UBound(Shikyubi) - 1 Kihonkyu(UBound(Shikyubi)) = Kihonkyu(UBound(Shikyubi)) + Kihonkyu(ii) Jikangai(UBound(Shikyubi)) = Jikangai(UBound(Shikyubi)) + Jikangai(ii) JikangaiTeate(UBound(Shikyubi)) = JikangaiTeate(UBound(Shikyubi)) + JikangaiTeate(ii) SyokumuTeate(UBound(Shikyubi)) = SyokumuTeate(UBound(Shikyubi)) + SyokumuTeate(ii) kazokuTeate(UBound(Shikyubi)) = kazokuTeate(UBound(Shikyubi)) + kazokuTeate(ii) JyutakuTeate(UBound(Shikyubi)) = JyutakuTeate(UBound(Shikyubi)) + JyutakuTeate(ii) TukinTeate(UBound(Shikyubi)) = TukinTeate(UBound(Shikyubi)) + TukinTeate(ii) SeikinTeate(UBound(Shikyubi)) = SeikinTeate(UBound(Shikyubi)) + SeikinTeate(ii) KaikinTeate(UBound(Shikyubi)) = KaikinTeate(UBound(Shikyubi)) + KaikinTeate(ii) SonotaTeate(UBound(Shikyubi)) = SonotaTeate(UBound(Shikyubi)) + SonotaTeate(ii) KenkoHoken(UBound(Shikyubi)) = KenkoHoken(UBound(Shikyubi)) + KenkoHoken(ii) KoseiNenkin(UBound(Shikyubi)) = KoseiNenkin(UBound(Shikyubi)) + KoseiNenkin(ii) NenkinKikin(UBound(Shikyubi)) = NenkinKikin(UBound(Shikyubi)) + NenkinKikin(ii) KoyoHoken(UBound(Shikyubi)) = KoyoHoken(UBound(Shikyubi)) + KoyoHoken(ii) KaigoHoken(UBound(Shikyubi)) = KaigoHoken(UBound(Shikyubi)) + KaigoHoken(ii) Syotokuzei(UBound(Shikyubi)) = Syotokuzei(UBound(Shikyubi)) + Syotokuzei(ii) Jyuminzei(UBound(Shikyubi)) = Jyuminzei(UBound(Shikyubi)) + Jyuminzei(ii) Next Soshikyugaku(UBound(Shikyubi)) = Kihonkyu(UBound(Shikyubi)) + JikangaiTeate(UBound(Shikyubi)) + SyokumuTeate(UBound(Shikyubi)) + kazokuTeate(UBound(Shikyubi)) + JyutakuTeate(UBound(Shikyubi)) + SeikinTeate(UBound(Shikyubi)) + KaikinTeate(UBound(Shikyubi)) + SonotaTeate(UBound(Shikyubi)) + TukinTeate(UBound(Shikyubi)) SyakaiHokenGokei(UBound(Shikyubi)) = KenkoHoken(UBound(Shikyubi)) + KoseiNenkin(UBound(Shikyubi)) + NenkinKikin(UBound(Shikyubi)) + KoyoHoken(UBound(Shikyubi)) + KaigoHoken(UBound(Shikyubi)) '通勤手当が100000以下なら課税対象から差し引く If TukinTeate(UBound(Shikyubi)) > 100000 Then KazeiTaisyogaku(UBound(Shikyubi)) = Soshikyugaku(UBound(Shikyubi)) - SyakaiHokenGokei(UBound(Shikyubi)) Else KazeiTaisyogaku(UBound(Shikyubi)) = Soshikyugaku(UBound(Shikyubi)) - SyakaiHokenGokei(UBound(Shikyubi)) - TukinTeate(UBound(Shikyubi)) End If SozeiGokei(UBound(Shikyubi)) = Syotokuzei(UBound(Shikyubi)) + Jyuminzei(UBound(Shikyubi)) Sokojyogaku(UBound(Shikyubi)) = SyakaiHokenGokei(UBound(Shikyubi)) + SozeiGokei(UBound(Shikyubi)) SashikihiShikyugaku(UBound(Shikyubi)) = Soshikyugaku(UBound(Shikyubi)) - Sokojyogaku(UBound(Shikyubi)) If DbSyainNo <> "" Then Query = "exec SPK社員台帳取得2 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "', " & DbSyainNo Set Content2 = OpenQuery(Query) If Not(Content2.BOF Or Content2.EOF) Then Shimei(UBound(Shikyubi)) = Content2.Fields("氏名") Birthday(UBound(Shikyubi)) = SetTimeYYYYMMDD(Content2.Fields("生年月日")) FuyoNinzu(UBound(Shikyubi)) = Content2.Fields("扶養家族人数") Yakusyoku(UBound(Shikyubi)) = Content2.Fields("役職") SyainNoAry(UBound(Shikyubi)) = Content2.Fields("社員番号ラベル") DbSyainNoAry(UBound(Shikyubi)) = Content2.Fields("社員番号") End If Else Shimei(UBound(Shikyubi)) = "全社員合計" Birthday(UBound(Shikyubi)) = "" FuyoNinzu(UBound(Shikyubi)) = "" Yakusyoku(UBound(Shikyubi)) = "" End If Shikyubi(UBound(Shikyubi)) = "合計" %> <% If PrintFlg <> 1 Then %>
<% End If %> <% If UBound(Shikyubi) > 1 Then '合計のみの場合は表示しない %> <% For ii = 1 To UBound(Shikyubi) If PrintFlg = 1 And ii > 2 And ii Mod 2 = 1 Then Response.Write(PageBreakBefore) End If If PrintFlg = 1 And (ii = 1 Or ii Mod 2 = 1) Then Response.Write(PrintHeader(0, "給与台帳")) End If %> <% If PrintFlg = 1 Then %> <% Response.Write(PrintFooter()) %> <% Response.Write("
") %> <% End If %> <% Next %>

給与<% If Shikyubi(ii) = "合計" Then Response.Write("合計") Else Response.Write("明細") End If %> 支給区分:<% If "" & ShikyuKubunAry(ii) = "0" Then %>給与<% ElseIf "" & ShikyuKubunAry(ii) = "1" Then %>賞与<% End If %> <% If Shikyubi(ii) = "合計" Then %> <% If ShikyuNenGetsu = "" Then %> 支給年月日:全会計期間 <% Else %> 支給年月:<% = Replace(ShikyuNenGetsu, "/", "年 ") %>月 <% End If %> <% Else %> 支給年月日:<% = Shikyubi(ii) %> <% End If %> <% If PrintFlg <> 1 And DbSyainNoAry(ii) <> "" And SeqAry(ii) <> "" Then %>   <% End If %>
社員番号 氏名 役職 生年月日 扶養家族人数
<% = SyainNoAry(ii) %> <% = Shimei(ii) %> <% = Yakusyoku(ii) %> <% = Birthday(ii) %> <% = FuyoNinzu(ii) %>
基本給 時間外(時間) 時間外手当 職務手当 住宅手当 扶養家族手当
<% = ConvIntToMoney(Kihonkyu(ii), false, false) %>  <% = ConvIntToMoney(Jikangai(ii), false, false) %>  <% = ConvIntToMoney(JikangaiTeate(ii), false, false) %> <% = ConvIntToMoney(SyokumuTeate(ii), false, false) %> <% = ConvIntToMoney(JyutakuTeate(ii), false, false) %> <% = ConvIntToMoney(kazokuTeate(ii), false, false) %>
精勤手当 皆勤手当 その他手当   通勤手当 総支給額
<% = ConvIntToMoney(SeikinTeate(ii), false, false) %> <% = ConvIntToMoney(KaikinTeate(ii), false, false) %> <% = ConvIntToMoney(SonotaTeate(ii), false, false) %>   <% = ConvIntToMoney(TukinTeate(ii), false, false) %> <% = ConvIntToMoney(Soshikyugaku(ii), false, false) %>
健康保険 厚生年金 年金基金 雇用保険 介護保険 社会保険合計 課税対象額
<% = ConvIntToMoney(KenkoHoken(ii), false, false) %> <% = ConvIntToMoney(KoseiNenkin(ii), false, false) %> <% = ConvIntToMoney(NenkinKikin(ii), false, false) %> <% = ConvIntToMoney(KoyoHoken(ii), false, false) %> <% = ConvIntToMoney(KaigoHoken(ii), false, false) %> <% = ConvIntToMoney(SyakaiHokenGokei(ii), false, false) %> <% = ConvIntToMoney(KazeiTaisyogaku(ii), false, false) %>
所得税 住民税       租税合計 総控除額
<% = ConvIntToMoney(Syotokuzei(ii), false, false) %> <% = ConvIntToMoney(Jyuminzei(ii), false, false) %>       <% = ConvIntToMoney(SozeiGokei(ii), false, false) %> <% = ConvIntToMoney(Sokojyogaku(ii), false, false) %>
            差引支給額
            <% = ConvIntToMoney(SashikihiShikyugaku(ii), false, false) %>
<% End If %> <% If PrintFlg <> 1 Then %> <% If UBound(Shikyubi) > 1 Then '合計のみの場合は表示しない %>

課税対象額 = 総支給額 - 社会保険合計 - 10万円以下の通勤手当
総控除額 = 社会保険合計 + 租税合計
差引支給額 = 総支給額 - 総控除額
<% End If %> <% End If %> <% End Function %>