money_s3 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +47 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +56 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/lib/money_s3/adresa_type.rb +27 -0
  13. data/lib/money_s3/bank_spojeni_type.rb +23 -0
  14. data/lib/money_s3/base_element.rb +33 -0
  15. data/lib/money_s3/castky.rb +63 -0
  16. data/lib/money_s3/dalsi_sazba.rb +27 -0
  17. data/lib/money_s3/def_sub_pol_type.rb +18 -0
  18. data/lib/money_s3/definice_ceny.rb +7 -0
  19. data/lib/money_s3/dodavka_type.rb +23 -0
  20. data/lib/money_s3/dokl_ref_type.rb +30 -0
  21. data/lib/money_s3/doklad.rb +39 -0
  22. data/lib/money_s3/doklad_firma_type.rb +131 -0
  23. data/lib/money_s3/dokumenty.rb +11 -0
  24. data/lib/money_s3/eet_type.rb +97 -0
  25. data/lib/money_s3/eshop.rb +35 -0
  26. data/lib/money_s3/faktura_type.rb +449 -0
  27. data/lib/money_s3/firma_type.rb +238 -0
  28. data/lib/money_s3/import.rb +7 -0
  29. data/lib/money_s3/isdoc.rb +7 -0
  30. data/lib/money_s3/km_karta_type.rb +182 -0
  31. data/lib/money_s3/komponenta_type.rb +32 -0
  32. data/lib/money_s3/konec_prij_firma_type.rb +102 -0
  33. data/lib/money_s3/konfigurace.rb +7 -0
  34. data/lib/money_s3/kurz_rozd.rb +30 -0
  35. data/lib/money_s3/mena_type.rb +19 -0
  36. data/lib/money_s3/moje_firma_type.rb +109 -0
  37. data/lib/money_s3/money_data.rb +19 -0
  38. data/lib/money_s3/nep_platba_type.rb +22 -0
  39. data/lib/money_s3/nep_platidlo_type.rb +19 -0
  40. data/lib/money_s3/neskl_polozka.rb +82 -0
  41. data/lib/money_s3/osoba_type.rb +99 -0
  42. data/lib/money_s3/parametr_karta_type.rb +22 -0
  43. data/lib/money_s3/parametr_type.rb +35 -0
  44. data/lib/money_s3/pol_faktury_type.rb +111 -0
  45. data/lib/money_s3/pol_objedn_type.rb +132 -0
  46. data/lib/money_s3/pol_skl_dokl_type.rb +134 -0
  47. data/lib/money_s3/prepr_dopln_udaj_type.rb +19 -0
  48. data/lib/money_s3/prepr_seznamsluzeb.rb +14 -0
  49. data/lib/money_s3/prepravce_type.rb +23 -0
  50. data/lib/money_s3/seznam_bank_spojeni.rb +14 -0
  51. data/lib/money_s3/seznam_dodavek.rb +14 -0
  52. data/lib/money_s3/seznam_nep_plateb.rb +14 -0
  53. data/lib/money_s3/seznam_parametru_karty.rb +14 -0
  54. data/lib/money_s3/seznam_vc.rb +14 -0
  55. data/lib/money_s3/seznam_zal_polozek.rb +14 -0
  56. data/lib/money_s3/sklad_type.rb +100 -0
  57. data/lib/money_s3/skupina_firem_type.rb +19 -0
  58. data/lib/money_s3/slozeni.rb +14 -0
  59. data/lib/money_s3/souhrn_dph_pol_type.rb +30 -0
  60. data/lib/money_s3/souhrn_dph_type.rb +39 -0
  61. data/lib/money_s3/stav_zasoby_type.rb +19 -0
  62. data/lib/money_s3/telefon_type.rb +19 -0
  63. data/lib/money_s3/typ_zasilky_type.rb +19 -0
  64. data/lib/money_s3/ucty_pohybu_type.rb +39 -0
  65. data/lib/money_s3/uhrada_pduhrada.rb +51 -0
  66. data/lib/money_s3/uhrada_type.rb +89 -0
  67. data/lib/money_s3/valuty.rb +25 -0
  68. data/lib/money_s3/valuty_hraz.rb +18 -0
  69. data/lib/money_s3/valuty_uhr.rb +18 -0
  70. data/lib/money_s3/vazba_type.rb +22 -0
  71. data/lib/money_s3/vlajka_type.rb +39 -0
  72. data/lib/money_s3/vlajky.rb +21 -0
  73. data/lib/money_s3/vyrobni_cislo_type.rb +19 -0
  74. data/lib/money_s3/vysledek_odesl.rb +7 -0
  75. data/lib/money_s3.rb +21 -0
  76. data/money_s3.gemspec +29 -0
  77. data/xsd/Dochazka/Dochazka.xsd +295 -0
  78. data/xsd/Dochazka/Zamestnanci.xsd +202 -0
  79. data/xsd/EPO/EPO_Error.xsd +61 -0
  80. data/xsd/EPO/EPO_Success.xsd +183 -0
  81. data/xsd/_Document.xsd +912 -0
  82. data/xsd/_Export.xsd +45 -0
  83. data/xsd/_Import.xsd +94 -0
  84. data/xsd/_Report.xsd +793 -0
  85. data/xsd/__Comtypes.xsd +706 -0
  86. data/xsd/__Faktura.xsd +1097 -0
  87. data/xsd/__Firma.xsd +1705 -0
  88. data/xsd/__IntDokl.xsd +397 -0
  89. data/xsd/__InvDokl.xsd +150 -0
  90. data/xsd/__Mzda.xsd +240 -0
  91. data/xsd/__Objedn.xsd +865 -0
  92. data/xsd/__Seznamy.xsd +1721 -0
  93. data/xsd/__SklDokl.xsd +674 -0
  94. data/xsd/__UcDokl.xsd +1869 -0
  95. data/xsd/__Uhrady.xsd +230 -0
  96. data/xsd/__Vyroba.xsd +193 -0
  97. data/xsd/__Zakazka.xsd +165 -0
  98. data/xsd/__Zamestnanec.xsd +145 -0
  99. data/xsd/__Zasoba.xsd +1317 -0
  100. metadata +226 -0
@@ -0,0 +1,89 @@
1
+ require 'money_s3/base_element'
2
+ require 'money_s3/dokl_ref_type'
3
+ require 'money_s3/valuty_hraz'
4
+ require 'money_s3/valuty_uhr'
5
+ require 'money_s3/kurz_rozd'
6
+ require 'money_s3/uhrada_pduhrada'
7
+
8
+ module MoneyS3
9
+ class UhradaType
10
+ include BaseElement
11
+
12
+ def prijem
13
+ at :Prijem
14
+ end
15
+
16
+ def poradi
17
+ at :Poradi
18
+ end
19
+
20
+ def rok_poradi
21
+ at :RokPoradi
22
+ end
23
+
24
+ def datum
25
+ at :Datum
26
+ end
27
+
28
+ def dat_upl_dph
29
+ at :DatUplDPH
30
+ end
31
+
32
+ def castka
33
+ at :Castka
34
+ end
35
+
36
+ def zpusob_uhr
37
+ at :ZpusobUhr
38
+ end
39
+
40
+ def platidlo
41
+ at :Platidlo
42
+ end
43
+
44
+ def doklad_uhr
45
+ element_xml = at :DokladUhr
46
+
47
+ DoklRefType.new(element_xml) if element_xml
48
+ end
49
+
50
+ def doklad_hraz
51
+ element_xml = at :DokladHraz
52
+
53
+ DoklRefType.new(element_xml) if element_xml
54
+ end
55
+
56
+ def valuty_hraz
57
+ element_xml = at :ValutyHraz
58
+
59
+ ValutyHraz.new(element_xml) if element_xml
60
+ end
61
+
62
+ def valuty_uhr
63
+ element_xml = at :ValutyUhr
64
+
65
+ ValutyUhr.new(element_xml) if element_xml
66
+ end
67
+
68
+ def kurz_rozd
69
+ element_xml = at :KurzRozd
70
+
71
+ KurzRozd.new(element_xml) if element_xml
72
+ end
73
+
74
+ def seznam_pd_uhrad
75
+ # element_xml = at :SeznamPDUhrad
76
+ #
77
+ # SeznamPDUhrad.new(element_xml) if element_xml
78
+
79
+ elements = raw[:SeznamPDUhrad]
80
+ if elements.is_a? Hash
81
+ elements = [elements]
82
+ end
83
+
84
+ elements.map do |raw|
85
+ UhradaPduhrada.new(raw[:Uhrada_PDUhrada])
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,25 @@
1
+ require 'money_s3/base_element'
2
+ require 'money_s3/mena_type'
3
+ require 'money_s3/souhrn_dph_type'
4
+
5
+ module MoneyS3
6
+ class Valuty
7
+ include BaseElement
8
+
9
+ def celkem
10
+ at :Celkem
11
+ end
12
+
13
+ def mena
14
+ element_xml = at :Mena
15
+
16
+ MenaType.new(element_xml) if element_xml
17
+ end
18
+
19
+ def souhrn_dph
20
+ element_xml = at :SouhrnDPH
21
+
22
+ SouhrnDPHType.new(element_xml) if element_xml
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,18 @@
1
+ require 'money_s3/base_element'
2
+ require 'money_s3/mena_type'
3
+
4
+ module MoneyS3
5
+ class ValutyHraz
6
+ include BaseElement
7
+
8
+ def castka
9
+ at :Castka
10
+ end
11
+
12
+ def mena
13
+ element_xml = at :Mena
14
+
15
+ MenaType.new(element_xml) if element_xml
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'money_s3/base_element'
2
+ require 'money_s3/mena_type'
3
+
4
+ module MoneyS3
5
+ class ValutyUhr
6
+ include BaseElement
7
+
8
+ def castka
9
+ at :Castka
10
+ end
11
+
12
+ def mena
13
+ element_xml = at :Mena
14
+
15
+ MenaType.new(element_xml) if element_xml
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ require 'money_s3/base_element'
2
+ require 'money_s3/doklad'
3
+
4
+ module MoneyS3
5
+ class VazbaType
6
+ include BaseElement
7
+
8
+ def typ
9
+ at :Typ
10
+ end
11
+
12
+ def pod_typ
13
+ at :PodTyp
14
+ end
15
+
16
+ def doklad
17
+ element_xml = at :Doklad
18
+
19
+ Doklad.new(element_xml) if element_xml
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,39 @@
1
+ require 'money_s3/base_element'
2
+
3
+ module MoneyS3
4
+ class VlajkaType
5
+ include BaseElement
6
+
7
+ def id_user
8
+ at :IDUser
9
+ end
10
+
11
+ def name_user
12
+ at :NameUser
13
+ end
14
+
15
+ def id_flag
16
+ at :IDFlag
17
+ end
18
+
19
+ def title
20
+ at :Title
21
+ end
22
+
23
+ def enabled
24
+ at :Enabled
25
+ end
26
+
27
+ def remark
28
+ at :Remark
29
+ end
30
+
31
+ def rf_width
32
+ at :RFWidth
33
+ end
34
+
35
+ def rf_height
36
+ at :RFHeight
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,21 @@
1
+ require 'money_s3/base_element'
2
+ require 'money_s3/vlajka_type'
3
+ require 'money_s3/vlajka_type'
4
+
5
+ module MoneyS3
6
+ class Vlajky
7
+ include BaseElement
8
+
9
+ def global
10
+ element_xml = at :Global
11
+
12
+ VlajkaType.new(element_xml) if element_xml
13
+ end
14
+
15
+ def user
16
+ element_xml = at :User
17
+
18
+ VlajkaType.new(element_xml) if element_xml
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ require 'money_s3/base_element'
2
+
3
+ module MoneyS3
4
+ class VyrobniCisloType
5
+ include BaseElement
6
+
7
+ def vyrobni_cis
8
+ at :VyrobniCis
9
+ end
10
+
11
+ def datum_vyrob
12
+ at :DatumVyrob
13
+ end
14
+
15
+ def carovy_kod
16
+ at :CarovyKod
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,7 @@
1
+ require 'money_s3/base_element'
2
+
3
+ module MoneyS3
4
+ class VysledekOdesl
5
+ include BaseElement
6
+ end
7
+ end
data/lib/money_s3.rb ADDED
@@ -0,0 +1,21 @@
1
+ require 'ox'
2
+ require 'money_s3/version'
3
+ require 'money_s3/money_data'
4
+
5
+ module MoneyS3
6
+ def self.parse(raw)
7
+ hash = Ox.load(raw, mode: :hash)
8
+
9
+ if hash.key? :MoneyData
10
+ content = hash[:MoneyData]
11
+
12
+ raw =
13
+ if content.is_a? Array
14
+ content.last
15
+ else
16
+ content
17
+ end
18
+ MoneyData.new(raw)
19
+ end
20
+ end
21
+ end
data/money_s3.gemspec ADDED
@@ -0,0 +1,29 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "money_s3"
6
+ spec.version = '0.1.0'
7
+ spec.authors = ["Premysl Donat"]
8
+ spec.email = ["pdonat@seznam.cz"]
9
+
10
+ spec.summary = "MoneyS3 XML parser and builder"
11
+ spec.description = spec.summary
12
+ spec.homepage = "https://github.com/Masa331/moneys3"
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
16
+ f.match(%r{^(test|spec|features)/})
17
+ end
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_dependency "ox"
23
+
24
+ spec.add_development_dependency "bundler"
25
+ spec.add_development_dependency "rake"
26
+ spec.add_development_dependency "rspec"
27
+ spec.add_development_dependency "rspec-its"
28
+ spec.add_development_dependency "pry"
29
+ end
@@ -0,0 +1,295 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Schéma popisuje strukturu XML dokumentu určeného pro import dat z docházkového systému do programu Money.
3
+ Autor: Marek Vykydal
4
+ -->
5
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
6
+ <xs:annotation>
7
+ <xs:documentation>Schéma popisuje strukturu XML dokumentu určeného pro import dat z docházkového systému do programu Money.</xs:documentation>
8
+ </xs:annotation>
9
+ <xs:element name="MoneyData">
10
+ <xs:annotation>
11
+ <xs:documentation>Kořenový element dokumentu</xs:documentation>
12
+ </xs:annotation>
13
+ <xs:complexType>
14
+ <xs:sequence>
15
+ <xs:element name="Obdobi">
16
+ <xs:annotation>
17
+ <xs:documentation>Období zpracování mzdy
18
+
19
+ Poznámka: v jedné dávce může být pouze jedno období</xs:documentation>
20
+ </xs:annotation>
21
+ <xs:complexType>
22
+ <xs:sequence>
23
+ <xs:element name="Mesic">
24
+ <xs:annotation>
25
+ <xs:documentation>Měsíc</xs:documentation>
26
+ </xs:annotation>
27
+ <xs:simpleType>
28
+ <xs:restriction base="xs:string">
29
+ <xs:length value="2"/>
30
+ <xs:pattern value="[0-1][0-9]"/>
31
+ </xs:restriction>
32
+ </xs:simpleType>
33
+ </xs:element>
34
+ <xs:element name="Rok" type="xs:gYear">
35
+ <xs:annotation>
36
+ <xs:documentation>Rok</xs:documentation>
37
+ </xs:annotation>
38
+ </xs:element>
39
+ </xs:sequence>
40
+ </xs:complexType>
41
+ </xs:element>
42
+ <xs:element name="SeznamZamestnancu" minOccurs="0">
43
+ <xs:annotation>
44
+ <xs:documentation>Seznam zaměstnanců</xs:documentation>
45
+ </xs:annotation>
46
+ <xs:complexType>
47
+ <xs:sequence>
48
+ <xs:element name="Zamestnanec" minOccurs="0" maxOccurs="unbounded">
49
+ <xs:annotation>
50
+ <xs:documentation>Zaměstnanec</xs:documentation>
51
+ </xs:annotation>
52
+ <xs:complexType>
53
+ <xs:complexContent>
54
+ <xs:extension base="zamestnanec"/>
55
+ </xs:complexContent>
56
+ </xs:complexType>
57
+ </xs:element>
58
+ </xs:sequence>
59
+ </xs:complexType>
60
+ </xs:element>
61
+ </xs:sequence>
62
+ </xs:complexType>
63
+ </xs:element>
64
+ <xs:complexType name="zamestnanec">
65
+ <xs:annotation>
66
+ <xs:documentation>Identifikace zaměstnance</xs:documentation>
67
+ </xs:annotation>
68
+ <xs:sequence>
69
+ <xs:element name="OsobniCislo">
70
+ <xs:annotation>
71
+ <xs:documentation>Osobní číslo zaměstnance</xs:documentation>
72
+ </xs:annotation>
73
+ <xs:simpleType>
74
+ <xs:restriction base="xs:string">
75
+ <xs:length value="5"/>
76
+ </xs:restriction>
77
+ </xs:simpleType>
78
+ </xs:element>
79
+ <xs:element name="SeznamNepritomnosti" minOccurs="0">
80
+ <xs:annotation>
81
+ <xs:documentation>Seznam nepřítomností zaměstnance</xs:documentation>
82
+ </xs:annotation>
83
+ <xs:complexType>
84
+ <xs:sequence>
85
+ <xs:element name="Nepritomnost" type="nepritomnost" minOccurs="0" maxOccurs="unbounded">
86
+ <xs:annotation>
87
+ <xs:documentation>Nepřítomnost</xs:documentation>
88
+ </xs:annotation>
89
+ </xs:element>
90
+ </xs:sequence>
91
+ </xs:complexType>
92
+ </xs:element>
93
+ <xs:element name="PracovniFond" minOccurs="0">
94
+ <xs:annotation>
95
+ <xs:documentation>Pracovní fond (bez svátků připadajících na pracovní den)
96
+
97
+ Poznámka: v některých docházkových systémech se pracovní fond volitelně neeviduje, proto je element nepovinný.</xs:documentation>
98
+ </xs:annotation>
99
+ <xs:complexType>
100
+ <xs:sequence>
101
+ <xs:element name="FondDnu" type="cisloType">
102
+ <xs:annotation>
103
+ <xs:documentation>Pracovní fond - dnů</xs:documentation>
104
+ </xs:annotation>
105
+ </xs:element>
106
+ <xs:element name="FondHodin" type="cisloType">
107
+ <xs:annotation>
108
+ <xs:documentation>Pracovní fond - hodin</xs:documentation>
109
+ </xs:annotation>
110
+ </xs:element>
111
+ </xs:sequence>
112
+ </xs:complexType>
113
+ </xs:element>
114
+ <xs:element name="Odpracovano">
115
+ <xs:annotation>
116
+ <xs:documentation>Odpracováno = výkon práce (bez svátků připadajících na pracovní den)</xs:documentation>
117
+ </xs:annotation>
118
+ <xs:complexType>
119
+ <xs:sequence>
120
+ <xs:element name="OdpracDnu" type="cisloType">
121
+ <xs:annotation>
122
+ <xs:documentation>Odpracováno dnů</xs:documentation>
123
+ </xs:annotation>
124
+ </xs:element>
125
+ <xs:element name="OdpracHodin" type="cisloType">
126
+ <xs:annotation>
127
+ <xs:documentation>Odpracováno hodin</xs:documentation>
128
+ </xs:annotation>
129
+ </xs:element>
130
+ </xs:sequence>
131
+ </xs:complexType>
132
+ </xs:element>
133
+ <xs:element name="Svatky" minOccurs="0">
134
+ <xs:annotation>
135
+ <xs:documentation>Svátky připadající na pracovní den, ve kterých zaměstnanec pracoval</xs:documentation>
136
+ </xs:annotation>
137
+ <xs:complexType>
138
+ <xs:sequence>
139
+ <xs:element name="OdpracDnu" type="cisloType">
140
+ <xs:annotation>
141
+ <xs:documentation>Počet odpracovaných dnů ve svátcích</xs:documentation>
142
+ </xs:annotation>
143
+ </xs:element>
144
+ <xs:element name="OdpracHodin" type="cisloType">
145
+ <xs:annotation>
146
+ <xs:documentation>Počet odpracovaných hodin ve svátcích</xs:documentation>
147
+ </xs:annotation>
148
+ </xs:element>
149
+ </xs:sequence>
150
+ </xs:complexType>
151
+ </xs:element>
152
+ <xs:element name="MzdovePriplatky" minOccurs="0">
153
+ <xs:annotation>
154
+ <xs:documentation>Mzdové příplatky</xs:documentation>
155
+ </xs:annotation>
156
+ <xs:complexType>
157
+ <xs:sequence>
158
+ <xs:element name="PrescasHodin" type="cisloType" minOccurs="0">
159
+ <xs:annotation>
160
+ <xs:documentation>Práce přesčas - počet hodin</xs:documentation>
161
+ </xs:annotation>
162
+ </xs:element>
163
+ <xs:element name="SvatkyHodin" type="cisloType" minOccurs="0">
164
+ <xs:annotation>
165
+ <xs:documentation>Práce ve svátky - počet hodin</xs:documentation>
166
+ </xs:annotation>
167
+ </xs:element>
168
+ <xs:element name="SobotaNedeleHodin" type="cisloType" minOccurs="0">
169
+ <xs:annotation>
170
+ <xs:documentation>Práce v sobotu a neděli - počet hodin</xs:documentation>
171
+ </xs:annotation>
172
+ </xs:element>
173
+ <xs:element name="ProstrediHodin" type="cisloType" minOccurs="0">
174
+ <xs:annotation>
175
+ <xs:documentation>Pracovní prostředí - počet hodin</xs:documentation>
176
+ </xs:annotation>
177
+ </xs:element>
178
+ <xs:element name="NocHodin" type="cisloType" minOccurs="0">
179
+ <xs:annotation>
180
+ <xs:documentation>Práce v noci - počet hodin</xs:documentation>
181
+ </xs:annotation>
182
+ </xs:element>
183
+ <xs:element name="PohotovostHodin" type="cisloType" minOccurs="0">
184
+ <xs:annotation>
185
+ <xs:documentation>Pracovní pohotovost - počet hodin</xs:documentation>
186
+ </xs:annotation>
187
+ </xs:element>
188
+ </xs:sequence>
189
+ </xs:complexType>
190
+ </xs:element>
191
+ </xs:sequence>
192
+ </xs:complexType>
193
+ <xs:complexType name="nepritomnost">
194
+ <xs:annotation>
195
+ <xs:documentation>Identifikace nepřítomnosti</xs:documentation>
196
+ </xs:annotation>
197
+ <xs:sequence>
198
+ <xs:element name="Typ" type="nepritomnostType">
199
+ <xs:annotation>
200
+ <xs:documentation>Typ nepřítomnosti:
201
+
202
+ 0 = Dovolená
203
+ 1 = Paragraf
204
+ 2 = Neplacené volno
205
+ 3 = Neomluvená absence
206
+ 4 = Nemoc (včetně úrazu)
207
+ 5 = Karanténa
208
+ 6 = OČR (ošetřování člena rodiny)
209
+ 7 = Mateřská dovolená
210
+ 8 = Další mateřská dovolená</xs:documentation>
211
+ </xs:annotation>
212
+ </xs:element>
213
+ <xs:element name="Zacatek" type="nepritomnostObdobi">
214
+ <xs:annotation>
215
+ <xs:documentation>Skutečný začátek nepřítomnosti. V elementu Datum se uvádí skutečný začátek nepřítomnosti. Znamená to, že se může jednat o jiný měsíc, než je zpracovávané období. Tato informace je důležitá pro správný import dat do programu Money!</xs:documentation>
216
+ </xs:annotation>
217
+ </xs:element>
218
+ <xs:element name="Konec" type="nepritomnostObdobi" minOccurs="0">
219
+ <xs:annotation>
220
+ <xs:documentation>Konec nepřítomnosti. Pokud není v okamžiku exportu z docházkového systému známý konec nepřítomnosti (nepřítomnost stále pokračuje), tak se tento element vůbec neuvádí.</xs:documentation>
221
+ </xs:annotation>
222
+ </xs:element>
223
+ <xs:element name="KalDnu" type="cisloType" minOccurs="0">
224
+ <xs:annotation>
225
+ <xs:documentation>Počet kalendářních dnů nepřítomnosti v měsíci zpracování mzdy</xs:documentation>
226
+ </xs:annotation>
227
+ </xs:element>
228
+ <xs:element name="PracDnu" type="cisloType" minOccurs="0">
229
+ <xs:annotation>
230
+ <xs:documentation>Fond pracovních dnů nepřítomnosti v měsíci zpracování mzdy</xs:documentation>
231
+ </xs:annotation>
232
+ </xs:element>
233
+ <xs:element name="PracHodin" type="cisloType" minOccurs="0">
234
+ <xs:annotation>
235
+ <xs:documentation>Fond pracovních hodin nepřítomnosti v měsíci zpracování mzdy</xs:documentation>
236
+ </xs:annotation>
237
+ </xs:element>
238
+ <xs:element name="SvatkyDnu" type="cisloType" minOccurs="0">
239
+ <xs:annotation>
240
+ <xs:documentation>Počet dnů svátků v nepřítomnosti připadajících v měsíci zpracování mzdy na pracovní den</xs:documentation>
241
+ </xs:annotation>
242
+ </xs:element>
243
+ <xs:element name="SvatkyHodin" type="cisloType" minOccurs="0">
244
+ <xs:annotation>
245
+ <xs:documentation>Počet pracovních hodin ve svátcích nepřítomnosti připadajících v měsíci zpracování mzdy na pracovní den</xs:documentation>
246
+ </xs:annotation>
247
+ </xs:element>
248
+ </xs:sequence>
249
+ </xs:complexType>
250
+ <xs:complexType name="nepritomnostObdobi">
251
+ <xs:annotation>
252
+ <xs:documentation>Identifikace začátku a konce nepřítomnosti</xs:documentation>
253
+ </xs:annotation>
254
+ <xs:sequence>
255
+ <xs:element name="Datum">
256
+ <xs:annotation>
257
+ <xs:documentation>Datum</xs:documentation>
258
+ </xs:annotation>
259
+ <xs:simpleType>
260
+ <xs:restriction base="xs:date"/>
261
+ </xs:simpleType>
262
+ </xs:element>
263
+ <xs:element name="OdpracHodin" type="cisloType" minOccurs="0">
264
+ <xs:annotation>
265
+ <xs:documentation>Odpracováno hodin v den začátku nebo konce nepřítomnosti</xs:documentation>
266
+ </xs:annotation>
267
+ </xs:element>
268
+ </xs:sequence>
269
+ </xs:complexType>
270
+ <xs:simpleType name="cisloType">
271
+ <xs:annotation>
272
+ <xs:documentation>Specifikace číselné hodnoty</xs:documentation>
273
+ </xs:annotation>
274
+ <xs:restriction base="xs:decimal">
275
+ <xs:totalDigits value="15"/>
276
+ <xs:fractionDigits value="2"/>
277
+ </xs:restriction>
278
+ </xs:simpleType>
279
+ <xs:simpleType name="nepritomnostType">
280
+ <xs:annotation>
281
+ <xs:documentation>Výčet typů nepřítomností</xs:documentation>
282
+ </xs:annotation>
283
+ <xs:restriction base="xs:decimal">
284
+ <xs:enumeration value="0"/>
285
+ <xs:enumeration value="1"/>
286
+ <xs:enumeration value="2"/>
287
+ <xs:enumeration value="3"/>
288
+ <xs:enumeration value="4"/>
289
+ <xs:enumeration value="5"/>
290
+ <xs:enumeration value="6"/>
291
+ <xs:enumeration value="7"/>
292
+ <xs:enumeration value="8"/>
293
+ </xs:restriction>
294
+ </xs:simpleType>
295
+ </xs:schema>