ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

データベースに現行レコードを強制的に書き込むには

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-4 16:26 | 最終変更
nkmt  長老   投稿数: 1668
ISHIJIMAさん

> 昔は問題なかったのかもしれませんね・・・・
> 今はこの内容だとだめという事でしょうか

そうなのかもしれませんね。

uniPaaS V1 Plusでは
今回のxpaで解決出来たのと同じ方式はOKでした。

ヘルプが改善されることも期待したいです。

※今回の失敗は、ウェイト=Noを昨日別件で理解していた
はずなのに、そこに気付かなかった私がNGでした。

私に問題がありますがいつもウェイト=Yes/Noでこんがらがります。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-10-4 16:20
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
昔は問題なかったのかもしれませんね・・・・
今はこの内容だとだめという事でしょうか
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-10-4 16:11
nkmt  長老   投稿数: 1668
最初の話に戻りますが

xpaのヘルプに
データベースに現行レコードを強制的に書き込むには
と言うのが有り、

E=イベント     ge.印刷    スコープ:S=サブツリー
  イベント実行  レコード書込
  コール     P=プログラム  受注書印刷

という説明は、少し説明が足りないんじゃないのかな
と感じました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-4 16:06
nkmt  長老   投稿数: 1668
> 後続プログラムで使用するデータが、レコード書込イベント発行前の
> キャッシュデータなのか、あるいはレコード書込後にリロードされた
> 新しいデータなのかを常にチェックしたほうがいいですよ。

親タスクにバッチ制御タスクを設け、下位で
・データ入力
・そのデータの印刷
といった作りをする事もあったり・・・・
 
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-4 16:01 | 最終変更
nkmt  長老   投稿数: 1668
ISHIJIMAさん、ビンゴでした。

イベント F7
 イベント レコード書込み ウェイト=No
 イベント 印刷処理    ウェイト=No

イベント  印刷処理
 コール  印刷プレビューPG

編集したレコードにパークしたまま
編集した内容で印刷がされました。

どうしてこれに気付かなかったのだろうかと悔やまれます。

s_nagura様、Tanda様、ISHIJIMA様
どうもありがとうございました。
大変感謝です。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-10-4 16:00
Tanda  長老   投稿数: 2151
後続プログラムで使用するデータが、レコード書込イベント発行前の
キャッシュデータなのか、あるいはレコード書込後にリロードされた
新しいデータなのかを常にチェックしたほうがいいですよ。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-4 15:51
s_nagura  一人前   投稿数: 109
ウェイト=Noのイベントは即時実行されない為です。
以下の資料が参考になると思います。

http://www.magicsoftware.co.jp/files/magic_help/Magicxpa3/mergedProjects/MasteringMagicxpa/30_Events_Handlers_files/How_Do_I_Postpone_the_Handling_of_an_Event.htm
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-10-4 15:48 | 最終変更
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
印刷プログラムをコールではなくイベントにしたらどうなりますか?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-10-4 15:46 | 最終変更
nkmt  長老   投稿数: 1668
> 単純に、「イベント→レコード書込」でやってみてください。

Tandaさん、そうですね。
F7押したら、単純に イベント → レコード書込みをしてみました。
レコード後通過、レコード前通過となりました。

具体的にこのような処理を作る必要に迫られている訳では
ありませんが、ちょっと調べ物をしていて
ひっかかってしまいました。


PS.以下のようにしてみました。

F7イベント → 印刷依頼FLGをTrueに!

レコード前で
印刷FLGがTrueなら印刷処理を呼び出す!
という方法で回避しました。

レコード編集し、その行にパークしたまま
F7 押したら、編集内容が保存された状態で印刷がされる。

変な作りかもしれませんね。

実験なので良しとします・・・

昔は、例えばこんな時は、↑↓みたいな動作をKBPUTするとか
そんな事をしている人もいたりしましたね。

-----
Magicやってて、少しは人並みに使いこなせるようになったような
気はしますが、凝った作りをしようとすると
それが本当にちゃんと動くか細かく実験を繰り返し
時間を費やす事が有ります。

その手法が使えるのを確認してから、次のステップに進む
といった感じで。。。。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-4 15:32
Tanda  長老   投稿数: 2151
単純に、「イベント→レコード書込」でやってみてください。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2017-10-4 15:29
nkmt  長老   投稿数: 1668
ISHIJIMAさん、ありがとうございます。

まだうまくいきません。

オンラインタスクでレコードを変更

E=イベント    F7を定義
 イベント実行 レコード書込 ウェイト=No
 コール    P=プログラム オンラインタスクのデータを印刷プレビュー

印刷プレビューのタスクには
オンラインタスクで編集中のレコードは
編集前の内容で印刷されます。

SQL Serverのデータです。

いずれのタスクもトランザクション無し

使い方が誤ってますでしょうか?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-4 15:15
Tanda  長老   投稿数: 2151
「レコード書込」イベントは前からありますよ。
とくに問題なく正常に動作していますよ。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-4 15:09 | 最終変更
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
ユーザーイベントで強制終了をレコード更新後に設定してよく使用します。
レコード書込も使用する事がありますが問題なく使用できています。
ただレコード書込でできなかった時にはユーザーイベントにした事はありました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 | 投稿日時 2017-10-4 14:51
nkmt  長老   投稿数: 1668
xpa3.1a PT1のヘルプで
データベースに現行レコードを強制的に書き込むには
というのがあります。

イベント実行  レコード書込 を発行して
印刷タスクを呼び出す といった感じの説明なのですが

説明通りになりません。

もしお時間有る方いらっしゃいましたら
試していただけないでしょうか。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約