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

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

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

You are not logged in.

Announcement

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


#26 2018-08-08 15:32:28

Shin
Member

Re: 休憩時間を加味した時間の表示について

私のサンプルは、条件付き繰越計算 は使っていませんよ。
こちらが動くように調整した方がいいのでは。

Offline

#27 2018-08-09 13:16:26

チポ
Member

Re: 休憩時間を加味した時間の表示について

Hiroさん
ExecuteSQLででてこないかな、
と思っていました。

私、苦手なんです、SQL。。
それと、最大、三重(さんじゅう)になるので、
計算の速さがどうなのかな、って思っていました。


popo1さん
私は、Shinさんのサンプル、見ていませんが、
簡便ならそちらを検討してみたらいかがでしょう。

Offline

#28 2018-08-09 15:03:38

Hiro
Member

Re: 休憩時間を加味した時間の表示について

すみません、
SQLで参加するまでの具体的
理解が未だ出来ておりません。

説明は結果の例示であって、
それに至るために必要な「レコード構成」
「基礎データ」「条件、制限」など明確な理解が
できておりません。

Offline

#29 2018-08-09 19:45:42

Shin
Member

Re: 休憩時間を加味した時間の表示について

休息時間が固定されているのでしたら、休息時間を考慮していないタイムテーブルを作り、#7で示した、
10:00以降は、10分遅らせる
11:50以降は、60分遅らせる
14:00以降は、75分遅らせる
という計算を、適応するだけでいいのですが。(これを動的にするのが、相当面倒)
> 9:00開始として標準時間が195分だった場合、
仮終了時刻が 12:14 ですので、60分加えて 13:14 になります。
9:00開始として標準時間が365分だった場合、
仮終了時刻が 15:04 になり、75分加えて、16:19 になります。

Offline

#30 2018-08-10 18:48:44

popo1
Guest

Re: 休憩時間を加味した時間の表示について

チポ様
休憩時間2回分足されてはいるのですが、10時分が2回足されてしまいました。
一度shin様のサンプルをもとに作り直そうと思います。
教えてくださってありがとうございました。

Hiro様
ExecuteSQLというのを一度調べてみましたが結構負荷がかかるみたいですね。
今使用しているパソコンだと固まってしまうかもしれませんね...

#31 2018-08-10 19:33:40

Hiro
Member

Re: 休憩時間を加味した時間の表示について

ExecuteSQLの負荷は恐らくOKと思いますが、
コメント参加出来ないと言っているのは、
何から何を求めているのか?さえ、正確に分からない状態だからです。
その辺の疑問の余地ない明確な説明をいただきたいのですが、…
今は、取り組み様がない状態です。

Last edited by Hiro (2018-08-10 19:35:55)

Offline

#32 2018-08-11 23:38:04

Hiro
Member

Re: 休憩時間を加味した時間の表示について

取り合えず、勝手に推測してサンプルを作ってみました。
基本部分にExecuteSQLを利用したソリューション・スクリプトとなっています。
新試算時刻による入れ子の再計算ですが、何重に深くても計算可能な作り込みです。
ExecuteSQLによる負荷を感じることはほとんどありませんし、かなり俊足です。
(サンプルでは、一時停止/ブリンクを敢えて入れて、速度を抑えているくらい)

1点だけ、サンプルでサポートしていない点があります。
作業開始時刻が休憩開始時刻と同じ場合、説明では作業開始10:00→10:10に繰り上げていますが、
サンプルは作業開始10:00まま変更させない仕様です。(繰越時間帯の連続性をそこで切断しないため)
ですが、勿論、作業終了時刻の方は反映させていますのでご安心を!

●サンプル「条件付き繰越時刻表.fmp12」 → https://yahoo.jp/box/OFmora


※ 取り合えず、サンプル内で使っている、
休憩時間を加味した作業終了時刻を試算する複合ExecuteSQL関数式
を以下に記しておきます。
(式は、複数の休憩時間帯がヒットしても、それらの合計時間をまとめて一括算出できる作りです。)

Evaluate(
  ExecuteSQL(
    "
      SELECT ""休憩時間""
      FROM ""休憩""
      WHERE ""休憩終了"">? AND ""休憩開始""<?
    "
    ; ""
    ; "+"
    ; 時間表::作業開始
    ; 時間表::作業開始 + 時間表::標準時間
  )
)
+
時間表::作業開始
+
時間表::標準時間

Last edited by Hiro (2018-08-12 11:16:44)

Offline

Registered users online in this topic: 0, guests: 2
[Bot] ClaudeBot (2)

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 12 queries executed - Memory usage: 516.16 KiB (Peak: 521.06 KiB) ]