Heart-Profit ERP
July 01, 2024, 03:22:06 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: TouchScreen Niet geprinte Openstaande Verkooporders  (Read 1942 times)
0 Members and 0 Guests are viewing this topic.
Wouter Rijnbende
Administrator
Partner
*****
Offline Offline

Posts: 5361


View Profile WWW
« on: February 28, 2018, 04:20:51 pm »


Algemeen

Betreft in het kader van zeer specifieke funktionaliteit een scherm welke niet bij iedereen beschikbaar is. Wellicht kan dat t.z.t. nog wel, maar in een iets anders vorm. Vooralsnog betreft het een scherm die specifiek voor één klant is ontwikkeld. Een tweede punt welke bijzonder is, is dat dit scherm geheel is opgebouwd gebruik makend van SQL Queries. Het scherm werkt daarmee alleen in de ADS versie van Heart-Profit.

Binnen het kader waarvoor dit scherm is ontwikkeld, worden Verkooporders geleverd via het TS Scherm 'Leveren Verkooporder'. Basis voor het werken met dat scherm, is dat er niet met een formele Raaplijst wordt geraapt, er wordt (slechts) een print gemaakt van de Verkooporder, en op basis van die print gaat een raper alle produkten die voor een order nodig zijn bij elkaar zoeken. Zodra de produkten geraapt zijn, worden de geraapte hoeveelheden aan Profit bekend gemaakt door op het TS Leveren Verkooporder aan te geven hoeveel er van welke regel geraapt is.

Medewerkers op de afdeling Verkoop kunnen handmatig Verkooporders toevoegen, en zodra er rapers zijn die 'niets te doen hebben' worden alle nog niet eerder geprinte Verkooporders afgedrukt. Dit zijn nl. de documenten op basis waarvan de rapers hun produkten voor een order bij elkaar gaan rapen. Intern wordt er hier bij de betreffende klant gesproken over 'werkbonnen'; een werkbon is daarbij niet veel meer dan een printje van de Verkooporder.

Naast dat medewerkers handmatig orders kunnen toevoegen, is er ook een grote categorie orders die helemaal automatisch aan Profit worden toegevoegd. Orders die electronisch worden ingelezen. Dat 'inlezen' kan technisch op meerdere manieren worden gerealiseerd (Interface, EDI, XML, whatever), maar het geeft al meteen het 'specifieke' geval aan waardoor dit scherm niet voor iedereen zo maar gebruikt kan worden (tot we t.z.t. besluiten dit voor rekening van een andere klant algemener op te zetten).

Het hoofddoel van dit scherm betreft het visueel maken van het feit dat er nieuwe orders zijn toegevoegd voor een bepaalde levering, en zo snel mogelijk een opdracht te kunnen geven die nieuwe 'werkbonnen' te printen, opdat iemand aan de slag kan de produkten bij elkaar te rapen.

Bij dit scherm onderkennen we hierbij twee grote hoofdstromen:

a. de electronische orders die voor meerdere Distributie Centra automatisch aan het systeem worden toegevoegd.

b. de orders die handmatig zijn toegevoegd en op Route worden gezet.

Deze twee categoriën zijn als Tabblad opgenomen op het hoofdscherm.
Hierbij heeft het 2e scherm tot nader orde geen funktie; we gaan eerst het 1e Tab aan de praat maken.



Tab 1 - Scherm 1 - Distributie Centra

Als eerste wordt er een overzicht opgebouwd waarop alle Distributie Centra worden getoond.  Hierbij wordt (in dit voorbeeld) een Distributie Centrum herkent doordat er bij de Debiteuren gegevens een veld 'Externe Referentie' is gevuld met een bepaalde waarde.  Voor het overzicht met Distributie Centra geldt dat (zolang er geen nieuwe DC's bij komen of verwijderd worden) deze lijst altijd dezelfde DC's zal tonen; als er 20 DC's zijn worden er altijd 20 regels getoond.

Leverdatum
Rechts, naast het overzicht met Distributie Centra, kan een Filter op Leverdatum worden ingesteld. De waarde van deze control bepaalt voor het overzicht met Distributie Centra (en alles daaronder liggende schermen) dat enkel orders/leveringen met dié Leverdatum moeten worden getoond.

Aantal Niet Geprinte Verkooporders
Kolom 'AantNP' toont (zoals de funktie omschrijving van deze funktie aangeeft) het aantal Niet-Geprinte-Verkooporders voor dit DC. Staat die kolom op 0, dan zijn alle werkbonnen geprint; is de kolom met een andere waarde van 0 gevuld, dan geeft ze het aantal nog niet geprinte Verkooporders aan.

Printen Orders
De button 'Printen' is enabled zodra de hierboven genoemde kolom aangeeft dat er niet geprinte Verkooporders zijn.
Toont het scherm dat er voor een DC 4 niet geprinte orders zijn, en clicken we dan op 'Printen', dan zullen er 4 Verkooporders worden geprint; daarna wijzigt het tellertje naar 0 niet geprinte orders (tsja... of in de tussenliggende tijd zouden er weer nieuwe orders bij moeten zijn gekomen).

Klanten van Distributie Centrum met openstaande Verkooporders
Indien er nog openstaande Verkooporders zijn voor dit Distributie Centrum, zal de knop 'Klanten' enabled zijn. Een click op die button opent een nieuw scherm waarop we te zien krijgen voor welke klanten van het geselekteerde DC er nog Verkooporders open staan.



Kleurtjes
In het scherm hierboven zien we dat een regel waarop een Distributie Centrum wordt weergegeven rood, geel of groen gekleurd kan zijn.

Rood: Er zijn niet geprinte orders voor dit DC; als we niets doen, zal de vrachtwagen straks vertrekken zonder deze bestellingen.
Geel: Alle te printen orders zijn geprint, maar niet alle orders zijn geraapt; er zijn nog openstaande Verkooporders.
Groen: Er zijn geen niet geprinte Verkooporders, er zijn ook geen Openstaande orders (impliceert dat alles wat geprint is ook geraapt is, tsja, of dat er helemaal geen orders zijn).



Tab 1 - Scherm 2 - Klanten van Distributie Centrum met Openstaande Verkooporders

Uit bovenstaande schermprint, focussen we ons nu even op 1 regel:


De regel is rood, hetgeen aangeeft dat er niet geprinte Verkooporders zijn. De regel toont ons ook dat er in totaal 12 orders zijn die niet geprint zijn.
Zou het ons enkel gaan om het afdrukken van de niet geprinte Verkooporders, dan kunnen we volstaan met op de button 'Printen Orders' te clicken, en er worden 12 Verkooporders geprint. In plaats van deze te printen, click ik nu op de button 'Klanten'. Er opent zich nu een 2e scherm op dit Tabblad, welke een overzicht toont van de Klanten van het geselekteerde Distributie Centrum.


Klantnaam / Id / Adres
Bevat de klantgegevens van de klant van onze klant.
Onze klant (Debiteur) is het betreffende Distrubitie Centrum (zie in de header van het overzicht wordt genoemd) en de hier getoonde klant betreft de klant van dat DC.
De gegevens die hier getoond worden, worden gelezen uit de berichten die het DC aan Profit doorgeeft, en op basis waaruit Profit de Verkooporders genereert.

Open VO
In deze kolom wordt aangegeven hoeveel Openstaande Verkooporders er zijn voor deze klant van het geselekteerde Distributie Centrum én gekombineerd met de geselekteerde Leverdatum (26 februari 2018). Let op, de som van dit aantal orders heeft helemaal niets te maken met de 12 die op het vorige Tabblad werd getoond. De 12 van het vorige Tabblad gaf nl. aan dat er voor dit DC in totaal 12 Verkooporders waren waarvan de order nog niet was geprint, maar er kunnen nog veel meer orders zijn die nog open staan; die zijn wel geprint, maar nog niet geraapt.

Toon V.O.
Per klant hebben we wéér een mogelijkheid om verder door te clicken, nl. naar de Openstaande Verkooporders van deze klant.
Als we op deze button clicken opent het 3e scherm van dit Tabblad.



Tab 1 - Scherm 3 - Openstaande Verkooporders van Klant van Distributie Centrum van een Leverdatum

Op de vorige afbeelding konden we zien dat één van de klanten 2 orders open had staan. Als we op de button 'Toon Verkooporders' clicken opent zich het 3e scherm waarop we te zien krijgen welke orders dat zijn.


Op zich valt er op dit scherm weinig bijzonders te tonen, en, omdat het om de orders van een specifieke klant van ons DC gaat, dan ook nog eens 'van een geselekteerde Leverdatum', zal het in de lijn der verwachting liggen dat hier  altijd 1 of misschien 2 orders getoond worden. Waar het echter om gaat is dat we op dit niveau de mogelijkheid hebben om alsnog van een Openstaande Verkooporder alsnog ervoor kunnen kiezen dat we de 'werkbon' willen printen.

Let op:
Het zal geenszins de bedoeling zijn dat een Gebruiker klakkeloos op deze versie van de button 'Printen Verkooporder' clickt. Realiseer je dat we bij deze opzet niet met Raaplijsten werken. We gaan dus een order uitlopen op basis van een printje van de Verkooporder. Printen we die order twee keer uit, dan kunnen er in theorie twee rapers zijn die het printje van de printer oppakken, en de bon gaan uitlopen. Ok, daar komen ze dan vanzelf achter als ze eenmaal de order gaan gereedmelden op het TS Leveren Verkooporder (immers, de order kan maar een keer geleverd worden), maar, "iemand zal voor niets hebben geraapt" en sterker, die iemand zal ook al zijn geraapte produkten weer terug moeten gaan leggen...

De optie is echter opgenomen voor een ander doel. We zien voor ons dat het scherm 's morgens 'rood' is. Voor alle DC's zijn er orders die nog niet geprint zijn, omdat er desnoods 's nachts allemaal orders ingelezen zijn. Als we de werkbonnen geprint hebben worden de regels geel, en naar mate de regels geraapt zijn, zullen ze langzaam aan groen worden. Stel nu dat de route naar het geselekteerde DC vooraanstaande is om te vertrekken, en de regel is niet groen maar geel, dan impliceert dit dus dat iemand wél netjes de bonnen heeft geprint, maar dat er schijnbaar toch nog een order is die nog niet geraapt is. Via de buttons 'klanten' en 'toon verkooporders' kan dit ons leiden tot de orders (of gewoon 1 order) die schijnbaar niet is afgemeld. Als we weten om welke order het gaat, kunnen we al gerichter aan onze medewerkers vragen 'ben jij nog met die order bezig?' Mocht het nou zo zijn dat niemand met de order bezig is, desnoods omdat er tijdens het printen iets fout is gegaan, of iemand is de werkbon kwijtgeraakt, dan kunnen we met dát als achtergrond er alsnog voor kiezen om de werkbon opnieuw uit te printen. Er kan dan alsnog iemand op pad worden gestuurd om de order te rapen en af te melden, zodat de vrachtwagen met alle produkten kan vertrekken.

Disabled na Printen
Als we op het 1e scherm de Verkooporders printen, zien we het aantal niet geprinte Verkooporders wijzigen. Tevens zal de kleur van de regel kunnen wijzigen van rood naar geel. Op dit scherm worden alle openstaande orders getoond, en, als we die order printen, verandert dat niets aan het feit dat de order nog open staat. Puur voor de situatie dat er hier een scherm vol orders staat, waarvan we bij iedere order een keer op de button 'Printen' willen drukken, zal de betreffende button gedisabled worden zodra de printopdracht is gegeven. Op die manier zien we duidelijker dat we voor een bepaalde regel de order hebben geprint. Verlaten we het scherm, en vragen we opnieuw de openstaande orders op, dan zal de button weer enabled zijn, en kunnen we alsnog de order opnieuw printen.


Status wijzigt
Als we terugkeren naar het hoofdscherm, zien we nu dat het tellertje met niet-geprinte-Verkooporder van dit DC is afgenomen van 12 naar 11.



Maar, voordat een regel geel is is er (dus) eigenlijk weinig zinvol om alvast door te clicken; we zouden hooguit de orders stuk voor stuk moeten gaan printen, waar we het op Distributie Centrum niveau in één keer kunnen doen. Zouden we dus op het 1e scherm op de print button drukken na dit cijfer 11, dan worden er 11 Verkooporders afgedrukt, wijzigt aantal "niet geprint" van 11 naar 0, en wordt de regel direkt geel.




Parameters t.b.v. Printen Verkooporder
Op twee schermen zijn we nu een button "Printen verkooporder(s)" tegengekomen. De schermen weten van zichzelf welke Verkooporder(s) dit betreft, en zal per order één keer de funktie "Printen Verkooporder" aanroepen. Dat scherm Printen Verkooporder betreft echter weer een scherm met 2 tabbladen aan instelbare parameters. Deze parameters worden onder water op een juiste manier 'geset' met een Alternatieve Funktie, met de settings die voor de gebruiker van dit scherm gewenst zijn. Op zich is dit niets nieuws, en een button als deze werd al gebruikt op bijv. het TS scherm Verkooporders voor belangrijke Route-/Levering, maar bij dezen expliciet gedocumenteerd.

Refreshen
De data van bijv. de aantallen niet geprinte Verkooporders, het bepalen van welke Verkooporders geprint moeten worden áls er op de button 'Printen Orders' wordt geclickt, het toekennen van de kleuren van de regels etc. wordt op dit moment ververst zodra:

* de Spinnercontrol Leverdatum van waarde verandert
* er is doorgeclickt naar een lager niveau (klanten) en we vervolgens terugkeren op dit scherm
* als er geswitched wordt tussen Tabblad 1 en 2 van de Pageframe.

We kunnen nog denken aan een separate Refresh button, ook valt te denken aan het automatisch iedere interval (minuut) verversen. De praktijk moet hier eerst maar uitwijzen wat hierin het handigst is. Zo zouden we bij die laatste optie ons al eerder een groter scherm kunnen voorstellen welke de hele dag op 'vandaag' staat, en daarmee de leveringen toont die vandaag de deur uit moeten. Het scherm ververst automatisch, en door de kleuren zien we vanzelf voor welk van de Distributie Centra aktie is vereist.


'Bevriezen tijdens printen
Een van de gestelde eisen was ook dat als de orders van een DC geprint worden, de status van dat moment 'bevroren' moet worden. Gedurende de tijd die nodig is om de Verkooporders te printen, kan een ander proces op de achtergrond interfacen met het Distributiecentrum en nieuwe orders aan het inlezen zijn, en daarbij is het niet wenselijk dat die orders ook meteen geprint worden. Speciaal voor deze toepassing wordt tijdens het opbouwen van het scherm met DC's niet alleen gekeken hoeveel niet geprinte orders er zijn, maar, ook wordt bewaard welke orders dat zijn. Dit zorgt ervoor dat als het scherm toont dat er 5 orders geprint moeten worden, er bij een druk op de button 'Printen' er ook inderdaad 5 orders geprint zullen worden. Ook, als er ondertussen meer orders bij zijn gekomen (of, als iemand op een andere wijze een order heeft geprint, orders af zijn gegaan).  Zie ook de relatie met het vorige puntje 'Refreshen': we zullen nl. vast wel zo kort mogelijk na de laatste refresh opdracht de printopdracht willen geven om zo aktueel mogelijk te zijn.

Elimineren voormeldingen
Binnen dit ontwerp geldt ook dat een Verkooporder geen echte bestelling is, maar 'slechts' een voormelding betreft. Een DC geeft vooraf al orders door van klanten, die nog niet definitief zijn. Dit soort orders leiden al wel tot een Verkooporder in Profit, en kreert daarmee een behoefte aan produkten. Naar mate de leverdatum dichterbij komt, zal een voormelding moeten zijn omgezet in een daadwerkelijke bestelling. Die bestellingen zijn uiteindelijk de orders die daadwerkelijk geraapt en geleverd moeten worden.

Voormeldingen zijn kwa Interfaceberichten te herkennen doordat er geen 'Inkoopordernummer' is ingevuld. Als er uit zo'n voormelding een Verkooporder wordt gegenereerd, wordt deze V.O. geblokkeerd voor Levering. Het geblokkeerd zijn voor Levering is voor het TS Leveren Verkooporder, alsmede het Printen van Verkooporders de trigger om ervoor te zorgen dat deze orders niet worden uitgeleverd, waarbij het dus al begint dat die bonnen niet geprint kunnen worden. Derhalve is dit (het geblokkeerd zijn van de Verkooporder) ook een standaard selektie bij de bepaling van alle Openstaande en/of Niet-Geprinte- Verkooporders in dit TS scherm. Alle orders die getoond worden zijn daarmee echte orders.


« Last Edit: February 28, 2018, 06:31:04 pm by Wouter Rijnbende » Logged

Heart-Profit company ID : HA
Wouter Rijnbende
Administrator
Partner
*****
Offline Offline

Posts: 5361


View Profile WWW
« Reply #1 on: March 01, 2018, 01:56:03 pm »

Aanvulling:

Inmiddels is overzicht van de DC's op het 1e Tabblad gewijzigd naar:


Voormeldingen:
De eerste aanpassing betreft kolom 'AantalNP' welke nu gewijzigd is naar 'NP-VO'; NP-VO staat voor 'Niet geprinte Verkooporders'.
Deze kolom bevat nu steeds 2 cijfers; bijvoorbeeld:

Het bovenste getal bevat (zoals eerder beschreven) het aantal niet-geprinte-Verkooporders. Dit getal zal naar 0 wijzigen als we op de button 'Printen Orders' clicken.
Het onderste getal geeft aan dat (en hoeveel) er ook geblokkeerde Verkooporders zijn.

Voor de klant voor wie dit overzicht is ontwikkeld geldt orders van deze DC's nooit handmatig op geblokkeerd worden gezet en dat er maar één reden is dat dit op geblokkeerd kan staan: de order betreft een voormelding van een order. Voormeldingen zijn bestellingen van het DC, die op zich al leiden tot orders in Profit, doch welke orders geblokkeerd worden voor Levering. De orders mogen niet worden geprint, geraapt, of op het TS Leveren Verkooporder gereed worden gemeld. Tot soms kort voor vertrek van de route naar het DC worden voormeldingen òf omgezet in échte bestellingen òf komen ze te vervallen. Door hier aan te geven hoeveel geblokkeerde orders er zijn voor een levering aan een DC, kan worden afgeleid of we mogen verwachten dat er misschien nog meer te rapen valt als we denken klaar te zijn.

Ofwel:
7 geeft aan dat er 7 (niet geblokkeerde) Verkooporders zijn die niet geprint zijn
Blok: 17 geeft aan dat er ook nog 17 geblokkeerde Verkooporders zijn; orders die al wel voorgemeld zijn, maar niet zijn omgezet in een definitieve order


Workload
Nieuw is een kolom 'Regels'. Hierin worden 3 setjes cijfers getoond, die allen betrekking hebben op een aantal Verkooporderregels.

NP: bevat het aantal Verkooporderregels op Openstaande, niet-geprinte (en niet-geblokkeerde) Verkooporders
Open: bevat het aantal Verkooporderregels op Openstaande (en niet geblokkeerde) Verkooporders
Blok: bevat het aantal Verkooporderregels op Geblokkeerde (en openstaande) Verkooporders



Uit het 1e voorbeeld, het rode blok, lezen we dat we 13 niet geprinte Verkoopordersregels hebben.
In totaal staan er ook 13 Verkooporderregels open, ofwel, dat moeten dezelfde 13 zijn als die op niet-geprinte-orders staan, kortom, we mogen de konklusie trekken dat alle (eventueel) andere regels voor deze levering al geraapt zijn. Er zijn 0 regels op geblokkeerde Verkooporders.

Uit het 2e voorbeeld, het groene blok, lezen we dat we 0 Verkooporderregels hebben in niet-geprinte-Verkooporders, en ook 0 regels in Openstaande Verkooporders. Er valt niets meer te printen of te rapen voor dit DC (de reden waarop de regel groen was).  Wel zijn er 26 VO Regels die op geblokkeerde orders staan, dus, mogelijk wijzigen die voormeldingen nog naar werkelijke orders.

Uit het 3e voorbeeld, het gele blok, lezen we dat we 0 Verkooporderregels hebben in niet-geprinte-Verkooporders. Wel staan er in totaal nog 446 regels open die geraapt moeten worden (deze kombinatie bepaalt dat de regel geel is). Er zijn 0 Verkooporderregels die op geblokkeerde orders staan (de voormeldingen).
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.026 seconds with 20 queries.