se crea parcialmente Address, Country
FossilOrigin-Name: 9db11d9b88e2e0065960ac07efe88e8dd8d87706bda88074845f6bfcfecc737b
This commit is contained in:
		| @@ -258,7 +258,7 @@ class FachoXML: | |||||||
|         xpath = self.fragment_prefix + self._path_xpath_for(xpath) |         xpath = self.fragment_prefix + self._path_xpath_for(xpath) | ||||||
|         elem = self.builder.xpath(self.root, xpath) |         elem = self.builder.xpath(self.root, xpath) | ||||||
|         if elem is None: |         if elem is None: | ||||||
|             raise ValueError('xpath %s invalid' % (xpath)) |             raise AttributeError('xpath %s invalid' % (xpath)) | ||||||
|  |  | ||||||
|         text = self.builder.get_text(elem) |         text = self.builder.get_text(elem) | ||||||
|         return format_(text) |         return format_(text) | ||||||
|   | |||||||
| @@ -11,6 +11,12 @@ from copy import copy | |||||||
| import hashlib | import hashlib | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class PhysicalLocation(model.Model): | ||||||
|  |     __name__ = 'PhysicalLocation' | ||||||
|  |  | ||||||
|  |     address = fields.Many2One(Address, namespace='cac') | ||||||
|  |      | ||||||
| class PartyTaxScheme(model.Model): | class PartyTaxScheme(model.Model): | ||||||
|     __name__ = 'PartyTaxScheme' |     __name__ = 'PartyTaxScheme' | ||||||
|  |  | ||||||
| @@ -20,11 +26,12 @@ class PartyTaxScheme(model.Model): | |||||||
| class Party(model.Model): | class Party(model.Model): | ||||||
|     __name__ = 'Party' |     __name__ = 'Party' | ||||||
|  |  | ||||||
|     id = fields.Virtual(setter='set_id') |     id = fields.Virtual(setter='_on_set_id') | ||||||
|  |  | ||||||
|     tax_scheme = fields.Many2One(PartyTaxScheme, namespace='cac') |     tax_scheme = fields.Many2One(PartyTaxScheme, namespace='cac') | ||||||
|  |     location = fields.Many2One(PhysicalLocation, namespace='cac') | ||||||
|      |      | ||||||
|     def set_id(self, name, value): |     def _on_set_id(self, name, value): | ||||||
|         self.tax_scheme.company_id = value |         self.tax_scheme.company_id = value | ||||||
|         return value |         return value | ||||||
|  |  | ||||||
| @@ -256,6 +263,7 @@ class Invoice(model.Model): | |||||||
|     __namespace__ = fe.NAMESPACES |     __namespace__ = fe.NAMESPACES | ||||||
|  |  | ||||||
|     _ubl_extensions = fields.Many2One(UBLExtensions, namespace='ext') |     _ubl_extensions = fields.Many2One(UBLExtensions, namespace='ext') | ||||||
|  |     # nos interesa el acceso solo los atributos de la DIAN | ||||||
|     dian = fields.Virtual(getter='get_dian_extension') |     dian = fields.Virtual(getter='get_dian_extension') | ||||||
|      |      | ||||||
|     profile_id = fields.Many2One(Element, name='ProfileID', namespace='cbc', default='DIAN 2.1') |     profile_id = fields.Many2One(Element, name='ProfileID', namespace='cbc', default='DIAN 2.1') | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ import facho.model.fields as fields | |||||||
|  |  | ||||||
| from datetime import date, datetime | 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): | class Element(model.Model): | ||||||
|     """ |     """ | ||||||
| @@ -53,3 +53,21 @@ class ID(model.Model): | |||||||
|  |  | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return str(self._value) |         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') | ||||||
|  |      | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user