Difference between revisions of "Accounting export template Csv"

Jump to: navigation, search
m (Created page with "<xml><?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" media-type="text/plain" ...")
 
Line 1: Line 1:
<xml><?xml version="1.0" encoding="UTF-8"?>
+
<javascript>{
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
  "outputFormat":{
     <xsl:output method="text" media-type="text/plain" indent="no" standalone="yes" omit-xml-declaration="yes" encoding="ISO-8859-1"/>
+
    "contentType":"text\/csv",
     <xsl:strip-space elements="*"/>
+
     "charset":"UTF-8",
 
+
    "filePrefix":"accountancy_",
    <xsl:include href="xsl/str.template.xsl"/>
+
    "fileExtension":"csv",
     <xsl:include href="xsl/formatFunctions.xsl"/>
+
     "converter":"Default"
    <xsl:include href="xsl/accountingFormatFunction.xsl"/>
+
  },
 
+
  "field":[
    <!--      Main       -->
+
     {
    <xsl:template match="/">
+
      "name":"flow_id",
         <output-format>
+
       "format":{
            <content_type>text/csv</content_type>
+
        "name":"formatNumber",
            <charset>UTF-8</charset>
+
         "parameter":[
            <file_prefix>accountancy_</file_prefix>
+
          "%06.0f"
            <file_extension>csv</file_extension>
+
        ]
            <converter>Default</converter>
+
      }
        </output-format>
+
    },
        <xsl:apply-templates select="account_entrys/account_entry">
+
    {
            <xsl:sort select="@data_date" order="ascending" data-type="text"/>
+
      "name":"paper",
        </xsl:apply-templates>
+
      "format":{
     </xsl:template>
+
        "name":"accountPaper"
 
+
      }
     <!--show account line -->
+
     },
    <xsl:template match="account_entry">
+
     {
        <xsl:variable name="flow_id" select="flow_id"/>
+
      "name":"account_date",
         <xsl:variable name="accounts"
+
      "format":{
            select="/account_entrys/account_entry[flow_id=$flow_id]/account/export_account"/>
+
         "name":"formatDate",
         <!-- entry number on 6 rows -->
+
        "parameter":[
        <xsl:value-of select="format-number($flow_id, '000000')"/>
+
          "YYYYMMDD"
        <xsl:text>;</xsl:text>
+
         ]
        <!-- paper on 2 rows -->
+
      }
        <xsl:call-template name="choose-paper">
+
    },
            <xsl:with-param name="flowAccounts" select="$accounts"/>
+
    {
         </xsl:call-template>
+
      "name":"export_account"
         <xsl:text>;</xsl:text>
+
    },
        <!-- date on 16 rows -->
+
    {
        <xsl:call-template name="displayDate">
+
      "name":"account_entry_description",
            <xsl:with-param name="date">
+
      "format":{
                <xsl:call-template name="dateTimeISO">
+
        "name":"formatText",
                    <xsl:with-param name="dateTime" select="converted_account_date"/>
+
         "rightPadding":" ",
                </xsl:call-template>
+
         "size":25
            </xsl:with-param>
+
      }
         </xsl:call-template>
+
    },
         <xsl:text>;</xsl:text>
+
    {
         <!-- type on 12 rows -->
+
      "name":"debit",
        <xsl:value-of select="account/export_account"/>
+
      "format":{
        <!-- account number on 11 rows -->
+
        "name":"formatNumber",
        <xsl:text>;</xsl:text>
+
        "parameter":[
        <!-- account name on 30 rows -->
+
          "%08.2f"
        <xsl:call-template name="accountExportName">
+
        ]
            <xsl:with-param name="entry" select="account_entry"/>
+
      },
            <xsl:with-param name="size" select="25"/>
+
      "if":{
            <xsl:with-param name="forbiddenCharacter">
+
         "leftPart":"debit",
                <xsl:text>;</xsl:text>
+
         "operator":">",
            </xsl:with-param>
+
         "rightPart":"0"
         </xsl:call-template>
+
      }
        <xsl:text>;</xsl:text>
+
    },
        <!-- amount on 8 rows + 1 ROW to say D or C -->
+
    {
        <xsl:choose>
+
      "text":"D",
            <xsl:when test="debit!=0">
+
      "if":{
                <xsl:value-of select="format-number(debit,'00000.00')"/>
+
        "leftPart":"debit",
                <xsl:text>;</xsl:text>
+
        "operator":">",
                <xsl:text>D</xsl:text>
+
         "rightPart":"0"
            </xsl:when>
+
      }
            <xsl:otherwise>
+
    },
                <xsl:value-of select="format-number(credit,'00000.00')"/>
+
    {
                <xsl:text>;</xsl:text>
+
      "name":"credit",
                <xsl:text>C</xsl:text>
+
      "format":{
            </xsl:otherwise>
+
        "name":"formatNumber",
         </xsl:choose>
+
        "parameter":[
         <xsl:value-of select="$LF"/>
+
          "%08.2f"
     </xsl:template>
+
        ]
      
+
      },
    <xsl:template name="displayDate">
+
      "if":{
        <xsl:param name="date"/>
+
         "leftPart":"debit",
         <xsl:value-of select="substring($date,1,4)"/>
+
         "operator":"==",
         <xsl:value-of select="substring($date,6,2)"/>
+
        "rightPart":"0"
         <xsl:value-of select="substring($date,9,2)"/>
+
      }
     </xsl:template>
+
     },
+
     {
</xsl:stylesheet></xml>
+
      "text":"C",
 +
      "if":{
 +
         "leftPart":"debit",
 +
         "operator":"==",
 +
         "rightPart":"0"
 +
      }
 +
     }
 +
  ],
 +
  "separator":";",
 +
  "endLine":"\n"
 +
}</javascript>

Revision as of 12:37, 2 May 2014

{
  "outputFormat":{
    "contentType":"text\/csv",
    "charset":"UTF-8",
    "filePrefix":"accountancy_",
    "fileExtension":"csv",
    "converter":"Default"
  },
  "field":[
    {
      "name":"flow_id",
      "format":{
        "name":"formatNumber",
        "parameter":[
          "%06.0f"
        ]
      }
    },
    {
      "name":"paper",
      "format":{
        "name":"accountPaper"
      }
    },
    {
      "name":"account_date",
      "format":{
        "name":"formatDate",
        "parameter":[
          "YYYYMMDD"
        ]
      }
    },
    {
      "name":"export_account"
    },
    {
      "name":"account_entry_description",
      "format":{
        "name":"formatText",
        "rightPadding":" ",
        "size":25
      }
    },
    {
      "name":"debit",
      "format":{
        "name":"formatNumber",
        "parameter":[
          "%08.2f"
        ]
      },
      "if":{
        "leftPart":"debit",
        "operator":">",
        "rightPart":"0"
      }
    },
    {
      "text":"D",
      "if":{
        "leftPart":"debit",
        "operator":">",
        "rightPart":"0"
      }
    },
    {
      "name":"credit",
      "format":{
        "name":"formatNumber",
        "parameter":[
          "%08.2f"
        ]
      },
      "if":{
        "leftPart":"debit",
        "operator":"==",
        "rightPart":"0"
      }
    },
    {
      "text":"C",
      "if":{
        "leftPart":"debit",
        "operator":"==",
        "rightPart":"0"
      }
    }
  ],
  "separator":";",
  "endLine":"\n"
}