İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
16015 Görünümler

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
Vazgeç
Üretici En İyi Yanıt

@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
Vazgeç
En İyi Yanıt

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
Vazgeç
Üretici

@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

İlgili Gönderiler Cevaplar Görünümler Aktivite
1
May 23
2232
3
Oca 25
11581
Custom Report Çözüldü
2
Eyl 21
3643
0
May 17
393
1
Mar 15
6242