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

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

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

You are not logged in.

Announcement

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


#1 2023-12-21 16:35:06

wook
Member

FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

毎度お世話様です。FMP19&20です。

レコードをPDF化したオブジェクトをそのまま「mytable::pdf」に入れたいですがFMPで可能でしょうか?

やり方が思いつかなかったのでひとまず外部ファイルに出力、そのファイルをフィールドに読み込む
からやってみようと思ったのですが、これすらうまく行きません。

スクリプト上で
印刷用レイアウト選択
保存先は$pdf
$pdfには"filewin:/c:/users/" & $$LoginUserName & "/downloads/" & "xxx.pdf"を設定

「レコードをPDFとして保存」を実行

この時点で正しくdownloadディレクトリにxxx.pdfが出力されています。
このxxx.pdfを「mytable::pdf」にドラッグアンドドロップしてやるとPDFがプリビュー表示できています。
ここでD&Dではなくスクリプトでオブジェクト形式のコンテナフィールド「mytable::pdf」にこのxxx.pdfを入れたいのですが

「mytable::pdf」に移動して「PDFを挿入」($pdf)とやるとerror3
「ファイルを挿入」でターゲットを「mytable::pdf」、ソースを「$pdf」にした場合にerror102
となり、うまく行きません。
テストで$pdfでなく直接xxx.pdfを指定してみても結果が同じでした

明らかにまずい点は見えますでしょうか?

宜しくお願いします

Offline

#2 2023-12-21 16:49:28

himadanee
Guest

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

ヘルプに「ファイルパスを image、imagemac、imagewin、または imagelinux で始めます」
って書いてありますから、filewinでなくimagewinにすればいいのでは。

保存先はGet(テンポラリパス)を使うのがお勧めです。

#3 2023-12-21 17:03:40

かなえる
Guest

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

102は、フィールドが見つかりませんなので
スクリプトを実行しているレイアウト上に、「mytable::pdf」フィールドが表示されてないとかですかね。

#4 2023-12-21 17:13:39

wook
Member

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

himadanee wrote:

filewinでなくimagewinにすればいいのでは。

直接参照ではimagewinを使っていて同じエラーが出ています

Offline

#5 2023-12-21 17:14:17

wook
Member

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

かなえる wrote:

102は、フィールドが見つかりませんなので
スクリプトを実行しているレイアウト上に、「mytable::pdf」フィールドが表示されてないとかですかね。

ドラッグアンドドロップするフィールドが有りますので、表示されています

Offline

#6 2023-12-21 17:33:08

himadanee
Guest

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

「mytable::pdf」がレイアウトに複数ありませんか?
エラー3は、オブジェクトフィールドがインタラクティブでないときにも起こるようですが

#7 2023-12-21 17:46:47

wook
Member

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

himadanee wrote:

「mytable::pdf」がレイアウトに複数ありませんか?
エラー3は、オブジェクトフィールドがインタラクティブでないときにも起こるようですが

PDFイメージを表示している(ドロップして表示できる)フィールド1つを置いているだけです

Offline

#8 2023-12-21 17:49:00

wook
Member

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

実はこの基礎部分はずいぶん前から動いていた部分なんですね。
そこからほぼ手付かずでFMPのバージョンだけが変わっている感じです

Offline

#9 2023-12-21 19:07:18

himadanee
Guest

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

どこまでが「基礎部分」で、どこに手を付けたのですか?
スクリプトを正確に書いてみてください。
バージョンが変わっただけなら、動いてたバージョンはいくつで、今はそのバージョンではテストできないんですか。
レイアウトのベーステーブルはフィールドと同じですか?

こちらの実験では、やっぱりフィールドがインタラクティブでない場合にエラー3、
変数値がfilewin:の場合にエラー100(ファイルが見つからない)
が発生できましたが、imagewin:に変えて問題なく動きました。

ところで元々の質問(直接フィールドへ)は、無理なようですね。
そういえば、同じファイル名を使うと上書きできずにエラーになったりするので、一時保存する場所は、Get(UUID)をファイル名やフォルダ名に使ったりしてました。

#10 2023-12-21 20:02:10

wook
Member

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

すみません、単なる愚痴でした

himadanee wrote:

どこまでが「基礎部分」で、どこに手を付けたのですか?
スクリプトを正確に書いてみてください。
バージョンが変わっただけなら、動いてたバージョンはいくつで、今はそのバージョンではテストできないんですか。

レイアウトもスクリプトもテーブルも何も変わってないのです。で動かなくなっているので色々触り始めた次第。

himadanee wrote:

こちらの実験では、やっぱりフィールドがインタラクティブでない場合にエラー3、
変数値がfilewin:の場合にエラー100(ファイルが見つからない)
が発生できましたが、imagewin:に変えて問題なく動きました。

「フィールドがインタラクティブでない」はレイアウトに同じフィールドがある状態ですか?
mytable::pdfフィールドは1つしか置いてないです
imagewinは直接指定はできないようですね。エラーになります。ローカル変数には設定可能のようですので
もうちょっと詳しく見てみます。

himadanee wrote:

ところで元々の質問(直接フィールドへ)は、無理なようですね。
そういえば、同じファイル名を使うと上書きできずにエラーになったりするので、一時保存する場所は、Get(UUID)をファイル名やフォルダ名に使ったりしてました。

何故この流れが必要になったかというと、基本的にWebViewerでの動作になるからです。
自分の認識ではWebViewerで動かしているアプリにローカルPCのファイルをスクリプトで吸い込むことはできないですよね?
(できるのかな?)
WebViewerでローカルPCのdownloadにPDFを吐く→WebViewerでコンテナフィールドにそれを読み込む
ができるのならそれで我慢できるのですが・・

Offline

#11 2023-12-22 06:47:59

himadanee
Guest

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

WebViewerじゃなくてWebDirectのことでしょうけど、確かにローカルファイルの挿入はユーザ操作が必要になってしまいますね。(「FileMaker WebDirect では [参照のみを保存] および [ソースファイルの指定] オプションはサポートされていません。」)

でしたら、「サーバ上のスクリプト実行」でやることになるのでは。「PDFを挿入」などは使えませんで、代わりに「URLから挿入」でできるはずです。(file プロトコルの場合:「Documents」フォルダまたはテンポラリフォルダ内のファイルのみを参照するサーバーサイドスクリプトで使用できます)

#12 2023-12-22 09:33:17

wook
Member

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

himadanee wrote:

WebViewerじゃなくてWebDirectのことでしょうけど

はい、良く書き間違えます

himadanee wrote:

「サーバ上のスクリプト実行」でやることになるのでは。「PDFを挿入」などは使えませんで、代わりに「URLから挿入」でできるはずです。(file プロトコルの場合:「Documents」フォルダまたはテンポラリフォルダ内のファイルのみを参照するサーバーサイドスクリプトで使用できます)

この辺りも実はあまり良く分かってなくて、実際私の作ったおもちゃを使うユーザーはFileMaker Cloudで使っていて、で私自身もFMCは初めてで良く分かってないんですね。FileMaker ServerとFileMaker Cloudの使い方の違いも分かってない。
FileMakerはVer3から使っておるんですがServer上で動かした経験がほぼ無い訳です。勉強しないといけませんね

Offline

#13 2023-12-22 11:53:06

himadanee
Guest

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

Cloudは契約しないと使えないので私は全く使ったことありません。
Cloudアカウントが必要だったりServerと色々違いはありますが、スクリプトに関してはあんまり違わないかな?一応「互換性」のところで分けて書かれてますね。
「サーバー上のスクリプト実行」はCloudでもサポートされてますね。

とりあえず、PDF保存まではできてるので、URLから挿入で入れられるか試してみては。これはスタンドアロンでもデバッグできます。

しかし、そもそも「PDFを挿入」が動かないのがおかしいですからね...
「フィールドへ移動」でちゃんとインタラクティブのオブジェクトフィールドがアクティブになってますか?(今のところそれ以外にエラー3になる場合というのはわかりません。WebDirectで試してるわけではないですよね?)
「URLから挿入」だとターゲットも指定するステップなのでちょっと動作が違いますし、「PDFを挿入」が動くようになってもWebDirectでは使えないので、この際は意味がないかもしれませんね。

#14 2023-12-22 15:18:17

wook
Member

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

himadanee wrote:

そもそも「PDFを挿入」が動かないのがおかしいですからね...
「フィールドへ移動」でちゃんとインタラクティブのオブジェクトフィールドがアクティブになってますか?(今のところそれ以外にエラー3になる場合というのはわかりません。WebDirectで試してるわけではないですよね?)

他のスレッドで他の方も同じような現象を言っていて、「PDFを挿入」ではなく「ファイルを挿入」にするとうまく動きます。パス指定は同じ変数$pdfで先頭はimagewinにしてあります。
WebDirectでも同じで、PDFを挿入だとエラー3で終わり。ファイルを挿入だとファイル選択ダイアログが出て、手で指定してやるとアップロードできます。

Offline

#15 2023-12-22 15:31:22

himadanee
Guest

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

WebDirectでは「FileMaker WebDirect では [参照のみを保存] および [ソースファイルの指定] オプションはサポートされていません。」から、エラー3が出るのが正常な動きでは。
互換性が「一部」なので、何も指定しなければ動くんだと思います。

「ファイルを挿入」の場合は「[ダイアログオプション] および [ソースファイルの指定] オプションはサポートされていません。」なんですが、指定を無視して動いてるってことですね?

#16 2023-12-22 15:47:29

Shin
Member

Re: FMPで出力されるPDFを直接FMPのコンテナフィールドに格納するには?

FileMaker WebDirect     一部
FileMaker Server     いいえ
FileMaker Cloud     いいえ
になっていますね。またどちらも
FileMaker WebDirect では [参照のみを保存] および [ソースファイルの指定] オプションはサポートされていません。
ですから、 では、ファイル指定のダイアログが表示され、実行できます。

> WebDirectでも同じで、PDFを挿入だとエラー3で終わり。
は、ファイルダイアログを設定していたのでは。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 557.92 KiB (Peak: 578.46 KiB) ]