みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Get(システムプラットフォーム ) = 1 なので、環境はインテルベースのMacで合っていますか?
iPad用レイアウトのOnRecordLoadなので、今の動作は
①iPad用レイアウトを選ぶ
②iPad用レイアウトが表示される
③レコードがロードされ、OnRecordLoadのスクリプトトリガが実行される
④システムプラットフォームが1なので、PC用に切り替える
という流れになっているので、PC用レイアウトに戻っていると思われます。
PC用レイアウトのOnRecordLoadに付けると、
iPad用レイアウトを開いた時にはスクリプトが実行されませんので、PCで開けます。
iPhone用レイアウトを選択しても実行されないのは恐らく、
iPhone用レイアウトのOnRecordLoadに、本スクリプトを設定していないためではないでしょうか。
尚、スクリプト実行タイミングの詳細は、以下のリファレンスで確認すると良いです。
http://www.filemaker.com/help/13/fmp/ja … .9.61.html
結局、FileMaker Server 15の再インストールで解決しました。
別々のOSにFileMaker Serverを入れて同一現象だったので、何らかの設定かと思っていたのですが…お騒がせいたしました。
これを機に、ハード周りの設定を見直してみます。
ありがとうございました。
あ、p_請求明細の「取引先コード」が、「請求明細_取引先_Connected」の取引先コードになってませんでした。
そこを弄ると、明細側も真っ当な取引先コードが表示されるはずです。
サンプル作成してみました。
FMファイルはゲストアカウントを選択し、ログインしてください。完全アクセス権です。
https://www.dropbox.com/s/wx8n99w5g64vs … e.zip?dl=0
B001やD001をクリックすると、対象のデータが表示されます。
この方法で絶対的に正しいのかは?ですが…。
ポイントは、デカルト積リレーションの使い方です。
p_取引先の主たるTO「取引先_Selected」は、レイアウト「sample」の主たるTO「_KeyValueList」に対してデカルト積なので、
p_取引先には、登録されているレコードが全て表示されます。
対し、p_請求明細の主たるTO「請求明細_Selected」は、「_KeyValueList」の「Serial_取引先」とイコールリレーションなので、
「Serial_取引先」へ入った値にコントロールされます。
なのでスクリプトの仕事は、アクティブレコードの「Serial_取引先」を取って設置するだけです。
レコード次第ですが、p_請求明細をポータルフィルタ+Evaluateで制御する方法もあります。
SQLと組み合わせると、色々なポータルを動的に作れますので、試してみると良いと思います。
起こりえないと言われてしまうと、実際に起こっているので困惑しますが…
ローカルに置いて外部データソースを絶対パスに変更し、試したところ、現象は発生しませんでした。
フォルダ構成は13と15で変更していませんが、外部データソースの設定をやり直し、再アップロードしてみます。
ESXi環境があるので、OS側も色々と弄ってみます。
アドバイスいただき、ありがとうございました。
すみません、「同じアカウントが無い」という表現を勘違いしていました。
同一アカウントは、「同じファイル内には」存在しません。
その上で、全てのファイルは全く同じアカウント構成(同一のアカウント名、パスワード、アクセス権セット、拡張アクセス権)になっています。
ファイルアクセスの制限は行っていません。
ファイルの管理権限、完全アクセス権などは私が持ち、一元化されています。
宜しくお願い致します。
使用アカウントは完全アクセス権で、同一アカウントはありませんでした。
更に調査してみましたが、
①:ファイルAを開いた状態でファイルBを開くと発生。この状態でファイルBを閉じて開き直しても発生。
②:①の状態でファイルAを閉じて開き直すと、発生しない。
③:ファイルBを開いた状態でファイルAを開くと発生しない。この状態でファイルAを閉じて開き直しても発生しない。
という事で、挙動から
・最初に開かれたファイルがマスター権限を取得する。次に開いたファイルはスレイブ(セカンダリ)になるため、マスター権限のファイルにアクセスできない。
・マスター権限のファイルを閉じると、マスター権限がセカンダリのスレイブに移動する。それ以降に開いたファイルはスレイブになるため、アクセスできる。
という感じを受けています。
そもそも、FileMaker Server 13から15に変えて発生しており、ファイルは置き直しただけです。
クライアントのバージョンは13、15問わず発生しています。
サーバ用OSもMac OS、Windows Serverどちらでも再現しております。
なので、FileMaker Serverの設定?と思った次第でした。
何か、他に調査すべき場所があれば、ご指摘いただけると助かります。
宜しくお願い致します。
ファイルAが開いた状態で、ファイルBからファイルAを開いてみました。
データビューワで確認したところ、アカウント名は正常に取得できました。
しかし、この状況でファイルBのスクリプトを確認すると
スクリプト実行[<不明>,ファイル[ファイルA](ファイルが開いていません);引数:(引数)]
となっていました。
直前のステップにDatabasesNamesを埋め込むと、ファイルA、ファイルB共に取得されました。
スクリプトを編集すると、スクリプト指定にファイルAは表示されますが、スクリプト欄は真っ白で、一覧取得できていません。
表示は「すべてを表示」です。
この状態でファイルAを閉じ、再度ファイルBの「スクリプト実行」を覗くと、
自動的にファイルAのスクリプトが指定されていました。(これが期待する動作に直結すると思います。)
スクリプト指定にて、ファイルAのスクリプトの一覧取得もできています。
ファイルについて、何か排他制御のような設定があるのでしょうか?
追記です。
FileMaker Server Admin Console上には、以下のステータスログが表示されています。
セキュリティ:「*****(fmapp)」を使用してデータベース「ファイルA」に対するクライアント「****(PC名)」[IPアドレス]の認証に失敗しました。
宜しくお願い致します。
環境:
・FileMaker Server 15
・FileMaker Pro 13、15 Advanced
期待する動作:
ファイルAが開いている時、ファイルBのスクリプトステップ「ファイルを開く」および「スクリプト実行」を実行すると、
開いているファイルAがアクティブになる。
開いていない場合は、ファイルAを開いてアクティブにする。
状況①:
1、ファイルAが開いている。
2、ファイルBのスクリプトステップ「ファイルを開く」にて、ファイルAを開く。
3、ファイルAのログインダイアログが現れ、パスワードを入れてもログインに失敗(同じファイルが開かれているため)。
4、ログインダイアログでキャンセルを押し、再び「ファイルを開く」を実行。
5、ファイルA-2が、別ウインドウで開く。
実行しているスクリプトステップは「ファイルを開く」のみです。
また、
状況②:
1、ファイルAが開いている。
2、ファイルBの「スクリプト実行」で、ファイルAのスクリプトが指定されている。
3、ここで、ファイルBの「スクリプト実行」を実行すると、ファイルAのログインダイアログが出現。
4、あとは状況①の3~5と同じ。
となります。
FileMaker Server 13 + Pro 13の組合せでは、期待する動作になっていました。
状況①は、開いているDB一覧を取得してDB名を照合し、照合する(つまり開いている)場合はウィンドウの切り替えで回避しています。
状況②は、回避できていません。
原因の分かる方、あるいは回避策があれば、宜しくお願い致します。
Pages: 1
[ Generated in 0.005 seconds, 6 queries executed - Memory usage: 578.62 KiB (Peak: 599.97 KiB) ]