Je mag gelijk hebben, maar eigenlijk is het niet zo;
Je moet dit denk ik meer zien in het licht van asynchrone processen (ik hoop eigenlijk dat je het nu niet meer kunt volgen
) die niet asynchroon kunnen worden teruggedraaid. Maar ook niet "synchroon" omdat er intussen van alles is gebeurd. Dus :
Het omkeren van transakties is helemaal niet moeilijk, alleen het māg niet altijd, en de situaties waarin het niet mag zijn vaak niet eens in absolute zin te achterhalen.
Het is ook niet voor niets dat we er nu pas achter komen dat het met die Emballage niet goed gaat, wat feitelijk komt omdat bij het normale opboeken/afboeken het wat te, zeg, objectgericht gebeurt. Dus, dit is ooit gemaakt, maar intussen onzichtbaar.
Geeft niets als het ook weer onzichtbaar terug zou mogen, maar dat is nu net niet het geval. Dus, dit gebeurt ook niet, en vervolgens krijg je het expliciete van het rekening moeten houden met - waarbij je niet weet waarmee je rekening moet houden.
Vergelijk dit met het crediteren van bijvoorbeeld een Verkooporder, wat niet veel meer is dan ālles omdraaien wat er voorheen is gebeurd, en wat daar ook mag, omdat je er niets mee kunt verprutsen.
Ga het zojuist gereedgemelde produkt maar ergens ingooien, en je snapt meteen al dat je de order van dat gereedgemelde produkt niet meer terug kųnt draaien, ook al met de wetenschap dat je het daarna weer opnieuw zult opboeken. Je kunt gewoon geen kant uit met de Kostprijs van die volgende order ...
Aldus ontstaat de situatie dat wij -na 100 keer vragen van o.a. jouw kant-, onder de zeer speciale kondities het toch maken, waarbij die kondities NIET worden afgedwongen door het datamodel (zie Kostprijs voorbeeld). En dus wordt het maar hopen dat je overal aan denkt, een speciale autorisatie om het te doen, de helptekst lezen aangaande de risico's die je loopt en blablabla ...
Het enige wat je nu nog moet bedenken is dat
a. Jij (Marco) degene bent die als eerste dit soort zaken afdwingt, waar wij het 100 keer niet wilden;
b. Jij de eerste bent die je beroept op "Ja maar het is voor ons gemaakt".
Het laatste doe ik niets mee, want ik kan er niets mee. Je zou bij wijze van spreken in het hele pakket alles tegenhouden v.w.b. Emballage. Ik hoop dat je dit voorbeeld snapt. Dus, Terugdraaien PO wilde niemand behalve jij, en omdat wij die Emballage even niet zien, maar jij wel en je je vervolgens van de domme houdt omdat we je al 100 keer hadden gewaarschuwd ...
Jij leert er dus mee leven.
Mooi, maar een ander niet en die komt er mee. Oplossing : die ander mag dat terugdraaien niet gebruiken. Trouwens, jij ook niet, want het gaat gewoon fout. Het terugdraaien is bij deze dus niet zinvol meer, en dat je ervoor hebt betaald is je eigen schuld. Je wist het van tevoren. Dus eigenlijk juist omdat jij ervoor hebt betaald, ben jij ook de klos. Hoe bedenk ik het weer ...
Wat echter blijft is mijn eigen ontevredenheid dat we hier niet uit zouden kunnen komen. Maar ik zal je wel vertellen dat *wij* niet 20 uur gaan besteden aan iets wat jij hoort te betalen omdat je je zou beroepen op je eigen maatwerk in deze, of zelfs dat het nu fout werkt.
Maatwerk wat eigenlijk niet hoort c.q. problemen kan opleveren bij bepaald gebruik, geeft nooit ergens recht op. Nooit. Mits we het voldoende hebben aangegeven. In dit geval (excerpt helptekst LOPOTD) :
LET OP!!!
Het terugdraaien van een Produktieorder naar status "T" is aan
strikte gebruiksregels gekoppeld, omdat e.d. funktionaliteit
eigenlijk onmogelijk is. Door deze funktie toe te staan gaan we
immers met terugwerkende kracht de historische gegevens aanpassen,
met alle problemen vandien. Tevens zullen voor een goede werking
extra zaken in een traceability moeten worden geregistreerd, welke
enkel voor deze toepassing als 'teveel omvattend' mag worden
beschouwd, en derhalve expliciet achterwege is gebleven.
...
Heart garandeert niet dat deze funktionaliteit in Uw toepassing
gebruikt kan worden, en deze funktie kan derhalve enkel "as is"
worden uitgevoerd. Onmogelijkheden aan deze funktionaliteit zullen
nimmer als "bug" kunnen worden aangemeld, maar kunnen (misschien)
gerealiseerd worden middels maatwerk.
Sorry ...
En het enige wat we nu hebben gedaan, is gekonstateerd dat er een ernstige malleur in zat die een gebruiker niet kan overzien maar keihard fout gaat bij die betreffende klant, waarop wij e.e.a. hebben ondervangen met een simpele foutmelding.
Ik wil je er als laatste op wijzen dat wij zojuist 80 uur hebben besteed aan het oplossen van problematiek in een soortgelijke hoek aangaande Emballage (met zeg maar gelijke konsekwenties als die jij simpeltjes accepteert als dat niet zou worden opgelost), en dus ga we dat aan deze kant (wat de betreffende gebruiker van het 80-uur probleem eveneens gebruikt) NOOIT toestaan.
Maar dat deden we toch al niet, al leek het daar vanmorgen even op.
Ik blijft je probleem trouwens begrijpen ...
Peter
PS: Houd je nog een beetje in de gaten dat dit voor ieders goed doel is, dus ook voor jou ?
Of hadden we met z'n allen toch liever dat het pakket maar een beetje "wat an" moet doen ?