我正在为妈妈(波斯尼亚和黑塞哥维那)编写一个名为薪金管理的小型程序。我需要从数据库(数据表)中编写一个XML文件。
我设法编写了一个XML文件,但是在第二个文件中,我遇到了一个问题:我不知道如何将员工分组并用XML编写整年甚至几个月的文件。
我尽了一切,但无法解决问题。
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim JIBPoslodavac As String = Nothing
Dim NazivPoslodavca As String = Nothing
Dim BrojZahtjeva As String = "1"
Dim DatumPodnosenja As String = DateTime.Now.ToString("yyyy-MM-dd")
Dim SifraDjelP As String = Nothing
databasePath = lblPath.Content
Dim cnc As New OleDbConnection("provider=microsoft.ace.oledb.12.0;" &
" data source=" & databasePath & ";persist security info=false;")
cnc.Open()
cmp.CommandText = "Select JIB, Naziv, VrstaD from tblPoslodavac "
cmp.Connection = cnc
drp = cmp.ExecuteReader
If drp.HasRows Then
drp.Read()
JIBPoslodavac = drp.Item("JIB") & "" ' &"" resolve null value error '
NazivPoslodavca = drp.Item("Naziv") & ""
SifraDjelP = drp.Item("VrstaD")
drp.Close()
End If
cnc.Close()
Dim PeriodOD As Date
Dim PeriodDO As Date
Dim JMB As String
Dim cn As New OleDbConnection("provider=microsoft.ace.oledb.12.0;" &
" data source=" & databasePath & ";persist security info=false;")
cn.Open()
cm.CommandText = "select *from MIPObracunatePlate"
cm.Connection = cn
Dim adp As New OleDbDataAdapter(cm)
Dim dt As New DataTable
adp.Fill(ds)
adp.Fill(dt)
dr = cm.ExecuteReader
If dr.HasRows Then
dr.Read()
PeriodOD = dr.Item("PeriodOd") & "" ' &"" resolve null value error '
PeriodDO = dr.Item("PeriodDo") & ""
drp.Close()
End If
Dim PerOD As String = PeriodOD.ToString("yyyy-MM-dd")
Dim PerDO As String = PeriodDO.ToString("yyyy-MM-dd")
Dim BrojUposlenih As Integer = dt.Rows.Count
Dim ImeR As String
Dim JMBR As String
Dim VrstaI As String
Dim RadniSati As Double
Dim BolovanjeSati As Double
Dim BruttoPlata As Double
Dim NetoPStvari As Double
Dim UkupnoBruto As Double
Dim NetoPlaca As Double
Dim FaktorODbitka As Double
Dim IznosOdbitka As Double
Dim OsnovicaPoreza As Double
Dim IznosPoreza As Double
Dim OpcinaRadnika As String
Dim settings As New XmlWriterSettings()
settings.Indent = True
Dim XmlWrt As XmlWriter = XmlWriter.Create("C:\Test\GIP.xml", settings)
With XmlWrt
.WriteStartElement("PaketniUvozObrazaca", "urn:PaketniUvozObrazaca_V1_0.xsd")
.WriteStartElement("PodaciOPoslodavcu")
.WriteElementString("JIBPoslodavca", JIBPoslodavac)
.WriteElementString("NazivPoslodavca", NazivPoslodavca.ToUpper)
.WriteElementString("BrojZahtjeva", BrojZahtjeva)
.WriteElementString("DatumPodnosenja", DatumPodnosenja)
.WriteEndElement()
.WriteStartElement("Obrazac1022")
.WriteStartElement("Dio1PodaciOPoslodavcuIPoreznomObvezniku")
.Close()
End With
End Sub
这是示例XML文件。
<?xml version="1.0" encoding="UTF-8"?><PaketniUvozObrazaca xmlns="urn:PaketniUvozObrazaca_V1_0.xsd">
<PodaciOPoslodavcu>
<JIBPoslodavca>4319671855002</JIBPoslodavca>
<NazivPoslodavca>XXX D.O.O.</NazivPoslodavca>
<BrojZahtjeva>2</BrojZahtjeva>
<DatumPodnosenja>2019-07-18</DatumPodnosenja>
</PodaciOPoslodavcu>
<Obrazac1022>
<Dio1PodaciOPoslodavcuIPoreznomObvezniku>
<JIBJMBPoslodavca>4319671855002</JIBJMBPoslodavca>
<Naziv>XXX D.O.O.</Naziv>
<AdresaSjedista>DOBOJ</AdresaSjedista>
<JMBZaposlenika>1908982125022</JMBZaposlenika>
<ImeIPrezime>NIKO NEZNANOVIĆ</ImeIPrezime>
<AdresaPrebivalista>DOBOJ</AdresaPrebivalista>
<PoreznaGodina>2016</PoreznaGodina>
</Dio1PodaciOPoslodavcuIPoreznomObvezniku>
<Dio2PodaciOPrihodimaDoprinosimaIPorezu>
<PodaciOPrihodimaDoprinosimaIPorezu>
<Mjesec>1</Mjesec>
<IsplataZaMjesecIGodinu>12/2015</IsplataZaMjesecIGodinu>
<VrstaIsplate>1</VrstaIsplate>
<IznosPrihodaUNovcu>579.71</IznosPrihodaUNovcu>
<IznosPrihodaUStvarimaUslugama>0.00</IznosPrihodaUStvarimaUslugama>
<BrutoPlaca>579.71</BrutoPlaca>
<IznosZaPenzijskoInvalidskoOsiguranje>98.55</IznosZaPenzijskoInvalidskoOsiguranje>
<IznosZaZdravstvenoOsiguranje>72.46</IznosZaZdravstvenoOsiguranje>
<IznosZaOsiguranjeOdNezaposlenosti>8.70</IznosZaOsiguranjeOdNezaposlenosti>
<UkupniDoprinosi>179.71</UkupniDoprinosi>
<PlacaBezDoprinosa>400.00</PlacaBezDoprinosa>
<FaktorLicnihOdbitakaPremaPoreznojKartici>1.000</FaktorLicnihOdbitakaPremaPoreznojKartici>
<IznosLicnogOdbitka>300.00</IznosLicnogOdbitka>
<OsnovicaPoreza>100.00</OsnovicaPoreza>
<IznosUplacenogPoreza>10.00</IznosUplacenogPoreza>
<NetoPlaca>390.00</NetoPlaca>
<DatumUplate>2016-01-08</DatumUplate>
</PodaciOPrihodimaDoprinosimaIPorezu>
<PodaciOPrihodimaDoprinosimaIPorezu>
<Mjesec>2</Mjesec>
<IsplataZaMjesecIGodinu>1/2016</IsplataZaMjesecIGodinu>
<VrstaIsplate>1</VrstaIsplate>
<IznosPrihodaUNovcu>579.71</IznosPrihodaUNovcu>
<IznosPrihodaUStvarimaUslugama>0.00</IznosPrihodaUStvarimaUslugama>
<BrutoPlaca>579.71</BrutoPlaca>
<IznosZaPenzijskoInvalidskoOsiguranje>98.55</IznosZaPenzijskoInvalidskoOsiguranje>
<IznosZaZdravstvenoOsiguranje>72.46</IznosZaZdravstvenoOsiguranje>
<IznosZaOsiguranjeOdNezaposlenosti>8.70</IznosZaOsiguranjeOdNezaposlenosti>
<UkupniDoprinosi>179.71</UkupniDoprinosi>
<PlacaBezDoprinosa>400.00</PlacaBezDoprinosa>
<FaktorLicnihOdbitakaPremaPoreznojKartici>1.000</FaktorLicnihOdbitakaPremaPoreznojKartici>
<IznosLicnogOdbitka>300.00</IznosLicnogOdbitka>
<OsnovicaPoreza>100.00</OsnovicaPoreza>
<IznosUplacenogPoreza>10.00</IznosUplacenogPoreza>
<NetoPlaca>390.00</NetoPlaca>
<DatumUplate>2016-02-08</DatumUplate>
</PodaciOPrihodimaDoprinosimaIPorezu>
<PodaciOPrihodimaDoprinosimaIPorezu>
<Mjesec>3</Mjesec>
<IsplataZaMjesecIGodinu>2/2016</IsplataZaMjesecIGodinu>
<VrstaIsplate>1</VrstaIsplate>
<IznosPrihodaUNovcu>579.71</IznosPrihodaUNovcu>
<IznosPrihodaUStvarimaUslugama>0.00</IznosPrihodaUStvarimaUslugama>
<BrutoPlaca>579.71</BrutoPlaca>
<IznosZaPenzijskoInvalidskoOsiguranje>98.55</IznosZaPenzijskoInvalidskoOsiguranje>
<IznosZaZdravstvenoOsiguranje>72.46</IznosZaZdravstvenoOsiguranje>
<IznosZaOsiguranjeOdNezaposlenosti>8.70</IznosZaOsiguranjeOdNezaposlenosti>
<UkupniDoprinosi>179.71</UkupniDoprinosi>
<PlacaBezDoprinosa>400.00</PlacaBezDoprinosa>
<FaktorLicnihOdbitakaPremaPoreznojKartici>1.000</FaktorLicnihOdbitakaPremaPoreznojKartici>
<IznosLicnogOdbitka>300.00</IznosLicnogOdbitka>
<OsnovicaPoreza>100.00</OsnovicaPoreza>
<IznosUplacenogPoreza>10.00</IznosUplacenogPoreza>
<NetoPlaca>390.00</NetoPlaca>
<DatumUplate>2016-03-04</DatumUplate>
</PodaciOPrihodimaDoprinosimaIPorezu>
<Ukupno>
<IznosPrihodaUNovcu>6956.52</IznosPrihodaUNovcu>
<IznosPrihodaUStvarimaUslugama>0.00</IznosPrihodaUStvarimaUslugama>
<BrutoPlaca>6956.52</BrutoPlaca>
<IznosZaPenzijskoInvalidskoOsiguranje>1182.60</IznosZaPenzijskoInvalidskoOsiguranje>
<IznosZaZdravstvenoOsiguranje>869.52</IznosZaZdravstvenoOsiguranje>
<IznosZaOsiguranjeOdNezaposlenosti>104.40</IznosZaOsiguranjeOdNezaposlenosti>
<UkupniDoprinosi>2156.52</UkupniDoprinosi>
<PlacaBezDoprinosa>4800.00</PlacaBezDoprinosa>
<IznosLicnogOdbitka>3600.00</IznosLicnogOdbitka>
<OsnovicaPoreza>1200.00</OsnovicaPoreza>
<IznosUplacenogPoreza>120.00</IznosUplacenogPoreza>
<NetoPlaca>4680.00</NetoPlaca>
</Ukupno>
</Dio2PodaciOPrihodimaDoprinosimaIPorezu>
<Dio3IzjavaPoslodavcaIsplatioca>
<JIBJMBPoslodavca>4319671855002</JIBJMBPoslodavca>
<DatumUnosa>2019-07-18</DatumUnosa>
<NazivPoslodavca>XXX D.O.O.</NazivPoslodavca>
</Dio3IzjavaPoslodavcaIsplatioca>
<Dokument>
<Operacija>Novi</Operacija>
</Dokument>
</Obrazac1022>
<Obrazac1022>
<Dio1PodaciOPoslodavcuIPoreznomObvezniku>
<JIBJMBPoslodavca>4319671855002</JIBJMBPoslodavca>
<Naziv>XXX D.O.O.</Naziv>
<AdresaSjedista>DOBOJ</AdresaSjedista>
<JMBZaposlenika>1101976125227</JMBZaposlenika>
<ImeIPrezime>PERO PERIĆ</ImeIPrezime>
<AdresaPrebivalista>DOBOJ</AdresaPrebivalista>
<PoreznaGodina>2016</PoreznaGodina>
</Dio1PodaciOPoslodavcuIPoreznomObvezniku>
<Dio2PodaciOPrihodimaDoprinosimaIPorezu>
<PodaciOPrihodimaDoprinosimaIPorezu>
<Mjesec>1</Mjesec>
<IsplataZaMjesecIGodinu>12/2015</IsplataZaMjesecIGodinu>
<VrstaIsplate>1</VrstaIsplate>
<IznosPrihodaUNovcu>579.71</IznosPrihodaUNovcu>
<IznosPrihodaUStvarimaUslugama>0.00</IznosPrihodaUStvarimaUslugama>
<BrutoPlaca>579.71</BrutoPlaca>
<IznosZaPenzijskoInvalidskoOsiguranje>98.55</IznosZaPenzijskoInvalidskoOsiguranje>
<IznosZaZdravstvenoOsiguranje>72.46</IznosZaZdravstvenoOsiguranje>
<IznosZaOsiguranjeOdNezaposlenosti>8.70</IznosZaOsiguranjeOdNezaposlenosti>
<UkupniDoprinosi>179.71</UkupniDoprinosi>
<PlacaBezDoprinosa>400.00</PlacaBezDoprinosa>
<FaktorLicnihOdbitakaPremaPoreznojKartici>1.000</FaktorLicnihOdbitakaPremaPoreznojKartici>
<IznosLicnogOdbitka>300.00</IznosLicnogOdbitka>
<OsnovicaPoreza>100.00</OsnovicaPoreza>
<IznosUplacenogPoreza>10.00</IznosUplacenogPoreza>
<NetoPlaca>390.00</NetoPlaca>
<DatumUplate>2016-01-08</DatumUplate>
</PodaciOPrihodimaDoprinosimaIPorezu>
<PodaciOPrihodimaDoprinosimaIPorezu>
<Mjesec>2</Mjesec>
<IsplataZaMjesecIGodinu>1/2016</IsplataZaMjesecIGodinu>
<VrstaIsplate>1</VrstaIsplate>
<IznosPrihodaUNovcu>579.71</IznosPrihodaUNovcu>
<IznosPrihodaUStvarimaUslugama>0.00</IznosPrihodaUStvarimaUslugama>
<BrutoPlaca>579.71</BrutoPlaca>
<IznosZaPenzijskoInvalidskoOsiguranje>98.55</IznosZaPenzijskoInvalidskoOsiguranje>
<IznosZaZdravstvenoOsiguranje>72.46</IznosZaZdravstvenoOsiguranje>
<IznosZaOsiguranjeOdNezaposlenosti>8.70</IznosZaOsiguranjeOdNezaposlenosti>
<UkupniDoprinosi>179.71</UkupniDoprinosi>
<PlacaBezDoprinosa>400.00</PlacaBezDoprinosa>
<FaktorLicnihOdbitakaPremaPoreznojKartici>1.000</FaktorLicnihOdbitakaPremaPoreznojKartici>
<IznosLicnogOdbitka>300.00</IznosLicnogOdbitka>
<OsnovicaPoreza>100.00</OsnovicaPoreza>
<IznosUplacenogPoreza>10.00</IznosUplacenogPoreza>
<NetoPlaca>390.00</NetoPlaca>
<DatumUplate>2016-02-08</DatumUplate>
</PodaciOPrihodimaDoprinosimaIPorezu>
<Ukupno>
<IznosPrihodaUNovcu>6956.52</IznosPrihodaUNovcu>
<IznosPrihodaUStvarimaUslugama>0.00</IznosPrihodaUStvarimaUslugama>
<BrutoPlaca>6956.52</BrutoPlaca>
<IznosZaPenzijskoInvalidskoOsiguranje>1182.60</IznosZaPenzijskoInvalidskoOsiguranje>
<IznosZaZdravstvenoOsiguranje>869.52</IznosZaZdravstvenoOsiguranje>
<IznosZaOsiguranjeOdNezaposlenosti>104.40</IznosZaOsiguranjeOdNezaposlenosti>
<UkupniDoprinosi>2156.52</UkupniDoprinosi>
<PlacaBezDoprinosa>4800.00</PlacaBezDoprinosa>
<IznosLicnogOdbitka>3600.00</IznosLicnogOdbitka>
<OsnovicaPoreza>1200.00</OsnovicaPoreza>
<IznosUplacenogPoreza>120.00</IznosUplacenogPoreza>
<NetoPlaca>4680.00</NetoPlaca>
</Ukupno>
</Dio2PodaciOPrihodimaDoprinosimaIPorezu>
<Dio3IzjavaPoslodavcaIsplatioca>
<JIBJMBPoslodavca>4319671855002</JIBJMBPoslodavca>
<DatumUnosa>2019-07-18</DatumUnosa>
<NazivPoslodavca>XXX D.O.O.</NazivPoslodavca>
</Dio3IzjavaPoslodavcaIsplatioca>
<Dokument>
<Operacija>Novi</Operacija>
</Dokument>
</Obrazac1022>
</PaketniUvozObrazaca>