チュートリアル実践編 Lesson.11のガントチャートへの質問

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 チュートリアル実践編 Lesson.11のガントチャートへの質問

7 件の投稿を閲覧中 - 1 ~ 7 件(全 7 件)
  • 著者
    投稿
  • #6958
    TENTEN
    一般参加者

    お世話になります。
    チュートリアル実践編 Lesson.11 ガントチャートで6点確認させてください。
    (1)
    3P 「ガントチャートに必要なデータ」とは
    [1] 「項目名」列
    [2] 「日付時刻」が二列
    [3] [2]が N 組
    でしょうか。

    (2)
    15Pの「基本のデータ形式」とは上記 [1]~[3] でしょうか。

    15P 「知っていると便利!」について、
    (3)
    「基本のデータ形式」以外に、①の構造を持つテーブルも認識できるという意味でしょうか。

    ガントチャートが要するテーブルの構造が記載されていない様なので、テーブル構造の必要条件が良くわからないでいます。

    (4)
    「このメソッド」とは、「ガントチャートのデータを設定する」でしょうか。

    (5)
    「① テーブルデータを用意」とは、Step.3で作ったテーブルは破棄して、画面ハードコピー通りのテーブルに作り直すという意味でしょうか。

    (6)
    ②の通りにしましたが、③の画面にならず、ガントチャートには何も棒が表示されません。
    また、右の “A03” “A02” の箇所は “受注番号” ”終了日時” となっています。
    再度②の画面を開くと、「全メソッド対象」にチェックを入れる前の内容に戻っています。
    何が悪いのでしょう。

    #6959
    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。
    (1)
    >3P 「ガントチャートに必要なデータ」とは
    >[1] 「項目名」列
    >[2] 「日付時刻」が二列
    >[3] [2]が N 組
    以上の条件に加えて、[1]は文字列型、[2]は日付型、または文字列型列です。
    [2]の左側列の列名が[ガントチャート]の系列名となります。
    [2]が文字列型列の場合、「年/月/日 時:分:秒」の形式(例:2023/01/31 12:30:00)でないとガンチャート用データとして受け付けられません。
    [2]が日付型列の場合、書式に則って入力しないとデータが消えてしまいます。日付型の列は表示形式を「実行(設定可)」で実行時に列上で右クリック>[表示属性(日付)]>表示形式から、[日付と時間]、[日付のみ]等選ぶことができ、[その他…]を選んだ場合はJava書式に則った日付表示パターン(例:「yyyy/MM/dd H:mm:ss」)を入力、設定します。

    (2)
    >15Pの「基本のデータ形式」とは上記 [1]~[3] でしょうか。
    (3)
    >「基本のデータ形式」以外に、①の構造を持つテーブルも認識できるという意味でしょうか。はい、その通りです。
    ガントチャート用のデータフォーマットについてP2,P3を使って説明していますが、判りにくくご不便をお掛けいたします。次期バージョンアップ時に改善できるよう留意いたします。

    (4)
    >「このメソッド」とは、「ガントチャートのデータを設定する」でしょうか。
    メソッド「setRecordTable(PFObjectTable)」を指しています。
    ここの部分は分かりにくく申し訳ありません。

    (5)MZPlatformには[データベースアクセス]や[CSV入力]といった入出力に関するコンポーネントが用意されています。例えばデータベースに蓄積されたデータをMZPlatform上に読み込んでテーブル表示したときは、P2,3で示したガントチャート用データの形式ではなく、P15のテーブルのような形式になるかと思います。
    元々[ガントチャート]は(1)で示したフォーマット以外のテーブルデータには対応していませんでしたが、特別なフォーマットの表を用意しなくてもガントチャート表示できるよう追加したメソッドが「setRecordTable(PFObjectTable)」となっています。

    また、グラフ用にテーブルデータを整形する機能を複合コンポーネントに纏めたものがあります。ビルダー編集画面上で右クリック>[複合コンポーネント追加]>[グラフ化モジュール.mzcx]で複合コンポーネントを追加します。引数に必要な情報を設定すると、各グラフのフォーマーとに合ったテーブルデータが複合コンポ―ネント内部に作成されるので、それを取得します。詳しくはサンプルファイル「グラフ化.mzax」と、その説明文書『サンプル (グラフ化).pdf』、『エクセル連携導入チュートリアル.pdf』(応用)P2~P6、P28~29をご覧ください。

    (6)お手数ですが、今一度メソッド「setRecordTable(PFObjectTable)」が選ばれているか、再度ご確認ください。
    日本語名が付いているメソッドを選んだ場合は、全メソッド対象にチェックが入った状態でメソッドを選んでも、起動メソッド情報設定画面を閉じると全メソッド対象のチェックは消えてしまいます。

    動作確認のため、P15に近い形のテーブルをメソッド「setRecordTable(PFObjectTable)」で[ガントチャート]に設定するサンプルファイルを添付いたします。ご参考になれば幸いです。

    ご不明な点、ご要望等ございましたら、再度ご連絡いただければ幸いです。
    よろしくお願い申し上げます。

    添付ファイル:
    #6961
    TENTEN
    一般参加者

    ご回答ならびアプリケーションファイルの添付ありがとうございました。

    (1)~(5)は承知いたしました。

    (6)は添付されていたアプリケーションで以下の操作をすると、小作アプリケーションと同じ現象が発生しました。

    ① setRecordTable の「起動メソッド情報ダイアログ」メソッドを「ガントチャートのデータを作成する(PFObjectTable)」に変更し、「了解」ボタンクリック
    ② 再度「起動メソッド情報ダイアログ」を開き、「全メソッド対象」チェックボックスにチェックを入れると「メソッド」が「setRecordTable」に自動で変化する
    ③「了解」ボタンクリック
    ④ 再再度「起動メソッド情報ダイアログ」を開くと、メソッドが「ガントチャートのデータを作成する(PFObjectTable)」に戻っている

    しかし、下記の通り操作すれば正しく設定できました。

    ⑤「起動メソッド情報ダイアログ」で、メソッドを「アイコンの描画可否を取得する」に変更し、「了解」ボタンをクリック
    ⑥ 次回の「起動メソッド情報ダイアログ」で「全メソッド対象」チェックボックスにチェックを入れ、「setRecordTable」を選んで「了解」ボタンをクリック
    ⑦ 次々回の「起動メソッド情報ダイアログ」で正しく設定されているのを確認

    ⑤⑥の操作で小作アプリケーションも正しく設定できる様になり、(6)の現象も解消しました。

    類似のメソッドに選び直すと受理されない様に思います。

    #6964
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。
    「ガントチャートのデータを設定する(PFObjectTable)」を選んだ後、全メソッド対象にチェックを入れて表示されるメソッド名は、恐らく「setObjectTable(PFObjectTable)」ではないかと思います。メソッド「setObjectTable(PFObjectTable)」の日本語別名が「ガントチャートのデータを設定する(PFObjectTable)」となっています。

    主要なメソッドには日本語別名が付けられて表示されるようになっています。
    メソッド別名は、アプリケーションビルダー上部のメニュー>[オプション]>[コンポーネント情報編集]から各コンポーネント名を選択して確認することができます。自分で別名を付けて「公開する」にチェックを入れ「設定」ボタンを押すと、起動メソッド情報設定窓のメソッド選択欄に表示されるようになります。コンポーネント情報のファイルはMZPlatform\3.6_64\componentsフォルダに保存されています。

    起動メソッド情報設定窓で全メソッド対象にチェックを入れると、全てのメソッドが表示され、日本語別名が付いていないメソッドも表示されるとともに、別名が付いているメソッドは元々の英語名での表示になります。

    以上、お手数ですがどうぞご確認ください。

    #6965
    TENTEN
    一般参加者

    大変失礼しました。
    判ってみれば単純なミスで、「全メソッド対象」にチェックを入れたときのメソッド「setObjectTable」を「setRecoedTable」と思い込んでいました。

    14ページ時点のアプリケーションに戻りますが、ガントチャートの棒を左右にずらしたり、幅を増減するとテーブルの列の幅が列を作ったときに戻ってしまいます。
    小作アプリケーションを添付いたしますので、お手数ですが照査をお願いできませんでしょうか。

    #6968
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。

    L11では[ガントチャート]のデータ更新イベント発生時に[ガントチャート]からテーブルデータを取得し、[テーブル]に設定するようになっていますが、メソッド「テーブルデータを設定する(PFObjectTable)」を使うと、[テーブル]のデータは上書きされます。

    列幅などの列の属性は列が保持していますので、列が削除されたり上書きされた場合は設定してあった属性は消えてしまいます。列の属性を保持したい場合は、データクリアの際にメソッド「全行を削除する()」で行のみ削除します。テーブルデータの設定にはメソッド「行を追加する(PFObjectTable)」を使います。引数として設定するデータはテーブル型のデータですので、[ガントチャート]からのテーブルデータを設定するのは同じです。

    お送りいただいたファイルに上記を設定してみましたので、ご確認ください。
    どうぞよろしくお願い申し上げます。

    添付ファイル:
    #6970
    TENTEN
    一般参加者

    ご回答ありがとうございます。

    いただいたアプリケーションで動作するのを確認しました。

    問題は解決したのですが、メソッドの仕様に疑問を感じました。

    ビジュアルは「実行(設定可)」や「画面編集」で調整する訳ですが、ロジック(メソッド)がそれを無かった事にしてしまうのはどうなんだろうと思います。

    そういうものだと解釈しますが、率直な感想を述べさせていただきました。

7 件の投稿を閲覧中 - 1 ~ 7 件(全 7 件)
  • このトピックに返信するには、ログインしてください。