|
「Set7JX12XJ_RYA(#184)」は、仕訳ファイルの科目Codeから、科目マスタにセットしてある(当該科目Codeに対応する)消費税Codeを読み取り、その仕訳の消費税Code欄にセットするスクリプトです
エラーメッセージは「・・in 'fetch':key not found(KeyError)・・in 'Set7JX12XJ_RYA'」です
このケースは・・・
これまで利用していた財務会計パッケージの仕訳データを、「展開一番」にインポートして利用する過程で生じたエラーでした
「Set7JX12XJ_RYA」スクリプトを読んでみると、「実行時間計測の終了」の直前(「展開一番」Ver.003.01では、4999行目)に、「仕訳トラン(XJ_hhhh)を残す場合は以下の2行をコメントアウトする」と記載してあります
このスクリプトは、仕訳ファイルに消費税Codeをセットするとき、仕訳ファイルに直接消費税Codeを書き込むのではなく、(仕訳ファイルと同一構成の)仮ファイルに消費税Codeを書き込み、全ての処理が終了したとき、仮ファイルの名前を仕訳ファイルにリネームしてから仕訳ファイルを削除する仕様になっています
コメントアウトすることによって、上記のリネームと削除の処理がスキップされます
この方法で、再度スクリプトを実行すると、従前と同一のエラーが生じますが、仮ファイル(WXJ_hhhh)が作成されています
この仮ファイルの最後の仕訳までが正常に処理されたことになります
仕訳ファイル(XJ_hhhh)で、仮ファイルで正常に処理された次の仕訳を調べると、当該仕訳の科目Code欄がブランクになっていました−当該仕訳は直前の仕訳と、日付・伝票番号が同じで、補助科目コード欄に「外貨建て債券の期末評価額」と記載され、他の欄はゼロまたはブランクでした−
もとの財務会計パッケージの仕様の範囲内なのか、仕訳のインポート・整形の過程で生じたエラーなのか不明でしたが、当該行を削除することで、全仕訳に対して、その科目に対応する消費税Codeをセットすることができました
この事例に限らず、他のシステムから仕訳をインポートするときは、仕訳の完全性に十分注意する必要があります
|