プロジェクト

全般

プロフィール

バグ #41

集薬印刷エラー

加藤 由紀子約1ヶ月前に追加. 約1ヶ月前に更新.

ステータス:
終了
優先度:
高め
対象バージョン:
開始日:
2018/08/08
期日:
進捗率:

100%

予定工数:
サ対応No.:

説明

集薬日付に8桁日付以外の文字列を入力することができ、
かつしてしまうとその集薬の印刷のみならず以後全ての印刷が出なくなってしまう。

20180809151107print.log (275 Bytes) 20180809151107print.log 出力ログサンプル 前場 千春, 2018/08/09 15:45

履歴

#1 加藤 由紀子約1ヶ月前に更新

  • 担当者加藤 由紀子 から 前場 千春 に変更
  • 優先度通常 から 高め に変更

#2 前場 千春約1ヶ月前に更新

  • ステータス新規 から 進行中 に変更
  • 進捗率0 から 10 に変更

着手します。

#3 前場 千春約1ヶ月前に更新

現象確認。

連動プログラムの印刷ログにも何も出ない。

#4 前場 千春約1ヶ月前に更新

  • 説明 を更新 (diff)

#5 前場 千春約1ヶ月前に更新

印刷できない要因は、日付の桁が不正なことにより識別番号が正しく取得できずに印刷データを参照できなかったこと。

DPRINTDATA 内の受付IDは [識別番号]+[日付] で構成されており、集薬印刷の場合は [集薬内部連番]+[日付] となり印刷時には次のルールで集薬内部連番を取得している。

集薬内部連番 = 受付IDから末尾8桁(日付分)をカットした文字列

しかし、今回の例では日付の桁が8桁ではないため、集薬内部連番が正しく取得できず 集薬データテーブル(DSYUYAKUH, DSYUYAKUM) から印刷するために必要なレコードを参照できなかった。

この時、連動プログラムは何もせずに印刷処理をスキップするため、DPRINTDATA には「印刷前」状態のレコードが残ったままとなる。
これにより、次の印刷タイミングでも同じ理由で印刷のスキップが続く。

ただし、以降の集薬印刷が全て出なくなるということはなく、エラーになるレコードがあっても正しいデータの集薬印刷はキチンと出力された。

#6 前場 千春約1ヶ月前に更新

印刷リクエストがあるにも関わらず印刷情報が取得できないのは異常な状態だと思うので、何らかのログを出した方が良い。
また、その際は印刷状態を印刷前のままにせずに、適切に設定する必要がある。

#7 前場 千春約1ヶ月前に更新

現象の発生パターンがもう一つあったことが判明。

日付部分に誤って集薬番号を入れるなどして [集薬内部連番]+[日付] の合計が8桁未満になってしまった場合、集薬内部連番を取得する文字列処理で例外が発生する。
これによりサブルーチン末尾の例外処理に飛ばされてしまい、『実行時エラーが発生しました』の文言とともに以降の処理が全てキャンセルされてしまう。

※こちらが、元々の指摘内容であったと推測される

さらに、この場合もエラーになった印刷要求レコードを処理しないのでいつまでもエラーが残留してしまうことになる。

#8 前場 千春約1ヶ月前に更新

修正方針を決定。

 1)印刷処理中に異常のあった DPRINTDATA レコードは状態をエラー(5) として処理する。
 2)複数の印刷要求がある場合、一つの印刷エラーで後段の印刷処理がスキップされないようにする。
 3)エラー時には必ず解析の手掛かりになる内容をログに残す。
 4)集薬画面の日付欄には8桁以外の数値を入れられないようにする。

#10 前場 千春約1ヶ月前に更新

  • ステータス進行中 から 申請中 に変更
  • 担当者前場 千春 から 加藤 由紀子 に変更
  • 対象バージョンV406 にセット
  • 進捗率10 から 100 に変更

VB_EXE r580、WEB r581 にてコミット済み。

[リリース申請書]
\\drobo\調剤システム\リリース管理\03_VB_EXE\2018年\20180816_集薬日付8桁未満で印刷不可の修正

#11 加藤 由紀子約1ヶ月前に更新

  • ステータス申請中 から 終了 に変更

リリース承認終了。

他の形式にエクスポート: Atom PDF