Heart-Profit ERP
November 27, 2024, 03:21:22 am *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: Overrulen "Systeemtijd" voor testdoeleinden  (Read 1714 times)
0 Members and 0 Guests are viewing this topic.
Wouter Rijnbende
Administrator
Partner
*****
Offline Offline

Posts: 5367


View Profile WWW
« on: December 04, 2019, 08:29:29 am »


Algemeen
Als we aan het testen zijn in Profit, komt het wel eens vaker voor dat we eigenlijk nèt even willen doen "alsof het morgen is", danwel "alsof het gisteren was". We willen onze testsituatie kunnen bekijken op een ander moment in de tijd. Hoewel de ontwikkelaars in Barneveld hier wel testmogelijkheden toe hebben, is dat voor "de Gebruiker" een ander verhaal, en juist die Gebruiker zal óók moeten kunnen testen.

Op dit moment is het konkrete voorbeeld de bepaling van de Route en Rittijd waarin een Verkooporder (of feitelijk, een levering aan een bepaalde Debiteur, op een bepaald Afleveradres, na een gegeven Ritdatum-/tijd) wordt ingedeeld én daarbij horend, of er nog voldoende Raaptijd en Administratieve Levertijd is om de order via een WMS systeem te kunnen laten rapen.

M.i.v. deze Releasenote is er op Systeemniveau een mogelijkheid gemaakt om zónder de datum-/tijd van uw PC aan te passen, in Profit te kunnen testen op een ander moment in tijd.



Waarom zet je niet gewoon de tijd van je PC voor- of achteruit?
"Nèt doen alsof het morgen is" is complexer dan je denkt. Natuurlijk kan iemand de tijd van zijn PC een dag vooruit zetten. Maar, bedenk dat we dan bijvoorbeeld Verkoopordersnummer krijgen die een Identifikatie van "morgen" krijgen. Op zich is dat niet erg, en in theorie misschien zelfs wel wenselijk, ware het niet dat vanaf dat moment jouw collega's (waarbij de tijd van de PC niet naar voren is gezet), en jijzelf (als je de tijd weer terugzet naar "nu") niet meer kunnen werken. Immers, voegen we een nieuwe order toe, dan gaan we een ordernummer genereren met een kleinere Identifikatie dan de ordernummers die al "per morgen" gegenereerd zijn.
Zo zijn er meerdere processen die (op basis van tijd) iets in een chronologische volgorde afhandelen, en wat fout loopt als we de Systeemtijd écht zouden wijzigen.



Hoe testen we dan op een ander tijdstip?
Via Hoofdmenu-9-3-1-4 kunnen we (alléén voor onze Profitsessie) de "Systeemtijd" tijdelijk aanpassen voor Testdoeleinden.
"Systeemtijd" hier tussen quotjes, omdat we feitelijk een soort Testtijd instellen, en de Systeemtijd niet daadwerkelijk aanpassen (zie de bovengenoemde problemen).

We onderkennen 3 situaties:

a. We overrulen de "Systeemtijd" helemaal niet

We zetten de radio button op deze waarde indien we niet (meer) willen dat de "Systeemtijd" wordt overruled.
Bij deze setting werkt Profit dus op basis van de daadwerkelijke Systeemdatum-/tijd van uw computer.


b. We overrulen de "Systeemtijd" met een vaste datum-/tijd.

Deze situatie is bedoeld om een vaste tijd in te kunnen vullen, die daarna ook als zodanig vast blijft staan. Ofwel, we zeggen nu dat het "zaterdag om 14:00 is", en over een uur is het (dus) nog steeds "zaterdag om 14:00". Deze setting is opgenomen omdat de Gebruiker Profit gaat inrichten en gaat testen met Raaptijden en Administratieve Levertijden om te kontroleren of een order nog in een bepaalde Route-/Rit wordt opgenomen én of de order nog door WMS geleverd kan worden. Daarbij willen we kunnen testen t.o.v. een 'vaste tijd', immers, als we even een paar uur bezig zijn om situaties uit te werken of te bespreken, is daarna de situatie weer totaal anders, immers, als het bijv. 16:00 geworden is, kunnen we misschien ineens de Route die we éérst als resultaat terugkregen niet meer halen.


c. We overrulen de "Systeemtijd" relatief aan de huidige (werkelijke) Systeemtijd.

Kiezen we voor deze optie, dan geven we aan het we willen testen met een tijd die bijv. 2 dagen, 5 uur en 30 minuten in de toekomst ligt. Aangezien deze tijd relatief is t.o.v. de werkelijke Systeemtijd, zal deze tijd meewijzigen met iedere test. Met andere woorden, vullen we deze control zodanig in dat het nu "Vrijdag 6 december om 13:15" is, dan is het over 2 uur "Vrijdag 6 december om 15:15".
In tegenstelling tot de vaste tijd wijzigt bij deze optie dus wel onze testtijd mee.


LET OP:
  • Het instellen van zo'n testtijd is alléén mogelijk in de Testbestanden! We gebruiken de testtijd immers om te testen. Om rariteiten in onze live database te voorkomen, is het overrulen van de 'Systeemtijd' niet mogelijk in de Produktiebestanden.
  • Het instellen van de testtijd is tijdelijk. Ze zal alleen aktief zijn tijdens uw huidige sessie.
  • Als er een testtijd is ingesteld, dan toont de Statusbar dat de Systeemtijd (die daar normaliter wordt getoond) is overruled, en geeft ze de overrulede tijd aan:
    Als de tijd op 'relatief' is ingesteld, zal deze tijd 1x per minuut worden bijgewerkt.



Waar werkt dit allemaal?
Strikt genomen kunnen we dit overal in het pakket toepassen waar we willen; "het moet alleen wel even gemaakt worden"...
Om die reden zit deze overrulede systeemtijd niet overal ingebouwd.

Van iedere plek waar we dit zouden willen gebruiken, zal moeten worden beoordeeld of het daar überhaupt wel gebruikt kán worden, en wat daarvan de gevolgen zijn. Om dus een voorbeeld te geven: stel dat we zouden zeggen dat we het Verkoopordernummer willen bepalen op basis van de hier ingestelde tijd, en hébben we eenmaal Verkooporders gegenereerd per overmorgen, dan kunnen we geen ordernummers meer onder 'vandaag' en 'morgen' opnemen (iedere nieuwe order moet nu nl. een ordernummer toegekend krijgen welke 'de laatste' is in de ordertabel).

Op eenzelfde manier zouden we kunnen vinden dat "als we doen alsof het morgen is, dan moeten onze Voorraadmutaties óók op morgen komen". Ja, leuk, en kan best wenselijk zijn, maar, Voorraadmutaties zitten in het hele pakket, dus, of we daar even het hele pakket op willen aanpassen. Als het nodig is kán het wel ($$), maar de vraag is of het zinvol is voor uw test...

Op dit moment is e.e.a. alleen ingebouwd in de koding die bepaalt of een Verkooporder door WMS mag worden afgehandeld of niet.  De betreffende (te testen toepassingen) zullen zelf wel beschrijven wat er precies werkt met deze testtijd. Merk op dat immer iedere test betrekking heeft op een stuk maatwerk waar eerst weer een complete handleiding nodig is om uit te leggen hoe alles precies werkt; dat is dus niet iets om in dit topic op te nemen. Het kan misschien wel handig zijn als we in dit topic heel globaal bij houden waar we die testtijd in aan kunnen treffen:

* Bepaling of een levering door WMS behandeld mag worden.
Logged

Heart-Profit company ID : HA
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2005, Lewis Media Valid XHTML 1.0! Valid CSS!
Page created in 0.141 seconds with 20 queries.