みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
だいぶ簡素化して書きましたので、実際はもっと複雑な構成になっています。
とりあえず手動で一度開けば動作することは確認できましたので、しばらくそれで運用している間に
調査を重ねて根本的な解決を図りたいと思います。
お二方、ありがとうございました。
「サーバー上のスクリプトを実行」する前に必要なすべてのファイルを開いておく必要がありますが、
!!
テーブル3のあるファイルを開いてから実行するといけました。
「サーバー上のスクリプトを実行」すると必要なものは勝手にサーバー上で処理してくれるのかと思っていました・・・
しかしそうなると別の疑問が出てきまして、テーブル3があるファイルは先程意図的に開きましたが、テーブル1とテーブル2の
実体があるファイルは開いていなくてもアクセスできていました。
また、設定は変えずにアップグレードしたので今まで動いていたのが不思議に思えます。
いったいなぜ・・・
すべて同じネットワーク内ですか?(iPadだけ外部ネットワークだとか...)
ファイル参照はファイル名だけになってますか?(サーバ名とかIPアドレスを指定しない)
すべて同ネットワークですね・・・
ファイル参照も「file:ファイル名」で統一されています。
色々試していたのですが、今回たまたまそのスクリプトで問題が表面化しただけのようです。
FileMaker GOからサーバーサイドスクリプトを動かした時だけ、テーブル3が存在するファイルにアクセスできていません。
特に設定に誤りがあるようにも見えず、一度修復を試みた方が良いでしょうか…
1ファイル内での処理ですか?
アカウントは同じですか。
テーブル3つはそれぞれ別のファイルに存在します。
ファイルAはインターフェース的な扱いになっていまして、外部データソースに登録した3つのファイルからテーブルオカレンスを作成しています。
ですので今回全部で5ファイルが絡んでおります。
アカウントは同じものを使用してみましたが結果は同じでした。
いつもお世話になっております。
不可解な事象に陥ってしまっており、お知恵をお借りしたいです。
環境
FileMaker Server 20.3.1.31 (Win Server 2019)
FileMaker Pro 20.3.1.31 (Win10)
FileMaker GO 20.3.1.31 (iPad)
昨日すべて19からアップグレードしました。
ファイルA
[テーブル1]--[テーブル2]--[テーブル3]
というようなリレーションが設定されており、別のファイルBに設置したボタンから、ファイルAのスクリプトをサーバー上で実行するようにしております。
【ファイルAのスクリプト概要】
01 レイアウト切り替え [テーブル1]
02 特定のレコードを検索 [テーブル1]
03 関連レコードへ移動 [関連レコードのみを表示; 対象レコードの照合; テーブル1からテーブル2へ]
04 テーブル2のレコードをtable2.merとしてエクスポート
05 関連レコードへ移動 [関連レコードのみを表示; 対象レコードの照合; テーブル2からテーブル3へ]
06 テーブル3のレコードをtable3.merとしてエクスポート
07 現在のスクリプト終了
FileMaker pro側からボタンを押下した場合は正常にファイルが2つ作成されます。
しかしFileMaker GOでまったく同じボタンを押下しても、作成されるファイルはtable2.merのみです。
エラーになっている箇所を特定してみたところ、GOから実行した場合だけ05の関連レコードへ移動がエラー100「ファイルが見つかりません」を返していました。
なにか原因と考えられるようなことはありますでしょうか?
すべて書ききれなかったため、必要であれば補足いたしますのでよろしくお願いいたします。
>Shinさん
BaseElementsを利用していますので少し触ってみましたが、クリップボードってこんな形で記憶されてるんですね。
今後の効率化に役立ちそうな情報をありがとうございます。
みなさまありがとうございます。
>チポさん
先にオブジェクトを移動しておくという考えにいたりませんでした。
ご提示いただいた案で希望する見た目で終わらせることができました!
>himadaneeさん
おっしゃる通り最初はボタンバーで作成していたのですが、各ボタンにスクリプトを設定して引数等の設定を変えるのが大変だと気づき今の状態になった次第です。
>Shinさん
さっそくありがとうございます。
そちらの方法は一度試してみたのですが、パネルスイッチ自体がなかったことにされてしまうためデフォルトタブからアクティブタブが変わらず、見た目と表示結果がちぐはぐになり断念しました。
いつもお世話になっております。
OnPanelSwitchトリガで実行されたスクリプトが終了した後の動作に少し疑問がありましたのでご質問させてください。
OS [Windows 10]
FMバージョン [ 19 ]
テーブル名 [名簿]
レイアウト形式 [リスト]
動作内容ですが、タブをボタン代わりに上部ナビゲーションパートに設置(タブのコンテンツ領域はサイズ調整して使用しておりません)し、各タブパネルに「あ」~「ん」までの五十音の名前を付けます。
OnPanelSwitchに対して、トリガターゲットになっているパネルの五十音で名簿テーブルを検索する下記のスクリプトを割り当てました。
--------------------------------
エラー処理 [オン]
検索モードに切り替え
フィールド設定 [ 名簿テーブル::ふりがな; GetValue( Get(トリガターゲットパネル); 2 ) & "*" ]
検索実行
レコードのソート
レコードへ移動 [最初の]
--------------------------------
するとパネルが切り変わる前と後でレコード番号を維持しようとしてしまうのか、[最初のレコードへ移動]ステップを挟んでいるにも関わらず、最終的にはトリガ発動前のレコード番号へ移動してしまいます。
デバッガで確認したところ、スクリプト終了時点では確かに最初のレコードに移動しているのですが、これは仕様なのでしょうか?
大きな問題があるわけではないのですが、なんだかモヤモヤするのでよろしくお願いいたします。
皆様いろいろと解決策のご提示ありがとうございました。
結果としましてはTextDecode()を使うことによってオブジェクトフィールドに格納されてしまったJSONをテキストで扱えるようになりました。
>qb_dp様
ご回答ありがとうございます。
現在検証できる環境にないため、明日さっそく試してみます!
いつも参考にさせていただいております。
Windows環境で、とあるCSVを要求するAPIのスクリプトを作っており、レスポンスの扱いについてのご質問です。
csvという名前のオブジェクトフィールドに「URLから挿入」ステップでcURLを用いて取得したデータが挿入されるようにしています。
このAPIはダウンロードできる状態のCSVがある場合はCSVファイルのみが、何らかのエラーが生じた場合は詳細がJSONで返ってきます。
挿入先がオブジェクトフィールドのためCSVが返ってきた時は良いのですが、エラーが返ってきた際に「export」という拡張子のない中身JSONのオブジェクトとして格納されてしまい、スクリプト上でエラーの中身が取得できず扱いに困っています。
「URLから挿入」を2つ設置し、1回目に返ってきた結果が「export」だったら2回目の挿入先はテキストフィールドにすることも考えたのですが、要求タイミングによって結果が変わってくる場合があるため断念。
やりたいことは、CSVが取得できた場合はそのままcsvオブジェクトフィールドに格納、エラーが返された時は内容をテキストで取得して次に行う動作を振り分けることなのですが、何かやり方がありますでしょうか?
不足している情報があるかもしれませんが、よろしくお願いいたします。
Pages: 1
[ Generated in 0.014 seconds, 6 queries executed - Memory usage: 581.66 KiB (Peak: 602.7 KiB) ]