Hi guys I'm changing a module to openerp 7 but I dont know whats going on here....
.py
class wizard_saft_comunica(osv.osv_memory):
_name = "wizard.l10n_pt.saft.comunica"
_inherit = "wizard.l10n_pt.saft"
def act_getfile_comunica(self, cr, uid, ids, context=None):
logger.notifyChannel("saft_comunica :", netsvc.LOG_INFO, ' A exportar o ficheiro xml Resumido SAFT ****')
self.this = self.browse(cr, uid, ids[0])
#Namespaces declaration
self.xmlns = "urn:OECD:StandardAuditFile-Tax:PT_1.03_01"
attrib={ 'xmlns': self.xmlns,
#'xmlns:xsi':"http://www.w3.org/2001/XMLSchema-instance",
#'xsi:noNamespaceSchemaLocation' : "saft-pt.xsd"
}
root = et.Element("AuditFile", attrib = attrib )
header = et.SubElement(root, 'Header', xmlns=self.xmlns)
header.tail = '\n'
# le o ano fiscal na base de dados
fy_obj = self.pool.get('account.fiscalyear')
fy = fy_obj.browse(cr, uid, self.this.year.id)
for wiz in self.browse(cr, uid, ids, context=context):
portaria = wiz.portaria
if wiz.filtro == 'fiscal':
# le o ano fiscal na base de dados
fy_obj = self.pool.get('account.fiscalyear')
fy = fy_obj.browse(cr, uid, self.this.year.id)
data_ini = fy.date_start
data_fim = fy.date_stop
codig = fy.code
if wiz.filtro =='data':
fy_obj = self.pool.get('account.fiscalyear')
fy = fy_obj.browse(cr, uid, self.this.year.id)
data_ini = wiz.data_ini
data_fim = wiz.data_fim
codig = self._get_period(cr, uid,data_ini)
#master
root.append( self._get_masters_comunica(cr, uid, data_ini, data_fim, portaria) )
#entries : exclui na facturação
if self.this.tipo in ('C', 'I'):
root.append( self._get_entries(cr, uid) )
#for el in (header, master, entries) :
# el.tail = '\n'
et.SubElement(header, 'AuditFileVersion').text='1.03_01'
cr.execute("""
SELECT p.id, p.vat, p.name, p.reg_com, p.conservatoria, p.website
FROM res_partner p
WHERE p.id = 1 """ )
p_id, vat, name, registo, conserv, web = cr.fetchone()
if not registo:
registo = vat[2:]
if not conserv:
conserv = ''
for el, txt in zip(('CompanyID', 'TaxRegistrationNumber', 'TaxAccountingBasis', 'CompanyName'),
(str(conserv)+' '+str(registo), vat, self.this.tipo, name )):
if el == 'CompanyID' and not conserv:
txt = str(registo)
if el == 'CompanyName':
txt = txt[:60]
if el == 'TaxRegistrationNumber':
txt = txt[2:]
et.SubElement(header, el).text=txt
# todo: Falta inserir o BusinessName (1.6), após o CompanyName opcional
compAddress, phone_fax_mail = self.getAddress(cr, uid, 'CompanyAddress', p_id)
header.append( compAddress )
#### gera o header propriamente
tags = ( ('FiscalYear', codig,),
('StartDate', data_ini),
('EndDate', data_fim),
('CurrencyCode', 'EUR'),
('DateCreated', '%s' %str(datetime.date.today()) ),
('TaxEntity', 'Global'),
('ProductCompanyTaxID', productCompanyTaxID),
('SoftwareCertificateNumber', softCertNr),
('ProductID', productID),
('ProductVersion', productVersion),
('HeaderComment', headerComment),
)
for tag, valor in tags:
if valor is None :
continue
et.SubElement(header, tag).text=valor
for element in phone_fax_mail.getchildren():
header.append( element )
del phone_fax_mail
if web:
et.SubElement(header,'Website').text = unicode(web)
for element in header.getchildren():
element.tail = '\n'
#SourceDocumentos se tipo não é 'C'
if self.this.tipo != 'C' :
root.append( self._write_source_documents( cr, uid, data_ini, data_fim) )
#xml_txt = et.tostring(root, encoding="windows-1252")
xml_txt = et.tostring(root, encoding="windows-1252")
out=base64.encodestring( xml_txt )
return self.write(cr, uid, ids, {'state':'get', 'filedata':out, 'name':str(vat)+'.xml'}, context=context)
.xml
<record id="wizard_saft_pt_comuni" model="ir.ui.view">
<field name="name">Exportar ficheiro para envio à AT</field>
<field name="model">wizard.l10n_pt.saft.comunica</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form col="3" string="Gerar Fciheiro para AT">
<notebook>
<page string="Critérios">
<group col="2" fill="1" states="choose" colspan="4">
<separator colspan="2" string="Exportar Ficheiro"/>
<field name="comp" widget="selection"/>
<field name="filtro" />
<field name="portaria" />
<field name="year" widget="selection" attrs="{'readonly':[('filtro','!=','fiscal')], 'required':[('filtro', '=', 'fiscal')]}" />
<field name="data_ini" colspan="1" attrs="{'readonly':[('filtro','!=','data')], 'required':[('filtro', '=', 'data')]} "/>
<field name="data_fim" colspan="1" attrs="{'readonly':[('filtro','!=','data')], 'required':[('filtro', '=', 'data')]} " />
<field name="tipo"/>
<field invisible="1" name="state"/>
</group>
<group col="1" fill="1" states="get" colspan="4">
<separator string="Concluido"/>
<field name="name" invisible="1"/>
<field name="filedata" nolabel="1" readonly="1" filename="name"/>
<label align="0.0" string="Guarde o ficheiro resumido saft"/>
</group>
<group col="2" fill="1" colspan="4">
<button icon="gtk-cancel" name="act_cancel" special="cancel" states="choose" string="Cancelar" type="object"/>
<button icon="gtk-ok" name="act_getfile_comunica" states="choose" string="Exportar" type="object"/>
<button icon="gtk-close" name="act_destroy" special="cancel" states="get" string="Fechar" type="object"/>
</group>
</page>
<page string="Ajuda">
<label colspan="4" string="O ficheiro vai exportar todos os movimentos existentes na base de dados para o exercÃcio escolhido"/>
<label colspan="4" string="Escolha o tipo conforme esteja a usar o OpenERP apenas para a Contabilidade ou Facturação ou para ambas"/>
<label colspan="4" string=""/>
</page>
</notebook>
</form>
</field>
</record>
<record id="action_wizard_saft_comunica" model="ir.actions.act_window">
<field name="name">Comunicação SAFT à AT</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">wizard.l10n_pt.saft.comunica</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<menuitem action="action_wizard_saft_comunica" id="menu_wizard_saft_comunica" parent="account.menu_finance_legal_statement"/>
the button "Exportar" will change the notebook group and the group "Concluido " wont appear
I dont know whats going on....
I have some images on openerp 6 to help you understand this
and when you click "Exportar"
Pls help
best regards
Hello Francisco. Any news on this issue? I have the exact same problem and I can't figure it out. Take care