kategorie: export als qif
This commit is contained in:
parent
94e60cf5c1
commit
b50927753b
10 changed files with 376 additions and 1 deletions
|
@ -7,6 +7,7 @@ from trytond.pool import Pool
|
||||||
from .category import Category
|
from .category import Category
|
||||||
from .qiftool import QifTool
|
from .qiftool import QifTool
|
||||||
from .qif_import_wiz import ImportQifWizard, ImportQifWizardStart, ImportQifWizardInfo
|
from .qif_import_wiz import ImportQifWizard, ImportQifWizardStart, ImportQifWizardInfo
|
||||||
|
from .qif_export import QifCategoryExport
|
||||||
|
|
||||||
def register():
|
def register():
|
||||||
Pool.register(
|
Pool.register(
|
||||||
|
@ -15,6 +16,9 @@ def register():
|
||||||
ImportQifWizardStart,
|
ImportQifWizardStart,
|
||||||
ImportQifWizardInfo,
|
ImportQifWizardInfo,
|
||||||
module='cashbook_dataexchange', type_='model')
|
module='cashbook_dataexchange', type_='model')
|
||||||
|
Pool.register(
|
||||||
|
QifCategoryExport,
|
||||||
|
module='cashbook_dataexchange', type_='report')
|
||||||
Pool.register(
|
Pool.register(
|
||||||
ImportQifWizard,
|
ImportQifWizard,
|
||||||
module='cashbook_dataexchange', type_='wizard')
|
module='cashbook_dataexchange', type_='wizard')
|
||||||
|
|
15
category.py
15
category.py
|
@ -10,6 +10,21 @@ from trytond.pool import Pool, PoolMeta
|
||||||
class Category(metaclass=PoolMeta):
|
class Category(metaclass=PoolMeta):
|
||||||
__name__ = 'cashbook.category'
|
__name__ = 'cashbook.category'
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def export_as_qif(cls):
|
||||||
|
""" export all accessible categories as QIF
|
||||||
|
"""
|
||||||
|
pool = Pool()
|
||||||
|
Category2 = pool.get('cashbook.category')
|
||||||
|
QifTool = pool.get('cashbook_dataexchange.qiftool')
|
||||||
|
|
||||||
|
categories = Category2.search([],
|
||||||
|
order=[('cattype', 'ASC'), ('rec_name', 'ASC')])
|
||||||
|
|
||||||
|
export = ['!Type:Cat']
|
||||||
|
export.extend([QifTool.qif_export_category(x) for x in categories])
|
||||||
|
return '\n'.join(export)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create_from_qif(cls, qifdata):
|
def create_from_qif(cls, qifdata):
|
||||||
""" add categories from QIF-File-content
|
""" add categories from QIF-File-content
|
||||||
|
|
|
@ -18,6 +18,10 @@ msgctxt "model:ir.action,name:act_import_qif_wizard"
|
||||||
msgid "Import QIF-File"
|
msgid "Import QIF-File"
|
||||||
msgstr "QIF-Datei importieren"
|
msgstr "QIF-Datei importieren"
|
||||||
|
|
||||||
|
msgctxt "model:ir.action,name:qif_category_report"
|
||||||
|
msgid "Export QIF-File"
|
||||||
|
msgstr "QIF-Datei exportieren"
|
||||||
|
|
||||||
msgctxt "model:ir.action,name:msg_wiz_no_categories"
|
msgctxt "model:ir.action,name:msg_wiz_no_categories"
|
||||||
msgid "No categories were found in the file."
|
msgid "No categories were found in the file."
|
||||||
msgstr "In der Datei wurden keine Kategorien gefunden."
|
msgstr "In der Datei wurden keine Kategorien gefunden."
|
||||||
|
|
27
qif_export.py
Normal file
27
qif_export.py
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# This file is part of the cashbook-module from m-ds for Tryton.
|
||||||
|
# The COPYRIGHT file at the top level of this repository contains the
|
||||||
|
# full copyright notices and license terms.
|
||||||
|
|
||||||
|
from trytond.report import Report
|
||||||
|
from trytond.pool import Pool
|
||||||
|
|
||||||
|
|
||||||
|
class QifCategoryExport(Report):
|
||||||
|
__name__ = 'cashbook_dataexchange.rep_category'
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def execute(cls, ids, data):
|
||||||
|
""" filename for export
|
||||||
|
"""
|
||||||
|
pool = Pool()
|
||||||
|
IrDate = pool.get('ir.date')
|
||||||
|
Category = pool.get('cashbook.category')
|
||||||
|
|
||||||
|
return (
|
||||||
|
'qif',
|
||||||
|
Category.export_as_qif(),
|
||||||
|
False,
|
||||||
|
'%s-categories' % IrDate.today().isoformat().replace('-', ''))
|
||||||
|
|
||||||
|
# end QifCategoryExport
|
23
qif_export.xml
Normal file
23
qif_export.xml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!-- This file is part of the cashbook-module from m-ds for Tryton.
|
||||||
|
The COPYRIGHT file at the top level of this repository contains the
|
||||||
|
full copyright notices and license terms. -->
|
||||||
|
<tryton>
|
||||||
|
<data>
|
||||||
|
|
||||||
|
<record model="ir.action.report" id="qif_category_report">
|
||||||
|
<field name="name">Export QIF-File</field>
|
||||||
|
<field name="model">cashbook.category</field>
|
||||||
|
<field name="report_name">cashbook_dataexchange.rep_category</field>
|
||||||
|
<field name="report">cashbook_dataexchange/report/export.fods</field>
|
||||||
|
<field name="template_extension">ods</field>
|
||||||
|
<field name="single" eval="False"/>
|
||||||
|
</record>
|
||||||
|
<record model="ir.action.keyword" id="qif_category_report-keyword">
|
||||||
|
<field name="keyword">form_action</field>
|
||||||
|
<field name="model">cashbook.category,-1</field>
|
||||||
|
<field name="action" ref="qif_category_report"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</tryton>
|
12
qiftool.py
12
qiftool.py
|
@ -78,4 +78,16 @@ class QifTool(Model):
|
||||||
categories[cattype] = add_category(categories[cattype], catname, cattype)
|
categories[cattype] = add_category(categories[cattype], catname, cattype)
|
||||||
return categories
|
return categories
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def qif_export_category(cls, record):
|
||||||
|
""" export single category as qif
|
||||||
|
"""
|
||||||
|
return '\n'.join([
|
||||||
|
'N%(cname)s' % {
|
||||||
|
'cname': record.rec_name.replace('/', ':'),
|
||||||
|
},
|
||||||
|
'E' if record.cattype == 'out' else 'I',
|
||||||
|
'^',
|
||||||
|
])
|
||||||
|
|
||||||
# end QifTool
|
# end QifTool
|
||||||
|
|
240
report/exort.fods
Normal file
240
report/exort.fods
Normal file
|
@ -0,0 +1,240 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.spreadsheet">
|
||||||
|
<office:meta><meta:creation-date>2017-10-20T23:41:04.964000000</meta:creation-date><meta:generator>LibreOffice/6.0.7.3$Linux_X86_64 LibreOffice_project/00m0$Build-3</meta:generator><meta:document-statistic meta:table-count="1" meta:cell-count="0" meta:object-count="0"/></office:meta>
|
||||||
|
<office:settings>
|
||||||
|
<config:config-item-set config:name="ooo:view-settings">
|
||||||
|
<config:config-item config:name="VisibleAreaTop" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="VisibleAreaLeft" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="VisibleAreaWidth" config:type="int">2257</config:config-item>
|
||||||
|
<config:config-item config:name="VisibleAreaHeight" config:type="int">451</config:config-item>
|
||||||
|
<config:config-item-map-indexed config:name="Views">
|
||||||
|
<config:config-item-map-entry>
|
||||||
|
<config:config-item config:name="ViewId" config:type="string">view1</config:config-item>
|
||||||
|
<config:config-item-map-named config:name="Tables">
|
||||||
|
<config:config-item-map-entry config:name="Sheet1">
|
||||||
|
<config:config-item config:name="CursorPositionX" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="CursorPositionY" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="HorizontalSplitMode" config:type="short">0</config:config-item>
|
||||||
|
<config:config-item config:name="VerticalSplitMode" config:type="short">0</config:config-item>
|
||||||
|
<config:config-item config:name="HorizontalSplitPosition" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="VerticalSplitPosition" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="ActiveSplitRange" config:type="short">2</config:config-item>
|
||||||
|
<config:config-item config:name="PositionLeft" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="PositionRight" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="PositionTop" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="PositionBottom" config:type="int">0</config:config-item>
|
||||||
|
<config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
|
||||||
|
<config:config-item config:name="ZoomValue" config:type="int">100</config:config-item>
|
||||||
|
<config:config-item config:name="PageViewZoomValue" config:type="int">60</config:config-item>
|
||||||
|
<config:config-item config:name="ShowGrid" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item>
|
||||||
|
</config:config-item-map-entry>
|
||||||
|
</config:config-item-map-named>
|
||||||
|
<config:config-item config:name="ActiveTable" config:type="string">Sheet1</config:config-item>
|
||||||
|
<config:config-item config:name="HorizontalScrollbarWidth" config:type="int">1828</config:config-item>
|
||||||
|
<config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
|
||||||
|
<config:config-item config:name="ZoomValue" config:type="int">100</config:config-item>
|
||||||
|
<config:config-item config:name="PageViewZoomValue" config:type="int">60</config:config-item>
|
||||||
|
<config:config-item config:name="ShowPageBreakPreview" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="ShowZeroValues" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="ShowNotes" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="ShowGrid" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="GridColor" config:type="long">12632256</config:config-item>
|
||||||
|
<config:config-item config:name="ShowPageBreaks" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="HasColumnRowHeaders" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="HasSheetTabs" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="IsOutlineSymbolsSet" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="IsValueHighlightingEnabled" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="IsSnapToRaster" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="RasterIsVisible" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="RasterResolutionX" config:type="int">1270</config:config-item>
|
||||||
|
<config:config-item config:name="RasterResolutionY" config:type="int">1270</config:config-item>
|
||||||
|
<config:config-item config:name="RasterSubdivisionX" config:type="int">1</config:config-item>
|
||||||
|
<config:config-item config:name="RasterSubdivisionY" config:type="int">1</config:config-item>
|
||||||
|
<config:config-item config:name="IsRasterAxisSynchronized" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item>
|
||||||
|
</config:config-item-map-entry>
|
||||||
|
</config:config-item-map-indexed>
|
||||||
|
</config:config-item-set>
|
||||||
|
<config:config-item-set config:name="ooo:configuration-settings">
|
||||||
|
<config:config-item config:name="SyntaxStringRef" config:type="short">7</config:config-item>
|
||||||
|
<config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
|
||||||
|
<config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="PrinterSetup" config:type="base64Binary">owH+/0hQX0xhc2VySmV0X01GUF9NNDI2ZmRuX0IyNUM3Ml8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ1VQUzpIUF9MYXNlckpldF9NRlBfTTQyNmZkbl9CMgAWAAMAxAAAAAAAAAAEAAhSAAAEdAAASm9iRGF0YSAxCnByaW50ZXI9SFBfTGFzZXJKZXRfTUZQX000MjZmZG5fQjI1QzcyXwpvcmllbnRhdGlvbj1Qb3J0cmFpdApjb3BpZXM9MQpjb2xsYXRlPWZhbHNlCm1hcmdpbmRhanVzdG1lbnQ9MCwwLDAsMApjb2xvcmRlcHRoPTI0CnBzbGV2ZWw9MApwZGZkZXZpY2U9MQpjb2xvcmRldmljZT0wClBQRENvbnRleERhdGEKUGFnZVNpemU6QTQAABIAQ09NUEFUX0RVUExFWF9NT0RFDwBEdXBsZXhNb2RlOjpPZmY=</config:config-item>
|
||||||
|
<config:config-item config:name="PrinterName" config:type="string">HP_LaserJet_MFP_M426fdn_B25C72_</config:config-item>
|
||||||
|
<config:config-item config:name="AutoCalculate" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="LinkUpdateMode" config:type="short">3</config:config-item>
|
||||||
|
<config:config-item config:name="HasColumnRowHeaders" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="ShowZeroValues" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="GridColor" config:type="long">12632256</config:config-item>
|
||||||
|
<config:config-item config:name="ShowPageBreaks" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="ShowGrid" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="IsOutlineSymbolsSet" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="IsDocumentShared" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="ShowNotes" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="HasSheetTabs" config:type="boolean">true</config:config-item>
|
||||||
|
<config:config-item config:name="RasterSubdivisionY" config:type="int">1</config:config-item>
|
||||||
|
<config:config-item config:name="RasterIsVisible" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="RasterResolutionX" config:type="int">1270</config:config-item>
|
||||||
|
<config:config-item config:name="RasterResolutionY" config:type="int">1270</config:config-item>
|
||||||
|
<config:config-item config:name="IsSnapToRaster" config:type="boolean">false</config:config-item>
|
||||||
|
<config:config-item config:name="RasterSubdivisionX" config:type="int">1</config:config-item>
|
||||||
|
<config:config-item config:name="IsRasterAxisSynchronized" config:type="boolean">true</config:config-item>
|
||||||
|
</config:config-item-set>
|
||||||
|
</office:settings>
|
||||||
|
<office:scripts>
|
||||||
|
<office:script script:language="ooo:Basic">
|
||||||
|
<ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink"/>
|
||||||
|
</office:script>
|
||||||
|
</office:scripts>
|
||||||
|
<office:font-face-decls>
|
||||||
|
<style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||||
|
<style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||||
|
<style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||||
|
<style:font-face style:name="Microsoft YaHei" svg:font-family="'Microsoft YaHei'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||||
|
<style:font-face style:name="Segoe UI" svg:font-family="'Segoe UI'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||||
|
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||||
|
</office:font-face-decls>
|
||||||
|
<office:styles>
|
||||||
|
<style:default-style style:family="table-cell">
|
||||||
|
<style:paragraph-properties style:tab-stop-distance="12.7mm"/>
|
||||||
|
<style:text-properties style:font-name="Liberation Sans" fo:language="en" fo:country="US" style:font-name-asian="Segoe UI" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Tahoma" style:language-complex="hi" style:country-complex="IN"/>
|
||||||
|
</style:default-style>
|
||||||
|
<number:number-style style:name="N0">
|
||||||
|
<number:number number:min-integer-digits="1"/>
|
||||||
|
</number:number-style>
|
||||||
|
<style:style style:name="Default" style:family="table-cell">
|
||||||
|
<style:text-properties style:font-name-asian="Microsoft YaHei" style:font-family-asian="'Microsoft YaHei'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-name-complex="Mangal" style:font-family-complex="Mangal" style:font-family-generic-complex="system" style:font-pitch-complex="variable"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Heading" style:family="table-cell" style:parent-style-name="Default">
|
||||||
|
<style:text-properties fo:color="#000000" fo:font-size="24pt" fo:font-style="normal" fo:font-weight="bold"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="table-cell" style:parent-style-name="Heading">
|
||||||
|
<style:text-properties fo:color="#000000" fo:font-size="18pt" fo:font-style="normal" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="table-cell" style:parent-style-name="Heading">
|
||||||
|
<style:text-properties fo:color="#000000" fo:font-size="12pt" fo:font-style="normal" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Text" style:family="table-cell" style:parent-style-name="Default"/>
|
||||||
|
<style:style style:name="Note" style:family="table-cell" style:parent-style-name="Text">
|
||||||
|
<style:table-cell-properties fo:background-color="#ffffcc" style:diagonal-bl-tr="none" style:diagonal-tl-br="none" fo:border="0.74pt solid #808080"/>
|
||||||
|
<style:text-properties fo:color="#333333" fo:font-size="10pt" fo:font-style="normal" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Footnote" style:family="table-cell" style:parent-style-name="Text">
|
||||||
|
<style:text-properties fo:color="#808080" fo:font-size="10pt" fo:font-style="italic" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Status" style:family="table-cell" style:parent-style-name="Default"/>
|
||||||
|
<style:style style:name="Good" style:family="table-cell" style:parent-style-name="Status">
|
||||||
|
<style:table-cell-properties fo:background-color="#ccffcc"/>
|
||||||
|
<style:text-properties fo:color="#006600" fo:font-size="10pt" fo:font-style="normal" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Neutral" style:family="table-cell" style:parent-style-name="Status">
|
||||||
|
<style:table-cell-properties fo:background-color="#ffffcc"/>
|
||||||
|
<style:text-properties fo:color="#996600" fo:font-size="10pt" fo:font-style="normal" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Bad" style:family="table-cell" style:parent-style-name="Status">
|
||||||
|
<style:table-cell-properties fo:background-color="#ffcccc"/>
|
||||||
|
<style:text-properties fo:color="#cc0000" fo:font-size="10pt" fo:font-style="normal" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Warning" style:family="table-cell" style:parent-style-name="Status">
|
||||||
|
<style:text-properties fo:color="#cc0000" fo:font-size="10pt" fo:font-style="normal" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Error" style:family="table-cell" style:parent-style-name="Status">
|
||||||
|
<style:table-cell-properties fo:background-color="#cc0000"/>
|
||||||
|
<style:text-properties fo:color="#ffffff" fo:font-size="10pt" fo:font-style="normal" fo:font-weight="bold"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Accent" style:family="table-cell" style:parent-style-name="Default">
|
||||||
|
<style:text-properties fo:color="#000000" fo:font-size="10pt" fo:font-style="normal" fo:font-weight="bold"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Accent_20_1" style:display-name="Accent 1" style:family="table-cell" style:parent-style-name="Accent">
|
||||||
|
<style:table-cell-properties fo:background-color="#000000"/>
|
||||||
|
<style:text-properties fo:color="#ffffff" fo:font-size="10pt" fo:font-style="normal" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Accent_20_2" style:display-name="Accent 2" style:family="table-cell" style:parent-style-name="Accent">
|
||||||
|
<style:table-cell-properties fo:background-color="#808080"/>
|
||||||
|
<style:text-properties fo:color="#ffffff" fo:font-size="10pt" fo:font-style="normal" fo:font-weight="normal"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="Accent_20_3" style:display-name="Accent 3" style:family="table-cell" style:parent-style-name="Accent">
|
||||||
|
<style:table-cell-properties fo:background-color="#dddddd"/>
|
||||||
|
</style:style>
|
||||||
|
</office:styles>
|
||||||
|
<office:automatic-styles>
|
||||||
|
<style:style style:name="co1" style:family="table-column">
|
||||||
|
<style:table-column-properties fo:break-before="auto" style:column-width="22.58mm"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="ro1" style:family="table-row">
|
||||||
|
<style:table-row-properties style:row-height="4.52mm" fo:break-before="auto" style:use-optimal-row-height="true"/>
|
||||||
|
</style:style>
|
||||||
|
<style:style style:name="ta1" style:family="table" style:master-page-name="Default">
|
||||||
|
<style:table-properties table:display="true" style:writing-mode="lr-tb"/>
|
||||||
|
</style:style>
|
||||||
|
<style:page-layout style:name="pm1">
|
||||||
|
<style:page-layout-properties style:writing-mode="lr-tb"/>
|
||||||
|
<style:header-style>
|
||||||
|
<style:header-footer-properties fo:min-height="7.5mm" fo:margin-left="0mm" fo:margin-right="0mm" fo:margin-bottom="2.5mm"/>
|
||||||
|
</style:header-style>
|
||||||
|
<style:footer-style>
|
||||||
|
<style:header-footer-properties fo:min-height="7.5mm" fo:margin-left="0mm" fo:margin-right="0mm" fo:margin-top="2.5mm"/>
|
||||||
|
</style:footer-style>
|
||||||
|
</style:page-layout>
|
||||||
|
<style:page-layout style:name="pm2">
|
||||||
|
<style:page-layout-properties style:writing-mode="lr-tb"/>
|
||||||
|
<style:header-style>
|
||||||
|
<style:header-footer-properties fo:min-height="7.5mm" fo:margin-left="0mm" fo:margin-right="0mm" fo:margin-bottom="2.5mm" fo:border="2.49pt solid #000000" fo:padding="0.18mm" fo:background-color="#c0c0c0">
|
||||||
|
<style:background-image/>
|
||||||
|
</style:header-footer-properties>
|
||||||
|
</style:header-style>
|
||||||
|
<style:footer-style>
|
||||||
|
<style:header-footer-properties fo:min-height="7.5mm" fo:margin-left="0mm" fo:margin-right="0mm" fo:margin-top="2.5mm" fo:border="2.49pt solid #000000" fo:padding="0.18mm" fo:background-color="#c0c0c0">
|
||||||
|
<style:background-image/>
|
||||||
|
</style:header-footer-properties>
|
||||||
|
</style:footer-style>
|
||||||
|
</style:page-layout>
|
||||||
|
</office:automatic-styles>
|
||||||
|
<office:master-styles>
|
||||||
|
<style:master-page style:name="Default" style:page-layout-name="pm1">
|
||||||
|
<style:header>
|
||||||
|
<text:p><text:sheet-name>???</text:sheet-name></text:p>
|
||||||
|
</style:header>
|
||||||
|
<style:header-left style:display="false"/>
|
||||||
|
<style:footer>
|
||||||
|
<text:p>Page <text:page-number>1</text:page-number></text:p>
|
||||||
|
</style:footer>
|
||||||
|
<style:footer-left style:display="false"/>
|
||||||
|
</style:master-page>
|
||||||
|
<style:master-page style:name="Report" style:page-layout-name="pm2">
|
||||||
|
<style:header>
|
||||||
|
<style:region-left>
|
||||||
|
<text:p><text:sheet-name>???</text:sheet-name><text:s/>(<text:title>???</text:title>)</text:p>
|
||||||
|
</style:region-left>
|
||||||
|
<style:region-right>
|
||||||
|
<text:p><text:date style:data-style-name="N2" text:date-value="2022-08-31">00.00.0000</text:date>, <text:time style:data-style-name="N2" text:time-value="17:16:57.122091415">00:00:00</text:time></text:p>
|
||||||
|
</style:region-right>
|
||||||
|
</style:header>
|
||||||
|
<style:header-left style:display="false"/>
|
||||||
|
<style:footer>
|
||||||
|
<text:p>Page <text:page-number>1</text:page-number><text:s/>/ <text:page-count>99</text:page-count></text:p>
|
||||||
|
</style:footer>
|
||||||
|
<style:footer-left style:display="false"/>
|
||||||
|
</style:master-page>
|
||||||
|
</office:master-styles>
|
||||||
|
<office:body>
|
||||||
|
<office:spreadsheet>
|
||||||
|
<table:calculation-settings table:automatic-find-labels="false" table:use-regular-expressions="false" table:use-wildcards="true"/>
|
||||||
|
<table:table table:name="Sheet1" table:style-name="ta1">
|
||||||
|
<table:table-column table:style-name="co1" table:default-cell-style-name="Default"/>
|
||||||
|
<table:table-row table:style-name="ro1">
|
||||||
|
<table:table-cell/>
|
||||||
|
</table:table-row>
|
||||||
|
</table:table>
|
||||||
|
<table:named-expressions/>
|
||||||
|
</office:spreadsheet>
|
||||||
|
</office:body>
|
||||||
|
</office:document>
|
3
setup.py
3
setup.py
|
@ -97,7 +97,8 @@ setup(name='%s_%s' % (PREFIX, MODULE),
|
||||||
package_data={
|
package_data={
|
||||||
'trytond.modules.%s' % MODULE: (info.get('xml', [])
|
'trytond.modules.%s' % MODULE: (info.get('xml', [])
|
||||||
+ ['tryton.cfg', 'locale/*.po', 'tests/*.py',
|
+ ['tryton.cfg', 'locale/*.po', 'tests/*.py',
|
||||||
'view/*.xml', 'versiondep.txt', 'README.rst']),
|
'report/*.fods', 'view/*.xml',
|
||||||
|
'versiondep.txt', 'README.rst']),
|
||||||
},
|
},
|
||||||
|
|
||||||
install_requires=requires,
|
install_requires=requires,
|
||||||
|
|
|
@ -123,6 +123,54 @@ Lebensmittel (out)""")
|
||||||
self.assertEqual(records[13].rec_name, 'Telekommunikation/Telefon')
|
self.assertEqual(records[13].rec_name, 'Telekommunikation/Telefon')
|
||||||
self.assertEqual(records[14].rec_name, 'Telekommunikation/Telefon/Test1')
|
self.assertEqual(records[14].rec_name, 'Telekommunikation/Telefon/Test1')
|
||||||
|
|
||||||
|
result = Category.export_as_qif()
|
||||||
|
self.assertEqual(result, """!Type:Cat
|
||||||
|
NFernsehen
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NFernsehen:GEZ
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NFernsehen:TV-Company
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NLebensmittel
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NTelefon
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NTelefon:Telco1-Tablett
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NTelefon:Telco2-Handy
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NTelefon:Telco3
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NTelekommunikation
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NTelekommunikation:Fernsehen
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NTelekommunikation:Online-Dienste
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NTelekommunikation:Telefon
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NTelekommunikation:Telefon:Test1
|
||||||
|
E
|
||||||
|
^
|
||||||
|
NGehalt
|
||||||
|
I
|
||||||
|
^
|
||||||
|
NGehalt:Zulagen
|
||||||
|
I
|
||||||
|
^""")
|
||||||
|
|
||||||
@with_transaction()
|
@with_transaction()
|
||||||
def test_category_create_by_qif_existing_categories(self):
|
def test_category_create_by_qif_existing_categories(self):
|
||||||
""" create categories by import a qif-file,
|
""" create categories by import a qif-file,
|
||||||
|
|
|
@ -5,3 +5,4 @@ depends:
|
||||||
xml:
|
xml:
|
||||||
message.xml
|
message.xml
|
||||||
qif_import_wiz.xml
|
qif_import_wiz.xml
|
||||||
|
qif_export.xml
|
||||||
|
|
Loading…
Reference in a new issue