GetAdmInfo

Met deze functie kunt u de gegevens over de geselecteerde administratie ophalen.

Er wordt een dataset aan query’s doorgegeven met specificaties van de gewenste velden.
Elke datarow heeft 2 velden: TABLE en SELECTFIELDS

Voorbeeld:
TABLE = BASFIN
SELECTFIELDS = AANTPER

Het resultaat is het aantal financiële periodes dat er in deze administratie wordt gevoerd.

N.B.: alle administraties hebben altijd een 14e periode. Deze periode is bedoeld voor nagekomen posten en correcties en wordt doorgaans alleen door de accountant gebruikt.

Als het aantal periodes 12 is, dan moet rekening gehouden worden met financiële boekingen in de periodes 1 t/m 12 en 14.

Geblokeerde Jaren/periodes
De cloudswitch gebruiker is gelijk gesteld aan een “Accountant controler” en mag ook in eventueel afgesloten periodes boeken, om zo eventuele correcties te kunnen maken. De aansturende applicatie zal dus moeten controleren of ‘gebruikers’ boekingen wel geboekt mogen worden. Via deze functie kunnen de velden JRAFGESL en PNAFGESL (definitief afgesloten, ook voor accountant/controlers) en JRAFGESLGEBR en PNAFGESLGEBR (afgesloten voor gebruikers, die geen accountant/controller zijn)

De BasisTabellen die hier kunnen worden opgevraagd zijn:

Daarnaast zijn er nog een aantal zaken die door iMUIS worden samengesteld en door de ontwikkelaar direct kunnen worden opgehaald en gebruikt.

  • PERIODEDATUMS – Datumrange zoals deze horen bij de periode indeling.
  • PERIODEINFO – Huidige periode/jaar en afgesloten periodes/Jaren.
  • PERIODESALDI  – gegevens voor een proef- & saldi-balans.

Zie onderstaande voorbeeldcode:

Via BASALG kunnen oa. de NAW gegevens van de administratie worden opgehaald.
Zie onderstaande voorbeeldcode voor ophalen van BASALG:

Dim TableNaam As String = "BASALG" 

Dim ds_selectie As New DataSet
Dim dt_selectie As DataTable = ds_selectie.Tables.Add

dt_selectie.Columns.Add("TABLE", GetType(System.String)).DefaultValue = TableNaam
dt_selectie.Columns.Add("SELECTFIELDS", GetType(System.String)).DefaultValue = IMFIN.BASALG.NAAM + TAB + IMFIN.BASALG.NAAM2 + TAB + IMFIN.BASALG.ADRES + TAB + IMFIN.BASALG.POSTCD + TAB + IMFIN.BASALG.PLAATS + TAB + IMFIN.BASALG.LAND + TAB + IMFIN.BASALG.BTWNR
	 
Dim dr_selectie = dt_selectie.NewRow : dt_selectie.Rows.Add(dr_selectie)
Dim ds_output As New DataSet
If Not ws1.GetAdmInfo(txtPartnerKey.Text, txtOmgevingsCode.Text, txtSessionId.Text, ds_selectie, ds_output, foutmelding) Then
	'geen succes
	MessageBox.Show("Administratieinfo NIET opgehaald: " + foutmelding)
Else
	'succes
	MessageBox.Show("Administratie info opgehaald")
End If

Geeft als resultaat een dataset met daarin:

<NewDataSet>
   <BASALG>
      <NAAM>Demo</NAAM>
      <NAAM2>Multi User Informatie Systemen B.V.</NAAM2>
      <ADRES>De Trompet 2880</ADRES>
      <POSTCD>1967 DD</POSTCD>
      <PLAATS>HEEMSKERK</PLAATS>
      <LAND>NL</LAND>
      <BTWNR>NL261925143B01</BTWNR>
      </BASALG>
</NewDataSet>

 

 

Via BASART kan oa.  het Laatst gebruikte goederenontvangstnummer worden opgehaald.  Zie onderstaande voorbeeldcode voor ophalen van BASART:

Dim TableNaam As String = "BASART" 
Dim TableVelden As String = IMFIN.BASART.ONTVNR
Dim ds_selectie As New DataSet
Dim dt_selectie As DataTable = ds_selectie.Tables.Add

dt_selectie.Columns.Add("TABLE", GetType(System.String)).DefaultValue = TableNaam
dt_selectie.Columns.Add("SELECTFIELDS", GetType(System.String)).DefaultValue = TableVelden
	 
Dim dr_selectie = dt_selectie.NewRow : dt_selectie.Rows.Add(dr_selectie)
Dim ds_output As New DataSet
If Not ws1.GetAdmInfo(txtPartnerKey.Text, txtOmgevingsCode.Text, txtSessionId.Text, ds_selectie, ds_output, foutmelding) Then
	'geen succes
	MessageBox.Show("Administratieinfo NIET opgehaald: " + foutmelding)
Else
	'succes
	MessageBox.Show("Administratie info opgehaald")
End If

Geeft als resultaat een dataset met daarin:

<NewDataSet>
   <BASART>
      <ONTVNR>201500015</ONTVNR>
   </BASART>
</NewDataSet>

 

 

Via BASFIN kunnen oa. de Grenzen van de Grootboek, Debiteuren  en Crediteuren
Zie onderstaande voorbeeldcode voor ophalen van BASFIN:

Dim TableNaam As String = "BASFIN" 
Dim TableVelden As String = IMFIN.BASFIN.ONDERGRB + TAB + IMFIN.BASFIN.BOVENGRB + TAB + IMFIN.BASFIN.ONDERDEB + TAB + IMFIN.BASFIN.BOVENDEB + TAB + IMFIN.BASFIN.ONDERCRE + TAB + IMFIN.BASFIN.BOVENCRE
Dim ds_selectie As New DataSet
Dim dt_selectie As DataTable = ds_selectie.Tables.Add

dt_selectie.Columns.Add("TABLE", GetType(System.String)).DefaultValue = TableNaam
dt_selectie.Columns.Add("SELECTFIELDS", GetType(System.String)).DefaultValue = TableVelden
	 
Dim dr_selectie = dt_selectie.NewRow : dt_selectie.Rows.Add(dr_selectie)
Dim ds_output As New DataSet
If Not ws1.GetAdmInfo(txtPartnerKey.Text, txtOmgevingsCode.Text, txtSessionId.Text, ds_selectie, ds_output, foutmelding) Then
	'geen succes
	MessageBox.Show("Administratieinfo NIET opgehaald: " + foutmelding)
Else
	'succes
	MessageBox.Show("Administratie info opgehaald")
End If

Geeft als resultaat een dataset met daarin:

 <NewDataSet>
<BASFIN>
   <ONDERGRB>1</ONDERGRB>
      <BOVENGRB>9999</BOVENGRB>
      <ONDERDEB>10000</ONDERDEB>
      <BOVENDEB>19999</BOVENDEB>
      <ONDERCRE>20000</ONDERCRE>
      <BOVENCRE>29999</BOVENCRE>
   </BASFIN>
</NewDataSet> 

 

 

Via BASIK kunnen oa. Inkoopdagboek voor het inboeken journaalposten van inkoopfacturen
Zie onderstaande voorbeeldcode voor ophalen van BASIK:

Dim TableNaam As String = "BASIK" 
Dim TableVelden As String = IMFIN.BASIK.DAGBINK 

Dim ds_selectie As New DataSet
Dim dt_selectie As DataTable = ds_selectie.Tables.Add

dt_selectie.Columns.Add("TABLE", GetType(System.String)).DefaultValue = TableNaam
dt_selectie.Columns.Add("SELECTFIELDS", GetType(System.String)).DefaultValue = TableVelden
	 
Dim dr_selectie = dt_selectie.NewRow : dt_selectie.Rows.Add(dr_selectie)
Dim ds_output As New DataSet
If Not ws1.GetAdmInfo(txtPartnerKey.Text, txtOmgevingsCode.Text, txtSessionId.Text, ds_selectie, ds_output, foutmelding) Then
	'geen succes
	MessageBox.Show("Administratieinfo NIET opgehaald: " + foutmelding)
Else
	'succes
	MessageBox.Show("Administratie info opgehaald")
End If

Geeft als resultaat een dataset met daarin:

<NewDataSet>
   <BASIK>
      <DAGBINK>20</DAGBINK>
   </BASIK>
</NewDataSet>

 

 

Via BASVK kunnen oa. Verkoopdagboek,  Kas/Contantdagboek voor het inboeken van journaalposten van verkoopfacturen en eventuele kas betalingen.
Zie onderstaande voorbeeldcode voor ophalen van BASVK:

Dim TableNaam As String = "BASVK" 
Dim TableVelden as string = IMFIN.BASVK.DAGBVERK + TAB + IMFIN.BASVK.DAGBCONTANT
Dim ds_selectie As New DataSet
Dim dt_selectie As DataTable = ds_selectie.Tables.Add

dt_selectie.Columns.Add("TABLE", GetType(System.String)).DefaultValue = TableNaam
dt_selectie.Columns.Add("SELECTFIELDS", GetType(System.String)).DefaultValue = TableVelden
	 
Dim dr_selectie = dt_selectie.NewRow : dt_selectie.Rows.Add(dr_selectie)
Dim ds_output As New DataSet
If Not ws1.GetAdmInfo(txtPartnerKey.Text, txtOmgevingsCode.Text, txtSessionId.Text, ds_selectie, ds_output, foutmelding) Then
	'geen succes
	MessageBox.Show("Administratieinfo NIET opgehaald: " + foutmelding)
Else
	'succes
	MessageBox.Show("Administratie info opgehaald")
End If

Geeft als resultaat een dataset met daarin:

<NewDataSet>
   <BASVK>
      <DAGBVERK>10</DAGBVERK>
      <DAGBCONTANT>30</DAGBCONTANT>
   </BASVK>
</NewDataSet>

 

 

Via PERIODESALDI kunnen de gegevens voor een proef- & saldi-balans worden opgehaald.
Zie onderstaande voorbeeldcode voor ophalen van PERIODESALDI:

Dim ws1 As New ws1.ws1
Dim foutmelding As String = ""

Dim ds_selectie As New DataSet
Dim dt_selectie As DataTable = ds_selectie.Tables.Add
dt_selectie.Columns.Add("TABLE", GetType(System.String)).DefaultValue = "PERIODESALDI"

dt_selectie.Columns.Add("JRVANAF", GetType(System.String)).DefaultValue = CStr(Now.Year-1)
dt_selectie.Columns.Add("JRTM", GetType(System.String)).DefaultValue = CStr(Now.Year)
dt_selectie.Columns.Add("PN", GetType(System.String)).DefaultValue = "12"
dt_selectie.Columns.Add("INTM", GetType(System.String)).DefaultValue = "TM" ' "IN" 
dt_selectie.Columns.Add("VALUTA", GetType(System.String)).DefaultValue = "EUR"

' Velden hieronder kunnen worden weggelaten, dan wordt de meest uitgebreide selectie gebruikt.
dt_selectie.Columns.Add("KPLVANAF", GetType(System.String)).DefaultValue = "-1" ' Via -1 alle kpl's
dt_selectie.Columns.Add("KPLTM", GetType(System.String)).DefaultValue = "-1"
dt_selectie.Columns.Add("KDRVANAF", GetType(System.String)).DefaultValue = "-1" ' Via -1 alle kdr's
dt_selectie.Columns.Add("KDRTM", GetType(System.String)).DefaultValue = "-1"
dt_selectie.Columns.Add("GRBVAN", GetType(System.String)).DefaultValue = "1" ' Voorbeeld rekeningen.
dt_selectie.Columns.Add("GRBTM", GetType(System.String)).DefaultValue = "9999"


Dim dr_selectie = dt_selectie.NewRow : dt_selectie.Rows.Add(dr_selectie)
Dim ds_output As New DataSet
If Not ws1.GetAdmInfo(txtPartnerKey.Text, txtOmgevingsCode.Text, txtSessionId.Text, ds_selectie, ds_output, foutmelding) Then
	'geen succes
	MessageBox.Show("Administratieinfo NIET opgehaald: " + foutmelding)
Else
	'succes
	MessageBox.Show("Administratie info opgehaald")
End If

Geeft als resultaat een dataset met daarin:

<NewDataSet>
   <PERIODESALDI>
      <NR>10   </NR>
      <ZKSL>aanloopkosten   </ZKSL>
      <OMSCHR>Aanloopkosten   </OMSCHR>
      <NIVO>0   </NIVO>
      <SALDO_2016>0   </SALDO_2016>
      <SALDO_2017>0   </SALDO_2017>
   </PERIODESALDI>
   <PERIODESALDI>
      <NR>11   </NR>
      <ZKSL>aanloopkosten afs   </ZKSL>
      <OMSCHR>Afschrijving  aanloopkosten   </OMSCHR>
      <NIVO>0   </NIVO>
      <SALDO_2016>0   </SALDO_2016>
      <SALDO_2017>0   </SALDO_2017>
   </PERIODESALDI>
.
.  meerdere records....<PERIODESALDI>
.
   <PERIODESALDI>
      <NR>9890   </NR>
      <ZKSL>rubriek 9 totaal   </ZKSL>
      <OMSCHR>TOTAAL  R U B R I E K  9   </OMSCHR>
      <NIVO>3   </NIVO>
      <SALDO_2016>-30   </SALDO_2016>
      <SALDO_2017>-11999997   </SALDO_2017>
   </PERIODESALDI>
   <PERIODESALDI>
      <NR>9990   </NR>
      <ZKSL>resultaat totaal   </ZKSL>
      <OMSCHR>NETTO RESULTAAT   </OMSCHR>
      <NIVO>5   </NIVO>
      <SALDO_2016>51529.17   </SALDO_2016>
     <SALDO_2017>-11920191.03   </SALDO_2017>
   </PERIODESALDI>
   <PERIODESALDI>
      <NR>9999   </NR>
      <ZKSL>generaal totaal   </ZKSL>
      <OMSCHR>TOTAAL GENERAAL   </OMSCHR>
      <NIVO>6   </NIVO>
      <SALDO_2016>0   </SALDO_2016>
      <SALDO_2017>0   </SALDO_2017>
   </PERIODESALDI>
</NewDataSet>

Maak je een drilldown?

Als je een drilldown wilt maken om vanuit de PERIODESALDI door te kunnen drillen naar de boekingen en de eventueel gekoppelde PDF bestanden en/of UBL facturen kun je gebruikmaken van de functie GetStamTabelRecords.

iMUIS en iMUIS Online kennen één journaalpost waarin maximaal vier en minimaal twee grootboekrekeningen kunnen zijn gekoppeld. (Rekening, Tegenrekening en/of BTW rekening en/of Kredietbeperking rekening)
In de tabel grootboekmutaties (GRBMUT) staan alle boekingen uitgesplitst naar grootboekrekening, waarbij het veld SRT aangeeft of de rekening als R)ekening, T)egenrekening, B)TW rekening of K)b rekening wordt gebruikt.
De tabel GRBMUT kan worden opgehaald m.b.v. de functie GetStamTabelRecords in dit record staat de verwijzing (Dagboek, Jaar, Periode en Regelnummer) naar de boekingsregel (BOE). Bij het ophalen van de boekingen (BOE) kun je direct de PDF en/of UBL ophalen. Zie hiervoor de PDF_BESTAND/PDF_UBL_BESTAND optie.

 

Via PERIODEINFO kunnen de huidige periode/jaar en afgesloten periodes/Jaren worden opgehaald.
Zie onderstaande voorbeeldcode voor ophalen van PERIODEINFO:

Dim ws1 As New ws1.ws1
Dim foutmelding As String = ""

Dim ds_selectie As New DataSet
Dim dt_selectie As DataTable = ds_selectie.Tables.Add
dt_selectie.Columns.Add("TABLE", GetType(System.String)).DefaultValue = "PERIODEINFO"

' Veld moet aanwezig en gevuld zijn, daarom het huidige jaar.
dt_selectie.Columns.Add("SELECTFIELDS", GetType(System.String)).DefaultValue = Cstr(Now.Year)

Dim dr_selectie = dt_selectie.NewRow : dt_selectie.Rows.Add(dr_selectie)
Dim ds_output As New DataSet
If Not ws1.GetAdmInfo(txtPartnerKey.Text, txtOmgevingsCode.Text, txtSessionId.Text, ds_selectie, ds_output, foutmelding) Then
	'geen succes
	MessageBox.Show("Administratieinfo NIET opgehaald: " + foutmelding)
Else
	'succes
	MessageBox.Show("Administratie info opgehaald")
End If

Geeft als resultaat een dataset met daarin:

<PERIODEINFO>
      <PNAFGESLGEBR>14</PNAFGESLGEBR>
      <JRAFGESLGEBR>2016</JRAFGESLGEBR>
      <PNAFGESL>10</PNAFGESL>
      <JRAFGESL>2016</JRAFGESL>
      <HUIDIGJR>2017</HUIDIGJR>
      <HUIDIGPN>12</HUIDIGPN>
   </PERIODEINFO>

 

 

Via PERIODEDATUMS kunnen de datumranges zoals deze horen bij de periode indeling worden opgehaald. Bij de meeste administraties zullen de periodes gelijklopen met de maanden, maar dat hoeft niet als de administratie 1 periode (heel jaar), 4 periodes( per kwartaal), 13 periodes (Per vier weken) bevat. Of als er er gebruik wordt gemaakt van een gebroken boekjaar. Dit betekent dat het financiele jaar niet op 1 januari maar bijvoorbeeld op 1 juli begint. Vooral in het laatste geval komt er nogal wat rekenwerk kijken bij de bepaling.
Zie onderstaande voorbeeldcode voor ophalen van PERIODEDATUMS:

Dim ws1 As New ws1.ws1
Dim foutmelding As String = ""

Dim ds_selectie As New DataSet
Dim dt_selectie As DataTable = ds_selectie.Tables.Add
dt_selectie.Columns.Add("TABLE", GetType(System.String)).DefaultValue = "PERIODEDATUMS"

dt_selectie.Columns.Add("SELECTFIELDS", GetType(System.String)).DefaultValue = Cstr(Now.Year)

Dim dr_selectie = dt_selectie.NewRow : dt_selectie.Rows.Add(dr_selectie)
Dim ds_output As New DataSet
If Not ws1.GetAdmInfo(txtPartnerKey.Text, txtOmgevingsCode.Text, txtSessionId.Text, ds_selectie, ds_output, foutmelding) Then
	'geen succes
	MessageBox.Show("Administratieinfo NIET opgehaald: " + foutmelding)
Else
	'succes
	MessageBox.Show("Administratie info opgehaald")
End If

Geeft als resultaat een dataset met daarin:

<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>1</PN>
   <DATUMVA>2017-01-01T00:00:00+01:00</DATUMVA>
   <DATUMTM>2017-01-31T00:00:00+01:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>2</PN>
   <DATUMVA>2017-02-01T00:00:00+01:00</DATUMVA>
   <DATUMTM>2017-02-28T00:00:00+01:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>3</PN>
   <DATUMVA>2017-03-01T00:00:00+01:00</DATUMVA>
   <DATUMTM>2017-03-31T00:00:00+02:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>4</PN>
   <DATUMVA>2017-04-01T00:00:00+02:00</DATUMVA>
   <DATUMTM>2017-04-30T00:00:00+02:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>5</PN>
   <DATUMVA>2017-05-01T00:00:00+02:00</DATUMVA>
   <DATUMTM>2017-05-31T00:00:00+02:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>6</PN>
   <DATUMVA>2017-06-01T00:00:00+02:00</DATUMVA>
   <DATUMTM>2017-06-30T00:00:00+02:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>7</PN>
   <DATUMVA>2017-07-01T00:00:00+02:00</DATUMVA>
   <DATUMTM>2017-07-31T00:00:00+02:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>8</PN>
   <DATUMVA>2017-08-01T00:00:00+02:00</DATUMVA>
   <DATUMTM>2017-08-31T00:00:00+02:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>9</PN>
   <DATUMVA>2017-09-01T00:00:00+02:00</DATUMVA>
   <DATUMTM>2017-09-30T00:00:00+02:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>10</PN>
   <DATUMVA>2017-10-01T00:00:00+02:00</DATUMVA>
   <DATUMTM>2017-10-31T00:00:00+01:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>11</PN>
   <DATUMVA>2017-11-01T00:00:00+01:00</DATUMVA>
   <DATUMTM>2017-11-30T00:00:00+01:00</DATUMTM>
</PERIODEDATUMS>
<PERIODEDATUMS>
   <JR>2017</JR>
   <PN>12</PN>
  <DATUMVA>2017-12-01T00:00:00+01:00</DATUMVA>
  <DATUMTM>2017-12-31T00:00:00+01:00</DATUMTM>
</PERIODEDATUMS>