kintoneのフィールドに入っている名前を姓名で分割する

公開日:2023-08-24

こんにちは。名前のふりがなを自動的に付与するkintoneのカスタマイズの記事が続いている與那城です。

たまたまです(多分)。

今回の記事はふりがなではなく、「姓」と「名」を分離するカスタマイズです。

最初からkintoneの追加・編集画面からキーボードを使って入力する場合は、姓と名のフィールドがわかれていれば別々に入力すれば問題ないですが、
メールの中身や、別の画面に表示された内容をコピペで転記するといった場合などに、姓名を分割するのがめんどくさいことが多々あるかと思います。

そういう「めんどくさい」を、減らす方法を紹介していきます。

なお、今回のkintoneカスタマイズはカスマインとAWS Lambdaを使用しています。
別途AWSのアカウント作成が必要になります。

動作イメージ

今回の例では「姓&名」フィールドに名前を入れたら姓と名に分離されて、ふりがなが補完されて、ローマ字に変換されるところまでです。
ふりがな補完の部分は以前の記事の内容と変わりありません。

実際にやっていること

姓と名を分離するLambda Functionを作って、姓名フィールドの値をそのLambda Functionで分離させ、カスタマインを使ってkintoneの姓と名のフィールドにセットしています。

今回は、namedivider-pythonというPythonのライブラリを使って分割しました。

READMEにも書かれていますが、100%正確に分割できるわけではないので、注意してください。

注意事項

こちらのコード/カスタマイズに関して、弊社でサポートするものではありません。Lambdaのコード自体はPublic Domainとして扱うものとします。

Lambdaのコード

eventで名前を受け取って、それを分割して返してあげます。

このLambda Functionを実行できるようにします。
(実際にはNameDividerを含めた状態でLambda Functionとして登録する必要があるのでAWS SAMやServerless Frameworkとかでデプロイするのが現実的かな…と思います)。

カスタマインでのカスタマイズ

カスタマインの「やること」には「AWS Lambda ファンクションを実行する」というものがあるので、Lambdaファンクションを実行するようにします。
(その前に認証情報を取得しておく必要があるので「AWS アクセスキーを設定する」か「AWS Cognito で認証を取得する」で認証を取得する必要があります)

ポイントとしては、Lambdaに渡すパラメーターを

{
“name”: “${姓名}”
}

と指定して、kintoneの姓名フィールドの値をLambdaに渡してあげることです。
(入力ダイアログを表示して、その入力値を使う場合は、 ${$40} のようにアクションの結果を参照するようにすればいいです)

カスタマインなのに…コード書くの?AWSも使うの?

おいおい、カスタマインなのにコード書かないといけないのか。AWSも使わないといけないのか…っというツッコミがあるかもしれません。

ただ、姓名を分離する部分だけコードを書けば、フィールドに値をセットしたり、
Lambdaファンクションを呼び出したりする部分はカスタマインがやってくれます。

また、姓名を分割する処理をして、フィールドにセットしたあと、「他のアクションの実行が完了した時」を条件に何かを実行したり、
「フィールドの値を編集して値が変わった時」を条件に何か別のアクションを実行するといったような連携を、コードを書かずにカスタマイズできるのは、
やはりカスタマイズ開発の全体の作業効率を考えるとすごくいいです。

ノーコードの時代になるからプログラムの知識が無くてもいろいろ作れるぜ!!というのは、一つの側面としてはそういう部分もあると思います。

プログラムの知識がありつつも、ノーコード・ローコードツールを使ってツールでできるところはツールでやる。できないところはプログラムを書くことで開発効率をあげることができるというのも一つの側面だと思います。

小さな拡張からプログラムの勉強をしてみるのもいいかも!?

今回のような、機能としてはものすごく小さなプログラムを作って、実際のシステムの改善をしてみることで、プログラミング学習やAWS Lambdaのはじめの一歩としてやってみて、
スキルをみにつけてみると、もっといろいろなことができるかもしれません。

カスタマイズを1から10まで自分でプログラムを書くことができるようになるのは大変ではあると思うのですが、
「一部分だけプログラムを書く」みたいなこともカスタマインではできるので、学習のはじめの一歩に是非やってみるといいと思います。

もちろん、業務で使うものなのでプロにサポートしてもらいたい…といったようなことであればgusuku BoostoneやHighSpeed SIも是非ご検討ください!