初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2022-12-22 11:44:37

ゆかり
Guest

FileMakerServerからMessageを送る方法

ゆかりです
いつもありがとうございます。

FileMakerServerから指定レイアウトの指定レコードを見ている人に対して新規ウィンドウを出してメッセージをおくりたいのですが、
全然方法が思いつきません。。。
どなたかご教授願えませんでしょうか?
よろしくお願い申し上げます(m__m)

---ゆかり
FMS19.5
FMP19.6
FMGp19.6

#2 2022-12-22 12:33:53

ゆかり
Guest

Re: FileMakerServerからMessageを送る方法

追記させて下さい。
例えば「メッセージフラグ」=1
となった時にカスタムダイアログがでるように
OnObjectModifyにスクリプトをしてあるのですが、
他のユーザーが値を変更しても反応してくれません。。。
飯能させる方法はあるのでしょうか?
---ゆかり

#3 2022-12-22 12:51:25

ゆかり
Guest

Re: FileMakerServerからMessageを送る方法

もしくは、javascriptでLoopさせるかですかね?
---ゆかり

#4 2022-12-22 16:41:59

Shin
Member

Re: FileMakerServerからMessageを送る方法

標準機能だけでは無理でしょう。
外部の補助を使うか、プラグインもあったような。

Offline

#5 2022-12-22 17:20:36

qb_dp
Member

Re: FileMakerServerからMessageを送る方法

以下の手法を応用すれば、イケるかも。

【情報】別PCのFileMakerのスクリプトを実行。
https://fm-aid.com/bbs2/viewtopic.php?id=6096

Offline

#6 2022-12-22 19:24:01

ゆかり
Guest

Re: FileMakerServerからMessageを送る方法

qb_dpさん
Shinさん
ご返信ありがとうございます。

とりあえず急ぎだったので、
javascriptのsetIntervalで回して1分毎にFileMakerScriptで条件判定し実装しちゃいました。
負荷とスクリプト割込みでどれくらい影響か検証中です。

qb_dpさんのやり方でやってみます。
皆様本当にいつもありがとうございます~

---ゆかり

#7 2022-12-24 19:28:56

himadanee
Guest

Re: FileMakerServerからMessageを送る方法

Webビューアを使うので似たようなことですが、今のバージョンはjavascriptから直接FMのスクリプトを実行できます。
https://help.claris.com/ja/pro-help/con … ewers.html

なので、例えばソースを
Case ( servermessageWV::メッセージフラグ = 1 ;
"data:text/html,<html><script>FileMaker.PerformScriptWithOption('スクリプト名','引数');</script>"
)
みたいにするだけで動きませんか。(サーバー持ってないのでスタンドアロンでしか実験してません)

HTMLをもうちょっとちゃんと書かないと、ステータスメッセージに「読み込み中~」みたいなのが表示されてますが(フラグ=0にした場合なので、空なのがまずいのかな)

#8 2022-12-25 05:55:38

ゆかり
Guest

Re: FileMakerServerからMessageを送る方法

himadaneeさん
ご返信ありがとうございます。

別のユーザーが別レイアウトで同じレコードの値を変更しても、トリガは反応してくれないのでダメだったのです~
今はNode.jsを使ってEventが起きた時のみ他のユーザーに告知できるように試行錯誤しています。

---ゆかり

#9 2022-12-25 07:24:58

himadanee
Guest

Re: FileMakerServerからMessageを送る方法

スクリプトトリガは全く使いませんよ。
どのクライアント・レイアウトからでもフィールド値が変更されれば共有しているすべてのクライアントでフィールドが自動的に最新の値になる(タイミングは不明ですが1秒間隔ぐらいだったと思います)のと同じで、
Webビューアのソースが変更になるので自動的に表示が更新(=javascriptが実行)されるはずです。

なのでWebビューアをスクリプト実行したいレイアウト内に置いてないとだめですね(レイアウト右側の表示領域外ではだめ)

ピアツーピアでは動作確認しました。

#10 2022-12-25 10:03:01

ゆかり
Guest

Re: FileMakerServerからMessageを送る方法

himadaneeさん

私どこかのグローバルフィールドに置いたJSを読み込む事ばかり考えていましたが、
webビューアに直接書く事がきもだったのですね。
やりたいことが簡単にできました~
これ結構あるあるな悩みだと思うので他の初心者の方にも有用だと思います。
本当に感謝です。
ありがとうございました(m__m)

---ゆかり

#11 2022-12-25 10:20:07

himadanee
Guest

Re: FileMakerServerからMessageを送る方法

「きも」はJSの置き場所ではなく、Webビューアのソースの計算式中にトリガにしたいフィールド参照を入れるということです。

「グローバルフィールドに置いたJS」
グローバルフィールドを使うなら、ファイルのアップロード前に設定するとかクライアント側のスクリプトでフィールド設定するとかが必要になってきます。
レコードデータとして保存してExecuteSQLでとか、レイアウトオブジェクトにしてGetLayoutObjectAttributeでとかの方がシンプルかも。

#12 2022-12-25 10:35:46

ゆかり
Guest

Re: FileMakerServerからMessageを送る方法

himadanee様
なるほどです。
全然思いもつきませんでした~
javascript自体使うの初めてだったので今回はすっごく勉強になりました。
本当にFileMakerでJavaScriptが使えると色々できるのですねぇ
教えて頂いたやり方も色々とやってみます。
ありがとうございました(m__m)
---ゆかり

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 565.05 KiB (Peak: 579.48 KiB) ]