Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
16014 Zobrazení

How can we generate custom xml file as same as how we generate pdf report on button click in openerp ? pls anyone guide me on custom xml file generation process ???

Avatar
Zrušit
Autor Nejlepší odpověď

@pinakinnayi : thank you for the reply, yes i have done the same thing already actually my question is how to write that into a new file and ask the user where to save same like pdf report where it shows the dialog box to save it into the disk ???

The steps i followed ..... python code :

class xmlFile_Creation(osv.osv):  
#this function "generate_xml " is called from button click on view.xml and stores the encoded xml data into database coloumn
    def generate_xml(self,cr, uid, ids, context=None):
        root = ET.Element("root")
        doc = ET.SubElement(root, "doc")                
        field1 = ET.SubElement(doc, "field1")
        field1.set("name", "blah")
        field1.text = "some value1"        
        field2 = ET.SubElement(doc, "field2")
        field2.set("name", "asdfasd")
        field2.text = "some vlaue2"        
        xmlstr = ET.tostring(root)            
        file=base64.encodestring( xmlstr )
        return self.write(cr, uid, ids, {'filedata':file, 'name':"filenew"}, context=context)          
    _name="sample.xmlfile.creation"
    _columns={
              'trader':fields.many2one('sample.traders','SelectTrader'),
              'name': fields.char('Filename', 16, readonly=True),
              'filedata': fields.binary('File', readonly=True), 
              }
xmlFile_Creation()
Avatar
Zrušit
Nejlepší odpověď

Hello,

You can do something like below.

Using lxml:

from lxml import etree

create XML

root = etree.Element('root') root.append(etree.Element('child'))

another child with text

child = etree.Element('child') child.text = 'some text' root.append(child)

pretty string

s = etree.tostring(root, pretty_print=True) print s

Output: <root> <child/> <child>some text</child> </root>

Avatar
Zrušit
Autor

@pinakinnayi : thank you for the reply, yes i have done the same thing already actually my question is how to write that into a new file and ask the user where to save same like pdf report where it shows the dialog box to save it into the disk ???

I too have this same question? Can openerp directly serve up a .txt or .html or .xml or really any other plain text format? Seems odd that we can do pdf and not raw text...

Hello, #sai , #tim there is one community module Jasper report that have same functionality, you can refer that module that may be useful to you. https://code.launchpad.net/~jasper-reports-commiters/openobject-jasper-reports/7.0

Related Posts Odpovědi Zobrazení Aktivita
1
kvě 23
2232
3
led 25
11581
Custom Report Vyřešeno
2
zář 21
3643
0
kvě 17
393
1
bře 15
6242