money_s3 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>