2021年4月23日金曜日

健康保険被扶養者(異動)・国民年金第3号被保険者関係届をe-Govで届け出してみた!

e-Govを利用し、「健康保険被扶養者(異動)・国民年金第3号被保険者関係届」を届け出ます。
この届を電子申請するのは初めてです。果たして一度で成功するでしょうか。


申請書の作成・提出


手続きの中から「健康保険被扶養者(異動)・国民年金第3号被保険者関係届(2020年12月以降手続き)」を選択します。



「電子申請方法別利用案内」にある「電子申請を行う場合の留意点・記載事項」と、日本年金機構のサイトにある記入例の、2つのPDFファイルを参考にしながら、申請書の入力を進め、提出します。

一点だけ気を付けたいのが、申請書類の保存です。

申請内容確認画面や提出完了画面で、申請書類をPDFファイルとして保存できるのですが、保存を促すメッセージ等が表示されるわけではないので忘れがちです。一番の問題は、申請案件状況画面から閲覧・取得することができない、つまり、提出時を逃すと申請内容を二度と確認・保存することができないということです。この点はぜひ改善してほしいところです。


返戻のお知らせ


申請から4日後、返戻のお知らせがありました。
その理由は「委任状を添付いただくか、「届出意思確認済」を備考欄に記載してください」とのことでした。

前出の「電子申請を行う場合の留意点・記載事項」を読み返すと、「注意」にこう書いてありました。

この申請には、健康保険の場合は被保険者および事業主の電子署名が必要となります。
(被保険者の電子署名は、事業主を代理人とした委任状を添付する、又は、事業主が被保険者本人の届出の意思を確認し、添付書類欄(その他の添付書類欄)に「届出意思確認済み」と記入することで省略することが可能です。)

うーん・・・
書いてあるでしょ?と言われるとそれまでなのですが・・・

「その他の添付書類」欄に「届出意思確認済み」を記入して再度申請し、4日後に手続きは完了しました。


またいつか、どこかで。

2021年4月16日金曜日

SQL Server サブクエリにORDER BYやGROUP BYが使えない!?

おはようございます。
こんにちは。
こんばんは。
ドラゴンです。

SQL ServerでサブクエリにORDER BYやGROUP BYを入れて実行すると
エラーになってしまったので、解決策を備忘録として残しておきます。

★今回検証用につかうテーブル★
Aテーブル

No グループID 名前 日付
1 1 太郎 2021/04/01
2 1 二郎 2021/04/02
3 2 三郎 2021/04/03
4 2 四郎 2021/04/04

目次

概要

SELECT
  COUNT(*)
FROM
  (
    SELECT
      グループID
      ,名前
      ,日付
    FROM
      A
    GROUP BY
      グループID
      ,名前
      ,日付
    ORDER BY
      日付
  ) AS A

上のSQLを実行すると、上記の画像のようにエラーが出てしまいました。
え?サブクエリにORDER BYやGROUP BYを入れたらあかんのか・・・

解決策

SELECT
  COUNT(*)
FROM
  (
    SELECT
      グループID
      ,名前
      ,日付
    FROM
      A
    GROUP BY
      グループID
      ,名前
      ,日付
    ORDER BY
      日付
    OFFSET 0 ROWS
  ) AS A

それで、色々調べていくと、
ORDER BYの後ろに「OFFSET 0 ROWS」を入れると、問題なく動くという情報を手に入れたので、
実際に試してみたところ、正常に実行することができましたー!

最後に

過去にOracleを使用していたときは、サブクエリにORDER BYやGROUP BYを入れて実行しても問題にならなかったので、少し戸惑ってしまいましたね...
注意点として「OFFSET 0 ROWS」が使えるのは「SQL Server 2012」からなので、使用する際は「SQL Server」のバージョンを確認しないといけないです。

それでは、ドラゴンでした~~~。

2021年4月11日日曜日

Typora(Markdownエディタ)の紹介①

こんばんは。ひっくです。

今回は「Typora」というMarkdownエディタを紹介したいと思います。


 

Typora関連記事

→第2回 はこちら Typora(Markdownエディタ)の紹介② ~画像の保存先を変更する~

→第3回 はこちら Typora(Markdownエディタ)の紹介③ ~数式を編集する~

→第4回 はこちら Typora(Markdownエディタ)の紹介④ ~シーケンス図を作成する~

→第5回 はこちら Typora(Markdownエディタ)の紹介⑤ ~フロー図を作成する~

→第6回 はこちら TyporaVer1.x リリースに伴い有料化(でもベータ版はまだまだ無料利用可能)

→第7回 はこちら Typora(Markdownエディタ)の紹介⑥ ~クラス図を作成する~

 

導入の経緯


昨年頃から社内で情報共有をする目的で、調査した結果を簡単にまとめられる

エディタを探していました。

(画像・コードを添付できたり、数式も記載可能※なエディタを求めていました。)

※機械学習に関して調べた内容をまとめるのに、数式を記載する必要があったため。

 

上記要件を満たせそうなエディタとして、Typoraを見つけた次第です。

 

まずはTyporaを導入


公式ページはこちらから。

Typora公式

 

使用している環境に応じてインストーラをダウンロードし、インストールすることで使用可能となります。

URL先で下にスクロールすると、上部に「Download」が表示されます。

Windows、Mac、Linuxのそれぞれに対応しています。

 

Typoraでよく使うショートカット(Windows)


インストールが終了したら、実際に使ってみましょう。

私がTyporaを使用し始めてから、日頃よく使うショートカットの一部を以下に紹介しておきます。

  • 見出しの作成(h1~h6)

    Ctrl + + /

    + 押下毎にh6→h5→h4 と変化していきます。 押下毎は逆にh4→h5→h6となります。


    (表示サンプル)

  • テーブル/表の作成

    Ctrl + T

    押下で次のようなダイアログが表示されます。列、行数を決めてOKを押したら表が作成されます。


    (表示サンプル)

    Ctrl + T

    押下で次のようなダイアログが表示されます。列、行数を決めてOKを押したら表が作成されます。

    表が作成されたら、クリックすることで編集モードとなり、上部のメニューから簡単に

    表のリサイズや文字列の表示位置を変更できます。(以下はMore Actions 選択時)

  • 小見出し

    + 半角Space または Ctrl + Shift + ]

    階層に応じて、小見出しの表示が変わります。

    Tab 押下で自由に階層を変更でき、表示も都度変わります。


    (表示サンプル)

  • 区切り線

    (3回連続入力)

    表示範囲を区切りたい場合に使用します。


    (表示サンプル)


  • 順序付きリスト

    Ctrl + Shift + [

    項目を順番立てで表示したい場合に使用します。


    (表示サンプル)

    1. 手順1
    2. 手順2
    3. 手順3
  • 引用

    Ctrl + Shift + Q


    (表示サンプル)

  • ハイパーリンク

    Ctrl + K

    [] と () のペアが作成されるので、[]内にリンク名称を、()内にリンク先URLを記載します。


    (表示サンプル)

    Typora公式

  • コードブロック

    Ctrl + Shift + K

    コードブロックが作成されたら、右下に「言語を選択」と出るので、言語を入力します。

    後はブロック内にコードを記載するだけです。


    (表示サンプル)

メリット/デメリット


まだ他にも使える機能が存在しますが、長くなりそうなので次回に回そうと思います。

以下にはメリット、デメリットを挙げてみました。

  • メリット

    1. 見やすい資料を時間をかけることなく作成可能になる。

      (過去には手順書等をテキストエディタのみで作成していたこともありましたが、

      図や表、画像、段落分け等見やすさが失われていました。

      最近では作業をしながら手順書を同時にまとめていく、といった使用をしています。)

    2. エクスポートの形式が豊富

      PDF、HTMLの他、Word、OpenOfficeなどにも対応している。

      (Markdownで手順書を作成 → PDFで展開 をよく利用しています。)

    3. 画像管理がしやすい

      ファイル内で使用する画像について、そのファイルに関連する画像のみを

      ドキュメントと同じ階層に配置することが(設定により)可能となる

      (この方法は次回紹介しようと思います。)

    4. ブログも作成できる

      Typoraで編集後、以下手順で「blogger」のエディタに貼り付けて

      今回のブログは作成しました。(画像については別途アップロードしています)

      1. 編集内容を全選択
      2. メニューから、「編集」 → 「HTMLとしてコピー」 の順に選択
      3. 「blogger」のエディタに貼り付け
  • デメリット

    1. (無料でないと絶対にダメという方にとっては)有料化のリスクあり

      現在はβ版ということで、無料で使用できるようですが、今後有料になる可能性も

      あるとのこと。

      ~2021/12/18追記~

      2021/11/23の正式版(ver1.x系)リリースに伴い、現在は有料となりました。

      ただし現時点でベータ版は引き続き無料利用可能なようです。

      →参考記事(第6回) はこちら TyporaVer1.x リリースに伴い有料化(でもベータ版はまだまだ無料利用可能)

    2. タグ管理はできない

      ファイル単位での保存となるので、メモを大量に作成する用途では向いていないことも。

      ファイル管理をするためにGitHubを使用する等が必要となる。

Markdownエディタを利用したことがない人は、1回使ってみることをオススメします。

(なお、社内ではVisual Studio Code でMarkdownファイルを編集されている方もいます。

今回はTyporaに絞って紹介しましたが、Visual Studio Codeの方も使い勝手は良さそうです。)

興味のある方は両方使ってみてはどうでしょうか。

 

今回はこのへんで。ではまた!

2021年4月5日月曜日

WPFでマテリアルデザイン

どうも、もりもりです。

WPFでアプリ作ってると、サクっと見た目をキレイにしたいですよね。 そんな時に便利なのが Material Design In XAML Toolkit と MahApps.Metro です。

適用前

まずはマテリアルデザイン適用前だとこんな感じ。 Label、TextBox、ComboBox、CheckBox、RadioButton、Button、ProgressBarを使用してます。

導入

ということで、NuGetで Material Design In XAML Toolkit を入れましょう。

MahApps.Metro も一緒に入るのですが現時点での最新は v2.4.4 なので手動で入れます。

適用

App.xamlにリソースを追加します。

下記のIssueの例をそのまま使います。
https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/issues/1896

App.xaml

<Application x:Class="AsyncSample.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:AsyncSample"
             StartupUri="Views/MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>

            <ResourceDictionary.MergedDictionaries>

                <!--  MahApps  -->
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Violet.xaml" />

                <!--  Material Design  -->
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.LightBlue.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />

                <!--  Material Design: MahApps Compatibility  -->
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.MahApps;component/Themes/MaterialDesignTheme.MahApps.Fonts.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.MahApps;component/Themes/MaterialDesignTheme.MahApps.Flyout.xaml" />

            </ResourceDictionary.MergedDictionaries>

            <!--  MahApps Brushes  -->
            <SolidColorBrush x:Key="MahApps.Brushes.Highlight" Color="{DynamicResource Primary700}" />
            <SolidColorBrush x:Key="MahApps.Brushes.AccentBase" Color="{DynamicResource Primary600}" />
            <SolidColorBrush x:Key="MahApps.Brushes.Accent" Color="{DynamicResource Primary500}" />
            <SolidColorBrush x:Key="MahApps.Brushes.Accent2" Color="{DynamicResource Primary400}" />
            <SolidColorBrush x:Key="MahApps.Brushes.Accent3" Color="{DynamicResource Primary300}" />
            <SolidColorBrush x:Key="MahApps.Brushes.Accent4" Color="{DynamicResource Primary200}" />
            <SolidColorBrush x:Key="MahApps.Brushes.WindowTitle" Color="{DynamicResource Primary700}" />
            <SolidColorBrush x:Key="MahApps.Brushes.Selected.Foreground" Color="{DynamicResource Primary500Foreground}" />
            <LinearGradientBrush x:Key="MahApps.Brushes.Progress" StartPoint="1.002,0.5" EndPoint="0.001,0.5">
                <GradientStop Offset="0" Color="{DynamicResource Primary700}" />
                <GradientStop Offset="1" Color="{DynamicResource Primary300}" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="MahApps.Brushes.CheckmarkFill" Color="{DynamicResource Primary500}" />
            <SolidColorBrush x:Key="MahApps.Brushes.RightArrowFill" Color="{DynamicResource Primary500}" />
            <SolidColorBrush x:Key="MahApps.Brushes.IdealForeground" Color="{DynamicResource Primary500Foreground}" />
            <SolidColorBrush x:Key="MahApps.Brushes.IdealForegroundDisabled" Color="{DynamicResource Primary500}" Opacity="0.4" />

        </ResourceDictionary>
    </Application.Resources>
</Application>

MainWindow は MetroWindow を継承するよう変更します。

MainWindow.xaml

<mah:MetroWindow x:Class="AsyncSample.Views.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mah="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:AsyncSample"
        mc:Ignorable="d"
        GlowBrush="{DynamicResource AccentColorBrush}"
        BorderThickness="1"
        Title="MainWindow" Height="550" Width="545" MinHeight="550" MinWidth="545"
        TitleCharacterCasing="Normal">
    <Grid Margin="15">
        <Grid.RowDefinitions>
            <RowDefinition Height="30"/>
            <RowDefinition Height="30"/>
            <RowDefinition Height="30"/>
            <RowDefinition Height="30"/>
            <RowDefinition Height="30"/>
            <RowDefinition Height="30"/>
            <RowDefinition Height="30"/>
            <RowDefinition Height="30"/>
            <RowDefinition Height="30"/>
            <RowDefinition Height="100*"/>
            <RowDefinition Height="46"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition Width="100*"/>
        </Grid.ColumnDefinitions>

        <Label Grid.Row="0" Grid.Column="0" Content="処理時間:" Margin="3" HorizontalAlignment="Right"/>
        <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Time}" TextAlignment="Right" Margin="3"/>
        <Label Grid.Row="0" Grid.Column="2" Content="s" VerticalAlignment="Bottom"/>

        <Button Grid.Row="1" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2" Name="btnStart" Content="Start" Margin="3" Command="{Binding StartCommand}"/>
        <Button Grid.Row="1" Grid.Column="3" Grid.RowSpan="2" Grid.ColumnSpan="2" Name="btnStop" Content="Stop" Margin="3" Command="{Binding StopCommand}"/>

        <Label Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Name="lblStatus" Content="{Binding Status, Mode=OneWay}" Margin="3"/>
        <Label Grid.Row="3" Grid.Column="4" Name="lblRate" Content="{Binding Rate, Mode=OneWay}" Margin="3" HorizontalAlignment="Right"/>

        <ProgressBar Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="5" Name="progressBar" Value="{Binding Value, Mode=OneWay}" Margin="3"/>

        <StackPanel Grid.Row="9" Grid.Column="0" Grid.ColumnSpan="6">
            <Label Content="Label" />
            <TextBox Text="TextBox" />
            <ComboBox />
            <CheckBox Content="CheckBox"/>
            <RadioButton Content="RadioButton1" GroupName="Group" IsChecked="True"/>
            <RadioButton Content="RadioButton2" GroupName="Group"/>

        </StackPanel>
    </Grid>
</mah:MetroWindow>

MainWindow.xaml.cs も忘れずに。

MainWindow.xaml.cs

using AsyncSample.ViewModels;
using MahApps.Metro.Controls;

namespace AsyncSample.Views
{
    /// 
    /// Interaction logic for MainWindow.xaml
    /// 
    public partial class MainWindow : MetroWindow
    {
        public MainWindow()
        {
            InitializeComponent();
            this.DataContext = new MainViewModel();
        }
    }
}

適用後

実行してみるとこんな感じです。

下記の定義で全体的な色を LightBlue に変えています。

App.xaml

<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.LightBlue.xaml" />

指定できる色は下記で確認できます。
https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/tree/master/MaterialDesignColors.Wpf/Themes/Recommended/Accent

さいごに

自分でイチから作るのは大変なので非常にありがたいですね。

以上、もりもりでした。