Merge lp:~vauxoo/openerp-mexico-localization/l10n_mx_company_multi_address_dev_luis into lp:openerp-mexico-localization/6.1
- l10n_mx_company_multi_address_dev_luis
- Merge into 6.1
Status: | Needs review |
---|---|
Proposed branch: | lp:~vauxoo/openerp-mexico-localization/l10n_mx_company_multi_address_dev_luis |
Merge into: | lp:openerp-mexico-localization/6.1 |
Diff against target: |
2107 lines (+1012/-391) (has conflicts) 22 files modified
l10n_mx_company_multi_address/__init__.py (+31/-0) l10n_mx_company_multi_address/__openerp__.py (+54/-0) l10n_mx_company_multi_address/account_journal.py (+80/-0) l10n_mx_company_multi_address/account_journal_view.xml (+21/-0) l10n_mx_company_multi_address/invoice.py (+154/-0) l10n_mx_company_multi_address/invoice_view_address.xml (+27/-0) l10n_mx_company_multi_address/res_company.py (+60/-0) l10n_mx_company_multi_address/res_company_view.xml (+18/-0) l10n_mx_facturae/__openerp__.py (+1/-1) l10n_mx_facturae/invoice.py (+25/-18) l10n_mx_facturae/report/invoice_facturae_pdf.py (+2/-2) l10n_mx_facturae/report/invoice_facturae_pdf.rml (+154/-154) l10n_mx_facturae_22/invoice.py (+5/-5) l10n_mx_facturae_cbb/report/invoice_facturae_pdf.py (+2/-2) l10n_mx_facturae_cbb/report/invoice_facturae_pdf.rml (+180/-8) l10n_mx_facturae_cer/invoice.py (+1/-1) l10n_mx_facturae_cer/res_company.py (+7/-11) l10n_mx_facturae_pac_sf/invoice.py (+3/-3) l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.py (+2/-2) l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.rml (+183/-183) l10n_mx_facturae_seq/__openerp__.py (+1/-0) l10n_mx_facturae_seq/invoice.py (+1/-1) Text conflict in l10n_mx_facturae_cbb/report/invoice_facturae_pdf.rml Contents conflict in l10n_mx_facturae_cbb/report/invoice_facturae_pdf.sxw |
To merge this branch: | bzr merge lp:~vauxoo/openerp-mexico-localization/l10n_mx_company_multi_address_dev_luis |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Moisés López - http://www.vauxoo.com | Pending | ||
Rodolfo Lopez | Pending | ||
Isaac López Zúñiga | Pending | ||
Review via email: mp+143589@code.launchpad.net |
Commit message
Description of the change
Se agrego el modulo l10n_mx_
Unmerged revisions
- 229. By Luis Torres - http://www.vauxoo.com
-
[IMP][l10n_
mx_facturae_ cer]Validate that certificate is from company_emitter - 228. By Luis Torres - http://www.vauxoo.com
-
[IMP][l10n_
mx_facturae_ pac_sf] Add in search from pacs validations for that the pacs belog that company to invoice and is active - 227. By Luis Torres - http://www.vauxoo.com
-
[FIX][l10n_
mx_facturae_ 22]Change reference where take datasfor xml, in LugarExpedicion - 226. By Luis Torres - http://www.vauxoo.com
-
[IMP][l10n_
mx_company_ multi_address] Commented function
[IMP][l10n_mx_facturae_ 22]Add dependens and change reference where take data company
[IMP][l10n_mx_facturae] Add validation that have address for invoice - 225. By Luis Torres - http://www.vauxoo.com
-
[IMP][l10n_
mx_facturae] Change reference where take data for xml - 224. By Luis Torres - http://www.vauxoo.com
-
[FIX][l10n_
mx_facturae] Change reference where take datas for xml - 223. By Luis Torres - http://www.vauxoo.com
-
[FIX][l10n_
mx_facturae_ pac_sf] Delete line that not is used - 222. By Luis Torres - http://www.vauxoo.com
-
[IMP]Change dependens in modules
- 221. By Luis Torres - http://www.vauxoo.com
-
[IMP][l10n_
mx_facturae] Change reference to company_id by company_emitted_id for xml by facturae - 220. By Luis Torres - http://www.vauxoo.com
-
[IMP][l10n_
mx_facturae_ cbb]Change reference in function, field company_id by company_emitted_id
Preview Diff
1 | === added directory 'l10n_mx_company_multi_address' |
2 | === added file 'l10n_mx_company_multi_address/__init__.py' |
3 | --- l10n_mx_company_multi_address/__init__.py 1970-01-01 00:00:00 +0000 |
4 | +++ l10n_mx_company_multi_address/__init__.py 2013-01-16 20:14:21 +0000 |
5 | @@ -0,0 +1,31 @@ |
6 | + |
7 | +# -*- encoding: utf-8 -*- |
8 | +########################################################################### |
9 | +# Module Writen to OpenERP, Open Source Management Solution |
10 | +# |
11 | +# Copyright (c) 2012 Vauxoo - http://www.vauxoo.com/ |
12 | +# All Rights Reserved. |
13 | +# info Vauxoo (info@vauxoo.com) |
14 | +############################################################################ |
15 | +# Coded by: moylop260 (moylop260@vauxoo.com) |
16 | +# Launchpad Project Manager for Publication: Nhomar Hernandez - nhomar@vauxoo.com |
17 | +############################################################################ |
18 | +# |
19 | +# This program is free software: you can redistribute it and/or modify |
20 | +# it under the terms of the GNU Affero General Public License as |
21 | +# published by the Free Software Foundation, either version 3 of the |
22 | +# License, or (at your option) any later version. |
23 | +# |
24 | +# This program is distributed in the hope that it will be useful, |
25 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
26 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
27 | +# GNU Affero General Public License for more details. |
28 | +# |
29 | +# You should have received a copy of the GNU Affero General Public License |
30 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
31 | +# |
32 | +############################################################################## |
33 | + |
34 | +import res_company |
35 | +import invoice |
36 | +import account_journal |
37 | |
38 | === added file 'l10n_mx_company_multi_address/__openerp__.py' |
39 | --- l10n_mx_company_multi_address/__openerp__.py 1970-01-01 00:00:00 +0000 |
40 | +++ l10n_mx_company_multi_address/__openerp__.py 2013-01-16 20:14:21 +0000 |
41 | @@ -0,0 +1,54 @@ |
42 | +# -*- encoding: utf-8 -*- |
43 | +########################################################################### |
44 | +# Module Writen to OpenERP, Open Source Management Solution |
45 | +# |
46 | +# Copyright (c) 2012 Vauxoo - http://www.vauxoo.com/ |
47 | +# All Rights Reserved. |
48 | +# info Vauxoo (info@vauxoo.com) |
49 | +############################################################################ |
50 | +# Coded by: moylop260 (moylop260@vauxoo.com) |
51 | +# Launchpad Project Manager for Publication: Nhomar Hernandez - nhomar@vauxoo.com |
52 | +############################################################################ |
53 | +# |
54 | +# This program is free software: you can redistribute it and/or modify |
55 | +# it under the terms of the GNU Affero General Public License as |
56 | +# published by the Free Software Foundation, either version 3 of the |
57 | +# License, or (at your option) any later version. |
58 | +# |
59 | +# This program is distributed in the hope that it will be useful, |
60 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
61 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
62 | +# GNU Affero General Public License for more details. |
63 | +# |
64 | +# You should have received a copy of the GNU Affero General Public License |
65 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
66 | +# |
67 | +############################################################################## |
68 | + |
69 | +{ |
70 | + "name" : "Multiaddress para una misma compañia", |
71 | + "version" : "1.0", |
72 | + "author" : "Vauxoo", |
73 | + "category" : "Localization/Mexico", |
74 | + "description" : """This module allows the management of multiaddress for "factura electronica" whitout multicompany scheme |
75 | + """, |
76 | + "website" : "http://www.vauxoo.com/", |
77 | + "license" : "AGPL-3", |
78 | + "depends" : ["account",#"l10n_mx_facturae_22", |
79 | + ], |
80 | + "init_xml" : [], |
81 | + "demo_xml" : [], |
82 | + "update_xml" : [ |
83 | + #'security/ir.model.access.csv', |
84 | + "invoice_view_address.xml", |
85 | + |
86 | + #"ir_sequence_view.xml", |
87 | + #"res_company_view6.xml", |
88 | + #"invoice_view.xml", |
89 | + "res_company_view.xml", |
90 | + "account_journal_view.xml", |
91 | + #"partner_address_view.xml", |
92 | + ], |
93 | + "installable" : True, |
94 | + "active" : False, |
95 | +} |
96 | |
97 | === added file 'l10n_mx_company_multi_address/account_journal.py' |
98 | --- l10n_mx_company_multi_address/account_journal.py 1970-01-01 00:00:00 +0000 |
99 | +++ l10n_mx_company_multi_address/account_journal.py 2013-01-16 20:14:21 +0000 |
100 | @@ -0,0 +1,80 @@ |
101 | +# -*- encoding: utf-8 -*- |
102 | +########################################################################### |
103 | +# Module Writen to OpenERP, Open Source Management Solution |
104 | +# |
105 | +# Copyright (c) 2012 Vauxoo - http://www.vauxoo.com/ |
106 | +# All Rights Reserved. |
107 | +# info Vauxoo (info@vauxoo.com) |
108 | +############################################################################ |
109 | +# Coded by: Isaac Lopez (isaac@vauxoo.com) |
110 | +# Moises Lopez (moylop260@vauxoo.com) |
111 | +############################################################################ |
112 | +# |
113 | +# This program is free software: you can redistribute it and/or modify |
114 | +# it under the terms of the GNU Affero General Public License as |
115 | +# published by the Free Software Foundation, either version 3 of the |
116 | +# License, or (at your option) any later version. |
117 | +# |
118 | +# This program is distributed in the hope that it will be useful, |
119 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
120 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
121 | +# GNU Affero General Public License for more details. |
122 | +# |
123 | +# You should have received a copy of the GNU Affero General Public License |
124 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
125 | +# |
126 | +############################################################################## |
127 | +from osv import fields |
128 | +from osv import osv |
129 | + |
130 | +class account_journal(osv.osv): |
131 | + _inherit='account.journal' |
132 | + |
133 | + _columns = { |
134 | + 'address_invoice_company_id': fields.many2one('res.partner.address', 'Invoice Company Address', domain="[('type', '=', 'invoice')]"), |
135 | + 'company2_id': fields.many2one("res.company", 'Company Emitter', help="Si este campo es llenado, en la factura electonica se tomaran los datos de esta compañia."), |
136 | + } |
137 | +account_journal() |
138 | + |
139 | + |
140 | + |
141 | + |
142 | + |
143 | + |
144 | + |
145 | + |
146 | + |
147 | + |
148 | + |
149 | + |
150 | + |
151 | + |
152 | + |
153 | + |
154 | + |
155 | + |
156 | + |
157 | + |
158 | + |
159 | + |
160 | + |
161 | + |
162 | + |
163 | + |
164 | + |
165 | + |
166 | + |
167 | + |
168 | + |
169 | + |
170 | + |
171 | + |
172 | + |
173 | + |
174 | + |
175 | + |
176 | + |
177 | + |
178 | + |
179 | + |
180 | + |
181 | |
182 | === added file 'l10n_mx_company_multi_address/account_journal_view.xml' |
183 | --- l10n_mx_company_multi_address/account_journal_view.xml 1970-01-01 00:00:00 +0000 |
184 | +++ l10n_mx_company_multi_address/account_journal_view.xml 2013-01-16 20:14:21 +0000 |
185 | @@ -0,0 +1,21 @@ |
186 | +<?xml version="1.0"?> |
187 | +<openerp> |
188 | + <data> |
189 | + |
190 | + <record model="ir.ui.view" id="view_account_journal_view_form_inh_multisuc"> |
191 | + <field name="name">view.account.journal.view.form.inh.multisuc</field> |
192 | + <field name="model">account.journal</field> |
193 | + <field name="inherit_id" ref="account.view_account_journal_form"/> |
194 | + <field name="type">form</field> |
195 | + <field name="arch" type="xml"> |
196 | + <field name="group_invoice_lines" position="after"> |
197 | + <field name="address_invoice_company_id"/> |
198 | + </field> |
199 | + <xpath expr="/form/notebook/page[@string='General Information']/group/field[@name='company_id']" position="after"> |
200 | + <field name="company2_id"/> |
201 | + </xpath> |
202 | + </field> |
203 | + </record> |
204 | + |
205 | + </data> |
206 | +</openerp> |
207 | |
208 | === added file 'l10n_mx_company_multi_address/invoice.py' |
209 | --- l10n_mx_company_multi_address/invoice.py 1970-01-01 00:00:00 +0000 |
210 | +++ l10n_mx_company_multi_address/invoice.py 2013-01-16 20:14:21 +0000 |
211 | @@ -0,0 +1,154 @@ |
212 | +# -*- encoding: utf-8 -*- |
213 | +########################################################################### |
214 | +# Module Writen to OpenERP, Open Source Management Solution |
215 | +# |
216 | +# Copyright (c) 2012 Vauxoo - http://www.vauxoo.com/ |
217 | +# All Rights Reserved. |
218 | +# info Vauxoo (info@vauxoo.com) |
219 | +############################################################################ |
220 | +# Coded by: Fernando Irene Garcia (fernando@vauxoo.com) |
221 | +############################################################################ |
222 | +# |
223 | +# This program is free software: you can redistribute it and/or modify |
224 | +# it under the terms of the GNU Affero General Public License as |
225 | +# published by the Free Software Foundation, either version 3 of the |
226 | +# License, or (at your option) any later version. |
227 | +# |
228 | +# This program is distributed in the hope that it will be useful, |
229 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
230 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
231 | +# GNU Affero General Public License for more details. |
232 | +# |
233 | +# You should have received a copy of the GNU Affero General Public License |
234 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
235 | +# |
236 | +############################################################################## |
237 | +from osv import fields |
238 | +from osv import osv |
239 | + |
240 | +class account_invoice(osv.osv): |
241 | + _inherit='account.invoice' |
242 | + |
243 | + def _get_address_issued_invoice(self, cr, uid, ids, name, args, context=None): |
244 | + res = {} |
245 | + journal_obj = self.pool.get('account.journal') |
246 | + for id_ in ids: |
247 | + data = self.browse(cr, uid, id_, context=context) |
248 | + journal_id = data.journal_id.id |
249 | + data_journal = journal_obj.browse(cr, uid, journal_id, context=context) |
250 | + a = data_journal.address_invoice_company_id and data_journal.address_invoice_company_id.id or False |
251 | + b = data_journal.company2_id and data_journal.company2_id.address_invoice_parent_company_id and data_journal.company2_id.address_invoice_parent_company_id.id or False |
252 | + c = data.company_id and data.company_id.address_invoice_parent_company_id and data.company_id.address_invoice_parent_company_id.id or False |
253 | + address_invoice = a or b or c or False |
254 | + res[data.id] = address_invoice |
255 | + return res |
256 | + |
257 | + def _get_company_emitter_invoice(self, cr, uid, ids, name, args, context=None): |
258 | + res = {} |
259 | + journal_obj = self.pool.get('account.journal') |
260 | + for id_ in ids: |
261 | + data = self.browse(cr, uid, id_, context=context) |
262 | + journal_id = data.journal_id.id |
263 | + data_journal = journal_obj.browse(cr, uid, journal_id, context=context) |
264 | + company_invoice = data_journal.company2_id and data_journal.company2_id.id or data.company_id and data.company_id.id or False |
265 | + res[data.id] = company_invoice |
266 | + return res |
267 | + |
268 | + _columns = { |
269 | + #~ 'company2_id': fields.many2one("res.company", 'Company Emitter', readonly=True, states={'draft':[('readonly',False)]}, help="Si este campo es llenado, en la factura electonica se tomaran los datos de esta compañia."), |
270 | + #~ 'address_invoice_company_id': fields.many2one('res.partner.address', 'Invoice Company Address', readonly=True, states={'draft':[('readonly',False)]}, domain="[('type', '=', 'invoice'), ('company_id', '=', company_id)]"), |
271 | + 'address_issued_id' : fields.function(_get_address_issued_invoice, type="many2one", relation='res.partner.address', string='Address Issued Invoice'), |
272 | + 'company_emitter_id' : fields.function(_get_company_emitter_invoice, type="many2one", relation='res.company', string='Company Emitter Invoice') |
273 | + } |
274 | + |
275 | + def ____________________________get_facturae_invoice_dict_data(self, cr, uid, ids, context={}): |
276 | + invoice_data_parents = super(account_invoice,self)._get_facturae_invoice_dict_data(cr,uid,ids,context) |
277 | + invoice = self.browse(cr, uid, ids)[0] |
278 | + invoice_data_parents[0]['Comprobante']['Emisor'] = {'rfc': (invoice.company_id.partner_id._columns.has_key('vat_split') and invoice.company_id.partner_id.vat_split or invoice.company_id.partner_id.vat or '').replace('-', ' ').replace(' ',''),'nombre': invoice.company_id.address_invoice_parent_company_id.name or '' } |
279 | + invoice_data_parents[0]['Comprobante']['Emisor']['DomicilioFiscal'] = {'calle': invoice.company_id.address_invoice_parent_company_id.street and invoice.company_id.address_invoice_parent_company_id.street.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or '', |
280 | + 'noExterior': invoice.company_id.address_invoice_parent_company_id.street3 and invoice.company_id.address_invoice_parent_company_id.street3.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or 'N/A', |
281 | + 'noInterior': invoice.company_id.address_invoice_parent_company_id.street4 and invoice.company_id.address_invoice_parent_company_id.street4.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or 'N/A', |
282 | + 'colonia': invoice.company_id.address_invoice_parent_company_id.street2 and invoice.company_id.address_invoice_parent_company_id.street2.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or 'N/A', |
283 | + 'localidad': invoice.company_id.address_invoice_parent_company_id.city2 and invoice.company_id.address_invoice_parent_company_id.city2.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or 'N/A', |
284 | + 'municipio': invoice.company_id.address_invoice_parent_company_id.city and invoice.company_id.address_invoice_parent_company_id.city.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or '', |
285 | + 'estado': invoice.company_id.address_invoice_parent_company_id.state_id and invoice.company_id.address_invoice_parent_company_id.state_id.name and invoice.company_id.address_invoice_parent_company_id.state_id.name.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or '', |
286 | + 'pais': invoice.company_id.address_invoice_parent_company_id.country_id and invoice.company_id.address_invoice_parent_company_id.country_id.name and invoice.company_id.address_invoice_parent_company_id.country_id.name.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ')or '', |
287 | + 'codigoPostal': invoice.company_id.address_invoice_parent_company_id.zip and invoice.company_id.address_invoice_parent_company_id.zip.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or '', |
288 | + } |
289 | + |
290 | + invoice_data_parents[0]['Comprobante']['Emisor']['ExpedidoEn'] = {'calle': invoice.address_invoice_company_id.street and invoice.address_invoice_company_id.street.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or '', |
291 | + 'noExterior': invoice.address_invoice_company_id.street3 and invoice.address_invoice_company_id.street3.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or 'N/A', |
292 | + 'noInterior': invoice.address_invoice_company_id.street4 and invoice.address_invoice_company_id.street4.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or 'N/A', |
293 | + 'colonia': invoice.address_invoice_company_id.street2 and invoice.address_invoice_company_id.street2.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or 'N/A', |
294 | + 'localidad': invoice.address_invoice_company_id.city2 and invoice.address_invoice_company_id.city2.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or 'N/A', |
295 | + 'municipio': invoice.address_invoice_company_id.city and invoice.address_invoice_company_id.city.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or '', |
296 | + 'estado': invoice.address_invoice_company_id.state_id and invoice.address_invoice_company_id.state_id.name and invoice.address_invoice_company_id.state_id.name.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or '', |
297 | + 'pais': invoice.address_invoice_company_id.country_id and invoice.address_invoice_company_id.country_id.name and invoice.address_invoice_company_id.country_id.name.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ')or '', |
298 | + 'codigoPostal': invoice.address_invoice_company_id.zip and invoice.address_invoice_company_id.zip.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or '', |
299 | + } |
300 | + invoice_data_parents[0]['Comprobante']['Emisor']['RegimenFiscal'] = {'Regimen':invoice.company_id.partner_id.regimen_fiscal_id.name or ''} |
301 | + |
302 | + city = invoice.address_invoice_company_id.city and invoice.address_invoice_company_id.city.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or False |
303 | + state = invoice.address_invoice_company_id.state_id and invoice.address_invoice_company_id.state_id.name and invoice.address_invoice_company_id.state_id.name.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or False |
304 | + country = invoice.address_invoice_company_id.country_id and invoice.address_invoice_company_id.country_id.name and invoice.address_invoice_company_id.country_id.name.replace('\n\r', ' ').replace('\r\n', ' ').replace('\n', ' ').replace('\r', ' ') or False |
305 | + if city and state and country: |
306 | + address = city +', '+ state +', '+ country |
307 | + else: |
308 | + raise osv.except_osv(('Domicilio Incompleto!'),('Verifique que el domicilio de la compañia emisora del comprobante fiscal este completo (Ciudad - Estado - Pais)')) |
309 | + |
310 | + invoice_data_parents[0]['Comprobante']['LugarExpedicion'] = address |
311 | + return invoice_data_parents |
312 | + |
313 | + def onchange_journal_id(self, cr, uid, ids, journal_id=False): |
314 | + result = super(account_invoice,self).onchange_journal_id(cr,uid,ids,journal_id) |
315 | + address_id = self.pool.get('account.journal').browse(cr, uid, journal_id) or False |
316 | + if address_id and address_id.address_invoice_company_id: |
317 | + result['value'].update({'address_invoice_company_id': address_id.address_invoice_company_id.id}) |
318 | + if address_id and address_id.company2_id: |
319 | + result['value'].update({'company2_id': address_id.company2_id.id}) |
320 | + return result |
321 | + |
322 | +account_invoice() |
323 | + |
324 | + |
325 | + |
326 | + |
327 | + |
328 | + |
329 | + |
330 | + |
331 | + |
332 | + |
333 | + |
334 | + |
335 | + |
336 | + |
337 | + |
338 | + |
339 | + |
340 | + |
341 | + |
342 | + |
343 | + |
344 | + |
345 | + |
346 | + |
347 | + |
348 | + |
349 | + |
350 | + |
351 | + |
352 | + |
353 | + |
354 | + |
355 | + |
356 | + |
357 | + |
358 | + |
359 | + |
360 | + |
361 | + |
362 | + |
363 | + |
364 | + |
365 | + |
366 | |
367 | === added file 'l10n_mx_company_multi_address/invoice_view_address.xml' |
368 | --- l10n_mx_company_multi_address/invoice_view_address.xml 1970-01-01 00:00:00 +0000 |
369 | +++ l10n_mx_company_multi_address/invoice_view_address.xml 2013-01-16 20:14:21 +0000 |
370 | @@ -0,0 +1,27 @@ |
371 | +<?xml version="1.0"?> |
372 | +<openerp> |
373 | + <data> |
374 | + |
375 | + <record model="ir.ui.view" id="account_invoice_form_inh_l10n_mx_facturae_multisuc"> |
376 | + <field name="name">account.invoice.form.inh_l10n_mx_facturae_multisuc</field> |
377 | + <field name="model">account.invoice</field> |
378 | + <field name="inherit_id" ref="account.invoice_form"/> |
379 | + <field name="type">form</field> |
380 | + <field name="arch" type="xml"> |
381 | + <xpath expr="/form/notebook/page[@string='Other Info']/field[@name='company_id']" position="after"> |
382 | +<!-- |
383 | + <field name="company2_id"/> |
384 | + <field name="address_invoice_company_id"/> |
385 | +--> |
386 | + <field name="address_issued_id"/> |
387 | + <field name="company_emitter_id"/> |
388 | + </xpath> |
389 | + |
390 | + <field name="journal_id" position="replace"> |
391 | + <field name="journal_id" groups="base.group_user" on_change="onchange_journal_id(journal_id)" widget="selection"/> |
392 | + </field> |
393 | + </field> |
394 | + </record> |
395 | + |
396 | + </data> |
397 | +</openerp> |
398 | |
399 | === added file 'l10n_mx_company_multi_address/res_company.py' |
400 | --- l10n_mx_company_multi_address/res_company.py 1970-01-01 00:00:00 +0000 |
401 | +++ l10n_mx_company_multi_address/res_company.py 2013-01-16 20:14:21 +0000 |
402 | @@ -0,0 +1,60 @@ |
403 | +# -*- encoding: utf-8 -*- |
404 | +########################################################################### |
405 | +# Module Writen to OpenERP, Open Source Management Solution |
406 | +# |
407 | +# Copyright (c) 2012 Vauxoo - http://www.vauxoo.com/ |
408 | +# All Rights Reserved. |
409 | +# info Vauxoo (info@vauxoo.com) |
410 | +############################################################################ |
411 | +# Coded by: moylop260 (moylop260@vauxoo.com) |
412 | +# Coded by: isaac (isaac@vauxoo.com) |
413 | +############################################################################ |
414 | +# |
415 | +# This program is free software: you can redistribute it and/or modify |
416 | +# it under the terms of the GNU Affero General Public License as |
417 | +# published by the Free Software Foundation, either version 3 of the |
418 | +# License, or (at your option) any later version. |
419 | +# |
420 | +# This program is distributed in the hope that it will be useful, |
421 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
422 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
423 | +# GNU Affero General Public License for more details. |
424 | +# |
425 | +# You should have received a copy of the GNU Affero General Public License |
426 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
427 | +# |
428 | +############################################################################## |
429 | + |
430 | +from osv import osv |
431 | +from osv import fields |
432 | +from tools.translate import _ |
433 | +import os |
434 | +import time |
435 | + |
436 | +class res_company(osv.osv): |
437 | + _inherit = 'res.company' |
438 | + |
439 | + def get_address_invoice_parent_company_id(self, cr, uid, ids, field, arg, context=None): |
440 | + if context is None: |
441 | + context = {} |
442 | + res = {} |
443 | + partner_obj = self.pool.get('res.partner') |
444 | + companies = self.browse(cr, uid, ids, context=context) |
445 | + for company_id in companies: |
446 | + partner_parent = company_id and company_id.parent_id and company_id.parent_id.partner_id or False |
447 | + if partner_parent: |
448 | + address_id = partner_obj.address_get(cr, uid, [partner_parent.id], ['invoice'])['invoice'] |
449 | + #Validar, si tiene hijos utilizar no utilizar la main, mejor utilizar la normal company_id.partner_id.id |
450 | + elif company_id.company_address_main_id: |
451 | + address_id = company_id.company_address_main_id.id |
452 | + else: |
453 | + address_id = partner_obj.address_get(cr, uid, [company_id.partner_id.id], ['invoice'])['invoice'] |
454 | + res[company_id.id] = address_id |
455 | + return res |
456 | + |
457 | + _columns = { |
458 | + 'address_invoice_parent_company_id': fields.many2one("res.partner.address", 'Invoice Company Address Parent', help="En este campo se debe colocar la dirección de la compañia matriz, independientemente si se maneja un esquema Multi-company o Multi-Address.", domain="[('type', '=', 'invoice')]"), |
459 | + } |
460 | +res_company() |
461 | + |
462 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
463 | |
464 | === added file 'l10n_mx_company_multi_address/res_company_view.xml' |
465 | --- l10n_mx_company_multi_address/res_company_view.xml 1970-01-01 00:00:00 +0000 |
466 | +++ l10n_mx_company_multi_address/res_company_view.xml 2013-01-16 20:14:21 +0000 |
467 | @@ -0,0 +1,18 @@ |
468 | +<?xml version="1.0" encoding="utf-8"?> |
469 | +<openerp> |
470 | + <data> |
471 | + |
472 | + <record model="ir.ui.view" id="view_res_company_form_inh_facturae_form1"> |
473 | + <field name="name">view.res.company.form.inh.facturae_form1</field> |
474 | + <field name="inherit_id" ref="base.view_company_form"/> |
475 | + <field name="model">res.company</field> |
476 | + <field name="type">form</field> |
477 | + <field name="arch" type="xml"> |
478 | + <field name="parent_id" position="after"> |
479 | + <field name="address_invoice_parent_company_id"/> |
480 | + </field> |
481 | + </field> |
482 | + </record> |
483 | + |
484 | + </data> |
485 | +</openerp> |
486 | |
487 | === modified file 'l10n_mx_facturae/__openerp__.py' |
488 | --- l10n_mx_facturae/__openerp__.py 2012-08-27 23:55:07 +0000 |
489 | +++ l10n_mx_facturae/__openerp__.py 2013-01-16 20:14:21 +0000 |
490 | @@ -43,7 +43,7 @@ |
491 | "website" : "http://www.vauxoo.com/", |
492 | "license" : "AGPL-3", |
493 | "depends" : ["account", "base_vat", "document", |
494 | - "l10n_mx_facturae_lib", "l10n_mx_partner_address", |
495 | + "l10n_mx_facturae_lib", #"l10n_mx_partner_address", |
496 | "l10n_mx_facturae_cer", |
497 | "l10n_mx_invoice_datetime", |
498 | "l10n_mx_invoice_tax_ref", |
499 | |
500 | === modified file 'l10n_mx_facturae/invoice.py' |
501 | --- l10n_mx_facturae/invoice.py 2013-01-04 22:49:04 +0000 |
502 | +++ l10n_mx_facturae/invoice.py 2013-01-16 20:14:21 +0000 |
503 | @@ -218,7 +218,7 @@ |
504 | if sequence_id: |
505 | sequence = sequence_obj.browse(cr, uid, [sequence_id], context)[0] |
506 | fname = "" |
507 | - fname += (invoice.company_id.partner_id and (invoice.company_id.partner_id._columns.has_key('vat_split') and invoice.company_id.partner_id.vat_split or invoice.company_id.partner_id.vat) or '') |
508 | + fname += (invoice.company_emitter_id.partner_id and (invoice.company_emitter_id.partner_id._columns.has_key('vat_split') and invoice.company_emitter_id.partner_id.vat_split or invoice.company_emitter_id.partner_id.vat) or '') |
509 | fname += '_' |
510 | number_work = invoice.number or invoice.internal_number |
511 | try: |
512 | @@ -343,7 +343,7 @@ |
513 | invoice = self.browse(cr, uid, id, context=context) |
514 | #certificate_id = invoice.company_id.certificate_id |
515 | context.update( {'date_work': invoice.date_invoice_tz} ) |
516 | - certificate_id = self.pool.get('res.company')._get_current_certificate(cr, uid, [invoice.company_id.id], context=context)[invoice.company_id.id] |
517 | + certificate_id = self.pool.get('res.company')._get_current_certificate(cr, uid, [invoice.company_emitter_id.id], context=context)[invoice.company_emitter_id.id] |
518 | certificate_id = certificate_id and self.pool.get('res.company.facturae.certificate').browse(cr, uid, [certificate_id], context=context)[0] or False |
519 | |
520 | if certificate_id: |
521 | @@ -799,27 +799,34 @@ |
522 | #Termina seccion: Comprobante |
523 | #Inicia seccion: Emisor |
524 | partner_obj = self.pool.get('res.partner') |
525 | - partner = invoice.company_id and invoice.company_id.partner_id and invoice.company_id.partner_id or False |
526 | - partner_parent = (invoice.company_id and invoice.company_id.parent_id and invoice.company_id.parent_id.partner_id) or (invoice.company_id.partner_id and invoice.company_id.partner_id) or False |
527 | - |
528 | - address_invoice_id = partner_obj.address_get(cr, uid, [partner.id], ['invoice'])['invoice'] |
529 | - address_invoice_parent_id = partner_obj.address_get(cr, uid, [partner_parent.id], ['invoice'])['invoice'] |
530 | - |
531 | - if not address_invoice_id: |
532 | - raise osv.except_osv('Warning !', 'No se tiene definido los datos de facturacion del partner [%s].\n%s !'%(partner.name, msg2)) |
533 | - |
534 | - address_invoice = self.pool.get('res.partner.address').browse(cr, uid, address_invoice_id, context) |
535 | - address_invoice_parent = self.pool.get('res.partner.address').browse(cr, uid, address_invoice_parent_id, context) |
536 | - |
537 | - if not partner.vat: |
538 | - raise osv.except_osv('Warning !', 'No se tiene definido el RFC del partner [%s].\n%s !'%(partner.name, msg2)) |
539 | + #~ partner = invoice.address_issued_id and invoice.address_issued_id.partner_id or False |
540 | + address_invoice = invoice.address_issued_id or False |
541 | + address_invoice_parent = invoice.company_emitter_id and invoice.company_emitter_id.address_invoice_parent_company_id or False |
542 | + |
543 | + if not address_invoice: |
544 | + raise osv.except_osv('Warning !', 'No se tiene definida la direccion emisora !') |
545 | + |
546 | + if not address_invoice_parent: |
547 | + raise osv.except_osv('Warning !', 'No se ha definido una compañia !') |
548 | + |
549 | + #~ address_invoice_id = partner_obj.address_get(cr, uid, [partner.id], ['invoice'])['invoice'] |
550 | + #~ address_invoice_parent_id = partner_obj.address_get(cr, uid, [partner_parent.id], ['invoice'])['invoice'] |
551 | + |
552 | + #~ if not address_invoice_id: |
553 | + #~ raise osv.except_osv('Warning !', 'No se tiene definido los datos de facturacion del partner [%s].\n%s !'%(partner.name, msg2)) |
554 | + |
555 | + #~ address_invoice = self.pool.get('res.partner.address').browse(cr, uid, address_invoice_id, context) |
556 | + #~ address_invoice_parent = self.pool.get('res.partner.address').browse(cr, uid, address_invoice_parent_id, context) |
557 | + |
558 | + #~ if not partner.vat: |
559 | + #~ raise osv.except_osv('Warning !', 'No se tiene definido el RFC del partner [%s].\n%s !'%(partner.name, msg2)) |
560 | |
561 | invoice_data = invoice_data_parent['Comprobante'] |
562 | invoice_data['Emisor'] = {} |
563 | invoice_data['Emisor'].update({ |
564 | |
565 | - 'rfc': ((partner_parent._columns.has_key('vat_split') and partner_parent.vat_split or partner_parent.vat) or '').replace('-', ' ').replace(' ',''), |
566 | - 'nombre': address_invoice_parent.name or partner_parent.name or '', |
567 | + 'rfc': ((address_invoice_parent.partner_id._columns.has_key('vat_split') and address_invoice_parent.partner_id.vat_split or address_invoice_parent.partner_id.vat) or '').replace('-', ' ').replace(' ',''), |
568 | + 'nombre': address_invoice_parent.name or address_invoice_parent.partner_id.name or '', |
569 | #Obtener domicilio dinamicamente |
570 | #virtual_invoice.append( (invoice.company_id and invoice.company_id.partner_id and invoice.company_id.partner_id.vat or '').replac |
571 | |
572 | |
573 | === modified file 'l10n_mx_facturae/report/invoice_facturae_pdf.py' |
574 | --- l10n_mx_facturae/report/invoice_facturae_pdf.py 2012-08-28 23:32:57 +0000 |
575 | +++ l10n_mx_facturae/report/invoice_facturae_pdf.py 2013-01-16 20:14:21 +0000 |
576 | @@ -172,14 +172,14 @@ |
577 | partner_obj = pool.get('res.partner') |
578 | address_obj = pool.get('res.partner.address') |
579 | invoice = invoice_obj.browse(self.cr, self.uid, invoice_id) |
580 | - partner_id = invoice.company_id.parent_id and invoice.company_id.parent_id.partner_id.id or invoice.company_id.partner_id.id |
581 | + partner_id = invoice.company_emitted_id.parent_id and invoice.company_emitted_id.parent_id.partner_id.id or invoice.company_emitted_id.partner_id.id |
582 | self.invoice = invoice |
583 | #print "partner_id",partner_id |
584 | #invoice = partner_obj.browse(cr, uid, invoice_id) |
585 | address_id = partner_obj.address_get(self.cr, self.uid, [partner_id], ['invoice'])['invoice'] |
586 | self.company_address_invoice = address_obj.browse(self.cr, self.uid, address_id) |
587 | |
588 | - subpartner_id = invoice.company_id.partner_id.id |
589 | + subpartner_id = invoice.company_emitted_id.partner_id.id |
590 | if partner_id == subpartner_id: |
591 | self.subcompany_address_invoice = self.company_address_invoice |
592 | else: |
593 | |
594 | === modified file 'l10n_mx_facturae/report/invoice_facturae_pdf.rml' |
595 | --- l10n_mx_facturae/report/invoice_facturae_pdf.rml 2012-09-08 04:35:43 +0000 |
596 | +++ l10n_mx_facturae/report/invoice_facturae_pdf.rml 2013-01-16 20:14:21 +0000 |
597 | @@ -28,16 +28,6 @@ |
598 | <blockAlignment value="LEFT"/> |
599 | <blockValign value="TOP"/> |
600 | </blockTableStyle> |
601 | - <blockTableStyle id="Tabla4"> |
602 | - <blockAlignment value="LEFT"/> |
603 | - <blockValign value="TOP"/> |
604 | - <lineStyle kind="LINEBEFORE" colorName="#000000" start="0,0" stop="0,-1"/> |
605 | - <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/> |
606 | - <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/> |
607 | - <lineStyle kind="LINEAFTER" colorName="#000000" start="1,0" stop="1,-1"/> |
608 | - <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/> |
609 | - <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> |
610 | - </blockTableStyle> |
611 | <blockTableStyle id="Table1"> |
612 | <blockAlignment value="LEFT"/> |
613 | <blockValign value="TOP"/> |
614 | @@ -52,6 +42,16 @@ |
615 | <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/> |
616 | <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/> |
617 | </blockTableStyle> |
618 | + <blockTableStyle id="Tabla4"> |
619 | + <blockAlignment value="LEFT"/> |
620 | + <blockValign value="TOP"/> |
621 | + <lineStyle kind="LINEBEFORE" colorName="#000000" start="0,0" stop="0,-1"/> |
622 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/> |
623 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/> |
624 | + <lineStyle kind="LINEAFTER" colorName="#000000" start="1,0" stop="1,-1"/> |
625 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/> |
626 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> |
627 | + </blockTableStyle> |
628 | <initialize> |
629 | <paraStyle name="all" alignment="justify"/> |
630 | </initialize> |
631 | @@ -59,31 +59,29 @@ |
632 | <paraStyle name="P2" fontName="Helvetica" fontSize="8.0" leading="10"/> |
633 | <paraStyle name="P3" fontName="Helvetica" fontSize="8.0" leading="10"/> |
634 | <paraStyle name="P4" fontName="Helvetica" fontSize="10.0" leading="13"/> |
635 | - <paraStyle name="P5" fontName="Helvetica" textColor="#280099"/> |
636 | - <paraStyle name="P6" fontName="Helvetica" alignment="RIGHT" textColor="#280099"/> |
637 | - <paraStyle name="P7" fontName="Helvetica" textColor="#ff3333"/> |
638 | - <paraStyle name="P8" fontName="Helvetica" fontSize="12.0" leading="15" textColor="#800000"/> |
639 | - <paraStyle name="P9" fontName="Helvetica" fontSize="2.0" leading="3" textColor="#800000"/> |
640 | - <paraStyle name="P10" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
641 | - <paraStyle name="P11" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
642 | - <paraStyle name="P12" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
643 | - <paraStyle name="P10_enc" fontName="Helvetica-Bold" fontSize="6.0" leading="8" alignment="CENTER"/> |
644 | - <paraStyle name="P11_txt" fontName="Helvetica" fontSize="6.0" leading="8" alignment="CENTER"/> |
645 | - <paraStyle name="P13" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
646 | - <paraStyle name="P14" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/> |
647 | - <paraStyle name="P15" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
648 | - <paraStyle name="P16" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
649 | - <paraStyle name="P17" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
650 | - <paraStyle name="P18" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="18.0" leading="22" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
651 | - <paraStyle name="P19" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
652 | - <paraStyle name="P20" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
653 | - <paraStyle name="P21" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
654 | - <paraStyle name="P22" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#000000"/> |
655 | - <paraStyle name="P23" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
656 | - <paraStyle name="P24" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" spaceBefore="0.0" spaceAfter="0.0"/> |
657 | - <paraStyle name="P25" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
658 | - <paraStyle name="P26" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
659 | - <paraStyle name="P27" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/> |
660 | + <paraStyle name="P5" fontName="Helvetica" fontSize="6.0" leading="8" alignment="CENTER"/> |
661 | + <paraStyle name="P6" fontName="Helvetica-Bold" fontSize="6.0" leading="8" alignment="CENTER"/> |
662 | + <paraStyle name="P7" fontName="Helvetica" textColor="#280099"/> |
663 | + <paraStyle name="P8" fontName="Helvetica" alignment="RIGHT" textColor="#280099"/> |
664 | + <paraStyle name="P9" fontName="Helvetica" textColor="#ff3333"/> |
665 | + <paraStyle name="P10" fontName="Helvetica" fontSize="12.0" leading="15" textColor="#800000"/> |
666 | + <paraStyle name="P11" fontName="Helvetica" fontSize="2.0" leading="3" textColor="#800000"/> |
667 | + <paraStyle name="P12" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
668 | + <paraStyle name="P13" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
669 | + <paraStyle name="P14" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
670 | + <paraStyle name="P15" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
671 | + <paraStyle name="P16" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/> |
672 | + <paraStyle name="P17" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
673 | + <paraStyle name="P18" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
674 | + <paraStyle name="P19" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
675 | + <paraStyle name="P20" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
676 | + <paraStyle name="P21" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
677 | + <paraStyle name="P22" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
678 | + <paraStyle name="P23" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
679 | + <paraStyle name="P24" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="18.0" leading="22" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
680 | + <paraStyle name="P25" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#000000"/> |
681 | + <paraStyle name="P26" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
682 | + <paraStyle name="P27" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" spaceBefore="0.0" spaceAfter="0.0"/> |
683 | <paraStyle name="Standard" fontName="Helvetica"/> |
684 | <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/> |
685 | <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/> |
686 | @@ -100,60 +98,59 @@ |
687 | </stylesheet> |
688 | <story> |
689 | <section> |
690 | - <para style="P15">[[ repeatIn(objects,'o') ]] <font face="Helvetica" size="9.0">[[ set_global_data(o) ]]</font></para> |
691 | - <para style="P18">[[ o.company_id.parent_id and o.company_id.parent_id.partner_id.name or o.company_id.partner_id.name ]]</para> |
692 | + <para style="P18">[[ repeatIn(objects,'o') ]] <font face="Helvetica" size="9.0">[[ set_global_data(o) ]]</font></para> |
693 | + <para style="P24">[[ o.company_emitter_id.address_invoice_parent_company_id.name or '' ]]</para> |
694 | <blockTable colWidths="125.0,207.0,166.0" style="Tabla1"> |
695 | <tr> |
696 | <td> |
697 | - <para style="P23">[[ o.company_id.logo and setTag('para','image',{'width':'120.0','height':'80.0'}) ]] [[ o.company_id.logo ]]</para> |
698 | - </td> |
699 | - <td> |
700 | - <para style="P17">[[ company_address()['name'] or o.company_id.partner_id.name ]]</para> |
701 | - <para style="P20"> |
702 | - <font color="white"> </font> |
703 | - </para> |
704 | - <para style="P17">Calle: [[ company_address()['street'] or '' ]] Nro. Ext: [[ company_address()['street3'] or '' ]] Int: [[ company_address()['street4'] or '' ]]</para> |
705 | - <para style="P20"> |
706 | - <font color="white"> </font> |
707 | - </para> |
708 | - <para style="P17">Colonia: [[ company_address()['street2'] or '' ]]</para> |
709 | - <para style="P20"> |
710 | - <font color="white"> </font> |
711 | - </para> |
712 | - <para style="P17">Ciudad: [[ company_address()['city'] or '' ]] Estado: [[ company_address()['state_id'] and company_address()['state_id']['name'] or '' ]]</para> |
713 | - <para style="P21"> |
714 | - <font color="white"> </font> |
715 | - </para> |
716 | - <para style="P17">Localidad: [[ company_address()['city2'] or '' ]]</para> |
717 | - <para style="P20"> |
718 | - <font color="white"> </font> |
719 | - </para> |
720 | - <para style="P17">CP: [[ company_address()['zip'] or '' ]]</para> |
721 | - <para style="P20"> |
722 | - <font color="white"> </font> |
723 | - </para> |
724 | - <para style="P17">RFC: [[ o.company_id.partner_id._columns.has_key('vat_split') and o.company_id.partner_id.vat_split or o.company_id.partner_id.vat ]]</para> |
725 | - <para style="P20"> |
726 | - <font color="white"> </font> |
727 | - </para> |
728 | - <para style="P19">Teléfono(s): </para> |
729 | - <para style="P19">[[ company_address()['phone'] or removeParentNode('para') ]]</para> |
730 | - <para style="P19">[[ company_address()['fax'] or removeParentNode('para') ]]</para> |
731 | - <para style="P19">[[ company_address()['mobile'] or removeParentNode('para') ]]</para> |
732 | - </td> |
733 | - <td> |
734 | - <para style="P7"> |
735 | + <para style="P26">[[ o.company_emitter_id.logo and setTag('para','image',{'width':'120.0','height':'80.0'}) ]] [[ o.company_emitter_id.logo ]]</para> |
736 | + </td> |
737 | + <td> |
738 | + <para style="P22"> |
739 | + <font color="white"> </font> |
740 | + </para> |
741 | + <para style="P20">Calle: [[ o.company_emitter_id.address_invoice_parent_company_id.street or '' ]] Nro. Ext: [[ o.company_emitter_id.address_invoice_parent_company_id.street3 or '' ]] Int: [[ o.company_emitter_id.address_invoice_parent_company_id.street4 or '' ]]</para> |
742 | + <para style="P22"> |
743 | + <font color="white"> </font> |
744 | + </para> |
745 | + <para style="P20">Colonia: [[ o.company_emitter_id.address_invoice_parent_company_id.street2 or '' ]]</para> |
746 | + <para style="P22"> |
747 | + <font color="white"> </font> |
748 | + </para> |
749 | + <para style="P20">Ciudad: [[ o.company_emitter_id.address_invoice_parent_company_id.city or '' ]] Estado: [[ o.company_emitter_id.address_invoice_parent_company_id.state_id and o.company_emitter_id.address_invoice_parent_company_id.state_id.name or '' ]]</para> |
750 | + <para style="P23"> |
751 | + <font color="white"> </font> |
752 | + </para> |
753 | + <para style="P20">Localidad: [[ o.company_emitter_id.address_invoice_parent_company_id.city2 or '' ]]</para> |
754 | + <para style="P22"> |
755 | + <font color="white"> </font> |
756 | + </para> |
757 | + <para style="P20">CP: [[ o.company_emitter_id.address_invoice_parent_company_id.zip or '' ]]</para> |
758 | + <para style="P22"> |
759 | + <font color="white"> </font> |
760 | + </para> |
761 | + <para style="P20">RFC: [[ o.company_emitter_id.partner_id._columns.has_key('vat_split') and o.company_emitter_id.partner_id.vat_split or o.company_emitter_id.partner_id.vat ]]</para> |
762 | + <para style="P22"> |
763 | + <font color="white"> </font> |
764 | + </para> |
765 | + <para style="P21">Teléfono(s): </para> |
766 | + <para style="P21">[[ o.company_emitter_id.address_invoice_parent_company_id.phone or removeParentNode('para') ]]</para> |
767 | + <para style="P21">[[ o.company_emitter_id.address_invoice_parent_company_id.fax or removeParentNode('para') ]]</para> |
768 | + <para style="P21">[[ o.company_emitter_id.address_invoice_parent_company_id.mobile or removeParentNode('para') ]]</para> |
769 | + </td> |
770 | + <td> |
771 | + <para style="P9"> |
772 | <font face="Helvetica" size="18.0">Folio: [[ ( o.type in ['out_invoice', 'out_refund'] ) and ( o.state in ['open', 'paid', 'cancel'] ) and o.number or 'SIN FOLIO O ESTATUS NO VALIDO' ]]</font> |
773 | </para> |
774 | - <para style="P9"> |
775 | - <font color="white"> </font> |
776 | - </para> |
777 | - <para style="P8">[[ o.state == 'cancel' and 'FACTURA CANCELADA' ]]</para> |
778 | - <para style="P9"> |
779 | - <font color="white"> </font> |
780 | - </para> |
781 | - <para style="Table Contents">[[ company_address()['city'] or '' ]], [[ company_address()['state_id'] and company_address()['state_id']['name'] or '' ]] a</para> |
782 | - <para style="P24">[[ o.date_invoice_tz or '' ]]</para> |
783 | + <para style="P11"> |
784 | + <font color="white"> </font> |
785 | + </para> |
786 | + <para style="P10">[[ o.state == 'cancel' and 'FACTURA CANCELADA' ]]</para> |
787 | + <para style="P11"> |
788 | + <font color="white"> </font> |
789 | + </para> |
790 | + <para style="Table Contents">[[ o. address_issued_id and o.address_issued_id.city or '' ]], [[ o.address_issued_id.state_id and o.address_issued_id.state_id.name or '' ]] a</para> |
791 | + <para style="P27">[[ o.date_invoice_tz or '' ]]</para> |
792 | <para style="Table Contents">Serie: [[ get_approval() and get_approval().serie or '' ]]</para> |
793 | <para style="Table Contents">Aprobación: [[ get_approval() and get_approval().approval_number or '' ]]</para> |
794 | <para style="Table Contents">Año Aprobación:[[ get_approval() and get_approval().approval_year or '' ]]</para> |
795 | @@ -163,7 +160,7 @@ |
796 | <blockTable colWidths="249.0,258.0" style="Tabla2"> |
797 | <tr> |
798 | <td> |
799 | - <para style="P5">Receptor</para> |
800 | + <para style="P7">Receptor</para> |
801 | <para style="Table Contents"><font face="Helvetica">Nombre: </font>[[ o.partner_id.name ]]</para> |
802 | <para style="terp_default_8"><font face="Helvetica">Dirección:</font> [[ o.address_invoice_id.street ]] No. Ext: [[ o.address_invoice_id.street3 ]] Int: [[ o.address_invoice_id.street4 ]]</para> |
803 | <para style="terp_default_8"><font face="Helvetica">Colonia:</font> [[ o.address_invoice_id.street2 or '' ]]</para> |
804 | @@ -171,47 +168,47 @@ |
805 | <para style="terp_default_8"><font face="Helvetica">Localidad: </font>[[ o.address_invoice_id.city2 or '' ]]</para> |
806 | <para style="terp_default_8"><font face="Helvetica">C.P.:</font> [[ o.address_invoice_id.zip or '' ]] </para> |
807 | <para style="terp_default_8"><font face="Helvetica">R. F. C. :</font> [[ o.partner_id._columns.has_key('vat_split') and o.partner_id.vat_split or o.partner_id.vat ]]</para> |
808 | - <para style="P22">Teléfono(s): </para> |
809 | - <para style="P16">[[ o.address_invoice_id.phone or removeParentNode('para') ]]</para> |
810 | - <para style="P16">[[ o.address_invoice_id.fax or removeParentNode('para') ]]</para> |
811 | - <para style="P16">[[ o.address_invoice_id.mobile or removeParentNode('para') ]]</para> |
812 | + <para style="P25">Teléfono(s): </para> |
813 | + <para style="P19">[[ o.address_invoice_id.phone or removeParentNode('para') ]]</para> |
814 | + <para style="P19">[[ o.address_invoice_id.fax or removeParentNode('para') ]]</para> |
815 | + <para style="P19">[[ o.address_invoice_id.mobile or removeParentNode('para') ]]</para> |
816 | </td> |
817 | <td> |
818 | <para style="Table Contents">Condición de pago: [[ format(o.payment_term and (o.payment_term.note or o.payment_term.name) or removeParentNode('para') ) ]]</para> |
819 | <para style="P3">Origen: [[ o.origin or removeParentNode('para') ]]</para> |
820 | <para style="P3">Expedido en:</para> |
821 | - <para style="P3">[[ subcompany_address()['name'] or o.company_id.partner_id.name ]]</para> |
822 | - <para style="P3">Calle: [[ subcompany_address()['street'] or '' ]] Nro. Ext: [[ subcompany_address()['street3'] or '' ]] Int: [[ subcompany_address()['street4'] or '' ]]</para> |
823 | - <para style="P3">Colonia: [[ subcompany_address()['street2'] or '' ]]</para> |
824 | - <para style="P3">Ciudad: [[ subcompany_address()['city'] or '' ]] </para> |
825 | - <para style="P3">Estado: [[ subcompany_address()['state_id'] and subcompany_address()['state_id']['name'] or '' ]]</para> |
826 | - <para style="P3">Localidad: [[ subcompany_address()['city2'] or '' ]]</para> |
827 | - <para style="P3">CP: [[ subcompany_address()['zip'] or '' ]] </para> |
828 | + <para style="P3">[[ o.address_issued_id and o.address_issued_id.name or '' ]]</para> |
829 | + <para style="P3">Calle: [[ o.address_issued_id.street or '' ]] Nro. Ext: [[ o.address_issued_id.street3 or '' ]] Int: [[ o.address_issued_id.street4 or '' ]]</para> |
830 | + <para style="P3">Colonia: [[ o.address_issued_id.street2 or '' ]]</para> |
831 | + <para style="P3">Ciudad: [[ o.address_issued_id.city or '' ]] </para> |
832 | + <para style="P3">Estado: [[ o.address_issued_id.state_id and o.address_issued_id.state_id.name or '' ]]</para> |
833 | + <para style="P3">Localidad: [[ o.address_issued_id.city2 or '' ]]</para> |
834 | + <para style="P3">CP: [[ o.address_issued_id.zip or '' ]]</para> |
835 | </td> |
836 | </tr> |
837 | </blockTable> |
838 | <blockTable colWidths="55.0,43.0,158.0,55.0,63.0,54.0,81.0" style="Tabla3"> |
839 | <tr> |
840 | <td> |
841 | - <para style="P5">Cant.</para> |
842 | - </td> |
843 | - <td> |
844 | - <para style="P5">Unidad</para> |
845 | - </td> |
846 | - <td> |
847 | - <para style="P5">Descripción</para> |
848 | - </td> |
849 | - <td> |
850 | - <para style="P5">Clave</para> |
851 | - </td> |
852 | - <td> |
853 | - <para style="P6">P.Unitario</para> |
854 | - </td> |
855 | - <td> |
856 | - <para style="P6">Dto. %</para> |
857 | - </td> |
858 | - <td> |
859 | - <para style="P6">Importe</para> |
860 | + <para style="P7">Cant.</para> |
861 | + </td> |
862 | + <td> |
863 | + <para style="P7">Unidad</para> |
864 | + </td> |
865 | + <td> |
866 | + <para style="P7">Descripción</para> |
867 | + </td> |
868 | + <td> |
869 | + <para style="P7">Clave</para> |
870 | + </td> |
871 | + <td> |
872 | + <para style="P8">P.Unitario</para> |
873 | + </td> |
874 | + <td> |
875 | + <para style="P8">Dto. %</para> |
876 | + </td> |
877 | + <td> |
878 | + <para style="P8">Importe</para> |
879 | </td> |
880 | </tr> |
881 | <tr> |
882 | @@ -245,7 +242,7 @@ |
883 | <blockTable colWidths="414.0,93.0" style="Tabla7"> |
884 | <tr> |
885 | <td> |
886 | - <para style="P6">Suma $</para> |
887 | + <para style="P8">Suma $</para> |
888 | </td> |
889 | <td> |
890 | <para style="P1">[[formatLang( ( exists_key('global_discount_percent') and o.global_discount_amount or 0.0 ) + (o.amount_untaxed or 0.0), digits=get_digits(dp='Account') )]]</para> |
891 | @@ -253,7 +250,7 @@ |
892 | </tr> |
893 | <tr> |
894 | <td> |
895 | - <para style="P6">Descuento: [[ exists_key('global_discount_percent') and o.global_discount_percent or removeParentNode('tr')]] %</para> |
896 | + <para style="P8">Descuento: [[ exists_key('global_discount_percent') and o.global_discount_percent or removeParentNode('tr')]] %</para> |
897 | </td> |
898 | <td> |
899 | <para style="P1">[[o.global_discount_amount and formatLang( o.global_discount_amount) or '']]</para> |
900 | @@ -261,7 +258,7 @@ |
901 | </tr> |
902 | <tr> |
903 | <td> |
904 | - <para style="P6">Sub Total $</para> |
905 | + <para style="P8">Sub Total $</para> |
906 | </td> |
907 | <td> |
908 | <para style="P1">[[ formatLang(o.amount_untaxed) ]]</para> |
909 | @@ -269,9 +266,9 @@ |
910 | </tr> |
911 | <tr> |
912 | <td> |
913 | - <para style="P6"> |
914 | + <para style="P8"> |
915 | <font face="Helvetica" size="6.0">[[ repeatIn( get_taxes(), 'tax' ) ]]</font> |
916 | - <font face="Helvetica">[[ tax['name2'] ]] ([[ round( float( tax['tax_percent'] ) ) or '0.0' ]]%) $</font> |
917 | + <font face="Helvetica">[[ tax['name2'] ]] ([[ round( float( tax['tax_percent'] ) ) ]]%) $</font> |
918 | </para> |
919 | </td> |
920 | <td> |
921 | @@ -280,7 +277,7 @@ |
922 | </tr> |
923 | <tr> |
924 | <td> |
925 | - <para style="P6"> |
926 | + <para style="P8"> |
927 | <font face="Helvetica" size="6.0">[[ repeatIn( get_taxes_ret(), 'tax_ret' ) ]]</font> |
928 | <font face="Helvetica">[[ tax_ret['name2'] ]] Ret ([[ round( float( tax_ret['tax_percent'] ),2 )*-1 ]]%) $</font> |
929 | </para> |
930 | @@ -291,7 +288,7 @@ |
931 | </tr> |
932 | <tr> |
933 | <td> |
934 | - <para style="P6">Total $</para> |
935 | + <para style="P8">Total $</para> |
936 | </td> |
937 | <td> |
938 | <para style="P1">[[ formatLang(o.amount_total) ]]</para> |
939 | @@ -299,8 +296,8 @@ |
940 | </tr> |
941 | <tr> |
942 | <td> |
943 | - <para style="P13">IMPORTE CON LETRA:</para> |
944 | - <para style="P11">[[ o.amount_to_text ]]</para> |
945 | + <para style="P15">IMPORTE CON LETRA:</para> |
946 | + <para style="P13">[[ o.amount_to_text ]]</para> |
947 | </td> |
948 | <td> |
949 | <para style="P1"> |
950 | @@ -309,53 +306,56 @@ |
951 | </td> |
952 | </tr> |
953 | </blockTable> |
954 | - <para style="P10">PAGO EN UNA SOLA EXHIBICIÓN</para> |
955 | - <para style="P10"> |
956 | - <font color="white"> </font> |
957 | - </para> |
958 | - <para style="P10">“Este documento es una representacion impresa de un CFD” </para> |
959 | - <para style="P10">CFD, Comprobante Fiscal Digital</para> |
960 | - <para style="P10"> |
961 | - <font color="white"> </font> |
962 | - </para> |
963 | - <blockTable colWidths="157.0,175.0,166.0" style="Table1"> |
964 | + <para style="P12">PAGO EN UNA SOLA EXHIBICIÓN</para> |
965 | + <para style="P12"> |
966 | + <font color="white"> </font> |
967 | + </para> |
968 | + <para style="P12">“Este documento es una representacion impresa de un CFD” </para> |
969 | + <para style="P12">CFD, Comprobante Fiscal Digital</para> |
970 | + <para style="P12"> |
971 | + <font color="white"> </font> |
972 | + </para> |
973 | + <blockTable colWidths="166.0,166.0,166.0" style="Table1"> |
974 | <tr> |
975 | <td> |
976 | - <para style="P10_enc">Régimen Fiscal </para> |
977 | - <para style="P11_txt">[[o.company_id.partner_id.regimen_fiscal_id and o.company_id.partner_id.regimen_fiscal_id.name or 'No identificado']]</para> |
978 | - </td> |
979 | - <td> |
980 | - <para style="P10_enc">Método de Pago: </para> |
981 | - <para style="P11_txt">[[o.pay_method_id.name or 'No identificado']]</para> |
982 | - </td> |
983 | - <td> |
984 | - <para style="P10_enc">Últimos 4 dígitos de la cuenta bancaria:</para> |
985 | - <para style="P11_txt">[[o.acc_payment.last_acc_number or 'No identificado']]</para> |
986 | + <para style="P6">Régimen Fiscal:</para> |
987 | + <para style="P5">[[o.company_emitter_id.partner_id.regimen_fiscal_id and o.company_emitter_id.partner_id.regimen_fiscal_id.name or 'No identificado']]</para> |
988 | + </td> |
989 | + <td> |
990 | + <para style="P6">Método de Pago:</para> |
991 | + <para style="P5">[[o.pay_method_id.name or 'No identificado']]</para> |
992 | + </td> |
993 | + <td> |
994 | + <para style="P6">Últimos 4 dígitos de la cuenta bancaria:</para> |
995 | + <para style="P5">[[o.acc_payment.last_acc_number or 'No identificado']]</para> |
996 | </td> |
997 | </tr> |
998 | </blockTable> |
999 | + <para style="P17"> |
1000 | + <font color="white"> </font> |
1001 | + </para> |
1002 | <blockTable colWidths="101.0,397.0" style="Tabla4"> |
1003 | <tr> |
1004 | <td> |
1005 | - <para style="P2">[[ o.company_id.cif_file and setTag('para','image',{'width':'98.0','height':'161.0'}) ]] [[ o.company_id.cif_file ]]</para> |
1006 | + <para style="P2">[[ o.company_emitter_id.cif_file and setTag('para','image',{'width':'98.0','height':'161.0'}) ]] [[ o.company_emitter_id.cif_file ]]</para> |
1007 | </td> |
1008 | <td> |
1009 | - <para style="P10">Serie del Certificado :</para> |
1010 | - <para style="P10">[[ o.no_certificado or '' ]]</para> |
1011 | - <para style="P10"> |
1012 | + <para style="P12">Serie del Certificado :</para> |
1013 | + <para style="P12">[[ o.no_certificado or '' ]]</para> |
1014 | + <para style="P12"> |
1015 | <font color="white"> </font> |
1016 | </para> |
1017 | - <para style="P10">Sello digital :</para> |
1018 | - <para style="P12">[[ split_string( o.sello ) ]]</para> |
1019 | + <para style="P12">Sello digital :</para> |
1020 | + <para style="P14">[[ split_string( o.sello ) ]]</para> |
1021 | </td> |
1022 | </tr> |
1023 | </blockTable> |
1024 | - <para style="P10">Cadena original :</para> |
1025 | - <para style="P11">[[ split_string( o.cadena_original ) ]]</para> |
1026 | - <para style="P14"> |
1027 | + <para style="P12">Cadena original :</para> |
1028 | + <para style="P13">[[ split_string( o.cadena_original ) ]]</para> |
1029 | + <para style="P16"> |
1030 | <font color="white"> </font> |
1031 | </para> |
1032 | - <para style="P14">Vendedor: [[o.user_id.name]]</para> |
1033 | + <para style="P16">Vendedor: [[o.user_id.name]]</para> |
1034 | <para style="terp_default_9">[[ format(o.comment or '') ]]</para> |
1035 | </section> |
1036 | <para style="Standard"> |
1037 | |
1038 | === modified file 'l10n_mx_facturae/report/invoice_facturae_pdf.sxw' |
1039 | Binary files l10n_mx_facturae/report/invoice_facturae_pdf.sxw 2012-09-08 04:35:43 +0000 and l10n_mx_facturae/report/invoice_facturae_pdf.sxw 2013-01-16 20:14:21 +0000 differ |
1040 | === modified file 'l10n_mx_facturae_22/invoice.py' |
1041 | --- l10n_mx_facturae_22/invoice.py 2012-09-11 19:12:04 +0000 |
1042 | +++ l10n_mx_facturae_22/invoice.py 2013-01-16 20:14:21 +0000 |
1043 | @@ -54,15 +54,15 @@ |
1044 | return invoice_data_parents |
1045 | else: |
1046 | invoice = self.browse(cr, uid, ids, context={'date':date_invoice})[0] |
1047 | - city = invoice_data_parents and invoice_data_parents[0].get('Comprobante',{}).get('Emisor', {}).get('DomicilioFiscal',{}).get('municipio', {}) or False |
1048 | - state = invoice_data_parents and invoice_data_parents[0].get('Comprobante',{}).get('Emisor', {}).get('DomicilioFiscal',{}).get('estado', {}) or False |
1049 | - country = invoice_data_parents and invoice_data_parents[0].get('Comprobante',{}).get('Emisor', {}).get('DomicilioFiscal',{}).get('pais', {}) or False |
1050 | + city = invoice_data_parents and invoice_data_parents[0].get('Comprobante',{}).get('Emisor', {}).get('ExpedidoEn',{}).get('municipio', {}) or False |
1051 | + state = invoice_data_parents and invoice_data_parents[0].get('Comprobante',{}).get('Emisor', {}).get('ExpedidoEn',{}).get('estado', {}) or False |
1052 | + country = invoice_data_parents and invoice_data_parents[0].get('Comprobante',{}).get('Emisor', {}).get('ExpedidoEn',{}).get('pais', {}) or False |
1053 | if city and state and country: |
1054 | address = city +' '+ state +', '+ country |
1055 | else: |
1056 | raise osv.except_osv(('Domicilio Incompleto!'),('Verifique que el domicilio de la compañia emisora del comprobante fiscal este completo (Ciudad - Estado - Pais)')) |
1057 | |
1058 | - if not invoice.company_id.partner_id.regimen_fiscal_id.name: |
1059 | + if not invoice.company_emitter_id.partner_id.regimen_fiscal_id.name: |
1060 | raise osv.except_osv(('Regimen Fiscal Faltante!'),('El Regimen Fiscal de la compañia emisora del comprobante fiscal es un dato requerido')) |
1061 | |
1062 | invoice_data_parents[0]['Comprobante']['xsi:schemaLocation'] = 'http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv22.xsd' |
1063 | @@ -71,7 +71,7 @@ |
1064 | invoice_data_parents[0]['Comprobante']['Moneda'] = invoice.currency_id.name or '' |
1065 | invoice_data_parents[0]['Comprobante']['NumCtaPago'] = invoice.acc_payment.last_acc_number or 'No identificado' |
1066 | invoice_data_parents[0]['Comprobante']['metodoDePago'] = invoice.pay_method_id.name or 'No identificado' |
1067 | - invoice_data_parents[0]['Comprobante']['Emisor']['RegimenFiscal'] = {'Regimen':invoice.company_id.partner_id.regimen_fiscal_id.name or ''} |
1068 | + invoice_data_parents[0]['Comprobante']['Emisor']['RegimenFiscal'] = {'Regimen':invoice.company_emitter_id.partner_id.regimen_fiscal_id.name or ''} |
1069 | invoice_data_parents[0]['Comprobante']['LugarExpedicion'] = address |
1070 | |
1071 | return invoice_data_parents |
1072 | |
1073 | === modified file 'l10n_mx_facturae_cbb/report/invoice_facturae_pdf.py' |
1074 | --- l10n_mx_facturae_cbb/report/invoice_facturae_pdf.py 2012-11-16 22:07:35 +0000 |
1075 | +++ l10n_mx_facturae_cbb/report/invoice_facturae_pdf.py 2013-01-16 20:14:21 +0000 |
1076 | @@ -178,14 +178,14 @@ |
1077 | partner_obj = pool.get('res.partner') |
1078 | address_obj = pool.get('res.partner.address') |
1079 | invoice = invoice_obj.browse(self.cr, self.uid, invoice_id) |
1080 | - partner_id = invoice.company_id.parent_id and invoice.company_id.parent_id.partner_id.id or invoice.company_id.partner_id.id |
1081 | + partner_id = invoice.company_emitted_id.parent_id and invoice.company_emitted_id.parent_id.partner_id.id or invoice.company_emitted_id.partner_id.id |
1082 | self.invoice = invoice |
1083 | #print "partner_id",partner_id |
1084 | #invoice = partner_obj.browse(cr, uid, invoice_id) |
1085 | address_id = partner_obj.address_get(self.cr, self.uid, [partner_id], ['invoice'])['invoice'] |
1086 | self.company_address_invoice = address_obj.browse(self.cr, self.uid, address_id) |
1087 | |
1088 | - subpartner_id = invoice.company_id.partner_id.id |
1089 | + subpartner_id = invoice.company_emitted_id.partner_id.id |
1090 | if partner_id == subpartner_id: |
1091 | self.subcompany_address_invoice = self.company_address_invoice |
1092 | else: |
1093 | |
1094 | === modified file 'l10n_mx_facturae_cbb/report/invoice_facturae_pdf.rml' |
1095 | --- l10n_mx_facturae_cbb/report/invoice_facturae_pdf.rml 2012-11-16 23:59:38 +0000 |
1096 | +++ l10n_mx_facturae_cbb/report/invoice_facturae_pdf.rml 2013-01-16 20:14:21 +0000 |
1097 | @@ -60,6 +60,7 @@ |
1098 | <paraStyle name="P1" fontName="Helvetica" alignment="RIGHT"/> |
1099 | <paraStyle name="P2" fontName="Helvetica" fontSize="8.0" leading="10"/> |
1100 | <paraStyle name="P3" fontName="Helvetica" fontSize="8.0" leading="10"/> |
1101 | +<<<<<<< TREE |
1102 | <paraStyle name="P4" fontName="Helvetica" fontSize="10.0" leading="13"/> |
1103 | <paraStyle name="P5" fontName="Helvetica-Bold" fontSize="6.0" leading="8" alignment="CENTER"/> |
1104 | <paraStyle name="P6" fontName="Helvetica" fontSize="6.0" leading="8" alignment="CENTER"/> |
1105 | @@ -74,7 +75,24 @@ |
1106 | <paraStyle name="P15" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/> |
1107 | <paraStyle name="P16" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1108 | <paraStyle name="P17" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1109 | +======= |
1110 | + <paraStyle name="P4" fontName="Helvetica" fontSize="10.0" leading="13"/> |
1111 | + <paraStyle name="P5" fontName="Helvetica" textColor="#280099"/> |
1112 | + <paraStyle name="P6" fontName="Helvetica" alignment="RIGHT" textColor="#280099"/> |
1113 | + <paraStyle name="P7" fontName="Helvetica" textColor="#ff3333"/> |
1114 | + <paraStyle name="P8" fontName="Helvetica" fontSize="12.0" leading="15" textColor="#800000"/> |
1115 | + <paraStyle name="P9" fontName="Helvetica" fontSize="2.0" leading="3" textColor="#800000"/> |
1116 | + <paraStyle name="P10" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1117 | + <paraStyle name="P11" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1118 | + <paraStyle name="P12" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1119 | + <paraStyle name="P13" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/> |
1120 | + <paraStyle name="P14" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1121 | + <paraStyle name="P15" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1122 | + <paraStyle name="P16" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1123 | + <paraStyle name="P17" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="18.0" leading="22" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1124 | +>>>>>>> MERGE-SOURCE |
1125 | <paraStyle name="P18" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1126 | +<<<<<<< TREE |
1127 | <paraStyle name="P19" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="18.0" leading="22" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1128 | <paraStyle name="P20" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1129 | <paraStyle name="P21" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1130 | @@ -85,6 +103,12 @@ |
1131 | <paraStyle name="P26" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" textColor="#280099"/> |
1132 | <paraStyle name="P27" fontName="Helvetica" fontSize="8.0" leading="10"/> |
1133 | <paraStyle name="P28" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT"/> |
1134 | +======= |
1135 | + <paraStyle name="P19" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1136 | + <paraStyle name="P20" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1137 | + <paraStyle name="P21" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#000000"/> |
1138 | + <paraStyle name="P22" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
1139 | +>>>>>>> MERGE-SOURCE |
1140 | <paraStyle name="Standard" fontName="Helvetica"/> |
1141 | <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/> |
1142 | <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/> |
1143 | @@ -101,11 +125,17 @@ |
1144 | </stylesheet> |
1145 | <story> |
1146 | <section> |
1147 | +<<<<<<< TREE |
1148 | <para style="P16">[[ repeatIn(objects,'o') ]] <font face="Helvetica" size="9.0">[[ set_global_data(o) ]]</font></para> |
1149 | <para style="P19">[[ o.company_id.parent_id and o.company_id.parent_id.partner_id.name or o.company_id.partner_id.name ]]</para> |
1150 | +======= |
1151 | + <para style="P14">[[ repeatIn(objects,'o') ]] <font face="Helvetica" size="9.0">[[ set_global_data(o) ]]</font></para> |
1152 | + <para style="P17">[[ o.company_emitter_id.address_invoice_parent_company_id.name or '' ]]</para> |
1153 | +>>>>>>> MERGE-SOURCE |
1154 | <blockTable colWidths="125.0,207.0,166.0" style="Tabla1"> |
1155 | <tr> |
1156 | <td> |
1157 | +<<<<<<< TREE |
1158 | <para style="P24">[[ o.company_id.logo and setTag('para','image',{'width':'120.0','height':'80.0'}) ]] [[ o.company_id.logo ]]</para> |
1159 | </td> |
1160 | <td> |
1161 | @@ -144,8 +174,48 @@ |
1162 | </td> |
1163 | <td> |
1164 | <para style="P9"> |
1165 | +======= |
1166 | + <para style="P22">[[ o.company_emitter_id.logo and setTag('para','image',{'width':'120.0','height':'80.0'}) ]] [[ o.company_emitter_id.logo ]]</para> |
1167 | + </td> |
1168 | + <td> |
1169 | + <para style="P19"> |
1170 | + <font color="white"> </font> |
1171 | + </para> |
1172 | + <para style="P16">Calle: [[ o.company_emitter_id.address_invoice_parent_company_id.street or '' ]] Nro. Ext: [[ o.company_emitter_id.address_invoice_parent_company_id.street3 or '' ]] Int: [[ o.company_emitter_id.address_invoice_parent_company_id.street4 or '' ]]</para> |
1173 | + <para style="P19"> |
1174 | + <font color="white"> </font> |
1175 | + </para> |
1176 | + <para style="P16">Colonia: [[ o.company_emitter_id.address_invoice_parent_company_id.street2 or '' ]]</para> |
1177 | + <para style="P19"> |
1178 | + <font color="white"> </font> |
1179 | + </para> |
1180 | + <para style="P16">Ciudad: [[ o.company_emitter_id.address_invoice_parent_company_id.city or '' ]] Estado: [[ o.company_emitter_id.address_invoice_parent_company_id.state_id and o.company_emitter_id.address_invoice_parent_company_id.state_id.name or '' ]]</para> |
1181 | + <para style="P20"> |
1182 | + <font color="white"> </font> |
1183 | + </para> |
1184 | + <para style="P16">Localidad: [[ o.company_emitter_id.address_invoice_parent_company_id.city2 or '' ]]</para> |
1185 | + <para style="P19"> |
1186 | + <font color="white"> </font> |
1187 | + </para> |
1188 | + <para style="P16">CP: [[ o.company_emitter_id.address_invoice_parent_company_id.zip or '' ]]</para> |
1189 | + <para style="P19"> |
1190 | + <font color="white"> </font> |
1191 | + </para> |
1192 | + <para style="P16">RFC: [[ o.company_emitter_id.partner_id._columns.has_key('vat_split') and o.company_emitter_id.partner_id.vat_split or o.company_emitter_id.partner_id.vat ]]</para> |
1193 | + <para style="P19"> |
1194 | + <font color="white"> </font> |
1195 | + </para> |
1196 | + <para style="P18">Teléfono(s): </para> |
1197 | + <para style="P18">[[ o.company_emitter_id.address_invoice_parent_company_id.phone or removeParentNode('para') ]]</para> |
1198 | + <para style="P18">[[ o.company_emitter_id.address_invoice_parent_company_id.fax or removeParentNode('para') ]]</para> |
1199 | + <para style="P18">[[ o.company_emitter_id.address_invoice_parent_company_id.mobile or removeParentNode('para') ]]</para> |
1200 | + </td> |
1201 | + <td> |
1202 | + <para style="P7"> |
1203 | +>>>>>>> MERGE-SOURCE |
1204 | <font face="Helvetica" size="18.0">Folio: [[ get_approval() and get_approval().serie or '' ]] [[ ( o.type in ['out_invoice', 'out_refund'] ) and ( o.state in ['open', 'paid', 'cancel'] ) and o.number or 'SIN FOLIO O ESTATUS NO VALIDO' ]]</font> |
1205 | </para> |
1206 | +<<<<<<< TREE |
1207 | <para style="P11"> |
1208 | <font color="white"> </font> |
1209 | </para> |
1210 | @@ -154,6 +224,16 @@ |
1211 | <font color="white"> </font> |
1212 | </para> |
1213 | <para style="Table Contents">[[ company_address()['city'] or '' ]], [[ company_address()['state_id'] and company_address()['state_id']['name'] or '' ]] a</para> |
1214 | +======= |
1215 | + <para style="P9"> |
1216 | + <font color="white"> </font> |
1217 | + </para> |
1218 | + <para style="P8">[[ o.state == 'cancel' and 'FACTURA CANCELADA' ]]</para> |
1219 | + <para style="P9"> |
1220 | + <font color="white"> </font> |
1221 | + </para> |
1222 | + <para style="Table Contents">[[ o.address_issued_id and o.address_issued_id.city or '' ]], [[ o.address_issued_id.state_id and o.address_issued_id.state_id.name or '' ]] a</para> |
1223 | +>>>>>>> MERGE-SOURCE |
1224 | <para style="Table Contents">[[ o.date_invoice_tz or '' ]]</para> |
1225 | </td> |
1226 | </tr> |
1227 | @@ -161,7 +241,11 @@ |
1228 | <blockTable colWidths="249.0,249.0" style="Tabla2"> |
1229 | <tr> |
1230 | <td> |
1231 | +<<<<<<< TREE |
1232 | <para style="P7">Receptor</para> |
1233 | +======= |
1234 | + <para style="P5">Receptor</para> |
1235 | +>>>>>>> MERGE-SOURCE |
1236 | <para style="Table Contents"><font face="Helvetica">Nombre: </font>[[ o.partner_id.name ]]</para> |
1237 | <para style="terp_default_8"><font face="Helvetica">Dirección:</font> [[ o.address_invoice_id.street ]] No. Ext: [[ o.address_invoice_id.street3 ]] Int: [[ o.address_invoice_id.street4 ]]</para> |
1238 | <para style="terp_default_8"><font face="Helvetica">Colonia:</font> [[ o.address_invoice_id.street2 or '' ]]</para> |
1239 | @@ -169,28 +253,36 @@ |
1240 | <para style="terp_default_8"><font face="Helvetica">Localidad: </font>[[ o.address_invoice_id.city2 or '' ]]</para> |
1241 | <para style="terp_default_8"><font face="Helvetica">C.P.:</font> [[ o.address_invoice_id.zip or '' ]] </para> |
1242 | <para style="terp_default_8"><font face="Helvetica">R. F. C. :</font> [[ o.partner_id._columns.has_key('vat_split') and o.partner_id.vat_split or o.partner_id.vat ]]</para> |
1243 | +<<<<<<< TREE |
1244 | <para style="P23">Teléfono(s): </para> |
1245 | <para style="P17">[[ o.address_invoice_id.phone or removeParentNode('para') ]]</para> |
1246 | <para style="P17">[[ o.address_invoice_id.fax or removeParentNode('para') ]]</para> |
1247 | <para style="P17">[[ o.address_invoice_id.mobile or removeParentNode('para') ]]</para> |
1248 | +======= |
1249 | + <para style="P21">Teléfono(s): </para> |
1250 | + <para style="P15">[[ o.address_invoice_id.phone or removeParentNode('para') ]]</para> |
1251 | + <para style="P15">[[ o.address_invoice_id.fax or removeParentNode('para') ]]</para> |
1252 | + <para style="P15">[[ o.address_invoice_id.mobile or removeParentNode('para') ]]</para> |
1253 | +>>>>>>> MERGE-SOURCE |
1254 | </td> |
1255 | <td> |
1256 | <para style="Table Contents">Condición de pago: [[ format(o.payment_term and (o.payment_term.note or o.payment_term.name) or removeParentNode('para') ) ]]</para> |
1257 | <para style="P3">Origen: [[ o.origin or removeParentNode('para') ]]</para> |
1258 | <para style="P3">Expedido en:</para> |
1259 | - <para style="P3">[[ subcompany_address()['name'] or o.company_id.partner_id.name ]]</para> |
1260 | - <para style="P3">Calle: [[ subcompany_address()['street'] or '' ]] Nro. Ext: [[ subcompany_address()['street3'] or '' ]] Int: [[ subcompany_address()['street4'] or '' ]]</para> |
1261 | - <para style="P3">Colonia: [[ subcompany_address()['street2'] or '' ]]</para> |
1262 | - <para style="P3">Ciudad: [[ subcompany_address()['city'] or '' ]] </para> |
1263 | - <para style="P3">Estado: [[ subcompany_address()['state_id'] and subcompany_address()['state_id']['name'] or '' ]]</para> |
1264 | - <para style="P3">Localidad: [[ subcompany_address()['city2'] or '' ]]</para> |
1265 | - <para style="P3">CP: [[ subcompany_address()['zip'] or '' ]] </para> |
1266 | + <para style="P3">[[ o.address_issued_id and o.address_issued_id.name or '' ]]</para> |
1267 | + <para style="P3">Calle: [[ o.address_issued_id.street or '' ]] Nro. Ext: [[ o.address_issued_id.street3 or '' ]] Int: [[ o.address_issued_id.street4 or '' ]]</para> |
1268 | + <para style="P3">Colonia: [[ o.address_issued_id.street2 or '' ]]</para> |
1269 | + <para style="P3">Ciudad: [[ o.address_issued_id.city or '' ]] </para> |
1270 | + <para style="P3">Localidad: [[ o.address_issued_id.city2 or '' ]]</para> |
1271 | + <para style="P3">Estado: [[ o.address_issued_id.state_id and o.address_issued_id.state_id.name or '' ]]</para> |
1272 | + <para style="P3">CP: [[ o.address_issued_id.zip or '' ]] </para> |
1273 | </td> |
1274 | </tr> |
1275 | </blockTable> |
1276 | <blockTable colWidths="47.0,88.0,160.0,54.0,65.0,85.0" style="Tabla3"> |
1277 | <tr> |
1278 | <td> |
1279 | +<<<<<<< TREE |
1280 | <para style="P25">Cantidad</para> |
1281 | </td> |
1282 | <td> |
1283 | @@ -207,10 +299,29 @@ |
1284 | </td> |
1285 | <td> |
1286 | <para style="P26">Importe</para> |
1287 | +======= |
1288 | + <para style="P5">Cantidad</para> |
1289 | + </td> |
1290 | + <td> |
1291 | + <para style="P5">Unidad</para> |
1292 | + </td> |
1293 | + <td> |
1294 | + <para style="P5">Descripción</para> |
1295 | + </td> |
1296 | + <td> |
1297 | + <para style="P5">Clave</para> |
1298 | + </td> |
1299 | + <td> |
1300 | + <para style="P6">P.Unitario</para> |
1301 | + </td> |
1302 | + <td> |
1303 | + <para style="P6">Importe</para> |
1304 | +>>>>>>> MERGE-SOURCE |
1305 | </td> |
1306 | </tr> |
1307 | <tr> |
1308 | <td> |
1309 | +<<<<<<< TREE |
1310 | <para style="Table Contents"> |
1311 | <font face="Helvetica" size="8.0">[[ repeatIn(o.invoice_line,'l') ]] [[ formatLang(l.quantity) ]]</font> |
1312 | </para> |
1313 | @@ -221,11 +332,22 @@ |
1314 | <td> |
1315 | <para style="P2">[[ l.name ]]</para> |
1316 | <para style="P4"> |
1317 | +======= |
1318 | + <para style="Table Contents"><font face="Helvetica" size="8.0">[[ repeatIn(o.invoice_line,'l') ]] </font>[[ formatLang(l.quantity) ]]</para> |
1319 | + </td> |
1320 | + <td> |
1321 | + <para style="Table Contents">[[ (l.uos_id and l.uos_id.name) or '' ]]</para> |
1322 | + </td> |
1323 | + <td> |
1324 | + <para style="Table Contents">[[ l.name ]]</para> |
1325 | + <para style="P4"> |
1326 | +>>>>>>> MERGE-SOURCE |
1327 | <font face="Helvetica" size="7.0">Notas:</font> |
1328 | <font face="Helvetica" size="7.0">[[l.note or removeParentNode('para')]]</font> |
1329 | </para> |
1330 | </td> |
1331 | <td> |
1332 | +<<<<<<< TREE |
1333 | <para style="P2">[[ l.product_id and l.product_id.default_code ]]</para> |
1334 | </td> |
1335 | <td> |
1336 | @@ -233,13 +355,26 @@ |
1337 | </td> |
1338 | <td> |
1339 | <para style="P28">[[ exists_key('global_discount_percent') and (formatLang(l.quantity * l.price_unit)) or formatLang(l.price_subtotal) ]]</para> |
1340 | +======= |
1341 | + <para style="Table Contents">[[ l.product_id and l.product_id.default_code ]]</para> |
1342 | + </td> |
1343 | + <td> |
1344 | + <para style="P1">[[ formatLang(l.price_unit) ]]</para> |
1345 | + </td> |
1346 | + <td> |
1347 | + <para style="P1">[[ exists_key('global_discount_percent') and (formatLang(l.quantity * l.price_unit)) or formatLang(l.price_subtotal) ]]</para> |
1348 | +>>>>>>> MERGE-SOURCE |
1349 | </td> |
1350 | </tr> |
1351 | </blockTable> |
1352 | <blockTable colWidths="427.0,71.0" style="Tabla7"> |
1353 | <tr> |
1354 | <td> |
1355 | +<<<<<<< TREE |
1356 | <para style="P8">Suma $</para> |
1357 | +======= |
1358 | + <para style="P6">Suma $</para> |
1359 | +>>>>>>> MERGE-SOURCE |
1360 | </td> |
1361 | <td> |
1362 | <para style="P1">[[formatLang( ( exists_key('global_discount_percent') and o.global_discount_amount or 0.0 ) + (o.amount_untaxed or 0.0) )]]</para> |
1363 | @@ -247,7 +382,11 @@ |
1364 | </tr> |
1365 | <tr> |
1366 | <td> |
1367 | +<<<<<<< TREE |
1368 | <para style="P8">Descuento: [[ exists_key('global_discount_percent') and o.global_discount_percent or removeParentNode('tr')]] %</para> |
1369 | +======= |
1370 | + <para style="P6">Descuento: [[ exists_key('global_discount_percent') and o.global_discount_percent or removeParentNode('tr')]] %</para> |
1371 | +>>>>>>> MERGE-SOURCE |
1372 | </td> |
1373 | <td> |
1374 | <para style="P1">[[o.global_discount_amount and formatLang( o.global_discount_amount) or '']]</para> |
1375 | @@ -255,7 +394,11 @@ |
1376 | </tr> |
1377 | <tr> |
1378 | <td> |
1379 | +<<<<<<< TREE |
1380 | <para style="P8">Sub Total $</para> |
1381 | +======= |
1382 | + <para style="P6">Sub Total $</para> |
1383 | +>>>>>>> MERGE-SOURCE |
1384 | </td> |
1385 | <td> |
1386 | <para style="P1">[[ formatLang(o.amount_untaxed) ]]</para> |
1387 | @@ -263,7 +406,11 @@ |
1388 | </tr> |
1389 | <tr> |
1390 | <td> |
1391 | +<<<<<<< TREE |
1392 | <para style="P8"> |
1393 | +======= |
1394 | + <para style="P6"> |
1395 | +>>>>>>> MERGE-SOURCE |
1396 | <font face="Helvetica" size="6.0">[[ repeatIn( get_taxes(), 'tax' ) ]]</font> |
1397 | <font face="Helvetica">[[ tax['name2'] ]] ([[ round( float( tax['tax_percent'] ) ) ]]%) $</font> |
1398 | </para> |
1399 | @@ -274,7 +421,11 @@ |
1400 | </tr> |
1401 | <tr> |
1402 | <td> |
1403 | +<<<<<<< TREE |
1404 | <para style="P8"> |
1405 | +======= |
1406 | + <para style="P6"> |
1407 | +>>>>>>> MERGE-SOURCE |
1408 | <font face="Helvetica" size="6.0">[[ repeatIn( get_taxes_ret(), 'tax_ret' ) ]]</font> |
1409 | <font face="Helvetica">[[ tax_ret['name2'] ]] Ret ([[ round( float( tax_ret['tax_percent'] ),2 )*-1 ]]%) $</font> |
1410 | </para> |
1411 | @@ -285,7 +436,11 @@ |
1412 | </tr> |
1413 | <tr> |
1414 | <td> |
1415 | +<<<<<<< TREE |
1416 | <para style="P8">Total $</para> |
1417 | +======= |
1418 | + <para style="P6">Total $</para> |
1419 | +>>>>>>> MERGE-SOURCE |
1420 | </td> |
1421 | <td> |
1422 | <para style="P1">[[ formatLang(o.amount_total) ]]</para> |
1423 | @@ -293,8 +448,13 @@ |
1424 | </tr> |
1425 | <tr> |
1426 | <td> |
1427 | +<<<<<<< TREE |
1428 | <para style="P14">IMPORTE CON LETRA:</para> |
1429 | <para style="P13">[[ o.amount_to_text ]]</para> |
1430 | +======= |
1431 | + <para style="P12">IMPORTE CON LETRA:</para> |
1432 | + <para style="P11">[[ o.amount_to_text ]]</para> |
1433 | +>>>>>>> MERGE-SOURCE |
1434 | </td> |
1435 | <td> |
1436 | <para style="P1"> |
1437 | @@ -303,6 +463,7 @@ |
1438 | </td> |
1439 | </tr> |
1440 | </blockTable> |
1441 | +<<<<<<< TREE |
1442 | <para style="P12"> |
1443 | <font color="white"> </font> |
1444 | </para> |
1445 | @@ -326,6 +487,12 @@ |
1446 | </tr> |
1447 | </blockTable> |
1448 | <para style="P12"> |
1449 | +======= |
1450 | + <para style="P10"> |
1451 | + <font color="white"> </font> |
1452 | + </para> |
1453 | + <para style="P10"> |
1454 | +>>>>>>> MERGE-SOURCE |
1455 | <font color="white"> </font> |
1456 | </para> |
1457 | <blockTable colWidths="106.0,257.0,135.0" style="Tabla4"> |
1458 | @@ -353,14 +520,19 @@ |
1459 | <para style="P2">Este comprobante tendrá una vigencia de dos años contados a partir de la fecha de aprobación de la asignación de folios, la cual es: [[ get_approval() and time.strftime('%d-%m-%Y',time.strptime(get_approval().date_start,'%Y-%m-%d')) or '' ]]</para> |
1460 | </td> |
1461 | <td> |
1462 | - <para style="P2">[[ o.company_id.cif_file and setTag('para','image',{'width':'98.0','height':'161.0'}) ]] [[ o.company_id.cif_file ]]</para> |
1463 | + <para style="P2">[[ o.company_emitter_id.cif_file and setTag('para','image',{'width':'98.0','height':'161.0'}) ]] [[ o.company_emitter_id.cif_file ]]</para> |
1464 | </td> |
1465 | </tr> |
1466 | </blockTable> |
1467 | +<<<<<<< TREE |
1468 | <para style="terp_default_9"> |
1469 | <font color="white"> </font> |
1470 | </para> |
1471 | <para style="P15">Vendedor: [[o.user_id.name]]</para> |
1472 | +======= |
1473 | + <para style="terp_default_9"/> |
1474 | + <para style="P13">Vendedor: [[o.user_id.name]]</para> |
1475 | +>>>>>>> MERGE-SOURCE |
1476 | <para style="terp_default_9">[[ format(o.comment or '') ]]</para> |
1477 | </section> |
1478 | </story> |
1479 | |
1480 | === renamed file 'l10n_mx_facturae_cbb/report/invoice_facturae_pdf.sxw' => 'l10n_mx_facturae_cbb/report/invoice_facturae_pdf.sxw.OTHER' |
1481 | Binary files l10n_mx_facturae_cbb/report/invoice_facturae_pdf.sxw 2012-11-16 23:59:38 +0000 and l10n_mx_facturae_cbb/report/invoice_facturae_pdf.sxw.OTHER 2013-01-16 20:14:21 +0000 differ |
1482 | === modified file 'l10n_mx_facturae_cer/invoice.py' |
1483 | --- l10n_mx_facturae_cer/invoice.py 2012-02-24 00:42:55 +0000 |
1484 | +++ l10n_mx_facturae_cer/invoice.py 2013-01-16 20:14:21 +0000 |
1485 | @@ -41,7 +41,7 @@ |
1486 | for invoice in self.browse(cr, uid, ids, context=context): |
1487 | context.update( {'date_work': invoice.date_invoice} ) |
1488 | certificate_id = False |
1489 | - certificate_id = company_obj._get_current_certificate(cr, uid, [invoice.company_id.id], context=context)[invoice.company_id.id] |
1490 | + certificate_id = company_obj._get_current_certificate(cr, uid, [invoice.company_emitter_id.id], context=context)[invoice.company_emitter_id.id] |
1491 | certificate_id = certificate_id and certificate_obj.browse(cr, uid, [certificate_id], context=context)[0] or False |
1492 | res[invoice.id] = certificate_id and certificate_id.id or False |
1493 | return res |
1494 | |
1495 | === modified file 'l10n_mx_facturae_cer/res_company.py' |
1496 | --- l10n_mx_facturae_cer/res_company.py 2013-01-10 18:50:19 +0000 |
1497 | +++ l10n_mx_facturae_cer/res_company.py 2013-01-16 20:14:21 +0000 |
1498 | @@ -221,17 +221,13 @@ |
1499 | return res |
1500 | for company in self.browse(cr, uid, ids, context=context): |
1501 | current_company = company |
1502 | - while True: |
1503 | - certificate_ids = certificate_obj.search(cr, uid, [ |
1504 | - ('company_id', '=', company.id), |
1505 | - ('date_start', '<=', date), |
1506 | - ('date_end', '>=', date), |
1507 | - ('active', '=', True), |
1508 | - ], limit=1) |
1509 | - certificate_id = certificate_ids and certificate_ids[0] or False |
1510 | - company = company.parent_id |
1511 | - if certificate_id or not company: |
1512 | - break |
1513 | + certificate_ids = certificate_obj.search(cr, uid, [ |
1514 | + ('company_id', '=', company.id), |
1515 | + ('date_start', '<=', date), |
1516 | + ('date_end', '>=', date), |
1517 | + ('active', '=', True), |
1518 | + ], limit=1) |
1519 | + certificate_id = certificate_ids and certificate_ids[0] or False |
1520 | res[current_company.id] = certificate_id |
1521 | return res |
1522 | |
1523 | |
1524 | === modified file 'l10n_mx_facturae_pac_sf/invoice.py' |
1525 | --- l10n_mx_facturae_pac_sf/invoice.py 2012-11-28 23:32:38 +0000 |
1526 | +++ l10n_mx_facturae_pac_sf/invoice.py 2013-01-16 20:14:21 +0000 |
1527 | @@ -163,7 +163,7 @@ |
1528 | msg = '' |
1529 | |
1530 | cfd_data_adenda = cfd_data.replace('</Comprobante>', moneda) |
1531 | - pac_params_ids = pac_params_obj.search(cr,uid,[('method_type','=','pac_sf_firmar')], limit=1, context=context) |
1532 | + pac_params_ids = pac_params_obj.search(cr,uid,[('method_type','=','pac_sf_firmar'), ('company_id', '=', invoice.company_emitter_id.id), ('active', '=', True)], limit=1, context=context) |
1533 | |
1534 | if pac_params_ids: |
1535 | pac_params = pac_params_obj.browse(cr, uid, pac_params_ids, context)[0] |
1536 | @@ -196,7 +196,7 @@ |
1537 | wsdl_client.soapproxy.config.dumpSOAPIn = 0 |
1538 | wsdl_client.soapproxy.config.debug = 0 |
1539 | wsdl_client.soapproxy.config.dict_encoding='UTF-8' |
1540 | - resultado = wsdl_client.timbrar(*params) |
1541 | + resultado = wsdl_client.timbrar(*params) |
1542 | msg += resultado['resultados'] and resultado['resultados']['mensaje'] or '' |
1543 | status = resultado['resultados'] and resultado['resultados']['status'] or '' |
1544 | if status == '200' or status == '307': |
1545 | @@ -251,7 +251,7 @@ |
1546 | |
1547 | invoice_brw = self.browse(cr, uid, context_id, context) |
1548 | company_brw = company_obj.browse(cr, uid, [invoice_brw.company_id.id], context)[0] |
1549 | - pac_params_srch = pac_params_obj.search(cr,uid,[('method_type','=','pac_sf_cancelar')],context=context) |
1550 | + pac_params_srch = pac_params_obj.search(cr,uid,[('method_type','=','pac_sf_cancelar'), ('company_id', '=', invoice_brw.company_emitter_id.id), ('active', '=', True)], context=context) |
1551 | |
1552 | if pac_params_srch: |
1553 | pac_params_brw = pac_params_obj.browse(cr, uid, pac_params_srch, context)[0] |
1554 | |
1555 | === modified file 'l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.py' |
1556 | --- l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.py 2012-09-08 03:46:54 +0000 |
1557 | +++ l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.py 2013-01-16 20:14:21 +0000 |
1558 | @@ -169,14 +169,14 @@ |
1559 | partner_obj = pool.get('res.partner') |
1560 | address_obj = pool.get('res.partner.address') |
1561 | invoice = invoice_obj.browse(self.cr, self.uid, invoice_id) |
1562 | - partner_id = invoice.company_id.parent_id and invoice.company_id.parent_id.partner_id.id or invoice.company_id.partner_id.id |
1563 | + partner_id = invoice.company_emitted_id.parent_id and invoice.company_emitted_id.parent_id.partner_id.id or invoice.company_emitted_id.partner_id.id |
1564 | self.invoice = invoice |
1565 | #print "partner_id",partner_id |
1566 | #invoice = partner_obj.browse(cr, uid, invoice_id) |
1567 | address_id = partner_obj.address_get(self.cr, self.uid, [partner_id], ['invoice'])['invoice'] |
1568 | self.company_address_invoice = address_obj.browse(self.cr, self.uid, address_id) |
1569 | |
1570 | - subpartner_id = invoice.company_id.partner_id.id |
1571 | + subpartner_id = invoice.company_emitted_id.partner_id.id |
1572 | if partner_id == subpartner_id: |
1573 | self.subcompany_address_invoice = self.company_address_invoice |
1574 | else: |
1575 | |
1576 | === modified file 'l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.rml' |
1577 | --- l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.rml 2012-09-08 04:35:43 +0000 |
1578 | +++ l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.rml 2013-01-16 20:14:21 +0000 |
1579 | @@ -24,20 +24,6 @@ |
1580 | <blockAlignment value="LEFT"/> |
1581 | <blockValign value="TOP"/> |
1582 | </blockTableStyle> |
1583 | - <blockTableStyle id="Table1"> |
1584 | - <blockAlignment value="LEFT"/> |
1585 | - <blockValign value="TOP"/> |
1586 | - <lineStyle kind="LINEBEFORE" colorName="#000000" start="0,0" stop="0,-1"/> |
1587 | - <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/> |
1588 | - <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/> |
1589 | - <lineStyle kind="LINEBEFORE" colorName="#000000" start="1,0" stop="1,-1"/> |
1590 | - <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/> |
1591 | - <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> |
1592 | - <lineStyle kind="LINEBEFORE" colorName="#000000" start="2,0" stop="2,-1"/> |
1593 | - <lineStyle kind="LINEAFTER" colorName="#000000" start="2,0" stop="2,-1"/> |
1594 | - <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/> |
1595 | - <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/> |
1596 | - </blockTableStyle> |
1597 | <blockTableStyle id="Tabla7"> |
1598 | <blockAlignment value="LEFT"/> |
1599 | <blockValign value="TOP"/> |
1600 | @@ -68,6 +54,20 @@ |
1601 | <lineStyle kind="LINEAFTER" colorName="#000000" start="3,1" stop="3,-1"/> |
1602 | <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/> |
1603 | </blockTableStyle> |
1604 | + <blockTableStyle id="Table1"> |
1605 | + <blockAlignment value="LEFT"/> |
1606 | + <blockValign value="TOP"/> |
1607 | + <lineStyle kind="LINEBEFORE" colorName="#000000" start="0,0" stop="0,-1"/> |
1608 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/> |
1609 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/> |
1610 | + <lineStyle kind="LINEBEFORE" colorName="#000000" start="1,0" stop="1,-1"/> |
1611 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/> |
1612 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> |
1613 | + <lineStyle kind="LINEBEFORE" colorName="#000000" start="2,0" stop="2,-1"/> |
1614 | + <lineStyle kind="LINEAFTER" colorName="#000000" start="2,0" stop="2,-1"/> |
1615 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/> |
1616 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/> |
1617 | + </blockTableStyle> |
1618 | <blockTableStyle id="Tabla4"> |
1619 | <blockAlignment value="LEFT"/> |
1620 | <blockValign value="TOP"/> |
1621 | @@ -81,32 +81,30 @@ |
1622 | <paraStyle name="P4" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT"/> |
1623 | <paraStyle name="P5" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER"/> |
1624 | <paraStyle name="P6" fontName="Helvetica" fontSize="7.0" leading="9"/> |
1625 | - <paraStyle name="P7" fontName="Helvetica" textColor="#280099"/> |
1626 | - <paraStyle name="P8" fontName="Helvetica" alignment="RIGHT" textColor="#280099"/> |
1627 | - <paraStyle name="P9" fontName="Helvetica" textColor="#ff3333"/> |
1628 | - <paraStyle name="P10" fontName="Helvetica" fontSize="12.0" leading="15" textColor="#800000"/> |
1629 | - <paraStyle name="P10_enc" fontName="Helvetica-Bold" fontSize="6.0" leading="8" alignment="CENTER"/> |
1630 | - <paraStyle name="P11_txt" fontName="Helvetica" fontSize="6.0" leading="8" alignment="CENTER"/> |
1631 | - <paraStyle name="P11" fontName="Helvetica" fontSize="2.0" leading="3" textColor="#800000"/> |
1632 | - <paraStyle name="P12" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1633 | - <paraStyle name="P13" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1634 | - <paraStyle name="P14" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1635 | - <paraStyle name="P15" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1636 | - <paraStyle name="P16" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1637 | - <paraStyle name="P17" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1638 | - <paraStyle name="P18" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1639 | - <paraStyle name="P19" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1640 | - <paraStyle name="P20" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1641 | - <paraStyle name="P21" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="18.0" leading="22" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1642 | - <paraStyle name="P22" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1643 | - <paraStyle name="P23" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1644 | - <paraStyle name="P24" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1645 | - <paraStyle name="P25" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#000000"/> |
1646 | - <paraStyle name="P26" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
1647 | - <paraStyle name="P27" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER"/> |
1648 | - <paraStyle name="P28" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1649 | - <paraStyle name="P29" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1650 | - <paraStyle name="P30" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1651 | + <paraStyle name="P7" fontName="Helvetica" fontSize="6.0" leading="8" alignment="CENTER"/> |
1652 | + <paraStyle name="P8" fontName="Helvetica-Bold" fontSize="6.0" leading="8" alignment="CENTER"/> |
1653 | + <paraStyle name="P9" fontName="Helvetica" textColor="#280099"/> |
1654 | + <paraStyle name="P10" fontName="Helvetica" alignment="RIGHT" textColor="#280099"/> |
1655 | + <paraStyle name="P11" fontName="Helvetica" textColor="#ff3333"/> |
1656 | + <paraStyle name="P12" fontName="Helvetica" fontSize="12.0" leading="15" textColor="#800000"/> |
1657 | + <paraStyle name="P13" fontName="Helvetica" fontSize="2.0" leading="3" textColor="#800000"/> |
1658 | + <paraStyle name="P14" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1659 | + <paraStyle name="P15" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1660 | + <paraStyle name="P16" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1661 | + <paraStyle name="P17" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1662 | + <paraStyle name="P18" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1663 | + <paraStyle name="P19" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1664 | + <paraStyle name="P20" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1665 | + <paraStyle name="P21" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1666 | + <paraStyle name="P22" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1667 | + <paraStyle name="P23" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1668 | + <paraStyle name="P24" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1669 | + <paraStyle name="P25" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1670 | + <paraStyle name="P26" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1671 | + <paraStyle name="P27" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1672 | + <paraStyle name="P28" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="18.0" leading="22" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#280099"/> |
1673 | + <paraStyle name="P29" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#000000"/> |
1674 | + <paraStyle name="P30" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
1675 | <paraStyle name="Standard" fontName="Helvetica"/> |
1676 | <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/> |
1677 | <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/> |
1678 | @@ -123,59 +121,58 @@ |
1679 | </stylesheet> |
1680 | <story> |
1681 | <section> |
1682 | - <para style="P18">[[ repeatIn(objects,'o') ]] <font face="Helvetica" size="9.0">[[ set_global_data(o) ]]</font></para> |
1683 | - <para style="P21">[[ o.company_id.parent_id and o.company_id.parent_id.partner_id.name or o.company_id.partner_id.name ]]</para> |
1684 | + <para style="P22">[[ repeatIn(objects,'o') ]] <font face="Helvetica" size="9.0">[[ set_global_data(o) ]]</font></para> |
1685 | + <para style="P28">[[ o.company_emitter_id.address_invoice_parent_company_id.name or '' ]]</para> |
1686 | <blockTable colWidths="125.0,207.0,166.0" style="Tabla1"> |
1687 | <tr> |
1688 | <td> |
1689 | - <para style="P26">[[ o.company_id.logo and setTag('para','image',{'width':'120.0','height':'80.0'}) ]] [[ o.company_id.logo ]]</para> |
1690 | - </td> |
1691 | - <td> |
1692 | - <para style="P20">[[ company_address()['name'] or o.company_id.partner_id.name ]]</para> |
1693 | - <para style="P23"> |
1694 | - <font color="white"> </font> |
1695 | - </para> |
1696 | - <para style="P20">Calle: [[ company_address()['street'] or '' ]] Nro. Ext: [[ company_address()['street3'] or '' ]] Int: [[ company_address()['street4'] or '' ]]</para> |
1697 | - <para style="P23"> |
1698 | - <font color="white"> </font> |
1699 | - </para> |
1700 | - <para style="P20">Colonia: [[ company_address()['street2'] or '' ]]</para> |
1701 | - <para style="P23"> |
1702 | - <font color="white"> </font> |
1703 | - </para> |
1704 | - <para style="P20">Ciudad: [[ company_address()['city'] or '' ]], Estado: [[ company_address()['state_id'] and company_address()['state_id']['name'] or '' ]] </para> |
1705 | - <para style="P24"> |
1706 | - <font color="white"> </font> |
1707 | - </para> |
1708 | - <para style="P20">Localidad: [[ company_address()['city2'] or '' ]]</para> |
1709 | - <para style="P23"> |
1710 | - <font color="white"> </font> |
1711 | - </para> |
1712 | - <para style="P20">CP: [[ company_address()['zip'] or '' ]]</para> |
1713 | - <para style="P23"> |
1714 | - <font color="white"> </font> |
1715 | - </para> |
1716 | - <para style="P20">RFC: [[ o.company_id.partner_id._columns.has_key('vat_split') and o.company_id.partner_id.vat_split or o.company_id.partner_id.vat ]]</para> |
1717 | - <para style="P23"> |
1718 | - <font color="white"> </font> |
1719 | - </para> |
1720 | - <para style="P22">Teléfono(s): </para> |
1721 | - <para style="P22">[[ company_address()['phone'] or removeParentNode('para') ]]</para> |
1722 | - <para style="P22">[[ company_address()['fax'] or removeParentNode('para') ]]</para> |
1723 | - <para style="P22">[[ company_address()['mobile'] or removeParentNode('para') ]]</para> |
1724 | - </td> |
1725 | - <td> |
1726 | - <para style="P9"> |
1727 | + <para style="P30">[[ o.company_emitter_id.logo and setTag('para','image',{'width':'120.0','height':'80.0'}) ]] [[ o.company_emitter_id.logo ]]</para> |
1728 | + </td> |
1729 | + <td> |
1730 | + <para style="P26"> |
1731 | + <font color="white"> </font> |
1732 | + </para> |
1733 | + <para style="P24">Calle: [[ o.company_emitter_id.address_invoice_parent_company_id.street or '' ]] Nro. Ext: [[ o.company_emitter_id.address_invoice_parent_company_id.street3 or '' ]] Int: [[ o.company_emitter_id.address_invoice_parent_company_id.street4 or '' ]]</para> |
1734 | + <para style="P26"> |
1735 | + <font color="white"> </font> |
1736 | + </para> |
1737 | + <para style="P24">Colonia: [[ o.company_emitter_id.address_invoice_parent_company_id.street2 or '' ]]</para> |
1738 | + <para style="P26"> |
1739 | + <font color="white"> </font> |
1740 | + </para> |
1741 | + <para style="P24">Ciudad: [[ o.company_emitter_id.address_invoice_parent_company_id.city or '' ]] Estado: [[ o.company_emitter_id.address_invoice_parent_company_id.state_id and o.company_emitter_id.address_invoice_parent_company_id.state_id.name or '' ]] </para> |
1742 | + <para style="P27"> |
1743 | + <font color="white"> </font> |
1744 | + </para> |
1745 | + <para style="P24">Localidad: [[ o.company_emitter_id.address_invoice_parent_company_id.city2 or '' ]]</para> |
1746 | + <para style="P26"> |
1747 | + <font color="white"> </font> |
1748 | + </para> |
1749 | + <para style="P24">CP: [[ o.company_emitter_id.address_invoice_parent_company_id.zip or '' ]]</para> |
1750 | + <para style="P26"> |
1751 | + <font color="white"> </font> |
1752 | + </para> |
1753 | + <para style="P24">RFC: [[ o.company_emitter_id.partner_id._columns.has_key('vat_split') and o.company_emitter_id.partner_id.vat_split or o.company_emitter_id.partner_id.vat ]]</para> |
1754 | + <para style="P26"> |
1755 | + <font color="white"> </font> |
1756 | + </para> |
1757 | + <para style="P25">Teléfono(s): </para> |
1758 | + <para style="P25">[[ o.company_emitter_id.address_invoice_parent_company_id.phone or removeParentNode('para') ]]</para> |
1759 | + <para style="P25">[[ o.company_emitter_id.address_invoice_parent_company_id.fax or removeParentNode('para') ]]</para> |
1760 | + <para style="P25">[[ o.company_emitter_id.address_invoice_parent_company_id.mobile or removeParentNode('para') ]]</para> |
1761 | + </td> |
1762 | + <td> |
1763 | + <para style="P11"> |
1764 | <font face="Helvetica" size="18.0">Folio: [[ ( o.type in ['out_invoice', 'out_refund'] ) and ( o.state in ['open', 'paid', 'cancel'] ) and o.number or 'SIN FOLIO O ESTATUS NO VALIDO' ]]</font> |
1765 | </para> |
1766 | - <para style="P11"> |
1767 | - <font color="white"> </font> |
1768 | - </para> |
1769 | - <para style="P10">[[ o.state == 'cancel' and 'FACTURA CANCELADA' ]]</para> |
1770 | - <para style="P11"> |
1771 | - <font color="white"> </font> |
1772 | - </para> |
1773 | - <para style="Table Contents">[[ company_address()['city'] or '' ]], [[ company_address()['state_id'] and company_address()['state_id']['name'] or '' ]] a</para> |
1774 | + <para style="P13"> |
1775 | + <font color="white"> </font> |
1776 | + </para> |
1777 | + <para style="P12">[[ o.state == 'cancel' and 'FACTURA CANCELADA' ]]</para> |
1778 | + <para style="P13"> |
1779 | + <font color="white"> </font> |
1780 | + </para> |
1781 | + <para style="Table Contents">[[ o. address_issued_id and o.address_issued_id.city or '' ]], [[ o.address_issued_id.state_id and o.address_issued_id.state_id.name or '' ]] a</para> |
1782 | <para style="Table Contents">[[ o.date_invoice_tz or '' ]]</para> |
1783 | <para style="Table Contents">Serie: [[ get_approval() and get_approval().serie or '' ]]</para> |
1784 | <para style="Table Contents">Aprobación: [[ get_approval() and get_approval().approval_number or '' ]]</para> |
1785 | @@ -186,7 +183,7 @@ |
1786 | <blockTable colWidths="249.0,249.0" style="Tabla2"> |
1787 | <tr> |
1788 | <td> |
1789 | - <para style="P7">Receptor</para> |
1790 | + <para style="P9">Receptor</para> |
1791 | <para style="Table Contents"><font face="Helvetica">Nombre: </font>[[ o.partner_id.name ]]</para> |
1792 | <para style="terp_default_8"><font face="Helvetica">Dirección:</font> [[ o.address_invoice_id.street ]] Nro. Ext: [[ o.address_invoice_id.street3 ]] Int: [[ o.address_invoice_id.street4 ]]</para> |
1793 | <para style="terp_default_8"><font face="Helvetica">Colonia:</font> [[ o.address_invoice_id.street2 or '' ]]</para> |
1794 | @@ -194,47 +191,47 @@ |
1795 | <para style="terp_default_8"><font face="Helvetica">Localidad: </font>[[ o.address_invoice_id.city2 or '' ]]</para> |
1796 | <para style="terp_default_8"><font face="Helvetica">C.P.:</font> [[ o.address_invoice_id.zip or '' ]] </para> |
1797 | <para style="terp_default_8"><font face="Helvetica">R. F. C. :</font> [[ o.partner_id._columns.has_key('vat_split') and o.partner_id.vat_split or o.partner_id.vat ]]</para> |
1798 | - <para style="P25">Teléfono(s): </para> |
1799 | - <para style="P19">[[ o.address_invoice_id.phone or removeParentNode('para') ]]</para> |
1800 | - <para style="P19">[[ o.address_invoice_id.fax or removeParentNode('para') ]]</para> |
1801 | - <para style="P19">[[ o.address_invoice_id.mobile or removeParentNode('para') ]]</para> |
1802 | + <para style="P29">Teléfono(s): </para> |
1803 | + <para style="P23">[[ o.address_invoice_id.phone or removeParentNode('para') ]]</para> |
1804 | + <para style="P23">[[ o.address_invoice_id.fax or removeParentNode('para') ]]</para> |
1805 | + <para style="P23">[[ o.address_invoice_id.mobile or removeParentNode('para') ]]</para> |
1806 | </td> |
1807 | <td> |
1808 | <para style="Table Contents">Condición de pago: [[ format(o.payment_term and (o.payment_term.note or o.payment_term.name) or removeParentNode('para') ) ]]</para> |
1809 | <para style="P3">Origen: [[ o.origin or removeParentNode('para') ]]</para> |
1810 | <para style="P3">Expedido en:</para> |
1811 | - <para style="P3">[[ subcompany_address()['name'] or o.company_id.partner_id.name ]]</para> |
1812 | - <para style="P3">Calle: [[ subcompany_address()['street'] or '' ]] Nro. Ext: [[ subcompany_address()['street3'] or '' ]] Int: [[ subcompany_address()['street4'] or '' ]]</para> |
1813 | - <para style="P3">Colonia: [[ subcompany_address()['street2'] or '' ]]</para> |
1814 | - <para style="P3">Ciudad: [[ subcompany_address()['city'] or '' ]]</para> |
1815 | - <para style="P3">Localidad: [[ subcompany_address()['city2'] or '' ]]</para> |
1816 | - <para style="P3">Estado: [[ subcompany_address()['state_id'] and subcompany_address()['state_id']['name'] or '' ]]</para> |
1817 | - <para style="P3">CP: [[ subcompany_address()['zip'] or '' ]] </para> |
1818 | + <para style="P3">[[ o. address_issued_id and o.address_issued_id.name or '' ]]</para> |
1819 | + <para style="P3">Calle: [[ o.address_issued_id.street or '' ]] Nro. Ext: [[ o.address_issued_id.street3 or '' ]] Int: [[ o.address_issued_id.street4 or '' ]]</para> |
1820 | + <para style="P3">Colonia: [[ o.address_issued_id.street2 or '' ]]</para> |
1821 | + <para style="P3">Ciudad: [[ o.address_issued_id.city or '' ]]</para> |
1822 | + <para style="P3">Localidad: [[ o.address_issued_id.city2 or '' ]]</para> |
1823 | + <para style="P3">Estado: [[ o.address_issued_id.state_id and o.address_issued_id.state_id.name or '' ]]</para> |
1824 | + <para style="P3">CP: [[ o.address_issued_id.zip or '' ]] </para> |
1825 | </td> |
1826 | </tr> |
1827 | </blockTable> |
1828 | <blockTable colWidths="50.0,39.0,168.0,53.0,57.0,49.0,89.0" style="Tabla3"> |
1829 | <tr> |
1830 | <td> |
1831 | - <para style="P7">Cantidad</para> |
1832 | - </td> |
1833 | - <td> |
1834 | - <para style="P7">Unidad</para> |
1835 | - </td> |
1836 | - <td> |
1837 | - <para style="P7">Descripción</para> |
1838 | - </td> |
1839 | - <td> |
1840 | - <para style="P7">Clave</para> |
1841 | - </td> |
1842 | - <td> |
1843 | - <para style="P8">P.Unitario</para> |
1844 | - </td> |
1845 | - <td> |
1846 | - <para style="P8">Dto %</para> |
1847 | - </td> |
1848 | - <td> |
1849 | - <para style="P8">Importe</para> |
1850 | + <para style="P9">Cantidad</para> |
1851 | + </td> |
1852 | + <td> |
1853 | + <para style="P9">Unidad</para> |
1854 | + </td> |
1855 | + <td> |
1856 | + <para style="P9">Descripción</para> |
1857 | + </td> |
1858 | + <td> |
1859 | + <para style="P9">Clave</para> |
1860 | + </td> |
1861 | + <td> |
1862 | + <para style="P10">P.Unitario</para> |
1863 | + </td> |
1864 | + <td> |
1865 | + <para style="P10">Dto %</para> |
1866 | + </td> |
1867 | + <td> |
1868 | + <para style="P10">Importe</para> |
1869 | </td> |
1870 | </tr> |
1871 | <tr> |
1872 | @@ -265,7 +262,7 @@ |
1873 | <blockTable colWidths="414.0,91.0" style="Tabla7"> |
1874 | <tr> |
1875 | <td> |
1876 | - <para style="P8">Suma $</para> |
1877 | + <para style="P10">Suma $</para> |
1878 | </td> |
1879 | <td> |
1880 | <para style="P1">[[formatLang( ( exists_key('global_discount_percent') and o.global_discount_amount or 0.0 ) + (o.amount_untaxed or 0.0), digits=get_digits(dp='Account') )]]</para> |
1881 | @@ -273,7 +270,7 @@ |
1882 | </tr> |
1883 | <tr> |
1884 | <td> |
1885 | - <para style="P8">Descuento: [[ exists_key('global_discount_percent') and o.global_discount_percent or removeParentNode('tr')]] %</para> |
1886 | + <para style="P10">Descuento: [[ exists_key('global_discount_percent') and o.global_discount_percent or removeParentNode('tr')]] %</para> |
1887 | </td> |
1888 | <td> |
1889 | <para style="P1">[[o.global_discount_amount and formatLang( o.global_discount_amount) or '']]</para> |
1890 | @@ -281,7 +278,7 @@ |
1891 | </tr> |
1892 | <tr> |
1893 | <td> |
1894 | - <para style="P8">Sub Total $</para> |
1895 | + <para style="P10">Sub Total $</para> |
1896 | </td> |
1897 | <td> |
1898 | <para style="P1">[[ formatLang(o.amount_untaxed) ]]</para> |
1899 | @@ -289,7 +286,7 @@ |
1900 | </tr> |
1901 | <tr> |
1902 | <td> |
1903 | - <para style="P8"> |
1904 | + <para style="P10"> |
1905 | <font face="Helvetica" size="6.0">[[ repeatIn( get_taxes(), 'tax' ) ]]</font> |
1906 | <font face="Helvetica">[[ tax['name2'] ]] ([[ round( float( tax['tax_percent'] ) ) or '0.0' ]]%) $</font> |
1907 | </para> |
1908 | @@ -300,7 +297,7 @@ |
1909 | </tr> |
1910 | <tr> |
1911 | <td> |
1912 | - <para style="P8"> |
1913 | + <para style="P10"> |
1914 | <font face="Helvetica" size="6.0">[[ repeatIn( get_taxes_ret(), 'tax_ret' ) ]]</font> |
1915 | <font face="Helvetica">[[ tax_ret['name2'] ]] Ret ([[ round( float( tax_ret['tax_percent'] ),2 )*-1 ]]%) $</font> |
1916 | </para> |
1917 | @@ -311,7 +308,7 @@ |
1918 | </tr> |
1919 | <tr> |
1920 | <td> |
1921 | - <para style="P8">Total $</para> |
1922 | + <para style="P10">Total $</para> |
1923 | </td> |
1924 | <td> |
1925 | <para style="P1">[[ formatLang(o.amount_total) ]]</para> |
1926 | @@ -319,8 +316,8 @@ |
1927 | </tr> |
1928 | <tr> |
1929 | <td> |
1930 | - <para style="P15">IMPORTE CON LETRA:</para> |
1931 | - <para style="P13">[[ o.amount_to_text ]]</para> |
1932 | + <para style="P17">IMPORTE CON LETRA:</para> |
1933 | + <para style="P15">[[ o.amount_to_text ]]</para> |
1934 | </td> |
1935 | <td> |
1936 | <para style="P1"> |
1937 | @@ -329,75 +326,78 @@ |
1938 | </td> |
1939 | </tr> |
1940 | </blockTable> |
1941 | - <para style="P12">PAGO EN UNA SOLA EXHIBICIÓN</para> |
1942 | - <para style="P12"> |
1943 | + <para style="P14">PAGO EN UNA SOLA EXHIBICIÓN</para> |
1944 | + <para style="P14"> |
1945 | <font color="white"> </font> |
1946 | </para> |
1947 | - <para style="P12">“Este documento es una representacion impresa de un CFDI” </para> |
1948 | - <para style="P12">CFDI, Comprobante Fiscal Digital por Internet</para> |
1949 | + <para style="P14">“Este documento es una representacion impresa de un CFDI” </para> |
1950 | + <para style="P14">CFDI, Comprobante Fiscal Digital por Internet</para> |
1951 | <para style="terp_default_9"> |
1952 | <font color="white"> </font> |
1953 | </para> |
1954 | <blockTable colWidths="133.0,94.0,102.0,170.0" style="Tabla5"> |
1955 | <tr> |
1956 | <td> |
1957 | - <para style="P12">Certificado del emisor</para> |
1958 | - </td> |
1959 | - <td> |
1960 | - <para style="P16">Certificado del SAT</para> |
1961 | - </td> |
1962 | - <td> |
1963 | - <para style="P16">Fecha de Timbrado</para> |
1964 | - </td> |
1965 | - <td> |
1966 | - <para style="P16">Folio Fiscal</para> |
1967 | - </td> |
1968 | - </tr> |
1969 | - <tr> |
1970 | - <td> |
1971 | - <para style="P17">[[ o.no_certificado or '' ]]</para> |
1972 | - </td> |
1973 | - <td> |
1974 | - <para style="P17">[[ o.cfdi_no_certificado or '' ]]</para> |
1975 | - </td> |
1976 | - <td> |
1977 | - <para style="P17">[[ o.cfdi_fecha_timbrado or '' ]]</para> |
1978 | - </td> |
1979 | - <td> |
1980 | - <para style="P17">[[ o.cfdi_folio_fiscal or '' ]]</para> |
1981 | - </td> |
1982 | - </tr> |
1983 | - </blockTable> |
1984 | - <blockTable colWidths="155.0,174.0,170.0" style="Table1"> |
1985 | - <tr> |
1986 | - <td> |
1987 | - <para style="P10_enc">Régimen Fiscal:</para> |
1988 | - <para style="P11_txt">[[o.company_id.partner_id.regimen_fiscal_id and o.company_id.partner_id.regimen_fiscal_id.name or 'No identificado']]</para> |
1989 | - </td> |
1990 | - <td> |
1991 | - <para style="P10_enc">Método de Pago: </para> |
1992 | - <para style="P11_txt">[[o.pay_method_id.name or 'No identificado']]</para> |
1993 | - </td> |
1994 | - <td> |
1995 | - <para style="P10_enc">Últimos 4 dígitos de la cuenta bancaria:</para> |
1996 | - <para style="P11_txt">[[o.acc_payment.last_acc_number or 'No identificado']]</para> |
1997 | - </td> |
1998 | - </tr> |
1999 | - </blockTable> |
2000 | + <para style="P14">Certificado del emisor</para> |
2001 | + </td> |
2002 | + <td> |
2003 | + <para style="P18">Certificado del SAT</para> |
2004 | + </td> |
2005 | + <td> |
2006 | + <para style="P18">Fecha de Timbrado</para> |
2007 | + </td> |
2008 | + <td> |
2009 | + <para style="P18">Folio Fiscal</para> |
2010 | + </td> |
2011 | + </tr> |
2012 | + <tr> |
2013 | + <td> |
2014 | + <para style="P19">[[ o.no_certificado or '' ]]</para> |
2015 | + </td> |
2016 | + <td> |
2017 | + <para style="P19">[[ o.cfdi_no_certificado or '' ]]</para> |
2018 | + </td> |
2019 | + <td> |
2020 | + <para style="P19">[[ o.cfdi_fecha_timbrado or '' ]]</para> |
2021 | + </td> |
2022 | + <td> |
2023 | + <para style="P19">[[ o.cfdi_folio_fiscal or '' ]]</para> |
2024 | + </td> |
2025 | + </tr> |
2026 | + </blockTable> |
2027 | + <blockTable colWidths="159.0,170.0,170.0" style="Table1"> |
2028 | + <tr> |
2029 | + <td> |
2030 | + <para style="P8">Régimen Fiscal:</para> |
2031 | + <para style="P7">[[o.company_emitter_id.partner_id.regimen_fiscal_id and o.company_emitter_id.partner_id.regimen_fiscal_id.name or 'No identificado']]</para> |
2032 | + </td> |
2033 | + <td> |
2034 | + <para style="P8">Método de Pago:</para> |
2035 | + <para style="P7">[[o.pay_method_id.name or 'No identificado']]</para> |
2036 | + </td> |
2037 | + <td> |
2038 | + <para style="P8">Últimos 4 dígitos de la cuenta bancaria:</para> |
2039 | + <para style="P7">[[o.acc_payment.last_acc_number or 'No identificado']]</para> |
2040 | + </td> |
2041 | + </tr> |
2042 | + </blockTable> |
2043 | + <para style="P21"> |
2044 | + <font color="white"> </font> |
2045 | + </para> |
2046 | <blockTable colWidths="100.0,282.0,117.0" style="Tabla4"> |
2047 | <tr> |
2048 | <td> |
2049 | - <para style="P2">[[ o.company_id.cif_file and setTag('para','image',{'width':'98.0','height':'161.0'}) ]] [[ o.company_id.cif_file ]]</para> |
2050 | + <para style="P2">[[ o.company_emitter_id.cif_file and setTag('para','image',{'width':'98.0','height':'161.0'}) ]] [[ o.company_emitter_id.cif_file ]]</para> |
2051 | </td> |
2052 | <td> |
2053 | - <para style="P12">Sello Digital Emisor:</para> |
2054 | - <para style="P14">[[ split_string( o.sello or '') ]]</para> |
2055 | - <para style="P14"> |
2056 | + <para style="P14">Sello Digital Emisor:</para> |
2057 | + <para style="P16">[[ split_string( o.sello or '') ]]</para> |
2058 | + <para style="P16"> |
2059 | <font color="white"> </font> |
2060 | </para> |
2061 | - <para style="P12">Sello Digital SAT:</para> |
2062 | - <para style="P14">[[ split_string( o.cfdi_sello or '') ]]</para> |
2063 | - <para style="P14"> |
2064 | + <para style="P14">Sello Digital SAT:</para> |
2065 | + <para style="P16">[[ split_string( o.cfdi_sello or '') ]]</para> |
2066 | + <para style="P16"> |
2067 | <font color="white"> </font> |
2068 | </para> |
2069 | </td> |
2070 | @@ -406,8 +406,8 @@ |
2071 | </td> |
2072 | </tr> |
2073 | </blockTable> |
2074 | - <para style="P12">Cadena Original del complemento de certificación digital del SAT:</para> |
2075 | - <para style="P29">[[ split_string( o.cfdi_cadena_original or '' ) ]]</para> |
2076 | + <para style="P14">Cadena Original del complemento de certificación digital del SAT:</para> |
2077 | + <para style="P20">[[ split_string( o.cfdi_cadena_original or '' ) ]]</para> |
2078 | <para style="P5"> |
2079 | <font color="white"> </font> |
2080 | </para> |
2081 | |
2082 | === modified file 'l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.sxw' |
2083 | Binary files l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.sxw 2012-09-08 04:35:43 +0000 and l10n_mx_facturae_pac_sf/report/invoice_facturae_pac_sf_pdf.sxw 2013-01-16 20:14:21 +0000 differ |
2084 | === modified file 'l10n_mx_facturae_seq/__openerp__.py' |
2085 | --- l10n_mx_facturae_seq/__openerp__.py 2012-08-30 21:55:10 +0000 |
2086 | +++ l10n_mx_facturae_seq/__openerp__.py 2013-01-16 20:14:21 +0000 |
2087 | @@ -36,6 +36,7 @@ |
2088 | "license" : "AGPL-3", |
2089 | "depends" : [ |
2090 | "account", |
2091 | + "l10n_mx_company_multi_address", |
2092 | ], |
2093 | "init_xml" : [], |
2094 | "demo_xml" : [], |
2095 | |
2096 | === modified file 'l10n_mx_facturae_seq/invoice.py' |
2097 | --- l10n_mx_facturae_seq/invoice.py 2012-02-24 00:42:55 +0000 |
2098 | +++ l10n_mx_facturae_seq/invoice.py 2013-01-16 20:14:21 +0000 |
2099 | @@ -39,7 +39,7 @@ |
2100 | res = {} |
2101 | for invoice in self.browse(cr, uid, ids): |
2102 | sequence_id = False |
2103 | - company = invoice.company_id |
2104 | + company = invoice.company_emitter_id |
2105 | while True: |
2106 | if invoice.type == 'out_invoice': |
2107 | if company._columns.has_key('invoice_out_sequence_id'): |