We herkennen het allemaal wel. In een Raadpleegoverzicht wordt bepaalde data weliswaar getoond, maar, we zouden dit het liefst nèt even in een andere volgorde willen zien. Zoiets kan al eenvoudig ontstaan omdat er een nieuwe kolom in een Raadpleegoverzicht wordt aangevraagd, welke door Heart standaard achteraan in het overzicht wordt toegevoegd, opdat andere gebruikers hier zo min mogelijk last van hebben.
Zo ook herkennen we vast wel de situatie dat er voor een andere klant een rubriek ergens bij is gemaakt, en deze rubriek ook in Uw Raadpleeg overzichten getoond wordt (er is immers maar één versie van het pakket), maar, deze kolom altijd "leeg" is omdat de betreffende rubriek in uw geval niet gebruikt wordt.
Per heden is er een oplossing voor beide situaties, in de vorm van module
Profit-DynScreen-X.
Wijzigen kolomindeling Grid
Laten we eens als voorbeeld "Raadplegen Verkooporders" nemen. Hoofdmenu-3-1-1.
De 2e kolom in dit overzicht bevat "de Orderdatum". Deze kolom kan op zich zinvol zijn indien u orders niet invoert op de dag waarop de goederen besteld zijn, maar, worden Verkooporders wél gewoon direkt in het systeem geregistreerd, dan zal deze orderdatum al blijken uit het Verkoopordernummer welke is toegekend, immers, deze is opgebouwd uit de datum waarop de order werd toegevoegd + een volgnummer.
Even verderop zien we naast een Leverdatum ook een kolom met daarin de Levertijd. Indien we formeel met Levertijden werken, zal deze kolom ongetwijfeld moeten worden weergegeven. Maar, bij veel klanten zal niet met een specifieke Levertijd per order gewerkt worden, en is deze rubriek altijd default gevuld met 00:00.
Een kolom "A" die aangeeft of de Leverdatum moet worden afgedrukt op de order bevestiging? Wordt vast niet door iedereen gebruikt.
Een kolom "Vervoerder"? Is hooguit aan de orde als niet afdeling expeditie mag bepalen met wie de order vervoert moet worden, en niet de debiteur een vaste vervoerder afdwingt, maar het juist afdeling Verkoop is die per order moet bepalen met wie e.e.a. vervoert moet worden.
Kolom "Raapvloer". Ontwikkeld om op Verkooporder één Magazijn-/Lokatie in te vullen om vervolgens alle Verkooporderregels automatisch t.l.v. die Lokatie af te boeken.
Zo maar even een greep van een aantal kolommen die niet bij iedereen aan de orde hoeven te zijn...
Als we nu in dit Grid (= Raadpleegoverzicht) zitten, kunnen we met een
Right-Click naar het Right-Click-Menu gaan.
In dat menu kiezen we voor de optie "Instellingen Kolommen in Grid", en daarna voor "Wijzigen Kolomindeling aktieve Gebruiker". Er verschijnt een popup met daarin een Listmover. Links de kolommen die
niet moeten worden weergegeven, rechts de kolommen die
wel moeten worden weergegeven.
De kolommen die niet moeten worden weergegeven kunnen van rechts- naar links worden overgeheveld door op de betreffende omschrijving te dubbelclicken, of door de betreffende omschrijving te selekteren en de buttons naar links / naar rechts te gebruiken. Van de bovengenoemde kolommen geef ik nu aan dat ik ze niet meer wil weergeven.
Vervolgens click op rechts onderaan op de button "Volgende" voor het vervolgscherm.
De kolommen die wél moeten worden weergegeven worden nu gepresenteerd in een ListSorteer control.
Alhier kunnen we nu een regel selekteren, en met de Up-/Down buttons verschuiven.
In onderstaand voorbeeld heb ik de Leverdatum naar boven verplaatst, en kolom "Afleveradres" direkt ná de Debiteur opgenomen.
Nu ik ook klaar ben met de sortering click ik op de button "Toepassen".
Nb: Zowel het wel/niet weergeven van de kolommen, alsmede het aanpassen van de volgorde is optioneel. Ik zou dus ook géén wijzigingen kunnen aanbrengen in het wel/niet weergeven van de kolommen maar wél willen sorteren, of juist wél kolommen willen weghalen maar niet willen sorteren.
Na "Toepassen" verdwijnt het Raadpleeg Form eventjes, en wordt daarna opnieuw opgebouwd conform de nieuwe instellingen.
De kolommen die we niet wilden zien, zijn verdwenen, en tevens zien we dat de volgorde van de kolommen is aangepast naar wat we hebben aangegeven.
Rechts boven Grid (op dezelfde regel als waarop de Textboxen staan) wordt een button weergegeven.
De aanwezigheid van deze button geeft aan dat het Grid mogelijk niet alle kolommen toont die door het pakket worden aangestuurd, danwel dat deze in een andere volgorde worden weergegeven; feitelijk zegt de button dat de gebruiker de standaard indeling heeft overruled met haar eigen definities.
Als er Tagfunktionaliteit aanwezig is in het Grid, zal deze button links van de Tag Aan-/Uit knop worden weergeven. Is er geen Tagfunktionaliteit, dan staat deze button helemaal rechts.
De button geeft niet alleen aan dát er voor deze gebruiker andere instellingen zijn m.b.t. de weergave van het Grid, de button laat zich ook indrukken, en gedraagt zich dan als een Toggle; een schakelaar die zich gedraagt als "eigen grid instellingen toepassen Ja of Nee". Wordt de knop één maal aangeclickt, dan verandert de status naar "toepassen = Nee", en wordt het scherm weer opgebouwd zoals dat standaard in Profit gebeurt (de afbeelding op de button wordt nu met een rood kruis weergegeven ten teken dat ze niet aktief is).
Het doel van deze toggle toets is het scherm te kunnen laten switchen naar de situatie zoals door ons bedoeld is. Dit, omdat het misschien wel uw doel is dat afdeling verkoop geen Vervoerder op orderniveau afdwingt, maar, mocht ze dit tóch hebben ingevuld, dan zal dit ook daadwerkelijk wat doen, en is dit ineens niet meer zichtbaar omdat u de betreffende kolom uit het Raadpleegoverzicht heeft verwijderd. Het kan dus handig zijn (desnoods op verzoek van Heart) te kunnen switchen naar de situatie zoals bedoeld.
Clicken we nogmaals op de button, dan switchen we weer naar de waarde "Ja", en wordt het grid weer getoond zoals we hebben ingesteld.
Instellingen m.b.t. wet/niet weergeven, en in welke volgorde worden per gebruiker (per funktie) opgeslagen.
Willen we opnieuw de indeling in het Grid wijzigen, dan gebruiken we opnieuw de RightClick in het Grid, en wijzigen we de gegevens opnieuw.
Welke kolommen zijn wijzigbaar ?
We kunnen hem beter omdraaien: welke kolommen zijn
niet wijzigbaar?
a. Sleutelvelden, met een bijbehorende Textbox boven het Grid kunnen niet worden weggelaten of gesorteerd.
Deze velden zijn nodig voor de werking van de Raadpleegfunktie.
In bovenstaand voorbeeld kunnen we kolom "Ordernummer" niet weghalen of verplaatsen.
b. Multi Media buttons kunnen niet via dit mechansime worden weggelaten of worden gesorteerd.
Multi Media buttons zijn geen onderdeel van de aansturing vanuit de Raadpleeg Funktie zelf, maar worden achteraf opgenomen omdat bij de Multi Media button is aangegeven dat deze in het Grid moét worden weergeven, en in welke volgorde.
Resetten naar default werkwijze
Middels de toggle button was het al mogelijk om tijdelijk even de situatie te tonen zoals door Profit werd aangestuurd. Maar, indien u allerlei kolommen anders hebt ingedeeld, en standaard weer terug wilt naar de default weergave, dan is hiervoor een reset button opgenomen:
Met deze reset worden alle niet-opgenomen kolommen weer opgenomen, en in de volgorde geplaatst zoals deze standaard zouden zijn weergegeven. Click vervolgens op [Volgende] en [Toepassen] om deze wijziging op te slaan. Ervanuitgaande dat er in het 2e scherm niet opnieuw een sortering wordt aangebracht, zal [Toepassen] ervoor zorgen dat alle definities voor deze gebruiker voor deze funktie verwijderd worden; de toggle button "Grid Parameters Toepassen" zal verdwijnen, immers de definities zijn verwijderd.
Opslaan als default voor alle Gebruikers
Indien de aktieve Gebruiker als Manager is gedefinieerd, zal het submenu van "Instellingen Kolomen in Grid" een extra optie "Opslaan Kolomindeling ongeacht Gebruiker" bevatten. De Manager kan hiermee zijn settings opslaan als default voor alle andere gebruikers (die zelf nog geen definities hebben gemaakt).
Een Gebruiker kan vervolgens met dié instellingen als basis weer wijzigingen hierop aanbrengen.
Nb: Deze optie is voor "niet-Managers" altijd disabled.
Performance
Ervanuitgaande dat voor de ingelogde gebruiker bekend is welke kolommen die gebruiker niet weergegeven wil hebben, gaan we een klein stapje verder.
Als we immers hebben aangegeven dat we in de Raadpleeg Funktie (LOVORA) geen Levertijd, Vervoerder en Raapvloer willen weergeven, dan hoeft deze data ook niet uit de database te worden opgehaald. Nu zal dit verschil in de normale Windowsversie nauwelijks zichtbaar zijn, maar, als we ervanuitgaande dat in de ADS versie (
Advantage
Database
Server, met ondersteuning voor tabellen gróter dan 2 GB) data middels een API call uit deze database gelezen moet worden, kan zoiets al snel uitmaken. Bevat een grid 25 regels, dan impliceert dit 75 API calls minder per scherm opbouw.
Nb: Dit is ook een van de redenen dat als we togglen tussen wel/niet toepassen van de grid instellingen, het scherm even verdwijnt en opnieuw wordt weergegeven. Hierbij is het niet een kwestie van de bestaande kolommen in een iets andere volgorde weergeven, ook de data wordt wel/niet opnieuw uit de database opgehaald.
Merk overigens op dat het niet weergeven van een kolom niet per definitie tot een performance verbetering leidt omdat de database niet benaderd hoeft te worden;
indien er data wordt weergegeven die niet rechtstreeks uit de entiteit komt die geraadpleegd wordt (maar eerst uit een andere tabel opgehaald moet worden, bijvoorbeeld een omschrijving van een van de verwijzende sleutels, of een berekening van bijv. de voorraadhoogte), dan zal het enkel de weergave van het resultaat zijn die niet wordt uitgevoerd.
Kleiner slepen van Grid Kolommen
Het was op zich altijd al wel mogelijk om in een Grid een kolom kleiner te slepen, maar, bij een eerst volgende aanroep van het Grid werd de kolom weer als vanouds weergeven; het feit dat een kolom kleiner moest worden weergegeven werd niet bewaard. Vanaf heden gebeurt dit met Profit-DynScreen-X wel.
Als voorbeeld nemen we Raadplegen Voorraaditems:
Waar u misschien met Artikelnummers werkt die uit maximaal 6 cijfers bestaan, kan een Artikelnummer in Profit uit maximaal 15 characters bestaan. Een Raadpleegfunktie (zoals Raadplegen Voorraaditems) toont een kolom Artikelnummer welke breder is dan voor uw situatie nodig is; Uw artikelnummer is nl. niet breder dan 6 posities, en meer dan de helft van de data in deze kolom is gevuld met spaties.
Met de muis kunnen we nu de scheidingslijn van de kolom oppakken in de header van die kolom, en deze naar links slepen. Tijdens deze sleep aktie zien we een vertikale lijn door de kolom lopen, die aangeeft welk deel dan nog zichtbaar is.
Laten we de muis los, dan is de kolom kleiner gesleept.
Het aanpassen van de breedte van een Gridkolom is mogelijk voor zowel attributen alsmede voor de sleutelvelden met een bijbehorende Textbox boven het Grid. Wordt een sleutelveld (zoals hier het Artikelnummer) kleiner gesleept, dan zal dit ook zo zijn effekt hebben op de breedte van de Textboxes boven het Grid.
Uiteraard kan een kolom ook weer breder worden gesleept.
Rechts boven het scherm wordt de "Grid Parameters" button zichtbaar, om aan te geven dat de gebruiker de indeling van dit Grid heeft aangepast.
Nb: Merk op dat omdat de lettergrootte van de Textboxen boven het Grid een tikkeltje groter is dan die van de data in de Gridkolommen, het slepen van een kolom naar "past precies" in de bijbehorende Textbox leidt tot "past nèt niet".
Via de eerder beschreven "Reset" button, te bereiken via optie "Wijzigen kolommen in Grid" in het RightClick Menu, worden ook de instellingen m.b.t. de breedte aanpassing van kolommen gereset.
Kolommen breder kunnen slepen
Hiermee bedoelen we niet dat een kolom die eenmaal kleiner gesleept is ook weer breder gesleept kan worden (dat kan natuurlijk als eerste), maar het gaat hier om iets anders. In veel Raadpleegfunkties worden niet alle attributen op hun volledige breedte weergegeven. Het betreft dan voornamelijk Omschrijvingen van verwijzende sleutels: een omschrijving van een Artikel, een naam van een Relatie-/Debiteur-/Crediteur.
Ooit, in de DOS versie, was de maximale breedte van een Raadpleegoverzicht beperkt tot 78 posities; een aantal welke zich ontleent uit een maximale breedte van het scherm (80 characters) en 2 reserve posities die o.a. voor Taggen werden gebruikt. Op zich voldoende ruimte om een sleutel van stel 15 characters en een omschrijving van 40 posities weer te geven. Maar, stel dat we naar een funktie als "Raadplegen Relaties" kijken, en we én de Relatie-Id, én de Naam, én de Plaats én een Telefoonnummer willen weergeven, dan moesten sommige kolommen al snel worden ingekort om al deze informatie binnen deze 78 posities te laten passen.
Sinds de Windows versie hebben we hier niets meer mee te maken, want, in Windows hebben we altijd ruimte genoeg. Past het niet op ons scherm, dan zullen we hooguit een horizontale scrollbar krijgen. Overigens kan het ook in de Windows versie dan nog zo zijn dat we een kolom standaard korter weergeven dat er in werkelijkheid in de rubriek past, met dan daar als doel om die scrollbar te vermijden, en bij aanroep van het scherm zoveel mogelijk nuttige informatie te tonen. Een typisch voorbeeld van zo'n kolom betreft de kolom 'Kenmerken' in het Besteladvies (Hoofdmenu,6-2-F1).
Module Profit-DynScreen-X herkent dat er een linkerdeel van een gegeven wordt weergegeven, en zal ervoor zorgen dat het gegeven alsnog op de maximale breedte beschikbaar wordt gesteld. Dit betekent niet dat de kolom automatisch breder wordt (immers, dat zou ervoor zorgen dat talloze kolommen ineens een stuk breder worden weergegeven, de gebruikers geconfronteerd worden met extra scrollbars, en 'verplicht' worden kolommen kleiner te slepen), maar, zorgt er wel voor dat de extra informatie nu beschikbaar is. Als de gebruiker ziet dat de waarde in een kolom wordt afgekapt, kan ze de kolom breder slepen, en staat de extra informatie er ineens wél.
Neem als voorbeeld 'Raadplegen Relaties'.
Dit scherm toont de 1e 36 posities van de naam van de Relatie.
Zouden we zónder module
Profit-DynScreen-X de kolom breder slepen, dan wordt de kolom weliswaar breder, maar omdat het funktionele programma slechts 36 tekens beschikbaar stelt, krijgen we er nooit meer tekens te zien dan deze 36; het breder slepen resulteert hooguit in extra lege ruimte.
Mét de module
Profit-DynScreen-X zal het breder slepen van de kolom wél effekt heeft, en er veel meer data beschikbaar is.
Nb1: Het breder worden van kolommen is uitgeschakeld v.w.b. de sleutelvelden van de Raadpleegfunktie. In principe zou dit ook niet aan de orde kunnen zijn, immers, als we ergens een Artikelnummer tonen in een Grid, dan hoort deze nu eenmaal 15 breed te zijn; we zullen deze nooit korter weergeven dan 15 posities, immers, dat zou ervoor zorgen dat bij het selekteren van een record 'het laatst gebruikte artikel' een onjuiste lengte toegekend zou krijgen. Los van het feit dat dit niet 'hoort' voor te komen, wordt het breder maken (als extra kontrole) niet ondersteund voor dergelijke sleutelvelden.
Nb2: Hoewel dit mechanisme in verreweg de meeste gevallen zal werken, zullen er ook altijd een aantal situaties zijn waarin het alsnog
niet werkt. Dit, bijvoorbeeld in situaties waarbij het systeem niet kan herkennen dat er 'een linkerdeel' wordt weergegeven. Iets meer technisch: als het specifieke Raadpleegoverzicht zou zeggen 'geeft de eerste 25 posities weer van de Artikelomschrijving', dan kunnen we dat herkennen. Het is ook mogelijk dat de Raadpleegfunktie éérst een Artikelomschrijving bepaalt, deze afkapt op 25 posities, en daarna zegt 'geef variabele "artikelomschrijving" weer'. Die situaties zullen niet werken, omdat het systeem niet zal kunnen bepalen hoe de weergegeven variabele is samengesteld. Mocht dit voorkomen, dan is dit (per funktie) overigens best oplosbaar.
Benodigde versie
Indien uw laatste Upgrade van 16 december 2013 (of later) dateert, kan de module eenvoudig op uw systeem worden geaktiveerd;
is uw laatste Upgrade van vóór 16 december 2013 dan zal de aanschaf van deze module een Upgrade vereisen.
Prijs
Module
Profit-DynScreen-X heeft een Basisprijs van EUR 300,-.