NoCode J Works

Innovation in the workplace.

ノーコードアプリならあなたのアイディアを効率良くかたちにできるかもしれない

f:id:BeansWorks:20210630062814j:plain

本来やりたいこと、ビジネスの目的を達成する為に本当に大規模なシステムが必要でしょうか?無駄にハイスペックだったり、使えない・残念なシステムに振り回されていませんか?

ノーコードの開発ツールを使えば、カスタムアプリを開発するのは難しくありません。カスタムアプリ開発のちょっとしたコツや、サンプルの紹介、短時間でできるカスタムアプリの作り方などを紹介しています。


Google SheetsでQRコードを表示する

f:id:BeansWorks:20210910155913p:plain

Google APIを活用して動的にQRコードを生成しGoogleSheetsに表示させる手順です。

最終的なイメージは下記になります。

f:id:BeansWorks:20210910155322p:plain

 

1.GoogleSheetにデータを準備します。(項目:ID、アイテム名、QR等)

f:id:BeansWorks:20210910160503p:plain

 

2.QRコードを生成するには下記APIを使用します。


3.GoogleDeveloperサイトのQRコードページを開きます。

f:id:BeansWorks:20210910161909p:plain


4.スクロールしていくと使用する構文と設定項目が表示されますのでこちらを使用します。

 Root URL: https://chart.googleapis.com/chart?

f:id:BeansWorks:20210910162517p:plain

 

5.事前に準備したGoogleSheetsの"QR"項目にIMAGE関数 を設定します。参照先は上記アドレスとし、バーコードの大きさ、および表示させたいデータがあるセル(下記の場合はA2)を指定すればバーコードが表示されます。

=IMAGE("https://chart.googleapis.com/chart?cht=qr&chs=150x150&chl="&A2)

 

※quickchartのAPIでも同様にQRコードを表示することが可能です。

=IMAGE("https://quickchart.io/qr?text="& ENCODEURL(A2))

f:id:BeansWorks:20210910164211p:plain



SampleAppsで学ぶFileMaker[割り当てられたタスク一覧を連絡先に送信]

f:id:BeansWorks:20210907091553p:plain

「イベント管理.fmp12」の「連絡先詳細」メニューにある[割り当てられたタスク]タブの[タスク一覧を電子メールで送信]ボタンには「割り当てられたタスク一覧を連絡先に送信する」というスクリプトが設定されています。

f:id:BeansWorks:20190731224347p:plain

f:id:BeansWorks:20190731224402p:plain

 

割り当てられたタスク一覧を連絡先に送信

 

『1行目』

エラー処理[オン]

→エラー表示をオンにすると標準の警告メッセージが表示されないようになります

 

『3行目』

変数を設定[$PATH;

値:Get(テンポラリパス)& イベント::イベント&”タスク一覧.pdf]

→「イベント」項目に入力されている名前を付けてPDFで一時保存する変数を指定しています。(変数は次のステップで使います。)

 

『5行目』

関連レコードへ移動[関連レコードのみを表示;

テーブル:「割り当てられたタスク一覧 |タスク」;

使用するレイアウト:「割り当てられたタスク一覧」(タスク);新規ウインドウ]

レコードのソート[記憶する;ダイアログあり:オフ]

→ポータルのテーブル(関連テーブル)内の関連レコードが現在のレコードになります。

 

『8行目』

レコードをPDFとして保存[記憶する;ダイアログあり:オフ;「$PATH」;対象レコード;

ディレクトリの作成:オフ]

→「$PATH」で指定している場所にポータル内の関連レコードをPDFとして保存します。

 

『10行目』

ウインドウを閉じる[現在のウインドウ]

 

『12行目』

メールを送信[電子メールクライアント経由で送信;ダイアログあり:オン;

宛先:連絡先::連絡先名前&”<”&連絡先::自宅メール&”>”;

トピック:Get(ファイル名)&” |タスク一覧”;

メッセージ:連絡先::連絡先名前&”様、¶”&”あなたのタスク一覧を添付します...;

「$PATH」]

→電子メールクライアントを起動後、PDFファイルを添付し、メールアドレス、タイトル、

 

 本文を上記設定で付与して文書を作成します。

 

SampleAppsで学ぶFileMaker[ゲストに予定を送信]

f:id:BeansWorks:20210907091553p:plain

「イベント管理.fmp12」の「イベント詳細」メニューにある[ゲスト]タブの[処理]ボタンをクリックするとポップオーバーの中に[電子メールで送信]というボタンがあり、「ゲストに予定を送信」というスクリプトが設定されています。

f:id:BeansWorks:20190731224139p:plain

f:id:BeansWorks:20190731224154p:plain

 

ゲストに予定を送信

 

『1行目』

エラー処理[オン]

→エラー表示をオンにすると標準の警告メッセージが表示されないようになります

 

ポップオーバーを閉じる

スクリプトステップを実行しているウインドウで、開いているポップオーバーを閉じます。

 

変数を設定[$PATH;値:Get(テンポラリパス)&イベント::イベント&"予定.pdf"]

→「イベント」項目に入力されている名前を付けてPDFで一時保存する変数を指定しています。(変数は次のステップで使います。)

 

If[ValueCount(List(ゲスト::電子メール))>=100]

 カスタムダイアログを表示["電子メールを送信中";

 "プロバイダーによっては、電子メールを一度に100ヶ所以上へ送信することができません。"]

 

 If [Get(最終メッセージ選択)=2]

  全スクリプト終了

 End If

End If

→宛先が100ヶ所以上の場合はエラー防止の為、送信しないようにしています。

 

関連レコードへ移動[関連レコードのみを表示;テーブル:「予定」;使用するレイアウト:「予定」(予定);新規ウインドウ]

 

If [Get(最終エラー)= 0 ]

 レコードのソート[記憶する;ダイアログあり:オフ]

 レコードをPDFとして保存[記憶する;ダイアログあり:オフ;「$PATH」;対象レコード;ディレクトリの作成:オフ]

 ウインドウを閉じる[現在のウインドウ]

End If

 

Get(最終エラー)= 0はエラーがない場合になります。

FileMaker Error Code

https://fmhelp.filemaker.com/help/16/fmp/ja/index.html#page/FMP_Help/error-codes.html

 

関連レコードへ移動[関連レコードのみを表示;テーブル:「ゲスト」;使用するレイアウト:「ゲスト一覧」(予定);新規ウインドウ]

If [Get(最終エラー)= 101 ]

  全スクリプト終了

End If

→Get(最終エラー)= 101はレコードが見つからない場合になります。

 

メールを送信[電子メールクライアント経由で送信;ダイアログあり:オン;

宛先:ゲスト::電子メール;トピック:イベント::イベント;

メッセージ:"イベントの予定を添付します:¶¶" & イベント::イベント& ¶ & イ...;

「$PATH」]

→電子メールクライアントを起動後、PDFファイルを添付し、メールアドレス、タイトル、本文を付けて文書を作成します。

 

ウインドウを閉じる[現在のウインドウ]

レコード/検索条件確定[ダイアログあり:オン]

 

SampleAppsで学ぶFileMaker[イベントレポートを協力者に送信]

f:id:BeansWorks:20210907091553p:plain

SampleAppsで学ぶFileMakerTips[イベントレポートを協力者に送信]

「イベント管理.fmp12」の「イベント詳細」メニューにある[イベントレポート]のポップオーバーボタンには[電子メールで送信]というボタンがあり、「イベントレポートを協力者に送信」というスクリプトが設定されています。

f:id:BeansWorks:20190731223920p:plain

f:id:BeansWorks:20190731223943p:plain

 

『1行目』

エラー処理[オン]

→エラー表示をオンにすると標準の警告メッセージが表示されないようになります

 

『3行目』

変数を設定[$RECEIPTS;値:List(協力者::電子メール)]

→$RECEIPTSでメールアドレスをList関数で取得しています。

(List関数ではフィールド内の空白を除く値の連結一覧を返します)

 

『4行目』

変数を設定[$$PATH;

値:Get(テンポラリパス)&イベント::イベント&".pdf"]

→「イベント」項目に入力されている名前を付けてPDFで一時保存する変数を指定しています。(変数は次のステップで使います。)

 

 

『6行目』

スクリプト実行[指定:一覧から;「PDFを生成」;引数: ]

→あらかじめ作成している「PDFを生成」スクリプトを呼び出しています。

 

 

『7行目』

メールを送信[電子メールクライアント経由で送信;ダイアログあり:オン;

 

宛先:$RECEIPTS;

トピック:イベント::種類&":”&イベント::イベント&"@"&イベント::場所...;

メッセージ:"協力者様、¶¶下記イベントのレポートを添付します:¶¶" & イベント::...;

 

「$$PATH」]

→電子メールクライアントを起動後、PDFファイルを添付し、メールアドレス、タイトル、

 

 本文を付けて文書を作成します。

 

 

SampleAppsで学ぶFileMaker[ポップオーバーボタンの実装]

f:id:BeansWorks:20210907091553p:plain

「イベント管理.fmp12」のイベントレイアウトではポップオーバーボタンが

使用されています。ポップオーバーを使用すると、別のレイアウトやウイン

ドウに移動せずに追加の詳細やデータのコントロールにアクセスできるので、

作業状況を維持できます。

デザインモードで見るとポップオーバーの中にボタンが3つ配置されています。

f:id:BeansWorks:20190731223349p:plain

更に詳しく見ると、一番目「印刷可能な表示」ボタンと三番目の「イベントを

ファイルへエクスポート」ボタンはレイヤーを重ねています。前面のボタンは

動作オプションの「次の場合にオブジェクトを隠す:」に条件式を設定して

対象のレコードがない時に表示させない設定にしています。背面のボタンは

グレーアウトでクリックできないボタンになっており、前面ボタンが非表示に

された時に見えるようになっています。

f:id:BeansWorks:20190731223445p:plain

f:id:BeansWorks:20190731223504p:plain

f:id:BeansWorks:20190731223519p:plain

 

 

SampleAppsで学ぶFileMaker[キーワードによるソート]

f:id:BeansWorks:20210907091553p:plain

「イベント管理.fmp12」のイベントレイアウトではイベントボタンで選択した

キーワードによりソート処理をしています。イベントボタンには下記スプリクト

が設定されています。

f:id:BeansWorks:20190731222641p:plain

 

【03.トリガ|イベント一覧をソート[Getスクリプト引数]】

f:id:BeansWorks:20190731222722p:plain

『1行目』

変数を設定[$$PLATFORM;値:Get(スクリプト引数)]

スクリプト引数を変数として取得します。

If [$$SCRIPT_TRIGGER="オフ"]

変数を設定[$$SCRIPT_TRIGGER;値:"オン"]

現在のスクリプト終了[テキスト結果: ]

End If

グローバル変数を切り替えとして使用して、スクリプトがトリガされるのを停止します。


変数を設定[$$GO_BACK_LAYOUT;値:""]

If [イベント::選択内容のソート="期間"]

 レコードのソート[記憶する;ダイアログあり:オフ]

Else If [イベント::選択内容のソート="イベント"]

 レコードのソート[記憶する;ダイアログあり:オフ]

Else

 レコードのソート[記憶する;ダイアログあり:オフ]

End If

ウインドウのスクロール[Home]

→検索を実行してソートし、ウインドウの一番上にスクロールします。

f:id:BeansWorks:20190731222744p:plain

f:id:BeansWorks:20190731222824p:plain