ご利用中のSmartDBで下記の不具合が発生していました。
ご不便、ご迷惑をおかけして申し訳ございません。
記事公開日:2022/07/21
発生日時
- 2022/01/28(金) 午前1時~3時の15分間のメンテナンス時間(JST)~
2022/07/23(土) 午前1時~3時の15分間のメンテナンス時間(JST)
事象
下記の条件をすべて満たした場合に、評価式の値が取得できず元のままの値になる場合があります。
この「元のままの値」とは保存されている値であり、新規登録時は空欄であり、更新時は更新前の値となります。
※100%発生する事象ではありません。
条件
- あるバインダAにおいて、レイアウトブロック表示制御を行なっており、「非表示の場合、ブロック内の部品の値をクリアする」設定になっている。
- バインダXにおいて、バインダAの表示制御されたレイアウトブロック内に存在する部品と、「同一部品ID」かつ「評価式が定義されている」部品を持つバインダを操作する。
※バインダAとバインダXは同一バインダでも異なるバインダでも発生し得る。
手順
- バインダAで文書の新規登録または編集画面を開き、該当のレイアウトブロックを操作で非表示にした後、非表示のまま文書を登録する。(初期状態で非表示の場合は、一度表示してから非表示にする。)
- 1とは別でバインダXを開き、文書の登録・更新を行う。
この際、バインダXで登録・更新した文書の値が再計算されない場合があります。
※別ユーザ、別端末でもタイミングが一致していれば発生する場合が考えられます。
具体例
- バインダAに部品ID=10005 で評価式を持つアカウント部品a が存在する。
- アカウント部品a を含むレイアウトブロックが表示制御をかかっている。
- バインダAの文書の新規登録を開き、レイアウトブロックを非表示の状態にして登録する。
- 別ユーザが 部品ID=10005 で評価式を持つテキスト部品xが存在するバインダXを開く。
- バインダXで文書を新規に登録する。
→ バインダXの部品ID=10005のテキスト部品xで評価式が動作せず、空白のまま登録される。
回避策
現状だと該当の操作を行った状態での回避策は見つかっていません。
値が入らなかった場合には文書を再度編集していただき、評価式の再計算を行なってください。
対応予定
- 2022年7月23日(土) 午前1時~3時の15分間のメンテナンス時間での緊急リリースを目指して対応準備を進めています。
予定が変更になる場合にはあらためて通知します。
原因
2022年1月27日のリリースで実施した「非表示の場合、ブロック内の部品の値をクリアする」設定で値がクリアされない場合がある不具合を修正の対応においてサーバのスレッドに意図しない情報が残ってしまう場合があり、結果として「値をクリアする」情報が別文書の登録・編集で利用されてしまう場合がありました。