se crea parcialmente Address, Country
FossilOrigin-Name: 9db11d9b88e2e0065960ac07efe88e8dd8d87706bda88074845f6bfcfecc737b
This commit is contained in:
parent
efe93ecc3c
commit
3a349a746e
@ -258,7 +258,7 @@ class FachoXML:
|
||||
xpath = self.fragment_prefix + self._path_xpath_for(xpath)
|
||||
elem = self.builder.xpath(self.root, xpath)
|
||||
if elem is None:
|
||||
raise ValueError('xpath %s invalid' % (xpath))
|
||||
raise AttributeError('xpath %s invalid' % (xpath))
|
||||
|
||||
text = self.builder.get_text(elem)
|
||||
return format_(text)
|
||||
|
@ -11,6 +11,12 @@ from copy import copy
|
||||
import hashlib
|
||||
|
||||
|
||||
|
||||
class PhysicalLocation(model.Model):
|
||||
__name__ = 'PhysicalLocation'
|
||||
|
||||
address = fields.Many2One(Address, namespace='cac')
|
||||
|
||||
class PartyTaxScheme(model.Model):
|
||||
__name__ = 'PartyTaxScheme'
|
||||
|
||||
@ -20,11 +26,12 @@ class PartyTaxScheme(model.Model):
|
||||
class Party(model.Model):
|
||||
__name__ = 'Party'
|
||||
|
||||
id = fields.Virtual(setter='set_id')
|
||||
id = fields.Virtual(setter='_on_set_id')
|
||||
|
||||
tax_scheme = fields.Many2One(PartyTaxScheme, namespace='cac')
|
||||
|
||||
def set_id(self, name, value):
|
||||
location = fields.Many2One(PhysicalLocation, namespace='cac')
|
||||
|
||||
def _on_set_id(self, name, value):
|
||||
self.tax_scheme.company_id = value
|
||||
return value
|
||||
|
||||
@ -256,6 +263,7 @@ class Invoice(model.Model):
|
||||
__namespace__ = fe.NAMESPACES
|
||||
|
||||
_ubl_extensions = fields.Many2One(UBLExtensions, namespace='ext')
|
||||
# nos interesa el acceso solo los atributos de la DIAN
|
||||
dian = fields.Virtual(getter='get_dian_extension')
|
||||
|
||||
profile_id = fields.Many2One(Element, name='ProfileID', namespace='cbc', default='DIAN 2.1')
|
||||
|
@ -3,14 +3,14 @@ import facho.model.fields as fields
|
||||
|
||||
from datetime import date, datetime
|
||||
|
||||
__all__ = ['Element', 'Name', 'Date', 'Time', 'Period', 'ID']
|
||||
__all__ = ['Element', 'Name', 'Date', 'Time', 'Period', 'ID', 'Address', 'Country']
|
||||
|
||||
class Element(model.Model):
|
||||
"""
|
||||
Lo usuamos para elementos que solo manejan contenido
|
||||
"""
|
||||
__name__ = 'Element'
|
||||
|
||||
|
||||
class Name(model.Model):
|
||||
__name__ = 'Name'
|
||||
|
||||
@ -53,3 +53,21 @@ class ID(model.Model):
|
||||
|
||||
def __str__(self):
|
||||
return str(self._value)
|
||||
|
||||
|
||||
class Country(model.Model):
|
||||
__name__ = 'Country'
|
||||
|
||||
name = fields.Many2One(Element, name='Name', namespace='cbc')
|
||||
|
||||
class Address(model.Model):
|
||||
__name__ = 'Address'
|
||||
|
||||
#DIAN 1.7.-2020: FAJ08
|
||||
#DIAN 1.7.-2020: CAJ09
|
||||
id = fields.Many2One(Element, name='ID', namespace='cbc')
|
||||
|
||||
#DIAN 1.7.-2020: FAJ09
|
||||
#DIAN 1.7.-2020: CAJ10
|
||||
city = fields.Many2One(Element, name='CityName', namespace='cbc')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user