カテゴリー内の他の記事

文字結合プラグイン

フォローする

概要

通常の連結機能では、文字列や数値などの連結はできますがルックアップやラジオボタンなどを含めることができません。
本プラグインは計算フィールドで適用できないフィールドを結合するためのプラグインです。下記が機能の概要です。

  • 結合項目が3つまで設定可能
  • 1結合項目あたり5つまでのフィールドの結合が可能
  • フィールド間の記号を自由に選択可能

設定画面(設定例)

text-connect-1.JPG

レコード詳細画面(レコード登録後)

text-connect.JPG

プラグインを利用する

STEP1:フォームを設定する

アプリのフォームを設定します。
結合の対象として適用可能なフィールド形式は
STEP3の選択可能フィールドを参照ください。

  • 結合した文字列を表示するためのフィールドを作成ください。
    フィールドは文字列、文字列複数行、リッチエディターから選択できます。
     ※結合された文字列を表示するフィールドは編集不可となり
       結合された文字列を表示するためフィールドとなります。

STEP2:アプリにプラグインを追加する

アプリに文字列結合プラグインを追加します。プラグインの追加方法は、kintone ヘルプを参照してください。

プラグインを追加する

STEP3:プラグインを設定する

1.アプリ管理画面の「詳細設定」>「プラグイン」を開き
  文字列連結プラグインの歯車マークをクリックします。

2.各項目を設定します。

  項目名 説明
  結合する項目
結合の対象となるフィールドを選択できます。(最大5つまで)
結合の対象として選択できるフィールドタイプは下記です。
  • 文字列(1行)
  • 文字列(複数行)
  • 数値
  • ラジオボタン
  • チェックボックス
  • 複数選択
  • ドロップダウン
  • 日付
  • 時刻
  • 日時
  • リンク
  • ユーザー選択
  • 組織選択
  • グループ選択
  • ルックアップ
  項目間の記号 結合される項目の間に表示される記号を入力します。
未選択の場合、各項目が直接結合されます。
  結合された文字列を表示する項目

結合された文字列を表示するフィールドを選択します。表示先として選択できるフィールドタイプは下記です。

  • 文字列(1行)
  • リッチエディタ
  • 文字列(複数行)

3.[保存]をクリックします。

4.[アプリの設定]画面で[設定完了]をクリックすると、プラグインの設定がアプリに反映されます。

STEP4:プラグインを利用する

レコードを登録します。対象として選択したフィールドに変更があると、プラグインで設定されたフィールドに連結された文字列が入ります。
保存ボタンを押した際に、結合された文字列がプラグインで設定された対象のフィールドに保存されます。

※結合元として設定したフィールドに空白がある場合はダイアログで保存の確認が表示されます。

 


保存確認のダイヤログイメージ

 

サンプルプラグイン

plugin-sdk にアクセスしてフォルダごとダウンロードしてください。そのフォルダ内の「examples/textConnect」に、今回のファイル群があります。
ファイル構成は次のとおりです。

textConnect/
 config_css/
-config.css config_js/ -config.js
contents/
-icon.png
  -setting.html
desktops/
-desktop.js
manifest.json

プラグインの開発手順 パッケージング を参考に、「textConnect」をパッケージングします。

パッケージングしたサンプル

text_connect_plugin.zip

更新履歴

2016/06/30 v1.0 を公開しました

2017/02/10 v1.1 を公開しました:プラグイン設定画面で何も設定しない場合はレコード登録できない不具合を修正しました。

2017/11/01 v1.1.1 を公開しました:プログラムで使用しているフォーム設計情報取得APIを、フィールドの一覧を取得するAPIに置き換えました。

2017/11/20 v1.2.0 を公開しました:設定できる結合項目を3つまで追加しました。

その他制限事項

  • Internet Explorer 8では本プラグインはご利用いただけません。
  • スマートフォンでは、使用することができません。
  • 次のフィールドは文字結合の対象外となります。
    • レコード番号
    • 作成者
    • 更新者
    • 作成日時
    • 更新日時
    • リッチエディター
    • テーブルに含まれるフィールド
    • カテゴリー
    • ステータス
    • 作業者
    • 添付ファイル

注意事項

  • サンプルプラグインは、その動作を保証するものではありません。
  • サンプルプラグインの技術的なサポート等は行っていません。
  • フィールドが結合元フィールドとして選択された場合は、もっとも初めに選択された値のみを結合します。(配列の0番目)
    • チェックボックス
    • 複数選択
    • ユーザー選択
    • 組織選択
    • グループ選択

※kintoneプラグインはスタンダードコースでのみご利用いただけます。ライトコースではご利用いただけませんのでご注意ください。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

Avatar
iwasaki

1アプリ内で1つ以上の結合をしたい場合はどのようにしたらいいでしょうか。

たとえば、会社名+部署名=送付先 という項目に、 住所+建物名=正式住所という項目に、1アプリ内で2つの結合項目を作成したい場合です。

最初、結合先に自動計算で設定していたのですが、自動計算ではいずれかに入力がされていないとエラー(#N/A)となってしまう為、こちらのプラグインを利用したかったのですが、何か回避策がありましたら教えていただきたいです。

よろしくお願い致します。

Avatar
cybozu Development team

岩崎 様

ご質問ありがとうございます。

こちらのプラグインは一つ結合項目しか作成できません。

ご要望に応えずに申し訳ございません。

>自動計算ではいずれかに入力がされていないとエラー(#N/A)となってしまう
 あまり望ましくない方法ですが、スペースを入れることで#N/Aがなくなります。

ちなみに、複数の結合項目を作成できるようにこちらのプラグインのバージョンアップを検討しております!

Avatar
iwasaki

>cybozu Development team様

ありがとうございます。初期値にスペースを入れておくことでは駄目で、入力値がない時はスペースを入れる、という対応をしなくてはいけないのですね。

こちらのプラグインのバージョンアップは是非ともお願いしたいです。

それまでの間、Javascriptでの対応は可能でしょうか。もし方法がありましたらご教示いただければありがたいです。よろしくお願い致します。

iwasakiにより編集されました
Avatar
cybozu Development team

岩崎 様

>入力値がない時はスペースを入れる、という対応をしなくてはいけないのですね
仰る通りです><

>Javascriptでの対応は可能でしょうか。もし方法がありましたらご教示いただければありがたいです

Javascriptでの対応は可能です。

大体のイメージは↓の感じです。

var event = ['app.record.edit.submit',      <--フィールドの値を変更する時点で結合したい場合、そのフィールドのchangeイベントを追加
      'app.record.create.submit',
      'app.record.index.edit.submit'
];

kintone.events.on(event, function(e) {
  var record = e.record;
       var separator1 = "/";                <----結合するフィールド間の記号、ここは/を指定しています
  var joinFieldArry1 = [               <----結合するフィールドの配列
                                     record.会社名.value,
                                     record.部署名.value

       ]

       record.送付先.value = String(joinFieldArry1.join(separator));   <------送付先は結合した文字列を表示するフィールドコード

       //上記ソースコードをコピーしてフィールドコードを変更すれば、他の結合項目もカスタマイズできます

});

 

また、こちらのコメントは当記事へフィードバックいただくための場所です。
カスタマイズに関するご質問はcybozu developer コミュニティをご活用いただければ幸いです。

どうぞよろしくお願いいたします。

cybozu Development teamにより編集されました
Avatar
iwasaki

> cybozu Development team様

ありがとうございます。引き続き、当プラグインのバージョンアップ検討をお願い致します!

Avatar
iwamoto

こちらのプラグインについて、

設定後すでに登録されているレコードに結合された表示を適用させるには、どうすればいいでしょうか。

レコード番号と結合したいレコードを書出して読み込みを試しましたが、一括での適用ができません。

ひとつずつレコードを編集で開いて保存をすると、ちゃんと適用されます。

Avatar
cybozu Development team

iwamoto様

詳細画面へのリロード処理などが必要になるかと思われます。

こちらの投稿に、年令計算の例ですが、参考になりそうなサンプルがあります。

https://developer.cybozu.io/hc/ja/community/posts/202311534

または、上記の投稿と同様、新規にcybozu developer コミュニティに投稿いただくのも良いかと存じます。

あまりお役に立てず申し訳ありませんが、よろしくお願いいたします。

cybozu Development teamにより編集されました
ログインしてコメントを残してください。
Powered by Zendesk