Of we het gaan honoreren is toch nog wat anders
... wat je mag lezen als : op jouw manier van oplossen;
Laat ik beginnen met een poging je duidelijk te maken dat jouw voorstel voor oplossing in deze wat mij betreft nooit mag werken. Ok, het is zeer theoretisch, maar voorlopig hanteren wij deze theorieën :
Zoals Wouter al heef gezegd, het is maar net hoe wij het oplossen. Alleen, dat is niet arbitrair. Wij doen NIETS arbitrair, of in beter Nederlands : alles heeft nog niet eens z'n overweging, maar volgt uit simpele normalisatie. En, wil je echt weten wat ik bedoel, dan moet je vooral bij jullie zelf maar eens kijken wat er gebeurt rond de Verkooporder aangaande het Statisch maken. Als je meteen weet waarop ik doel, dan zie je ook hoe destijds precies DIE oplossing is gekozen, en wel voor jullie zelf. Dit even samengevat : als je met in principe dynamische gegevens werkt, werkt dit zeer tegen je aan de grens met allerlei Pro-forma zaken, die immers bij het overbrengen van het fysieke produkt nog wel een beetje (erg veel) overeen moeten komen ...
Nu er vanuitgaande dat je helemaal weet waarop ik doel (nogmaals, het is voor jullie ontwikkeld destijds), en je zou voor de lol een inventarisatie eraan wagen waarop dit allemaal betrekking heeft, dan a. schrik jij je dood en b. stop je met ingang van nu met jouw queries. Ze zouden voor geen (milli)meter werken ...
Moraal hiervan : jij komt nu toevallig op de Leverkondities, maar dat komt omdat je de tijd nog niet hebt gehad om de 200 andere zaken tegen te komen. En vandaar dat ik er stellig in ben : dan doen we die ene waar je nu toevallig wel mee komt dus ook maar niet.
Waar dit één kant van de zaak is, moet je vooral ook hier aan denken :
Weer verwijzend naar het niet-arbitraire karakter op basis waarvan dit soort zaken door ons worden bepaald, kan je er in theorie gevoeglijk vanuit gaan dat als we de zaken zo zouden maken zoals jij wilt, er iets anders niet meer werkt. Wat ? nou, het tegenovergstelde. Iets wat als dynamisch is bedoeld, is plots statisch geworden. Als we dan -achteraf !- dit soort zaken aanpassen omdat iemand dat graag wil (met Bedrijdsparameter of niet), weet ik 200% zeker dat in elk geval WIJ het pakket niet meer begrijpen. Immers, je haalt in één klap alle ooit bedacht logika (die wij intussen niet meer (hoeven te) kennen onderuit, en als jij als gebruiker dan nog een vraag hebt, kunnen wij die niet meer beantwoorden.
Om dan nog een beetje tegengas aan mezelf te geven :
E.e.a. neemt niet weg dat zaken ook *fout* kunnen zijn bedacht. Bijvoorbeeld, het zou wel eens zo kunnen zijn dat de Leverkondities uit jouw eigen voorbeeld, veranderen op een Duplikaat Faktuur. En tja, dàt is natuurlijk wel heel erg fout. De oplossing : die Leverkondities opnemen in de Faktuur (en we gaan er even niet over twisten of dat dat de Verkooporder zou moeten zijn). Dus, probleem opgelost, en jij mag een slimmere query maken.
Net zoals dat je nu al slimmere queries zou kunnen maken omdat je als eerste (idee bij jezelf) misschien juist wel van de Staitische gegevens gebruik zou moeten maken (tja, weet jij veel dat die bestaan).
Goed. Mocht je nog niet duizelig zijn, dan zal ik je nu duizelig maken :
Wat ik meer dan 20 jaar geleden in ontwerp (en ook uitgewerkt in werkende programmatuur) al eens heb gemaakt, is een database die je op moment in de tijd kunt raadplegen. Zie maar voor je dat iedere sleutel voortaan vooraf gaan door de datum/tijd van "geldig vanaf" en waarbij het volgende record de "tot" bepaalt. In zo'n database wordt niets meer verwijderd, en er wordt ook niets meer gewijzigd; er wordt alleen nog toegevoegd;
Als het aan mij ligt (en dat ligt het) heb je binnen een aantal maanden een database die op deze wijze in elkaar zit. Mooier bestaat niet, en alles kan. Jij zegt tegen Profit dat je alles wilt bekijken per 12 december 2006 15:02 en vervolgens zié je dat ook (ok, dit zal alleen voor de toekomstige records kunnen, dus 2006 is een niet werkelijk voorbeeld).
Wel even je queries aanpassen natuurlijk ...