Smoelenboek>medewerkergegevens aanpassen

41 views
Skip to first unread message

Jauko

unread,
Mar 25, 2009, 7:02:54 AM3/25/09
to Smartsite5
In smartsite hebben wij een Smoelenboek optie, waarbij (door afdeling
X) gegevens kunnen worden bijgehouden van onze medewerkers (in
'Bewerken Medewerkers').
Omdat er een nieuwe laag 'stafafdelingen' wordt toegevoegd in onze
organisatie ben ik aanpassingen aan het doen aan dit smoelenboek.

Ik heb:
- wijzigingen gedaan in de database (toevoegen nieuwe tabel
'afdelingen') en nieuwe kolom in tabel medewerkers, die naar elkaar
verwijzen.
- in smartsite menu 'Admin/Configure securrity/Edit action list' heb
ik een nieuwe record 'Bewerken Stafafdeling', waarmee afdeling X de
'stafafdelingen' kan bijwerken onder 'SWD/Beheren smoelenboek'.

Tot dusver gaat alles goed en kan ik de gegevens bijhouden, behalve de
wijze waarop is niet de gewenste manier:

1) In de aangemaakte record 'Bewerken stafafdeling' (onder 'Edit
action list') krijg ik ook het stafafdelingsid te zien, wat handmatig
moet worden ingevoerd. Kleinigheidje, maar dit wil ik liever
automatisch opgehoogd hebben.

2) Ipv een dropdownmenu met de stafafdelingsnamen, krijg ik een open
textfield waarin ook hier het nummer (stafafdelingsid) staat vermeld
van de stafafdeling (zie bijlage: Stafafdelingsid=0)

Weet iemand hoe en waar ik deze 2 aanpassingen kan doorvoeren?

bedankt.

Jauko

Jauko

unread,
Mar 25, 2009, 7:10:37 AM3/25/09
to Smartsite5
Vergeet de bijlage, geen idee hoe ik die moet toevoegen hier :)

Johan Kanselaar

unread,
Mar 25, 2009, 7:19:00 AM3/25/09
to Smart...@googlegroups.com
In de tabel afdelingen dien je de id-kolom (nr of id) van een primary key te voorzien en automatisch te laten vullen.
Dit automatisch vullen kan in SQLServer door deze kolom van een Identity (Seed en interval) te voorzien.

Wanneer je de reacties naar je laat mailen dan kan je waarschijnlijk via mail replyen op deze reactie en daaraan attachment toevoegen.

Johan


2009/3/25 Jauko <ja...@hotmail.com>

Jauko

unread,
Mar 25, 2009, 7:56:19 AM3/25/09
to Smartsite5
Hallo Johan,

Bedankt voor je reactie. Primary keys en foreign keys had ik al gezet.
Verder zie ik geen verschillen met andere tabellen, die eveneens
worden gebruikt voor smoelenboek. Een identity toevoegen zie ik niet
in sqlserver zo snel.

Bijlage is te vinden op: http://www.hetcak.nl/public/dumps/smoelenboek.gif

jauko

Johan Kanselaar

unread,
Mar 25, 2009, 8:54:38 AM3/25/09
to Smart...@googlegroups.com
Als je in SQL Server management Studio zit en je bewerkt de kolommen van een tabel, dan krijg je onderin extra properties van de huidige kolom die je bewerkt. Daar kan je bijvoorbeeld ook de Default van een kolom zetten. Daar kan je ook de identity instellen.

In de CAK_Medewerkers.xml die bij de actie "bewerken medewerkers" hoort dien je het veld afdeling toe te voegen / aan te passen en daarin de juiste parameters in te stellen die naar de afdelingen tabel wijst. Je kan de mogelijkheden hierbij afkijken van de users.xml die bijvoorbeeld de groepen dropdown toont voor het veld primaryGroupID.

Johan


2009/3/25 Jauko <ja...@hotmail.com>

Jauko

unread,
Mar 26, 2009, 6:28:45 AM3/26/09
to Smartsite5
Ik heb pl/sql developer tot mijn beschikking. Ik heb dan ook een
Trigger aangemaakt en een Sequence voor een 'autonummeriek veld'. Ik
ben alleen niet zeker of ik de laatste wel nodig heb hiervoor??
Niettemin kan ik nu een stafafdeling toevoegen, waarbij het id
automatisch wordt verhoogd en opgeslagen in de dbase.

De xml bestanden had ik al gevonden, maar wijzigingen hierin hadden
niet direct effect waardoor ik dacht dat ik de verkeerde had. Bedankt
voor je bevestiging dat dit wel de juiste zijn.

Johan Kanselaar

unread,
Mar 26, 2009, 6:50:40 AM3/26/09
to Smart...@googlegroups.com
pl/sql developer is oracle, daarvan weet ik niet hoe je het instelt, maar een trigger met een sequence voor autonummeriek veld klinkt voor mij niet-oracle kenner wel correct.

Ja, die xml files kunnen soms wat lastig zijn, maar gelukkig staan er een heleboel voorbeelden van andere standaard smartsite acties in waarvan je dus vrij veel kan afkijken. Velden verbergen en dropdownlijstjes maken gebeurt regelmatig in 1 van de andere xmls.

Succes!

Johan

2009/3/26 Jauko <ja...@hotmail.com>

Jauko

unread,
Mar 26, 2009, 7:01:08 AM3/26/09
to Smartsite5
Bedankt Johan.

Enig idee trouwens waarom wijzigingen in de xml's niet gelijk effect
hebben in smartsite?

Johan Kanselaar

unread,
Mar 26, 2009, 7:42:15 AM3/26/09
to Smart...@googlegroups.com
Omdat de xml gecached en ingeladen worden in het geheugen. Dit omdat het een administrator actie is. Dus je moet Reload Datacache uitvoeren en een refresh van de manager om je wijzigingen te zien.

Johan

2009/3/26 Jauko <ja...@hotmail.com>

Jauko

unread,
Mar 26, 2009, 8:27:11 AM3/26/09
to Smartsite5
Thnx, dat werkt beter dan servercache merk ik :)

Ik heb nog steeds wel een probleem. De volgorde van velden die wordt
aangehouden in het xml bestand, komt niet overeeen met die in
smartsite?

Ik dacht ook even de volgorde aan te passen in het xml bestand, na een
reload datacache zie ik wel verschillen, maar niet in de volgorde. Het
lijkt er sterk op dat de volgorde wordt blijven aangehouden, zoals die
in de medewerkerstabel voorkomen. Mag ik hier niet vanaf wijken
misschien?

Johan Kanselaar

unread,
Mar 26, 2009, 11:04:55 AM3/26/09
to Smart...@googlegroups.com
De volgorde en layout van het formulier staat niet in de xml file. De xml file bepaalt alleen maar de functiionaliteit van de controls en de file staat in de dataeditor/meta folder. In de folder dataeditor/forms staan .xwf files die de layout bepalen. De users.xwf staat daar meestal in als voorbeeld.

succes!

Johan

2009/3/26 Jauko <ja...@hotmail.com>

Jauko

unread,
Mar 30, 2009, 6:51:15 AM3/30/09
to Smartsite5
Duidelijk, in dat geval zal ik zelf een xwf bestand aanmaken om de
volgorde aan te passen.

Ik krijg voor de nieuw toegevoegde tabel echter geen dropdownmenu.
Voor een reeds aanwezige 'afdeling' krijg ik dmv onderstaande query in
xml bestand wel een dropdownmenu:
<field name="Afdelingid">
<caption>Afdeling</caption>
<lookupquery>select afdelingid, afdeling from cak_afdeling</
lookupquery>
</field>

Voor de nieuwe tabel 'stafafdeling' krijg ik dat niet voor elkaar met:
<field name="Stafafdelingid">
<caption>Stafafdeling</caption>
<lookupquery>select stafafdelingid, stafafdeling from
cak_stafafdeling</lookupquery>
</field>

Ik blijf een textveld te zien krijgen met het id nummer er in.
Aanpassen van het nummer (ea gegevens) werkt overigens wel gewoon.

Weet je of ik nog ergens wat vergeten ben aan te passen misschien? (de
cache heb ik wegegegooid)

Jauko

unread,
Mar 30, 2009, 7:03:54 AM3/30/09
to Smartsite5
Ter info:

Het vreemde is dat wanneer ik de xml query <lookupquery>select
stafafdelingid, stafafdeling from cak_stafafdeling</lookupquery> onder
een reeds aanwezige 'field name' hang, deze wel het juiste
dropdownmenu weergeeft?

Johan Kanselaar

unread,
Mar 30, 2009, 7:51:05 AM3/30/09
to Smart...@googlegroups.com
Ik wilde antwoorden:
Dit verschil tussen AfdelingID en StafAfdelingID treed typisch op wanneer er voor AfdelingID wel een relatie in de DB is aangemaakt en voor StafAfdelingID niet.

Maar met onderstaande opmerking: Ja logisch, smartsite mapped de fieldnames naar DBnames en zoekt op basis daarvan naar relaties en dus naar wat ie moet doen. In dat geval voegt ie namelijk onderwater meerdere velden toe aan de xml.
Dus het is logisch dat je dit effect krijgt wanneer je andere fieldnames kiest.

Je kan dit eventueel wel forceren via de XML. Dan heb je nog wat extra velden nodig naast <lookupquery> waarmee je dit alsnog specificeert.
Je kan bijvoorbeeld <editprogid>smartui.dropdownlist</editprogid> toevoegen om de dropdownlist te forceren.
Er zijn nog veel meer parameters die je in de xml kan invullen zie alle pagina's onder de control reference:
http://support5.smartsite.nl/smartsite.dws?goto=319

groeten,

Johan



2009/3/30 Jauko <ja...@hotmail.com>

Jauko

unread,
Mar 31, 2009, 9:42:37 AM3/31/09
to Smartsite5
Met smartui.dropdownlist krijg ik inderdaad de gewenste dropdownllijst
en werkt de dataeditor.

Toch begrijp ik niet waarom dit hier nodig is.
In mijn 2 voorbeelden wordt er in fieldnames in beide gevallen
verwezen naar een aanwezige kolomnaam in de tabel 'cak_medewerkers',
daaronder staat dan de query die verwijst naar een aanwezige tabel in
beide gevallen.
Misschien toch ergens een foreign key vergeten dan?

Je uitleg in alinea 2 snap ik niet bij mijn voorbeeld?
Ik had <field name="Afdelingid"> waaronder <lookupquery>select
stafafdelingid, stafafdeling from cak_stafafdeling</lookupquery> het
WEL doet, terwijl deze query het niet doet onder <field
name="Stafafdelingid"> (behalve dan met de smartui.dropdownlist
ofcourse).

Maar belangrijkste is dat ie het nu doet. Bedankt voor je hulp Johan!!!

Johan Kanselaar

unread,
Mar 31, 2009, 10:55:36 AM3/31/09
to Smart...@googlegroups.com
Ja raar als dat gewoon 2 bijna dezelfde velden die beide een foreignkey hebben dan zou smartsite het gewoon automatisch moeten oppakken.
Ik krijg dit soort symptomen idd alleen maar wanneer ik een foreignkey vergeten ben. Of als smartsite een nieuw aangemaakte foreign key nog niet ingeladen heeft, maar dat is op te lossen met een "Reload Datacache" zoals je al eerder gedaan had. Eventueel kan je nog eens een IISReset proberen om te kijken of de reload datacache in dit geval een foreignkey niet goed oppakt...
Maar toch raar idd. Gelukkig kunnen we alles forceren :)

Succes verder met puzzelen!

Johan


2009/3/31 Jauko <ja...@hotmail.com>
Reply all
Reply to author
Forward
0 new messages