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

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

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

You are not logged in.

Announcement

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


#1 Re: 初心者のFileMaker pro Q&A » WebDirectで画像をダウンロード出来ない » 2021-01-22 08:46:37

Chromeで試してみました。
1)ファイル名のボタンをクリックするとブラウザ画面左下にダウンロード状況のプログレスが出る
2)完了するとダウンロードフォルダに画像がエクスポートされている
3)ダイアログは自動では閉じないので「閉じる」ボタンで閉じる必要がある

#2 Re: 初心者のFileMaker pro Q&A » WebDirectで画像をダウンロード出来ない » 2021-01-22 08:17:16

「ブラウザで指定しているフォルダを見てもダウンロードされていません。」とのことですが、

ヘルプによると…
https://fmhelp.filemaker.com/help/16/fm … tents.html

FileMaker WebDirect では、[出力ファイルの指定] オプションはサポートされていません。
FileMaker WebDirect はフィールド内容を Web ブラウザのデフォルトのダウンロード先にエクスポートします。
とのことですので、「ダウンロード」フォルダにエクスポートされているのでは?

#3 Re: 初心者のFileMaker pro Q&A » リレーションシップについて » 2020-11-27 17:13:22

山本さんが実現したいことのイメージが湧かないのでお尋ねします。

テーブルBのレコードを削除するとリレーション先のテーブルAのレコード(名簿のデータ)も削除されるということですか?
(名簿を消してしまう、というのはデータベースとしては怖いのでまさかとは思いますが)

テーブルBというのは具体的にどういう内容のデータを扱うテーブルなのですか?
またテーブルAの名簿とテーブルBをリレーションしている照合キーはどういうフィールドでしょうか?

#4 Re: 初心者のFileMaker pro Q&A » 自己連結リレーションシップの使い方 » 2020-10-29 02:19:30

サンプルを作成しました。
https://www.dropbox.com/s/8iwvmxkbmsc5h … fmp12?dl=0

お使いのバージョンが示されていませんが、17以降のマスタ/詳細レイアウトの機能を使っています。
それ以前ですと、もう一工夫必要。
https://fmhelp.filemaker.com/help/17/fm … 3ww1313492

あと、リレーションの定義が、DAKAOさんの示された例とは異なっています。
それぞれのレイアウトで、スクリプトを実行しています。

#5 Re: 初心者のFileMaker pro Q&A » 自己連結リレーションシップの使い方 » 2020-10-28 19:00:29

取引先から代理店を抽出するために、代理店かそうでないか判別するフラグが必要だと思います。

1)取引先テーブルに計算フィールドを追加します(フィールド名は仮に「取引先種別」とします)
2)計算式は例えばIf(取引先コード=代理店コード : "代理店" ; "" )
3)取引先種別="代理店"で対象レコードを絞り込む

#6 Re: 初心者のFileMaker pro Q&A » A4サイズのレイアウトについて » 2020-10-23 18:34:34

咲良 wrote:

パソコンの入力に合わせたレイアウトでも、新規ウインドウを開くときに「Get(システムプラットフォーム)=3」を使えば元のレイアウトではなくてipadに適したレイアウトになりませんか?
元のレイアウトを予めA4サイズにしたり印刷設定でA4を指定するのではなく、スクリプト・関数的なものでそういったものが用意されていないのか知りたかったのですが。

Get(システムプラットフォーム)関数を呼び出しても、プラットフォームを数値で示すだけで、
自動的にレイアウトを切り替えたり、ウインドウサイズを自動調整してくれるわけではありません。
予め各プラットフォーム用のレイアウトを用意しておき、Get(システムプラットフォーム)の戻り値に応じて切り替えるのだと思いますが。
例えば…

If Get(システムプラットフォーム) = 1 or Get(システムプラットフォーム) = −2
  レイアウト切り替え[ パソコン用レイアウト]
Else If Get(システムプラットフォーム) = 3
  レイアウト切り替え[ モバイル用レイアウト]
Else
  レイアウト切り替え[ Web用レイアウト]
End If

帳票の場合、A4サイズの帳票はどのプラットフォームから出力してもA4サイズで印刷される、つまりレイアウトのサイズはプラットフォームに依存しないので、A4用レイアウト1つを用意しておけば良いのでは?

#7 Re: 初心者のFileMaker pro Q&A » A4サイズのレイアウトについて » 2020-10-23 17:31:55

「Grt(システムプラットフォーム)でそれぞれの適したレイアウトになるのと同じように」の意味がよくわかりませんが…
とりあえずClarisのサポートにこういう記述があります。

用紙サイズに適したレイアウトを設計するための画面ステンシルの利用
https://support.claris.com/s/article/Us … anguage=ja

#8 Re: 初心者のFileMaker pro Q&A » 時計を表示させることはできますか? » 2020-10-19 11:27:47

1)レイアウト上に日付記号、時刻記号を挿入しておく
2)「ウインドウ内容の再表示」を実行する1行のスクリプトを作成する
3)レイアウトのOnLayoutEnterで「OnTimerスクリプトをインストール」を実行し、上記スクリプトを1秒おきに実行する

https://fmhelp.filemaker.com/help/18/fm … cript.html

1)は、ヘルプにあるようなフィールドでも、変数でも良いです。現在の実装に合わせてください。

#10 Re: 初心者のFileMaker pro Q&A » 前回との差異 » 2020-07-17 19:14:08

「このレコードのフィールドをすべて複製」とは具体的にどういう操作ですか?

変更履歴を残したいのであれば、その項目(たとえば都道府県)を別テーブルに切り出してリレーションしておき、
GetNthRecordで以前のデータを取り出し、最新のデータと比較結果をもとに書式設定する、という方法が考えられそうです。

#11 Re: 初心者のFileMaker pro Q&A » 日付で処理を変える » 2020-07-17 18:26:04

締め日を算出する方法として
1)Day関数で年月日の日を取り
2)20以降なら翌月20日、さもなければ当月20日
という計算式でフィールド2に自動入力するか計算フィールドとすれば良いかと思います。

If (
  Day ( フィールド1 ) > 20 ;
  Date ( Month ( フィールド1 )+1 ; 20 ; Year ( フィールド1 ) ) ;
  Date ( Month ( フィールド1 ) ; 20 ; Year ( フィールド1 ) )
)

※も少し短く書くなら
Date ( Month ( フィールド1 ) + If ( Day( フィールド1 )>20 ; 1 ) ; 20 ; Year ( フィールド1 ) )

実務的には締め日が非営業日だったら補正する必要があったりしますが…
あと、2020/7/20の/20が本当に不要であれば、右3文字をテキスト関数で削除すれば良いです。

#12 Re: 初心者のFileMaker pro Q&A » 走行距離を下3桁だけの入力にするには? » 2020-07-15 12:12:56

距離計の読み取り値をそのまま転記するのではないのですか?

1)前回の走行距離を初期値として表示(リレーションを利用)
2)当該フィールドのOnObjectEnterに下記のスクリプトを設定し、入力時に下3桁が選択された状態にする(100983 → 100983
選択範囲を設定 [ 運転日報::走行距離 ; 開始位置: Length ( 運転日報::走行距離 )-2 ; 終了位置: Length ( 運転日報::走行距離 ) ]


下3桁だけ入力する時はそのまま上書きタイプすれば良いし、
繰り上がりがある時はdeleteキーを2回押下し、下4桁を消してからタイプ入力する
というのはどうでしょうか?

#13 Re: 初心者のFileMaker pro Q&A » 差分のみエクステリア » 2020-07-14 08:49:22

エクスポートは「現在の対象レコード」が出力の対象となります。それが標準(普通?)の動作です。
したがって何らかの基準日などで月1回の出力対象となるレコードに絞り込んでからエクスポートすれば良いです。

#14 Re: 初心者のFileMaker pro Q&A » FM18でのレイアウトモードのフィールド右クリックについて » 2020-06-30 06:22:07

こちらと同件では?
https://fm-aid.com/bbs2/viewtopic.php?id=9250

ボタン設定したフィールドは「グループ化されたボタン」として扱われています。

このとき当該フィールド(正確にはグループオブジェクト)を1回クリックして選択してから再度クリックすると
(間隔が速いとダブルクリックになってしまうので少し間を置く)
グループ内のフィールドオブジェクトが選択され、破線で囲われた状態になります。
ここで右クリックすると条件付き書式などのメニューが表示されます。
フィールドオブジェクトの選択は上記ページの回答にあるように、オブジェクトパネル→オブジェクトタブ上で行うこともできます。

#15 Re: 初心者のFileMaker pro Q&A » 条件付き値の小計の出し方について » 2020-06-25 18:29:50

1つのレコード上に集計用のデータがあるわけではなく、
1つのレイアウトの中に入っている1つずつのレコードに数字があり、

これがよく分からないのですが…
集計フィールドと小計パートを使って、④の特許権・意匠権ごとの集計値を表示することまではできた、ということでしょうか?
もしそうなら
1)小計パートに年度フィールドを追加し、
2)①年度を第1ソートキー、④を第2ソートキーにしてソート
で、年度と資産項目で分類集計できそうですが…質問のご趣旨は違いますか?

#16 Re: 初心者のFileMaker pro Q&A » レシートプリントの出力 » 2020-06-25 17:33:06

計算フィールドを使う例。

1)印刷::印刷データに、"<text>FIELD_1</text><text> </text><text>FIELD_2</text>"という雛形データを入れておきます
※実際には、印刷::印刷データには部分的ではなく、 レシート全体の印刷データ(<epos-print>〜</epos-print>)を入れておきます)
2)実際の印刷データを求める計算フィールドを作り、
Substitute( 印刷::印刷データ; ["FIELD_1" ; 印刷データ::フィールド1] ; [ "FIELD_2" ; 印刷データ::フィールド2] )
のような式で、雛形にフィールド1、フィールド2を埋め込みます
3)2の計算結果をプリンタに送信します

原理的にはShinさんの#7と同じことで、要するにテキスト計算によって<text></text>タグの間に固定値ではなく
フィールドや変数の値を入れ込める仕組みを作る、ということです。

XML内のタグの意味については、EPSONが公開しているXML記述例の後半に分かりやすい説明があり、リファレンスに完全な解説があります。
<text>タグは、各種属性を付加することにより、印字データだけでなくプリンタの制御にも使われていることを記述例からご理解ください。

#17 Re: 初心者のFileMaker pro Q&A » WebDirectの取得関数 » 2020-06-24 14:46:32

HNさんの質問を勘違いしていたかも。
サーバーサイドスクリプト内でGet(システムバージョン)の値を取得しているのですか?
それならば、常にそのサーバOSのバージョンになるのは当然ですが。

#18 Re: 初心者のFileMaker pro Q&A » WebDirectの取得関数 » 2020-06-24 13:57:53

Get(システムバージョン)は使えませんか?

#19 Re: 初心者のFileMaker pro Q&A » レシートプリントの出力 » 2020-06-24 09:23:37

FileMakerのフィールドとの関連づけはePOS-Print Editorで行うのではありません。
皆さんの回答にもありますが、XMLファイルが印刷データの実体です。
ロゴマークの画像、印字データ、改行等の制御などすべて送信するXMLファイルで行っています。

サンプル「ePOS-Print_XML_Sample.fmp12」の「Send」スクリプトをよくご覧いただきたいのですが、
以下のように、「印刷::印刷データ」フィールドをXML("<s:Body>" 〜 "</s:Body>"の間)に組み込んで、
プリンタにHTTPで送信しています。

1)変数$headerにヘッダ情報をセット
2)変数$bodyに印刷データをセット(ここで印刷::印刷データのデータを埋め込んでいます)
3)変数$soapに$headerと$bodyをセットして送信データ完成
4)プリンタに$soapを送信(URLから挿入)

サンプルにレシート.txt、受付番号.txt、領収書.txtというサンプルテキストが付属していますが、
マニュアルにも明記されている通り、これが「印刷::印刷データ」フィールドにあらかじめ格納されているデータです。

ですので、まず印刷::印刷データの値を変更したら、実際の印刷内容が変更されることを確認してください。
次に、このフィールドにお望みの印字したいデータを格納できるようにしてください。
計算フィールドにしても良いですし、スクリプトで組み立てても良いと思います。

以上のように動作の流れが把握できたら、ePOS-Print Editorのマニュアルに記載されたXML リファレンスをもとに
アレンジしていけば良いでしょう。
埋め込むロゴ画像を変えたい場合には、ePOS-Print Editorの出番です。

#20 Re: 初心者のFileMaker pro Q&A » 複数の新規レコードを作成スクリプト » 2020-06-17 18:26:59

変数設定⇨レイアウト切替⇨新規レコード作成⇨フィールド設定
の処理をLoop 〜 End Loopを使って人数分繰り返せばよいです。

https://fmhelp.filemaker.com/help/18/fm … /loop.html

レコード/検索条件/ページへ移動[ 最初の ]

Loop
 //1名ぶんの処理
 変数設定
 レイアウト切替[売上のレイアウト]
 新規レコード作成
 フィールド設定

 レイアウト切替[元のレイアウト]               //顧客レイアウトに戻って…
 レコード/検索条件/ページへ移動[ 次の; 最後まできたら終了: オン ]  //次の顧客へ処理を移す(最後の顧客を処理したらLoopを抜ける)
End Loop

※あと蛇足かもしれませんが、顧客名やランクは変数→フィールド設定としなくても、
計算値かルックアップを定義しておけば顧客IDを照合キーにして顧客テーブルから自動的にコピーもできます。

#21 Re: 初心者のFileMaker pro Q&A » 受注リストを元にして受注残リストと納品済リストを作りたいです。 » 2020-06-17 14:52:28

極端な話ですが、最低限
注文番号 商品 受注数 納品日 納品数 未出荷数(受注数ー納品数)
の6フィールドくらいがあれば、基本はなんとかなるのでは?

受注残リストは、未出荷数>0で検索
納品済リストは、未出荷数=0で検索

あとは赤伝票を切る場合のフラグや、集計フィールドと小計パートなどを要件に応じて追加していけば。

#22 Re: 初心者のFileMaker pro Q&A » 受注リストを元にして受注残リストと納品済リストを作りたいです。 » 2020-06-17 14:13:41

失礼ながら、質問が漠然としすぎていると感じます。

おおまかには、
受注リスト→(受注入力作業)→受注残リスト→(納品作業)→納品済リスト
という業務の流れだと思うのですが…

1)どのような情報を画面や帳票にアウトプットしたいのか?
2)1)を実現するために、どのような情報を、誰が、どのようなタイミングで、どのような手段でインプットするか?
システム構築後の業務が、具体的にどのように流れるのか、そのイメージが漠然としているために、
k_hideさんのシステム設計・開発も手探りになってしまうのではないでしょうか?

・「受注リスト」というのは紙ですか?(バーコードで読むようなので紙でしょうか?)
・1つの注文に含まれる商品は1種類ですか、それとも複数種類ですか?
・「注文番号の項目」をバーコードで読み出すとありますが、その項目とは?(注文番号?商品コード?)
・「納品処理」あるいはその修正、キャンセルは具体的に誰がどのタイミングでその処理を行いますか?その際、どういう操作を行いますか?
などなど、聞きたいことがたくさん出てきます。

#23 Re: 初心者のFileMaker pro Q&A » ポータル内レコードを「確定」させつつそのポータルの処理をするには? » 2020-06-16 16:48:36

「フィールドを確定」とは?
問題となるシーンがあまり具体的にイメージできないのですが…

https://fmhelp.filemaker.com/help/18/fm … -data.html
関連データ (ポータルに表示される関連レコードなど) への変更は、関連データを表示しているレコードが確定されるまで適用されません。

上記ヘルプにもあるように、ポータルなど関連レコードを確定させるには、元レコードを確定する必要があります。
レコード確定のために「レコード/検索条件確定」ステップを実行する
→その副作用としてポータル行からフォーカスが外れてしまう(「フィールド外をクリックする」のと同じことですので)
この解決が課題だとしたら、
以下のように
1)ボタンクリック時に行番号を覚えておき、
2)レコード確定後に、クリックしたポータル行へ再度移動する
のはどうでしょうか?

変数を設定 [ $activeLine; 値:Get ( アクティブポータル行番号 ) ]
レコード/検索条件確定[ ダイアログなし ]
オブジェクトへ移動 [ オブジェクト名: "PortalName" ]
ポータル内の行へ移動 [ $activeLine ] [ 選択; ダイアログなし ]

(以下、そのポータル行に/で行いたい処理)

#24 Re: 初心者のFileMaker pro Q&A » エクスポート後の書式について » 2020-06-16 11:07:23

Shinさんが#6で回答のとおり、Merge形式で保存するとフィールド名のついたCSV形式で保存できますので、
ファイル名指定時に拡張子を.CSVにするか、エクスポート後に拡張子を.CSVに変更すればOKです。
他のExcelユーザに定期的にファイルを渡すことがあるようですから、スクリプト化しておかれては?
例えば…

変数を設定 [ $savePath; 値:Get ( デスクトップパス ) & "Export.CSV" ]
レコードのエクスポート [ ダイアログあり: オン ; フォルダを作成: オフ ; ファイル名: $savePath  ]

ファイル名を動的に生成する方法などは過去ログを検索してください。

#25 Re: 初心者のFileMaker pro Q&A » エクスポート後の書式について » 2020-06-15 18:52:33

フィールドデータのエクスポート順ダイアログで、出力ファイルの文字セットを「日本語(Shift-JIS)」に指定します。

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 7 queries executed - Memory usage: 668.06 KiB (Peak: 712.97 KiB) ]