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

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

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

You are not logged in.

Announcement

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


#1 2020-12-01 07:54:19

caroline0525
Member

契約満了日○日前に、メールを自動送信させたい

動作状況
WindowsServer
Windows10 クライアントユーザ:20弱
FileMaker 18

保守契約管理システムで、顧客情報、契約内容、対象機器等のテーブルがあります。
今、契約満了日の60日、30日、7日前になったら、担当営業に更新確認のメールを自動送信させる作業をしているのですが、
フィールドに、「契約日残数」があり契約開始日と終了日から自動計算させており、その数字が60,30,7になったら、メールを送信させるスクリプトを作成し、
そのフィールドにスクリプトトリガで実行させようと思いましたが、動作しません。
そもそも、そのようにレイアウトの編集で、フィールドにスクリプトトリガで実装することが間違いなのか・・と。

このように、自動で変わるフィールドの値を条件に、メールを自動送信させることをしたことがなく、お知恵をお借りしたく投稿させていただきました。
よろしくご教授お願いします。

Offline

#2 2020-12-01 08:47:00

Shin
Member

Re: 契約満了日○日前に、メールを自動送信させたい

オブジェクトのスクリプトトリガーは、何らかのアクションがあった場合に起動するもので、時刻などを監視しているものではありません。
幸い、FIleMaker server をお使いのようですので、毎日決まった時刻に、本日より60日後、30日後、7日後が契約日のものを抽出し、メールを送信する、というスクリプトを、サーバー側のスケジュールへ割りつけておくといいでしょう。

Offline

#3 2020-12-01 08:50:07

caroline0525
Member

Re: 契約満了日○日前に、メールを自動送信させたい

Shin様

早速のアドバイスありがとうございます。
サーバー側のスケジュール・・・。
これはこれで、初めてのことですので、いったん調べてやってみますが、
またどうしても分からないところが出た際には、よろしくお願い申し上げます。

Offline

#4 2020-12-01 22:14:05

caroline0525
Member

Re: 契約満了日○日前に、メールを自動送信させたい

Shin様

いろいろ調べているのですが、最初からつまずいております。
この場合、まず契約残日数のフィールドを見に行って、60,30,7と等しい場合にメールを送るというスクリプトの書き方から悩んでおります。
変数とか使うのでしょうか? それとも検索をして絞り込むのでしょうか? その後、Loopでメールの送信をさせるとかでしょうか?
もう少し具体的に教えていただけると助かります。
最初、フィールドにスクリプトトリガでやろうとしたIF構文のスクリプトではダメなような気がしています。

Offline

#5 2020-12-02 00:10:02

Shin
Member

Re: 契約満了日○日前に、メールを自動送信させたい

普通のスクリプトで作れます。
該当するレコードの抽出は、
検索モード
フィールド設定[契約満了日 ; Get ( 日付 ) + 60]
新規検索条件
フィールド設定[契約満了日 ; Get ( 日付 ) + 30]
新規検索条件
フィールド設定[契約満了日 ; Get ( 日付 ) + 7]
検索実行
でいいでしょう。
そこから送るメールは、内容によって一括処理が可能か、loop処理が必要かが変わってきます。

Offline

#6 2020-12-02 01:34:30

caroline0525
Member

Re: 契約満了日○日前に、メールを自動送信させたい

すみません、言葉足らずでした。

60日前、30日前、7日前に送るメールの文言ですが、満了近くなるほど緊急度が高くなるような内容になります。
その場合、検索実行をそれぞれに分けてやったほうがいいということでしょうか。
そして、一番分からなかったのは、検索して抽出したレコードに対して、メールの送信をするくだりです。
IF Get(対象レコード)で、0の場合は次の検索、それ以外はLoopで処理をするということでしょうか。

Offline

#7 2020-12-02 08:39:21

Shin
Member

Re: 契約満了日○日前に、メールを自動送信させたい

メールを送る、と一言で言われても、詳細は全くわかりません。
まず、送る相手は、それぞれの営業担当、それとも一括でいいのか、取引相手ごとのメールでいいのか、一括でいいのか。それによって、処理がかわります。
FMからメールを送信する方法はわかっていますよね。

Offline

#8 2020-12-02 08:50:34

チポ
Member

Re: 契約満了日○日前に、メールを自動送信させたい

メール本文の計算フィールドを作り、
60、30、7日前になったら、それに対応する文を入力、それ以外の日は空白。
とすれば、
このフィールドが空白でないものを検索すればいいですね。

メール送信は、対象レコードを一括で送信できます。

Last edited by チポ (2020-12-02 08:51:24)

Offline

#9 2020-12-02 09:12:48

caroline0525
Member

Re: 契約満了日○日前に、メールを自動送信させたい

Shin様
チポ様

アドバイスありがとうございます。
メールを送ることは今までやってきたので、それは分かります。
宛先は、TO:担当営業CC:いくつかの特定のメールアドレス です。
チポ様がおっしゃるように、検索して対象レコードが複数あった場合、送信させるのをどう記述したらいいのかと疑問に思った次第です。
最初の方に、Shin様が教えていただいた複数条件で検索した結果に対して、チポ様のコメントにあるように本文の計算式にそれぞれの文言を入れてみます。

ありがとうございました。やってみた結果をまたご報告させていただきます。

Offline

#10 2020-12-02 09:31:19

チポ
Member

Re: 契約満了日○日前に、メールを自動送信させたい

スクリプトステップ
  メールを送信
の設定で対象レコード全てに送信できます。

ヘルプのリンクです
ttps://fmhelp.filemaker.com/help/18/fmp/ja/#page/FMP_Help%2Fsend-mail.html%23

Offline

#11 2020-12-02 11:00:02

caroline0525
Member

Re: 契約満了日○日前に、メールを自動送信させたい

チポ様

参照URLありがとうございます。

[複数の電子メール (対象レコード内の各レコードに 1 つ)] を選択すると、対象レコード内の各レコードを使用して指定したすべての受信者に個別のメッセージを送信できます。

ということですね。
今まで、スクリプトトリガでしかメール送信したことなかったのですが、そこに注目するべきだったんですね。

ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 524.89 KiB (Peak: 545.43 KiB) ]