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) | ||||
|         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') | ||||
|      | ||||
|   | ||||
		Reference in New Issue
	
	Block a user