Merge lp:~vauxoo/openerp-venezuela-localization/miguel-Bug917888 into lp:~openerp-venezuela/openerp-venezuela-localization/6.0-trunk
- miguel-Bug917888
- Merge into 6.0-trunk
Proposed by
Miguel Delgado (Vauxoo)
Status: | Superseded |
---|---|
Proposed branch: | lp:~vauxoo/openerp-venezuela-localization/miguel-Bug917888 |
Merge into: | lp:~openerp-venezuela/openerp-venezuela-localization/6.0-trunk |
Diff against target: |
474 lines (+158/-175) (has conflicts) 7 files modified
l10n_ve_fiscal_requirements/installer.py (+2/-1) l10n_ve_fiscal_requirements/partner.py (+8/-45) l10n_ve_fiscal_requirements/seniat_url.py (+121/-2) l10n_ve_fiscal_requirements/view/partner_view.xml (+0/-1) l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.py (+18/-98) l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.xml (+7/-27) l10n_ve_fiscal_requirements/wizard/update_info_partner.py (+2/-1) Text conflict in l10n_ve_fiscal_requirements/partner.py |
To merge this branch: | bzr merge lp:~vauxoo/openerp-venezuela-localization/miguel-Bug917888 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Gabriela Quilarque | Needs Fixing | ||
Review via email:
|
This proposal has been superseded by a proposal from 2012-01-26.
Commit message
Description of the change
fix Bug 917888
To post a comment you must log in.
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gabriela Quilarque (gabrielaquilarque97) wrote : | # |
review:
Needs Fixing
- 544. By Miguel Delgado (Vauxoo)
-
[FIX] solve conflicts in merge
Unmerged revisions
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'l10n_ve_fiscal_requirements/installer.py' |
2 | --- l10n_ve_fiscal_requirements/installer.py 2012-01-05 19:15:59 +0000 |
3 | +++ l10n_ve_fiscal_requirements/installer.py 2012-01-24 14:29:45 +0000 |
4 | @@ -36,7 +36,8 @@ |
5 | |
6 | def onchange_update_rif(self, cr, uid, ids, vat): |
7 | context = {'exec_wizard': True, 'vat': vat} |
8 | - partner_info = self.pool.get('res.partner').update_rif(cr, uid, ids, context) |
9 | + |
10 | + partner_info = self.pool.get('seniat.url').update_rif(cr, uid, ids, context) |
11 | v = {'name': partner_info.get('name'), 'vat_apply': partner_info.get('vat_apply')} |
12 | return {'value': v} |
13 | |
14 | |
15 | === modified file 'l10n_ve_fiscal_requirements/partner.py' |
16 | --- l10n_ve_fiscal_requirements/partner.py 2012-01-19 14:04:28 +0000 |
17 | +++ l10n_ve_fiscal_requirements/partner.py 2012-01-24 14:29:45 +0000 |
18 | @@ -32,9 +32,6 @@ |
19 | |
20 | from osv import fields, osv |
21 | from tools.translate import _ |
22 | -import urllib |
23 | -from xml.dom.minidom import parseString |
24 | -import netsvc |
25 | |
26 | class res_partner_address(osv.osv): |
27 | _inherit='res.partner.address' |
28 | @@ -64,8 +61,7 @@ |
29 | |
30 | class res_partner(osv.osv): |
31 | _inherit = 'res.partner' |
32 | - logger = netsvc.Logger() |
33 | - |
34 | + |
35 | _columns = { |
36 | 'vat_apply': fields.boolean('Vat Apply', help="This field indicate if partner is subject to vat apply "), |
37 | 'seniat_updated': fields.boolean('Seniat Updated', help="This field indicates if partner was updated using SENIAT button"), |
38 | @@ -111,6 +107,8 @@ |
39 | return True |
40 | |
41 | current_vat = current_partner['vat'] |
42 | + if current_vat.strip()=='': |
43 | + return True |
44 | duplicates = partner_obj.read(cr, uid, partner_obj.search(cr, uid, [('vat', '=', current_vat)]), ['vat']) |
45 | |
46 | return not current_vat in [p['vat'] for p in duplicates if p['id'] != current_partner['id']] |
47 | @@ -149,6 +147,7 @@ |
48 | return False |
49 | return True |
50 | |
51 | +<<<<<<< TREE |
52 | # Update Partner Information |
53 | |
54 | def _load_url(self,retries,url): |
55 | @@ -210,48 +209,12 @@ |
56 | def _update_partner(self, cr, uid, id, context=None): |
57 | self.write(cr, uid, id, {'seniat_updated': True}) |
58 | |
59 | +======= |
60 | +>>>>>>> MERGE-SOURCE |
61 | def update_rif(self, cr, uid, ids, context={}): |
62 | - pool = self.pool.get('seniat.url') |
63 | - url_obj = pool.browse(cr, uid, pool.search(cr, uid, []))[0] |
64 | - url1 = url_obj.name + '%s' |
65 | - url2 = url_obj.url_seniat + '%s' |
66 | - if context.get('exec_wizard'): |
67 | - res = self._dom_giver(url1, url2, context, context['vat']) |
68 | - if res: |
69 | - self._update_partner(cr, uid, ids, context) |
70 | - return res |
71 | - else: |
72 | - return False |
73 | - for partner in self.browse(cr,uid,ids): |
74 | - if partner.vat: |
75 | - vat_country, vat_number = self._split_vat(partner.vat) |
76 | - if vat_country.upper() == 'VE': |
77 | - xml_data = self._load_url(3,url1 %partner.vat[2:]) |
78 | - if not self._eval_seniat_data(xml_data,context): |
79 | - dom = parseString(xml_data) |
80 | - res = self.write(cr,uid,partner.id,self._parse_dom(dom,partner.vat[2:],url2)) |
81 | - if res: |
82 | - self._update_partner(cr, uid, partner.id, context) |
83 | - else: |
84 | - return False |
85 | - else: |
86 | - if partner.address: |
87 | - invoices_addr_country = [i.country_id and i.country_id.code or False for i in partner.address if i.type == 'invoice'] |
88 | - if invoices_addr_country: |
89 | - country = [j for j in invoices_addr_country if j] |
90 | - if country and 'VE' in country and not context.get('all_rif',False): |
91 | - self._print_error(_('Vat Error !'),_('The field vat is empty')) |
92 | - else: |
93 | - |
94 | - pass |
95 | - |
96 | - return True |
97 | - |
98 | - def connect_seniat(self, cr, uid, ids, context={}, all_rif=False): |
99 | + su_obj = self.pool.get('seniat.url') |
100 | ctx = context.copy() |
101 | - if all_rif: |
102 | - ctx.update({'all_rif': True}) |
103 | - self.update_rif(cr, uid, ids, context=ctx) |
104 | + su_obj.connect_seniat(cr, uid, ids, context=ctx) |
105 | return True |
106 | |
107 | res_partner() |
108 | |
109 | === modified file 'l10n_ve_fiscal_requirements/seniat_url.py' |
110 | --- l10n_ve_fiscal_requirements/seniat_url.py 2011-10-25 20:33:16 +0000 |
111 | +++ l10n_ve_fiscal_requirements/seniat_url.py 2012-01-24 14:29:45 +0000 |
112 | @@ -27,16 +27,135 @@ |
113 | import tools |
114 | from tools.translate import _ |
115 | from tools import config |
116 | +import urllib |
117 | +from xml.dom.minidom import parseString |
118 | +import netsvc |
119 | |
120 | class seniat_url(osv.osv): |
121 | """ |
122 | OpenERP Model : seniat_url |
123 | """ |
124 | - |
125 | + logger = netsvc.Logger() |
126 | _name = 'seniat.url' |
127 | _description = __doc__ |
128 | _columns = { |
129 | - 'name':fields.char('URL Seniat for Partner Information',size=64, required=True, readonly=False,help='In this field enter the URL from Seniat for search the fiscal information from partner'), |
130 | + 'name':fields.char('URL Seniat for Partner Information',size=64, required=True, readonly=False,help='In this field enter the URL from Seniat for search the fiscal information from partner'), |
131 | 'url_seniat':fields.char('URL Seniat for Retention Rate',size=64, required=True, readonly=False,help='In this field enter the URL from Seniat for search the retention rate from partner'), |
132 | } |
133 | + |
134 | + # Update Partner Information |
135 | + |
136 | + def _load_url(self,retries,url): |
137 | + str_error= '404 Not Found' |
138 | + while retries > 0: |
139 | + try: |
140 | + s = urllib.urlopen(url) |
141 | + r = s.read() |
142 | + ok = not('404 Not Found' in r) |
143 | + if ok: |
144 | + self.logger.notifyChannel("info", netsvc.LOG_INFO, |
145 | + "Url Loaded correctly %s" % url) |
146 | + return r |
147 | + except: |
148 | + self.logger.notifyChannel("warning", netsvc.LOG_WARNING, |
149 | + "Url could not be loaded %s" % str_error) |
150 | + pass |
151 | + retries -= 1 |
152 | + return str_error |
153 | + |
154 | + def _parse_dom(self,dom,rif,url_seniat): |
155 | + name = dom.childNodes[0].childNodes[0].firstChild.data |
156 | + vat_subjected = dom.childNodes[0].childNodes[1].firstChild.data.upper()=='SI' and True or False |
157 | + vat_apply = dom.childNodes[0].childNodes[2].firstChild.data.upper()=='SI' and True or False |
158 | + self.logger.notifyChannel("info", netsvc.LOG_INFO, |
159 | + "RIF: %s Found" % rif) |
160 | + if name.count('(') > 0: |
161 | + name = name[:name.index('(')].rstrip() |
162 | + res= {'name': name,'vat_apply': vat_apply,'vat_subjected': vat_subjected } |
163 | + return res |
164 | + |
165 | + def _print_error(self, error, msg): |
166 | + raise osv.except_osv(error,msg) |
167 | + |
168 | + def _eval_seniat_data(self,xml_data,context={}): |
169 | + if context is None: |
170 | + context={} |
171 | + if not context.get('all_rif'): |
172 | + if xml_data.find('450')>=0: |
173 | + if not 'all_rif' in context: |
174 | + self._print_error(_('Vat Error !'),_('Invalid VAT!')) |
175 | + else: |
176 | + return True |
177 | + |
178 | + if xml_data.find('452')>=0: |
179 | + if not 'all_rif' in context: |
180 | + self._print_error(_('Vat Error !'),_('Unregistered VAT!')) |
181 | + else: |
182 | + return True |
183 | + |
184 | + if xml_data.find("404")>=0: |
185 | + self._print_error(_('No Connection !'),_("Could not connect! Check the URL ")) |
186 | + return True |
187 | + else: |
188 | + return True |
189 | + |
190 | + def _dom_giver(self, url1, url2, context, vat): |
191 | + xml_data = self._load_url(3,url1 % vat) |
192 | + if not self._eval_seniat_data(xml_data,context): |
193 | + dom = parseString(xml_data) |
194 | + return self._parse_dom(dom, vat, url2) |
195 | + else: |
196 | + return False |
197 | + |
198 | + def _update_partner(self, cr, uid, id, context=None): |
199 | + rp_obj = self.pool.get('res.partner') |
200 | + rp_obj.write(cr, uid, id, {'seniat_updated': True}) |
201 | + |
202 | + def update_rif(self, cr, uid, ids, context={}): |
203 | + aux=0 |
204 | + rp_obj = self.pool.get('res.partner') |
205 | + url_obj = self.browse(cr, uid, self.search(cr, uid, []))[0] |
206 | + url1 = url_obj.name + '%s' |
207 | + url2 = url_obj.url_seniat + '%s' |
208 | + if context.get('exec_wizard'): |
209 | + res = self._dom_giver(url1, url2, context, context['vat']) |
210 | + if res: |
211 | + self._update_partner(cr, uid, ids, context) |
212 | + return res |
213 | + else: |
214 | + return False |
215 | + for partner in rp_obj.browse(cr,uid,ids): |
216 | + aux+=1 |
217 | + if partner.vat: |
218 | + vat_country, vat_number = rp_obj._split_vat(partner.vat) |
219 | + if vat_country.upper() == 'VE': |
220 | + print 'partner.vat[2:]',partner.vat[2:] |
221 | + if len(partner.vat[2:])==10: |
222 | + xml_data = self._load_url(3,url1 %partner.vat[2:]) |
223 | + if not self._eval_seniat_data(xml_data,context): |
224 | + dom = parseString(xml_data) |
225 | + res = rp_obj.write(cr,uid,partner.id,self._parse_dom(dom,partner.vat[2:],url2)) |
226 | + if res: |
227 | + self._update_partner(cr, uid, partner.id, context) |
228 | + else: |
229 | + if not context.get('all_rif'): |
230 | + return False |
231 | + else: |
232 | + return False |
233 | + else: |
234 | + if partner.address: |
235 | + invoices_addr_country = [i.country_id and i.country_id.code or False for i in partner.address if i.type == 'invoice'] |
236 | + if invoices_addr_country: |
237 | + country = [j for j in invoices_addr_country if j] |
238 | + if country and 'VE' in country and not context.get('all_rif',False): |
239 | + self._print_error(_('Vat Error !'),_('The field vat is empty')) |
240 | + return True |
241 | + |
242 | + def connect_seniat(self, cr, uid, ids, context={}, all_rif=False): |
243 | + ctx = context.copy() |
244 | + if all_rif: |
245 | + ctx.update({'all_rif': True}) |
246 | + self.update_rif(cr, uid, ids, context=ctx) |
247 | + return True |
248 | + |
249 | seniat_url() |
250 | |
251 | === modified file 'l10n_ve_fiscal_requirements/view/partner_view.xml' |
252 | --- l10n_ve_fiscal_requirements/view/partner_view.xml 2011-11-03 19:16:11 +0000 |
253 | +++ l10n_ve_fiscal_requirements/view/partner_view.xml 2012-01-24 14:29:45 +0000 |
254 | @@ -37,6 +37,5 @@ |
255 | </field> |
256 | </field> |
257 | </record> |
258 | - |
259 | </data> |
260 | </openerp> |
261 | |
262 | === modified file 'l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.py' |
263 | --- l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.py 2012-01-18 15:34:02 +0000 |
264 | +++ l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.py 2012-01-24 14:29:45 +0000 |
265 | @@ -24,77 +24,22 @@ |
266 | import pooler |
267 | from osv import osv, fields |
268 | from tools.translate import _ |
269 | -import urllib |
270 | -from xml.dom.minidom import parseString |
271 | -import netsvc |
272 | |
273 | class search_info_partner_seniat(osv.osv_memory): |
274 | |
275 | _name = "search.info.partner.seniat" |
276 | _columns = { |
277 | - 'name':fields.char('Numero de RIF', size=64, help='El RIF debe poseer el formato J1234567890',required=True), |
278 | - 'vat_name':fields.char('Empresa / Persona', size=256, help='Nombre de la Empresa'), |
279 | - 'vat_agent':fields.boolean('Agente de Retencion', help='Es Agente de Retencion'), |
280 | + 'vat':fields.char('Numero de RIF', size=64, help='El RIF debe poseer el formato J1234567890',required=True), |
281 | + 'name':fields.char('Empresa / Persona', size=256, help='Nombre de la Empresa'), |
282 | + 'vat_subjected':fields.boolean('Agente de Retencion', help='Es Agente de Retencion'), |
283 | 'percent':fields.float('Porcentaje de Retencion', help='Porcentaje de Retencion Aplicable'), |
284 | 'vat_apply':fields.boolean('Contribuyente Formal', help='Es Contribuyente'), |
285 | } |
286 | |
287 | - logger = netsvc.Logger() |
288 | - |
289 | - def _load_url(self,retries,url): |
290 | - str_error= '404 Not Found' |
291 | - while retries > 0: |
292 | - try: |
293 | - s = urllib.urlopen(url) |
294 | - r = s.read() |
295 | - ok = not('404 Not Found' in r) |
296 | - if ok: |
297 | - self.logger.notifyChannel("info", netsvc.LOG_INFO, |
298 | - "Url Loaded correctly %s" % url) |
299 | - return r |
300 | - except: |
301 | - self.logger.notifyChannel("warning", netsvc.LOG_WARNING, |
302 | - "Url could not be loaded %s" % str_error) |
303 | - pass |
304 | - retries -= 1 |
305 | - return str_error |
306 | - |
307 | - def _print_error(self, error, msg): |
308 | - raise osv.except_osv(error,msg) |
309 | - |
310 | - def _eval_seniat_data(self,xml_data,context={}): |
311 | - |
312 | - if xml_data.find('450')>=0: |
313 | - if not 'all_rif' in context: |
314 | - self._print_error(_('Vat Error !'),_('Invalid VAT!')) |
315 | - else: |
316 | - return True |
317 | - |
318 | - if xml_data.find('452')>=0: |
319 | - if not 'all_rif' in context: |
320 | - self._print_error(_('Vat Error !'),_('Unregistered VAT!')) |
321 | - else: |
322 | - return True |
323 | - |
324 | - if xml_data.find("404")>=0: |
325 | - self._print_error(_('No Connection !'),_("Could not connect! Check the URL ")) |
326 | - return True |
327 | - |
328 | - def _parse_dom(self,dom,rif,url_seniat): |
329 | - name = dom.childNodes[0].childNodes[0].firstChild.data |
330 | - vat_agent = dom.childNodes[0].childNodes[1].firstChild.data.upper()=='SI' and True or False |
331 | - vat_apply = dom.childNodes[0].childNodes[2].firstChild.data.upper()=='SI' and True or False |
332 | - self.logger.notifyChannel("info", netsvc.LOG_INFO, |
333 | - "RIF: %s Found" % rif) |
334 | - if name.count('(') > 0: |
335 | - name = name[:name.index('(')].rstrip() |
336 | - return {'vat_name': name,'vat_apply': vat_apply, 'vat_agent':vat_agent} |
337 | - |
338 | def _buscar_porcentaje(self,rif,url): |
339 | context={} |
340 | - html_data = self._load_url(3,url %rif) |
341 | + html_data = self.pool.get('seniat.url')._load_url(3,url %rif) |
342 | html_data = unicode(html_data, 'ISO-8859-1').encode('utf-8') |
343 | - self._eval_seniat_data(html_data,context) |
344 | search_str='La condición de este contribuyente requiere la retención del ' |
345 | pos = html_data.find(search_str) |
346 | if pos > 0: |
347 | @@ -103,47 +48,22 @@ |
348 | return float(pct) |
349 | else: |
350 | return 0.0 |
351 | - |
352 | - def _dom_giver(self, url1, url2, context, vat): |
353 | - xml_data = self._load_url(3,url1 % vat) |
354 | - if not self._eval_seniat_data(xml_data,context): |
355 | - dom = parseString(xml_data) |
356 | - return self._parse_dom(dom, vat, url2) |
357 | - else: |
358 | - return False |
359 | |
360 | def search_partner_seniat(self, cr, uid, vat, context=None): |
361 | - pool = self.pool.get('seniat.url') |
362 | - var_vat = self.read(cr,uid,vat,['name']) |
363 | - context.update({'vat':var_vat and var_vat[0] and var_vat[0]['name'] or []}) |
364 | - if not context['vat']: |
365 | - self._print_error(_('Vat Error !'),_('The field vat is empty')) |
366 | - else: |
367 | - url_obj = pool.browse(cr, uid, pool.search(cr, uid, []))[0] |
368 | - url1 = url_obj.name + '%s' |
369 | - url2 = url_obj.url_seniat + '%s' |
370 | - res = self._dom_giver(url1, url2, context, context['vat']) |
371 | - if res: |
372 | - percent = self._buscar_porcentaje(context['vat'],url2) |
373 | - res.update({'percent':percent, 'name':var_vat[0]['name']}) |
374 | - context.update(res) |
375 | - self.write(cr,uid,vat,res) |
376 | - else: |
377 | - return False |
378 | - res_id = self.pool.get('ir.model.data').search(cr,uid,[('model','=','ir.ui.view'),('name','=','view_vat_return')]) |
379 | - resource_id = self.pool.get('ir.model.data').read(cr, uid, res_id, fields=['res_id'])[0]['res_id'] |
380 | + if context is None: |
381 | + context={} |
382 | + su_obj = self.pool.get('seniat.url') |
383 | + rp_obj = self.pool.get('res.partner') |
384 | + url_obj = su_obj.browse(cr, uid, su_obj.search(cr, uid, []))[0] |
385 | + url1 = url_obj.name + '%s' |
386 | + url2 = url_obj.url_seniat + '%s' |
387 | + var_vat = self.read(cr,uid,vat,['vat']) |
388 | + if var_vat: |
389 | + aux = var_vat[0]['vat'] |
390 | + res = su_obj._dom_giver(url1, url2, context, aux) |
391 | + res.update({'percent':self._buscar_porcentaje(aux,url2)}) |
392 | + self.write(cr,uid,vat,res) |
393 | |
394 | - return { |
395 | - 'view_type': 'form', |
396 | - 'view_mode': 'form', |
397 | - 'res_model': 'search.info.partner.seniat', |
398 | - 'views': [(resource_id,'form')], #Comentar en caso de que no funcione |
399 | - 'type': 'ir.actions.act_window', |
400 | - 'nodestroy': True, |
401 | - 'target': 'new', |
402 | - 'context': context, |
403 | - #~ 'ref': 'search_info_partner_seniat.view_vat_return', |
404 | - 'res_id': vat and vat[0] or [], |
405 | - } |
406 | + return False |
407 | |
408 | search_info_partner_seniat() |
409 | |
410 | === modified file 'l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.xml' |
411 | --- l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.xml 2012-01-16 14:51:55 +0000 |
412 | +++ l10n_ve_fiscal_requirements/wizard/search_info_partner_seniat.xml 2012-01-24 14:29:45 +0000 |
413 | @@ -7,41 +7,21 @@ |
414 | <field name="type">form</field> |
415 | <field name="arch" type="xml"> |
416 | <form string="Asistente de Busqueda del RIF"> |
417 | - <field name="name" /> |
418 | - <button name="search_partner_seniat" string="Buscar RIF" type="object" icon="terp-check" /> |
419 | - </form> |
420 | - </field> |
421 | - </record> |
422 | - |
423 | - <record model="ir.ui.view" id="view_vat_return"> |
424 | - <field name="name">search.info.partner.seniat.form.return</field> |
425 | - <field name="model">search.info.partner.seniat</field> |
426 | - <field name="type">form</field> |
427 | - <field name="arch" type="xml"> |
428 | - <form string="Asistente de Busqueda del RIF"> |
429 | <group colspan="4"> |
430 | - <field name="name" /> |
431 | + <field name="vat" /> |
432 | <button name="search_partner_seniat" string="Buscar RIF" type="object" icon="terp-check" /> |
433 | </group> |
434 | <separator string="Datos del RIF Consultado" /> |
435 | - <field name="vat_name" /> |
436 | - <field name="vat_agent" /> |
437 | - <field name="percent" /> |
438 | - <field name="vat_apply" /> |
439 | + <group colspan="4" > |
440 | + <field name="name" readonly='True'/> |
441 | + <field name="vat_subjected" readonly='True'/> |
442 | + <field name="percent" readonly='True'/> |
443 | + <field name="vat_apply" readonly='True'/> |
444 | + </group> |
445 | </form> |
446 | </field> |
447 | </record> |
448 | |
449 | - <record id="wizard_vat_return_action" model="ir.actions.act_window"> |
450 | - <field name="name">Wizard Search VAT</field> |
451 | - <field name="res_model">search.info.partner.seniat</field> |
452 | - <field name="src_model">search.info.partner.seniat</field> |
453 | - <field name="view_type">form</field> |
454 | - <field name="view_mode">form</field> |
455 | - <field name="view_id" ref="view_vat_return"/> |
456 | - <field name="target">new</field> |
457 | - </record> |
458 | - |
459 | <record id="wizard_vat_search_action" model="ir.actions.act_window"> |
460 | <field name="name">Wizard Search VAT</field> |
461 | <field name="res_model">search.info.partner.seniat</field> |
462 | |
463 | === modified file 'l10n_ve_fiscal_requirements/wizard/update_info_partner.py' |
464 | --- l10n_ve_fiscal_requirements/wizard/update_info_partner.py 2011-10-25 20:33:16 +0000 |
465 | +++ l10n_ve_fiscal_requirements/wizard/update_info_partner.py 2012-01-24 14:29:45 +0000 |
466 | @@ -32,8 +32,9 @@ |
467 | |
468 | def update_info(self, cr, uid, ids, context={}): |
469 | res_part_obj = self.pool.get('res.partner') |
470 | + seniat_url_obj = self.pool.get('seniat.url') |
471 | es_partner_ids= res_part_obj.search(cr, uid, []) |
472 | - res_part_obj.connect_seniat(cr, uid, es_partner_ids, context,True) |
473 | + seniat_url_obj.connect_seniat(cr, uid, es_partner_ids, context,True) |
474 | return{} |
475 | |
476 |
Migue debes corregir el conflicto que se presenta en las líneas 51,59 y 60.