仕訳ファイル−InfoPathXML文書から仕訳ファイルを作成する− 110

「展開一番」は仕訳データを処理する会計エンジンであり、仕訳データはCSV形式のテキスト文書と定義されています
一つの事例として、特定プロジェクトを管理する部署で入力した経費データから仕訳データを作成することを考えてみます
Microsoft Office アプリケーションである「InfoPath」を利用すると、データ入力に適したフォームを簡単に作成でき、データをXMLファイルとして保存することができます
そこで、このXMLファイルから必要なデータだけを抽出し、また、仕訳に必要なデータを追加して、仕訳ファイルを作成することにします

1.「InfoPath」の入力フォームを作成する
「InfoPath」で入力フォームを作成します
特定プロジェクトに係る経費だけを処理するので、支出内容を選択すれば対応する費目Codeがセットされる(2.のサンプル画面の「内容」右欄を参照)ように、また、支出日はカレンダから選択して入力できるようにするなど、現場での入力の負荷を極力抑えるような仕様にします
「InfoPath」の利用方法等については、市販の書籍を参考にしてください

2.「InfoPath」の入力フォームを利用してデータを入力する
「InfoPath」の入力フォーム(テンプレート)を利用してデータを入力します
入力後、「別名で保存」を選択するとファイル名入力のダイアログが開くので適当な名前を入力し「保存」をクリックします
これで、データだけがXML文書として保存できます
以下は、入力フォームのサンプルです
画面下にテンプレートのファイル名(「経費伝票.xsn」)とその場所が表示されています



3.XML文書を変換整形する
作成したXML文書ファイルは、「InfoPath」標準の「UTF-8」というコードセットで記述されているほか、「InfoPath」固有のタグが付いたり書式が適用されています
例えば、日付の書式は「yyyy-mm-dd)」で、設定したタグ名には「my:」が付加されています
そこで、エディタを利用して、このXML文書を扱いやすいように変換整形してみます
具体的な作業は以下のとおりです
1.コードセットを「ShiftJIS」に変換する
2.会計日の書式を変換(yyyy-mm-dd→yyyymmdd)する
3.タブを削除する
4.冒頭のタグを削除し以下を追加する
---------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet href="pcash.xsl" type="text/xsl"?>
---------------------------------------------------
以下は、変換整形後のXML文書(ファイル名は「pcash.xml」)です
(註)1.〜4.の作業はエディタのマクロを利用すれば自動処理することが可能です



4.XML文書から仕訳(CSVテキスト)ファイルを作成する
XML文書ファイルからCSV形式のテキストデータを生成するには、XML文書にXSLTスタイルシートを適用します
この事例で利用するスタイルシートは以下のとおりです
---------------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="Shift_JIS"/>
<xsl:template match="経費明細">
<xsl:apply-templates select="仕訳">
</xsl:apply-templates>
</xsl:template>

<xsl:template match="仕訳">
<xsl:value-of select="./会計日"/><xsl:text>,</xsl:text>
<xsl:value-of select="./費目Code"/><xsl:text>,</xsl:text>
<xsl:value-of select="./金額"/><xsl:text>,</xsl:text>
<xsl:text>1011</xsl:text><xsl:text>,</xsl:text>
<xsl:value-of select="./金額"/><xsl:text>,</xsl:text>
<xsl:value-of select="./摘要"/><xsl:text>,</xsl:text>
<xsl:text>1005911</xsl:text><xsl:text>,</xsl:text>
<xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
---------------------------------------------------------
このスタイルシートで、当初の経費データになかった貸方科目(ここでは1011−プロジェクト現金−)とプロジェクト番号(ここでは1005911)を追加して「仕訳」データを生成します
このスタイルシート(テキストファイル)に「pcash.xsl」という名前を付けて、XML文書(「pcash.xml」)と同じフォルダに保存します
コマンドプロンプトからmsxslコマンドを実行すると、CSV形式の仕訳ファイルが作成されます
なお、仕訳ファイル名はコマンド実行時の「o」オプションで指定します、msxmlコマンドについては「概要10」を参照してください
以下に、コマンドプロンプト画面と作成された仕訳ファイル(ここでは「pcash.txt」)を掲載します





Last Update 2006/03/26