money_s3 1.0.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +84 -2
  3. data/lib/money_s3.rb +2 -0
  4. data/lib/money_s3/builders/adresa_type.rb +1 -3
  5. data/lib/money_s3/builders/alternativa_prislusenstvi_type.rb +1 -3
  6. data/lib/money_s3/builders/ban_dokl_type.rb +4 -3
  7. data/lib/money_s3/builders/bank_dokl.rb +1 -3
  8. data/lib/money_s3/builders/bank_spojeni_type.rb +1 -3
  9. data/lib/money_s3/builders/bank_ucet_pokladna_type.rb +1 -3
  10. data/lib/money_s3/builders/castky.rb +3 -3
  11. data/lib/money_s3/builders/cena_type.rb +1 -3
  12. data/lib/money_s3/builders/cenova_hladina.rb +1 -3
  13. data/lib/money_s3/builders/cenova_hladina_type.rb +3 -7
  14. data/lib/money_s3/builders/cinnost.rb +1 -3
  15. data/lib/money_s3/builders/cinnost_type.rb +1 -3
  16. data/lib/money_s3/builders/clen_dph.rb +1 -3
  17. data/lib/money_s3/builders/clen_dph_type.rb +8 -3
  18. data/lib/money_s3/builders/control.rb +1 -3
  19. data/lib/money_s3/builders/dalsi_sazba.rb +1 -3
  20. data/lib/money_s3/builders/def_sub_pol_type.rb +1 -3
  21. data/lib/money_s3/builders/definice_ceny.rb +22 -6
  22. data/lib/money_s3/builders/dl_prij.rb +1 -3
  23. data/lib/money_s3/builders/dl_vyd.rb +1 -3
  24. data/lib/money_s3/builders/dodavka_type.rb +1 -3
  25. data/lib/money_s3/builders/dokl_ref_type.rb +1 -3
  26. data/lib/money_s3/builders/doklad.rb +1 -3
  27. data/lib/money_s3/builders/doklad_firma_type.rb +11 -3
  28. data/lib/money_s3/builders/doklad_hraz.rb +1 -3
  29. data/lib/money_s3/builders/e_shop_info.rb +1 -3
  30. data/lib/money_s3/builders/eet_type.rb +1 -3
  31. data/lib/money_s3/builders/ekategorie_type.rb +1 -3
  32. data/lib/money_s3/builders/ekategorie_zasoba_type.rb +1 -3
  33. data/lib/money_s3/builders/error_info_type.rb +1 -3
  34. data/lib/money_s3/builders/eshop.rb +1 -3
  35. data/lib/money_s3/builders/eshop2.rb +1 -3
  36. data/lib/money_s3/builders/eshop3.rb +1 -3
  37. data/lib/money_s3/builders/eshop_zasoba_type.rb +1 -3
  38. data/lib/money_s3/builders/fakt_prij.rb +1 -3
  39. data/lib/money_s3/builders/fakt_vyd.rb +1 -3
  40. data/lib/money_s3/builders/faktura_type.rb +10 -9
  41. data/lib/money_s3/builders/firma.rb +1 -3
  42. data/lib/money_s3/builders/firma_type.rb +4 -3
  43. data/lib/money_s3/builders/import.rb +1 -6
  44. data/lib/money_s3/builders/import2.rb +1 -6
  45. data/lib/money_s3/builders/int_dokl.rb +1 -3
  46. data/lib/money_s3/builders/int_dokl_type.rb +4 -3
  47. data/lib/money_s3/builders/inv_dokl_type.rb +1 -3
  48. data/lib/money_s3/builders/km_karta.rb +1 -3
  49. data/lib/money_s3/builders/km_karta_type.rb +2 -7
  50. data/lib/money_s3/builders/komponenta_type.rb +1 -3
  51. data/lib/money_s3/builders/konec_prij_firma_type.rb +12 -3
  52. data/lib/money_s3/builders/konfigurace.rb +16 -7
  53. data/lib/money_s3/builders/kurz_listek.rb +1 -3
  54. data/lib/money_s3/builders/kurz_listek_type.rb +1 -3
  55. data/lib/money_s3/builders/kurz_rozd.rb +1 -3
  56. data/lib/money_s3/builders/kurz_type.rb +1 -3
  57. data/lib/money_s3/builders/mena_type.rb +1 -3
  58. data/lib/money_s3/builders/message_root_type.rb +1 -3
  59. data/lib/money_s3/builders/message_type.rb +2 -3
  60. data/lib/money_s3/builders/moje_firma_type.rb +7 -3
  61. data/lib/money_s3/builders/money_data.rb +11 -23
  62. data/lib/money_s3/builders/msg_ban_dokl_type.rb +1 -6
  63. data/lib/money_s3/builders/msg_bank_ucet_pokladna_type.rb +1 -7
  64. data/lib/money_s3/builders/msg_cinnost_type.rb +1 -7
  65. data/lib/money_s3/builders/msg_clen_dph_type.rb +1 -7
  66. data/lib/money_s3/builders/msg_fakt_dpptype.rb +1 -6
  67. data/lib/money_s3/builders/msg_fakt_poloz_type.rb +1 -3
  68. data/lib/money_s3/builders/msg_fakt_type.rb +1 -6
  69. data/lib/money_s3/builders/msg_firma_type.rb +1 -6
  70. data/lib/money_s3/builders/msg_int_dokl_type.rb +1 -6
  71. data/lib/money_s3/builders/msg_inv_dokl_type.rb +1 -6
  72. data/lib/money_s3/builders/msg_km_karta_type.rb +1 -6
  73. data/lib/money_s3/builders/msg_komponenta_type.rb +1 -3
  74. data/lib/money_s3/builders/msg_mzda_type.rb +1 -6
  75. data/lib/money_s3/builders/msg_obj_type.rb +1 -6
  76. data/lib/money_s3/builders/msg_pohledavka_type.rb +1 -6
  77. data/lib/money_s3/builders/msg_pok_dokl_type.rb +1 -6
  78. data/lib/money_s3/builders/msg_poloz_type.rb +1 -3
  79. data/lib/money_s3/builders/msg_predkontace_de_type.rb +1 -7
  80. data/lib/money_s3/builders/msg_predkontace_type.rb +1 -7
  81. data/lib/money_s3/builders/msg_prevodka_type.rb +1 -6
  82. data/lib/money_s3/builders/msg_skl_dokl_type.rb +1 -6
  83. data/lib/money_s3/builders/msg_stredisko_type.rb +1 -7
  84. data/lib/money_s3/builders/msg_uc_osnov_type.rb +1 -7
  85. data/lib/money_s3/builders/msg_uc_pohyb_type.rb +1 -7
  86. data/lib/money_s3/builders/msg_zakazka_type.rb +1 -7
  87. data/lib/money_s3/builders/msg_zasoba_type.rb +1 -6
  88. data/lib/money_s3/builders/msg_zauctovani_dph_detype.rb +1 -7
  89. data/lib/money_s3/builders/msg_zauctovani_dph_type.rb +1 -7
  90. data/lib/money_s3/builders/msg_zavazek_type.rb +1 -6
  91. data/lib/money_s3/builders/mz_priplatek.rb +1 -3
  92. data/lib/money_s3/builders/mzda.rb +1 -3
  93. data/lib/money_s3/builders/mzda_type.rb +1 -3
  94. data/lib/money_s3/builders/mzdove_obdobi_type.rb +1 -3
  95. data/lib/money_s3/builders/nab_prij.rb +1 -3
  96. data/lib/money_s3/builders/nab_vyd.rb +1 -3
  97. data/lib/money_s3/builders/nep_platba_type.rb +1 -3
  98. data/lib/money_s3/builders/nep_platidlo_type.rb +1 -3
  99. data/lib/money_s3/builders/nepritomnost_type.rb +1 -3
  100. data/lib/money_s3/builders/neskl_polozka.rb +6 -8
  101. data/lib/money_s3/builders/neskl_polozka2.rb +2 -3
  102. data/lib/money_s3/builders/norm_poloz_id_type.rb +1 -3
  103. data/lib/money_s3/builders/norm_poloz_ud_type.rb +1 -3
  104. data/lib/money_s3/builders/obdobi_dph.rb +1 -3
  105. data/lib/money_s3/builders/obdobi_dph2.rb +1 -3
  106. data/lib/money_s3/builders/obj_prij.rb +1 -3
  107. data/lib/money_s3/builders/obj_vyd.rb +1 -3
  108. data/lib/money_s3/builders/objednavka_type.rb +8 -8
  109. data/lib/money_s3/builders/osoba_type.rb +1 -3
  110. data/lib/money_s3/builders/parametr_karta_type.rb +1 -3
  111. data/lib/money_s3/builders/parametr_type.rb +1 -3
  112. data/lib/money_s3/builders/partner_type.rb +1 -3
  113. data/lib/money_s3/builders/pc.rb +1 -3
  114. data/lib/money_s3/builders/pohledavka_type.rb +4 -3
  115. data/lib/money_s3/builders/pok_dokl.rb +1 -3
  116. data/lib/money_s3/builders/pok_dokl_type.rb +4 -3
  117. data/lib/money_s3/builders/pol_faktury_type.rb +1 -3
  118. data/lib/money_s3/builders/pol_inv_dokl_type.rb +1 -3
  119. data/lib/money_s3/builders/pol_objedn_type.rb +7 -7
  120. data/lib/money_s3/builders/pol_skl_dokl_type.rb +3 -4
  121. data/lib/money_s3/builders/popt_prij.rb +1 -3
  122. data/lib/money_s3/builders/popt_vyd.rb +1 -3
  123. data/lib/money_s3/builders/prac_pomer.rb +1 -3
  124. data/lib/money_s3/builders/predkontace.rb +1 -3
  125. data/lib/money_s3/builders/predkontace_de_type.rb +1 -3
  126. data/lib/money_s3/builders/predkontace_type.rb +1 -3
  127. data/lib/money_s3/builders/prepr_dopln_udaj_type.rb +1 -3
  128. data/lib/money_s3/builders/prepravce_type.rb +1 -3
  129. data/lib/money_s3/builders/prevodka.rb +1 -3
  130. data/lib/money_s3/builders/prijemka.rb +1 -3
  131. data/lib/money_s3/builders/prodejka.rb +1 -3
  132. data/lib/money_s3/builders/reference_type.rb +1 -3
  133. data/lib/money_s3/builders/report_type.rb +1 -3
  134. data/lib/money_s3/builders/rozuct_poloz_id_type.rb +4 -3
  135. data/lib/money_s3/builders/rozuct_poloz_ud_type.rb +4 -6
  136. data/lib/money_s3/builders/seznam_bank_dokl.rb +1 -3
  137. data/lib/money_s3/builders/seznam_cen_hladin.rb +1 -3
  138. data/lib/money_s3/builders/seznam_cinnosti.rb +1 -3
  139. data/lib/money_s3/builders/seznam_clen_dph.rb +1 -3
  140. data/lib/money_s3/builders/seznam_dl_prij.rb +1 -3
  141. data/lib/money_s3/builders/seznam_dl_vyd.rb +1 -3
  142. data/lib/money_s3/builders/seznam_fakt_prij.rb +1 -3
  143. data/lib/money_s3/builders/seznam_fakt_vyd.rb +1 -3
  144. data/lib/money_s3/builders/seznam_firem.rb +1 -3
  145. data/lib/money_s3/builders/seznam_int_dokl.rb +1 -3
  146. data/lib/money_s3/builders/seznam_inv_dokl.rb +1 -3
  147. data/lib/money_s3/builders/seznam_km_karta.rb +1 -3
  148. data/lib/money_s3/builders/seznam_kurz_listku.rb +1 -3
  149. data/lib/money_s3/builders/seznam_mezd.rb +1 -3
  150. data/lib/money_s3/builders/seznam_nab_prij.rb +1 -3
  151. data/lib/money_s3/builders/seznam_nab_vyd.rb +1 -3
  152. data/lib/money_s3/builders/seznam_obj_prij.rb +1 -3
  153. data/lib/money_s3/builders/seznam_obj_vyd.rb +1 -3
  154. data/lib/money_s3/builders/seznam_pok_dokl.rb +1 -3
  155. data/lib/money_s3/builders/seznam_popt_prij.rb +1 -3
  156. data/lib/money_s3/builders/seznam_popt_vyd.rb +1 -3
  157. data/lib/money_s3/builders/seznam_predkontaci.rb +1 -3
  158. data/lib/money_s3/builders/seznam_predkontaci_de.rb +1 -3
  159. data/lib/money_s3/builders/seznam_prevodka.rb +1 -3
  160. data/lib/money_s3/builders/seznam_prijemka.rb +1 -3
  161. data/lib/money_s3/builders/seznam_prodejka.rb +1 -3
  162. data/lib/money_s3/builders/seznam_skladu.rb +1 -3
  163. data/lib/money_s3/builders/seznam_stredisek.rb +1 -3
  164. data/lib/money_s3/builders/seznam_uc_osnov.rb +1 -3
  165. data/lib/money_s3/builders/seznam_vazeb.rb +1 -3
  166. data/lib/money_s3/builders/seznam_vydejka.rb +1 -3
  167. data/lib/money_s3/builders/seznam_vyrobka.rb +1 -3
  168. data/lib/money_s3/builders/seznam_zakazka.rb +1 -3
  169. data/lib/money_s3/builders/seznam_zamestnancu.rb +1 -3
  170. data/lib/money_s3/builders/seznam_zasoba.rb +1 -3
  171. data/lib/money_s3/builders/sk_doklad_firma_type.rb +12 -3
  172. data/lib/money_s3/builders/skl_dokl_type.rb +11 -11
  173. data/lib/money_s3/builders/sklad.rb +1 -3
  174. data/lib/money_s3/builders/sklad_type.rb +7 -9
  175. data/lib/money_s3/builders/skupina_firem_type.rb +1 -3
  176. data/lib/money_s3/builders/skupina_zasob_type.rb +1 -3
  177. data/lib/money_s3/builders/sleva_type.rb +1 -3
  178. data/lib/money_s3/builders/souhrn_dph_pol_type.rb +1 -3
  179. data/lib/money_s3/builders/souhrn_dph_type.rb +1 -3
  180. data/lib/money_s3/builders/stav_zasoby_type.rb +1 -3
  181. data/lib/money_s3/builders/stredisko.rb +1 -3
  182. data/lib/money_s3/builders/stredisko_type.rb +1 -3
  183. data/lib/money_s3/builders/sub_pol_obj_type.rb +1 -3
  184. data/lib/money_s3/builders/subpol_inv_d_type.rb +1 -3
  185. data/lib/money_s3/builders/telefon_type.rb +1 -3
  186. data/lib/money_s3/builders/typ_priplatku_type.rb +1 -3
  187. data/lib/money_s3/builders/typ_zasilky_type.rb +1 -3
  188. data/lib/money_s3/builders/uc_osnova_type.rb +1 -3
  189. data/lib/money_s3/builders/uc_pohyb_type.rb +1 -3
  190. data/lib/money_s3/builders/ucet.rb +1 -3
  191. data/lib/money_s3/builders/ucty_pohybu_type.rb +1 -3
  192. data/lib/money_s3/builders/uhrada_pduhrada.rb +1 -3
  193. data/lib/money_s3/builders/uhrada_type.rb +1 -3
  194. data/lib/money_s3/builders/valuty.rb +1 -3
  195. data/lib/money_s3/builders/valuty2.rb +1 -3
  196. data/lib/money_s3/builders/valuty_hraz.rb +1 -3
  197. data/lib/money_s3/builders/valuty_uhr.rb +1 -3
  198. data/lib/money_s3/builders/vazba_type.rb +1 -3
  199. data/lib/money_s3/builders/vlajka_type.rb +1 -3
  200. data/lib/money_s3/builders/vlajky.rb +1 -3
  201. data/lib/money_s3/builders/vydejka.rb +1 -3
  202. data/lib/money_s3/builders/vyrobka.rb +1 -3
  203. data/lib/money_s3/builders/vyrobni_cislo.rb +1 -3
  204. data/lib/money_s3/builders/vyrobni_cislo_type.rb +1 -3
  205. data/lib/money_s3/builders/vysledek_odesl.rb +1 -3
  206. data/lib/money_s3/builders/zakazka.rb +1 -3
  207. data/lib/money_s3/builders/zakazka_type.rb +2 -10
  208. data/lib/money_s3/builders/zamestnanec_type.rb +1 -3
  209. data/lib/money_s3/builders/zasoba.rb +1 -3
  210. data/lib/money_s3/builders/zasoba_type.rb +2 -3
  211. data/lib/money_s3/builders/zauctovani_dph_detype.rb +1 -3
  212. data/lib/money_s3/builders/zauctovani_dph_type.rb +1 -3
  213. data/lib/money_s3/builders/zavazek_type.rb +4 -3
  214. data/lib/money_s3/parsers/ban_dokl_type.rb +30 -0
  215. data/lib/money_s3/parsers/castky.rb +20 -0
  216. data/lib/money_s3/parsers/cenova_hladina_type.rb +6 -2
  217. data/lib/money_s3/parsers/clen_dph_type.rb +70 -0
  218. data/lib/money_s3/parsers/definice_ceny.rb +97 -2
  219. data/lib/money_s3/parsers/doklad_firma_type.rb +30 -0
  220. data/lib/money_s3/parsers/faktura_type.rb +90 -60
  221. data/lib/money_s3/parsers/firma_type.rb +30 -0
  222. data/lib/money_s3/parsers/import.rb +0 -5
  223. data/lib/money_s3/parsers/import2.rb +0 -5
  224. data/lib/money_s3/parsers/int_dokl_type.rb +30 -0
  225. data/lib/money_s3/parsers/km_karta_type.rb +6 -36
  226. data/lib/money_s3/parsers/konec_prij_firma_type.rb +40 -0
  227. data/lib/money_s3/parsers/konfigurace.rb +152 -2
  228. data/lib/money_s3/parsers/message_type.rb +10 -0
  229. data/lib/money_s3/parsers/moje_firma_type.rb +15 -0
  230. data/lib/money_s3/parsers/money_data.rb +10 -20
  231. data/lib/money_s3/parsers/msg_ban_dokl_type.rb +0 -5
  232. data/lib/money_s3/parsers/msg_bank_ucet_pokladna_type.rb +0 -14
  233. data/lib/money_s3/parsers/msg_cinnost_type.rb +0 -14
  234. data/lib/money_s3/parsers/msg_clen_dph_type.rb +0 -14
  235. data/lib/money_s3/parsers/msg_fakt_dpptype.rb +0 -5
  236. data/lib/money_s3/parsers/msg_fakt_type.rb +0 -5
  237. data/lib/money_s3/parsers/msg_firma_type.rb +0 -5
  238. data/lib/money_s3/parsers/msg_int_dokl_type.rb +0 -5
  239. data/lib/money_s3/parsers/msg_inv_dokl_type.rb +0 -5
  240. data/lib/money_s3/parsers/msg_km_karta_type.rb +0 -5
  241. data/lib/money_s3/parsers/msg_mzda_type.rb +0 -5
  242. data/lib/money_s3/parsers/msg_obj_type.rb +0 -5
  243. data/lib/money_s3/parsers/msg_pohledavka_type.rb +0 -5
  244. data/lib/money_s3/parsers/msg_pok_dokl_type.rb +0 -5
  245. data/lib/money_s3/parsers/msg_predkontace_de_type.rb +0 -14
  246. data/lib/money_s3/parsers/msg_predkontace_type.rb +0 -14
  247. data/lib/money_s3/parsers/msg_prevodka_type.rb +0 -5
  248. data/lib/money_s3/parsers/msg_skl_dokl_type.rb +0 -5
  249. data/lib/money_s3/parsers/msg_stredisko_type.rb +0 -14
  250. data/lib/money_s3/parsers/msg_uc_osnov_type.rb +0 -14
  251. data/lib/money_s3/parsers/msg_uc_pohyb_type.rb +0 -14
  252. data/lib/money_s3/parsers/msg_zakazka_type.rb +0 -14
  253. data/lib/money_s3/parsers/msg_zasoba_type.rb +0 -5
  254. data/lib/money_s3/parsers/msg_zauctovani_dph_detype.rb +0 -14
  255. data/lib/money_s3/parsers/msg_zauctovani_dph_type.rb +0 -14
  256. data/lib/money_s3/parsers/msg_zavazek_type.rb +0 -5
  257. data/lib/money_s3/parsers/neskl_polozka.rb +46 -46
  258. data/lib/money_s3/parsers/neskl_polozka2.rb +10 -0
  259. data/lib/money_s3/parsers/objednavka_type.rb +45 -25
  260. data/lib/money_s3/parsers/pohledavka_type.rb +30 -0
  261. data/lib/money_s3/parsers/pok_dokl_type.rb +30 -0
  262. data/lib/money_s3/parsers/pol_objedn_type.rb +35 -15
  263. data/lib/money_s3/parsers/pol_skl_dokl_type.rb +20 -10
  264. data/lib/money_s3/parsers/rozuct_poloz_id_type.rb +5 -0
  265. data/lib/money_s3/parsers/rozuct_poloz_ud_type.rb +5 -5
  266. data/lib/money_s3/parsers/sk_doklad_firma_type.rb +40 -0
  267. data/lib/money_s3/parsers/skl_dokl_type.rb +46 -26
  268. data/lib/money_s3/parsers/sklad_type.rb +11 -3
  269. data/lib/money_s3/parsers/zakazka_type.rb +1 -16
  270. data/lib/money_s3/parsers/zasoba_type.rb +10 -0
  271. data/lib/money_s3/parsers/zavazek_type.rb +30 -0
  272. data/lib/money_s3/requires.rb +4 -44
  273. data/lib/money_s3/utils/bank_statements.rb +95 -0
  274. data/money_s3.gemspec +1 -3
  275. metadata +7 -64
  276. data/Rakefile +0 -6
  277. data/bin/console +0 -14
  278. data/bin/setup +0 -8
  279. data/lib/money_s3/builders/child_kusovnik_type.rb +0 -43
  280. data/lib/money_s3/builders/data.rb +0 -23
  281. data/lib/money_s3/builders/data2.rb +0 -23
  282. data/lib/money_s3/builders/data3.rb +0 -20
  283. data/lib/money_s3/builders/data4.rb +0 -20
  284. data/lib/money_s3/builders/data5.rb +0 -20
  285. data/lib/money_s3/builders/data6.rb +0 -20
  286. data/lib/money_s3/builders/data7.rb +0 -20
  287. data/lib/money_s3/builders/data8.rb +0 -20
  288. data/lib/money_s3/builders/groups/definice_ceny.rb +0 -39
  289. data/lib/money_s3/builders/groups/konfigurace.rb +0 -32
  290. data/lib/money_s3/builders/header_kusovnik_type.rb +0 -39
  291. data/lib/money_s3/builders/komponenta_kusovnik_type.rb +0 -23
  292. data/lib/money_s3/builders/kusovnik_type.rb +0 -28
  293. data/lib/money_s3/builders/reference.rb +0 -23
  294. data/lib/money_s3/builders/seznam_typ_kusovnik.rb +0 -20
  295. data/lib/money_s3/builders/seznam_zak_kusovnik.rb +0 -20
  296. data/lib/money_s3/builders/skupina_kusovnik_type.rb +0 -20
  297. data/lib/money_s3/builders/varianta_kusovnik_type.rb +0 -19
  298. data/lib/money_s3/builders/vzor_komponenta_type.rb +0 -26
  299. data/lib/money_s3/parsers/child_kusovnik_type.rb +0 -250
  300. data/lib/money_s3/parsers/data.rb +0 -25
  301. data/lib/money_s3/parsers/data2.rb +0 -25
  302. data/lib/money_s3/parsers/data3.rb +0 -20
  303. data/lib/money_s3/parsers/data4.rb +0 -20
  304. data/lib/money_s3/parsers/data5.rb +0 -20
  305. data/lib/money_s3/parsers/data6.rb +0 -20
  306. data/lib/money_s3/parsers/data7.rb +0 -20
  307. data/lib/money_s3/parsers/data8.rb +0 -20
  308. data/lib/money_s3/parsers/groups/definice_ceny.rb +0 -110
  309. data/lib/money_s3/parsers/groups/konfigurace.rb +0 -165
  310. data/lib/money_s3/parsers/header_kusovnik_type.rb +0 -210
  311. data/lib/money_s3/parsers/komponenta_kusovnik_type.rb +0 -25
  312. data/lib/money_s3/parsers/kusovnik_type.rb +0 -30
  313. data/lib/money_s3/parsers/reference.rb +0 -25
  314. data/lib/money_s3/parsers/seznam_typ_kusovnik.rb +0 -20
  315. data/lib/money_s3/parsers/seznam_zak_kusovnik.rb +0 -20
  316. data/lib/money_s3/parsers/skupina_kusovnik_type.rb +0 -45
  317. data/lib/money_s3/parsers/varianta_kusovnik_type.rb +0 -35
  318. data/lib/money_s3/parsers/vzor_komponenta_type.rb +0 -30
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: '037494edbaba12bfdb3309ec99d90889b6943fe4'
4
- data.tar.gz: 1aeed2bc17fd0defd09c9130d94035d56f9bd2ce
2
+ SHA256:
3
+ metadata.gz: 1c7d18e475496bb9a5557afdb5db6beab7d2c79d33ba6f1a51327e1d1aa9076a
4
+ data.tar.gz: 81723dbcd3c9a8f194162c5adde17947149267ba65f389ca5d7646be0c04c990
5
5
  SHA512:
6
- metadata.gz: 68ca3accd0c4426ecaa81d4340152ed9241d11da26870cc46e2ca670d1d3572cc6d10578891f97e43c34fc9d0ac2a7d3988cec95a8bc727d2d62dfa7a1c786f6
7
- data.tar.gz: 76d0beaffa4fca648b198ed811692cac997eac34d2cdb3b505fc749573a28bf21a8d8bac22e2ca836ddf251c0d025b1df67446bab49295e435cc67a387800d4b
6
+ metadata.gz: 1be862e0cfcbe4f2b4b82ebd717199acb876d2704ccd4960dc2b30ac370712544a695de7e7751f141832bab2b68c865c80c61847f029aafe847269acdaa89236
7
+ data.tar.gz: 55ef7442f721afaa7adc13cb822b2239f8fcef07f0b651f4845d3e04e382cd159029ff31c0dc2533a8aa9bba25b2ccacf8a7c5d1496fe69a684ccdd3f1d63af6
data/README.md CHANGED
@@ -1,7 +1,89 @@
1
1
  # MoneyS3
2
2
 
3
- Unstable until 1.0.0
3
+ This gem allows to parse and build any Money S3 entity defined in theirs XML schemas. All the names and structure are preserved as in the original definitions which can be found [here](https://github.com/Masa331/money_xsd). This gem also includes few utilities for fast and easy XML generation.
4
+
5
+ ## Usage
6
+
7
+ ### Parsing a XML
8
+
9
+ I didn't have time to write docs yet. However parsing works exactly the same as in [Pohoda gem](https://github.com/Masa331/pohoda)
10
+
11
+ ### Building a XML
12
+
13
+ To build a Money S3 XML you need a hash with same structure you get from calling `#to_h` on parsed xml:
14
+
15
+ ```ruby
16
+ hash = { seznam_fakt_vyd: [{ doklad: '123' }] }
17
+ MoneyS3.build(hash)
18
+ ```
19
+
20
+ it returns a string like this:
21
+ ```xml
22
+ <?xml version=\"1.0\"?>
23
+ <MoneyData>
24
+ <SeznamFaktVyd>
25
+ <FaktVyd>
26
+ <Doklad>123</Doklad>
27
+ </FaktVyd>
28
+ </SeznamFaktVyd>
29
+ </MoneyData>
30
+ ```
31
+
32
+ Building works also exactly the same as in [Pohoda gem](https://github.com/Masa331/pohoda)
33
+
34
+ ### Utilities
35
+
36
+ #### `MoneyS3::Utils::BankStatements` class
37
+
38
+ Generates XML with bank movements for importing into Money S3.
39
+
40
+ Instantiate `MoneyS3::Utils::BankStatements` with hash containing statements config:
41
+ ```
42
+ config = {
43
+ my_bank_account_id: 'BAN', # Czech: zkratka bankovniho uctu
44
+ credit_transactions_rule: 'BP001', # Czech: predkontace pro prijmy
45
+ debit_transactions_rule: 'BV001', # Czech: predkontace pro vydaje
46
+ credit_transactions_vat_rule: '19Ř00U', # Czech: cleneni dph pro prijmy
47
+ debit_transactions_vat_rule: '19Ř00P', # Czech: cleneni dph pro vydaje
48
+ credit_transactions_series: 'BPrr', # Czech: ciselna rada prijmovych bankovnich dokladu
49
+ debit_transactions_series: 'BVrr' # Czech: ciselna rada vydajovych bankovnich dokladu
50
+ }
51
+ generator = MoneyS3::Utils::BankStatements.new(config)
52
+ ```
53
+
54
+ Then call `#to_xml` on the generator and pass it an array containing hashes with movement data:
55
+ ```
56
+ transactions = [
57
+ { :date => #<Date: 2019-12-05 ((2458823j,0s,0n),+0s,2299161j)>,
58
+ :transaction_id => "121205SI201442",
59
+ :my_bank_account_id => "ACC1", # if given it overwrites the one from configuration
60
+ :amount => 8500.0,
61
+ :statement_id => "012/00001",
62
+ :variable_symbol => "0000112019",
63
+ :specific_symbol => "",
64
+ :constant_symbol => "0000000138",
65
+ :counterparty_account => "1023706843",
66
+ :counterparty_bank_code => "0100",
67
+ :type => :debit, # or :credit for credit transactions
68
+ :description => "Some description..",
69
+ :note => "Some note.." },
70
+ ...,
71
+ ...
72
+ ]
73
+ statements_string = generator.to_xml(transactions)
74
+ File.open("statements.xml", 'wb') { |f| f.write statements_string }
75
+ ```
76
+
77
+ ## Changelog
78
+
79
+ ### 23.02.2020 - v2.1.0
80
+
81
+ Add utility class for bank statements generation.
82
+
83
+ ### 20.10.2019
84
+
85
+ Updated gem with new schemas from Money S3 19.603
4
86
 
5
87
  ## License
6
88
 
7
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
89
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/lib/money_s3.rb CHANGED
@@ -5,6 +5,8 @@ require 'money_s3/requires'
5
5
  require 'money_s3/parsers/money_data'
6
6
  require 'money_s3/builders/money_data'
7
7
 
8
+ require 'money_s3/utils/bank_statements'
9
+
8
10
  module MoneyS3
9
11
  def self.parse(raw)
10
12
  parsed = Ox.load(raw, skip: :skip_none)
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Ulice', data[:ulice], data[:ulice_attributes]) if data.key? :ulice
13
11
  root << build_element('Misto', data[:misto], data[:misto_attributes]) if data.key? :misto
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Popis', data[:popis], data[:popis_attributes]) if data.key? :popis
13
11
  root << build_element('PocMJ', data[:poc_mj], data[:poc_mj_attributes]) if data.key? :poc_mj
@@ -5,14 +5,14 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Vydej', data[:vydej], data[:vydej_attributes]) if data.key? :vydej
13
11
  root << build_element('Doklad', data[:doklad], data[:doklad_attributes]) if data.key? :doklad
14
12
  root << build_element('EvCisDokl', data[:ev_cis_dokl], data[:ev_cis_dokl_attributes]) if data.key? :ev_cis_dokl
15
13
  root << build_element('ZpusobUctovani', data[:zpusob_uctovani], data[:zpusob_uctovani_attributes]) if data.key? :zpusob_uctovani
14
+ root << build_element('Storno', data[:storno], data[:storno_attributes]) if data.key? :storno
15
+ root << build_element('Del', data[:del], data[:del_attributes]) if data.key? :del
16
16
  root << build_element('Popis', data[:popis], data[:popis_attributes]) if data.key? :popis
17
17
  root << build_element('DatUcPr', data[:dat_uc_pr], data[:dat_uc_pr_attributes]) if data.key? :dat_uc_pr
18
18
  root << build_element('DatVyst', data[:dat_vyst], data[:dat_vyst_attributes]) if data.key? :dat_vyst
@@ -37,6 +37,7 @@ module MoneyS3
37
37
  root << build_element('Zakazka', data[:zakazka], data[:zakazka_attributes]) if data.key? :zakazka
38
38
  root << build_element('Cinnost', data[:cinnost], data[:cinnost_attributes]) if data.key? :cinnost
39
39
  root << build_element('StatMOSS', data[:stat_moss], data[:stat_moss_attributes]) if data.key? :stat_moss
40
+ root << build_element('ZpVypDPH', data[:zp_vyp_dph], data[:zp_vyp_dph_attributes]) if data.key? :zp_vyp_dph
40
41
  root << build_element('SSazba', data[:s_sazba], data[:s_sazba_attributes]) if data.key? :s_sazba
41
42
  root << build_element('ZSazba', data[:z_sazba], data[:z_sazba_attributes]) if data.key? :z_sazba
42
43
  if data.key? :souhrn_dph
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  super.nodes.each do |n|
13
11
  root << n
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Ucet', data[:ucet], data[:ucet_attributes]) if data.key? :ucet
13
11
  root << build_element('KodBanky', data[:kod_banky], data[:kod_banky_attributes]) if data.key? :kod_banky
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Zkrat', data[:zkrat], data[:zkrat_attributes]) if data.key? :zkrat
13
11
  root << build_element('Popis', data[:popis], data[:popis_attributes]) if data.key? :popis
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Celkem', data[:celkem], data[:celkem_attributes]) if data.key? :celkem
13
11
  root << build_element('Zaklad_0', data[:zaklad_0], data[:zaklad_0_attributes]) if data.key? :zaklad_0
@@ -18,6 +16,8 @@ module MoneyS3
18
16
  root << build_element('DPH_2', data[:dph_2], data[:dph_2_attributes]) if data.key? :dph_2
19
17
  root << build_element('DPH_3', data[:dph_3], data[:dph_3_attributes]) if data.key? :dph_3
20
18
  root << build_element('CestSluzba', data[:cest_sluzba], data[:cest_sluzba_attributes]) if data.key? :cest_sluzba
19
+ root << build_element('PouzZbozi', data[:pouz_zbozi], data[:pouz_zbozi_attributes]) if data.key? :pouz_zbozi
20
+ root << build_element('PouzZb_0', data[:pouz_zb_0], data[:pouz_zb_0_attributes]) if data.key? :pouz_zb_0
21
21
  root << build_element('PouzZb_1', data[:pouz_zb_1], data[:pouz_zb_1_attributes]) if data.key? :pouz_zb_1
22
22
  root << build_element('PouzZb_2', data[:pouz_zb_2], data[:pouz_zb_2_attributes]) if data.key? :pouz_zb_2
23
23
  root << build_element('PouzZb_3', data[:pouz_zb_3], data[:pouz_zb_3_attributes]) if data.key? :pouz_zb_3
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Limit', data[:limit], data[:limit_attributes]) if data.key? :limit
13
11
  root << build_element('Cena', data[:cena], data[:cena_attributes]) if data.key? :cena
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  super.nodes.each do |n|
13
11
  root << n
@@ -2,13 +2,10 @@ module MoneyS3
2
2
  module Builders
3
3
  class CenovaHladinaType
4
4
  include ParserCore::BaseBuilder
5
- include Groups::DefiniceCeny
6
5
 
7
6
  def builder
8
7
  root = Ox::Element.new(name)
9
- if data.key? :attributes
10
- data[:attributes].each { |k, v| root[k] = v }
11
- end
8
+ root = add_attributes_and_namespaces(root)
12
9
 
13
10
  root << build_element('Zkrat', data[:zkrat], data[:zkrat_attributes]) if data.key? :zkrat
14
11
  root << build_element('Nazev', data[:nazev], data[:nazev_attributes]) if data.key? :nazev
@@ -18,9 +15,8 @@ module MoneyS3
18
15
  end
19
16
  root << build_element('Skup', data[:skup], data[:skup_attributes]) if data.key? :skup
20
17
  root << build_element('Ceny', data[:ceny], data[:ceny_attributes]) if data.key? :ceny
21
-
22
- mega.each do |r|
23
- r.nodes.each { |n| root << n }
18
+ if data.key? :definice_ceny
19
+ root << DefiniceCeny.new('definiceCeny', data[:definice_ceny]).builder
24
20
  end
25
21
 
26
22
  root
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  super.nodes.each do |n|
13
11
  root << n
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Zkrat', data[:zkrat], data[:zkrat_attributes]) if data.key? :zkrat
13
11
  root << build_element('Nazev', data[:nazev], data[:nazev_attributes]) if data.key? :nazev
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  super.nodes.each do |n|
13
11
  root << n
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Zkrat', data[:zkrat], data[:zkrat_attributes]) if data.key? :zkrat
13
11
  root << build_element('DatumOd', data[:datum_od], data[:datum_od_attributes]) if data.key? :datum_od
@@ -18,6 +16,13 @@ module MoneyS3
18
16
  root << build_element('BezOdpoctu', data[:bez_odpoctu], data[:bez_odpoctu_attributes]) if data.key? :bez_odpoctu
19
17
  root << build_element('NoKoef', data[:no_koef], data[:no_koef_attributes]) if data.key? :no_koef
20
18
  root << build_element('Majetek', data[:majetek], data[:majetek_attributes]) if data.key? :majetek
19
+ root << build_element('KV1', data[:kv1], data[:kv1_attributes]) if data.key? :kv1
20
+ root << build_element('KV2', data[:kv2], data[:kv2_attributes]) if data.key? :kv2
21
+ root << build_element('KVLimit', data[:kv_limit], data[:kv_limit_attributes]) if data.key? :kv_limit
22
+ root << build_element('KVRezim', data[:kv_rezim], data[:kv_rezim_attributes]) if data.key? :kv_rezim
23
+ root << build_element('KVPomer', data[:kv_pomer], data[:kv_pomer_attributes]) if data.key? :kv_pomer
24
+ root << build_element('KVInsolv', data[:kv_insolv], data[:kv_insolv_attributes]) if data.key? :kv_insolv
25
+ root << build_element('MOSS', data[:moss], data[:moss_attributes]) if data.key? :moss
21
26
  root << build_element('Pozn', data[:pozn], data[:pozn_attributes]) if data.key? :pozn
22
27
 
23
28
  root
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  if data.key? :cislo_davky
13
11
  root << MessageRootType.new('CisloDavky', data[:cislo_davky]).builder
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Popis', data[:popis], data[:popis_attributes]) if data.key? :popis
13
11
  root << build_element('HladinaDPH', data[:hladina_dph], data[:hladina_dph_attributes]) if data.key? :hladina_dph
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('MJNaSadu', data[:mj_na_sadu], data[:mj_na_sadu_attributes]) if data.key? :mj_na_sadu
13
11
  if data.key? :polozka
@@ -2,16 +2,32 @@ module MoneyS3
2
2
  module Builders
3
3
  class DefiniceCeny
4
4
  include ParserCore::BaseBuilder
5
- include Groups::DefiniceCeny
6
5
 
7
6
  def builder
8
7
  root = Ox::Element.new(name)
9
- if data.key? :attributes
10
- data[:attributes].each { |k, v| root[k] = v }
11
- end
8
+ root = add_attributes_and_namespaces(root)
12
9
 
13
- mega.each do |r|
14
- r.nodes.each { |n| root << n }
10
+ root << build_element('SDPH', data[:sdph], data[:sdph_attributes]) if data.key? :sdph
11
+ root << build_element('Zaok', data[:zaok], data[:zaok_attributes]) if data.key? :zaok
12
+ root << build_element('ZpusobZao', data[:zpusob_zao], data[:zpusob_zao_attributes]) if data.key? :zpusob_zao
13
+ root << build_element('VychA', data[:vych_a], data[:vych_a_attributes]) if data.key? :vych_a
14
+ root << build_element('ZpusobZmA', data[:zpusob_zm_a], data[:zpusob_zm_a_attributes]) if data.key? :zpusob_zm_a
15
+ root << build_element('VychB', data[:vych_b], data[:vych_b_attributes]) if data.key? :vych_b
16
+ root << build_element('ZpusobZmB', data[:zpusob_zm_b], data[:zpusob_zm_b_attributes]) if data.key? :zpusob_zm_b
17
+ if data.key? :sleva1
18
+ root << SlevaType.new('Sleva1', data[:sleva1]).builder
19
+ end
20
+ if data.key? :sleva2
21
+ root << SlevaType.new('Sleva2', data[:sleva2]).builder
22
+ end
23
+ if data.key? :sleva3
24
+ root << SlevaType.new('Sleva3', data[:sleva3]).builder
25
+ end
26
+ if data.key? :sleva4
27
+ root << SlevaType.new('Sleva4', data[:sleva4]).builder
28
+ end
29
+ if data.key? :sleva5
30
+ root << SlevaType.new('Sleva5', data[:sleva5]).builder
15
31
  end
16
32
 
17
33
  root
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  super.nodes.each do |n|
13
11
  root << n
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  super.nodes.each do |n|
13
11
  root << n
@@ -5,9 +5,7 @@ module MoneyS3
5
5
 
6
6
  def builder
7
7
  root = Ox::Element.new(name)
8
- if data.key? :attributes
9
- data[:attributes].each { |k, v| root[k] = v }
10
- end
8
+ root = add_attributes_and_namespaces(root)
11
9
 
12
10
  root << build_element('Oznaceni', data[:oznaceni], data[:oznaceni_attributes]) if data.key? :oznaceni
13
11
  root << build_element('DatExp', data[:dat_exp], data[:dat_exp_attributes]) if data.key? :dat_exp