Skip to content

Commit

Permalink
[ADD] padron a5
Browse files Browse the repository at this point in the history
  • Loading branch information
jjscarafia committed Aug 27, 2018
1 parent 4105f9d commit ccfade6
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 9 deletions.
23 changes: 15 additions & 8 deletions l10n_ar_account/models/res_partner.py
Expand Up @@ -5,11 +5,12 @@
##############################################################################
from openerp import fields, models, api, _
from openerp.exceptions import UserError
from pysimplesoap.client import SoapFault
# import base64
try:
from pyafipws.padron import PadronAFIP
except ImportError:
PadronAFIP = None
# try:
# from pyafipws.padron import PadronAFIP
# except ImportError:
# PadronAFIP = None
import logging
_logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -154,13 +155,19 @@ def get_data_from_padron_afip(self):
'Not confirmed certificate found on database'))
company = certificate.alias_id.company_id

padron = company.get_connection('ws_sr_padron_a4').connect()
# consultamos a5 ya que extiende a4 y tiene validez de constancia
# padron = company.get_connection('ws_sr_padron_a4').connect()
padron = company.get_connection('ws_sr_padron_a5').connect()
try:
padron.Consultar(cuit)
except Exception:
except SoapFault as e:
raise UserError(_(
'No pudimos actualizar desde padron afip al partner %s (%s).\n'
'Obtuvimos este error: %s' % (self.name, cuit, e.faultstring)))
except Exception as e:
raise UserError(_(
'This cuit %s of the partner %s not exists in afip') % (
cuit, self.name))
'No pudimos actualizar desde padron afip al partner %s (%s).\n'
'Obtuvimos este error: %s' % (self.name, cuit, e.faultstring)))

# porque imp_iva activo puede ser S o AC
imp_iva = padron.imp_iva
Expand Down
14 changes: 13 additions & 1 deletion l10n_ar_afipws/models/afipws_connection.py
Expand Up @@ -107,6 +107,15 @@ def get_afip_ws_url(self, afip_ws, environment_type):
afip_ws_url = (
"https://awshomo.afip.gov.ar/sr-padron/webservices/"
"personaServiceA4?wsdl")
elif afip_ws == 'ws_sr_padron_a5':
if environment_type == 'production':
afip_ws_url = (
"https://aws.afip.gov.ar/sr-padron/webservices/"
"personaServiceA5?wsdl")
else:
afip_ws_url = (
"https://awshomo.afip.gov.ar/sr-padron/webservices/"
"personaServiceA5?wsdl")
return afip_ws_url

@api.multi
Expand Down Expand Up @@ -134,7 +143,7 @@ def connect(self):
# https://groups.google.com/d/msg/pyafipws/Xr08e4ZuMmQ/6iDzXwdJAwAJ
# TODO mejorar ya que probablemente no ande en test pero el tema es
# que en esta parte no tenemos data del env_type
if self.afip_ws == 'ws_sr_padron_a4':
if self.afip_ws in ['ws_sr_padron_a4', 'ws_sr_padron_a5']:
ws.HOMO = False

if not ws:
Expand Down Expand Up @@ -174,4 +183,7 @@ def _get_ws(self, afip_ws):
if afip_ws == 'ws_sr_padron_a4':
from pyafipws.ws_sr_padron import WSSrPadronA4
ws = WSSrPadronA4()
elif afip_ws == 'ws_sr_padron_a5':
from pyafipws.ws_sr_padron import WSSrPadronA5
ws = WSSrPadronA5()
return ws

0 comments on commit ccfade6

Please sign in to comment.