intrastat.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import xml.etree.cElementTree as ET
  2. from tools.pyntrastat import Company, ContactPerson, Intrastat
  3. decl = ET.parse('17259191_A_20201.xml')
  4. root = decl.getroot()
  5. ns = ET.register_namespace('InsNewArrival', 'http://www.intrastat.ro/xml/InsSchema')
  6. person = ContactPerson('LEVENTE', 'MARTON', 'levente.marton@mzk.ro',
  7. '0730690044', '0264592211', 'CONTABIL')
  8. company = Company('0017259191', 'SC MOZAIK CONSULTING SRL', RefPeriod='2020-01',
  9. CreateDt='2020-02-12T15:17:11-08:00', ApplicationRef='4836218')
  10. company_dict = vars(company)
  11. person_dict = vars(person)
  12. versions = {
  13. 'CountryVer': '2007',
  14. 'EuCountryVer': '2007',
  15. 'CnVer': '2020',
  16. 'ModeOfTransportVer': '2005',
  17. 'DeliveryTermsVer': '2011',
  18. 'NatureOfTransactionAVer': '2010',
  19. 'NatureOfTransactionBVer':'2010',
  20. 'CountyVer': '1'
  21. }
  22. header = (
  23. 'InsCodeVersions',
  24. 'InsDeclarationHeader'
  25. )
  26. a_attribs = {'xmlns': 'http://www.intrastat.ro/xml/InsSchema',
  27. 'SchemaVersion': '1.0'}
  28. intrastat = Intrastat('17259191_A_20201.xml', company=company, person=person,
  29. versions=versions, header=header, elem_attribs=a_attribs)
  30. intrastat.make_arrival()
  31. intrastat.make_arrivals('intrastat.xls')
  32. intrastat.write_xml()
  33. # intrastat.write_xml()
  34. #-------------------------------------------------------------------------------
  35. # a = ET.Element('InsNewArrival', a_attribs)
  36. # b = ET.SubElement(a, header[0])
  37. # c = ET.SubElement(a, header[1])
  38. #-------------------------------------------------------------------------------
  39. # c=[]
  40. #-------------------------------------------------------------------------------
  41. # for tagname, value in versions.items():
  42. # e = ET.SubElement(b, tagname)
  43. # e.text = value
  44. # for tagname, value in company_dict.items():
  45. # e = ET.SubElement(c, tagname)
  46. # e.text = value
  47. # if tagname == 'ContactPerson':
  48. # for subtagname, subvalue in person_dict.items():
  49. # se = ET.SubElement(e, subtagname)
  50. # se.text = subvalue
  51. #-------------------------------------------------------------------------------
  52. # print(c)
  53. # todecl = ET.ElementTree(a)
  54. # indent(todecl._root)
  55. # todecl.write('template.xml', encoding='UTF-8',
  56. # xml_declaration=True, default_namespace=ns,
  57. # method='xml')
  58. # EOF