Beste forum vrienden

Ik ben al een hele tijd bezig met een boekhoud systeem in php te schrijven ter verbetering van mijn ervaring. Het systeem is bijna af maar ik loop nog tegen aantal zaken aan die ik graag zou willen herstellen.

Om te beginnen de inloggegevens van de demo omgeving:
http://factuur.fritsschapendonk.nl
gebruiker demo
wachtwoord demo

Als je naar de pagina 'debiteuren' gaat en je klikt op "maak offerte" kom je op het formulier uit waar je nu een kale offerte kunt opmaken. In dit formulier kom je ook de velden aantal, product, en totaal tegen.

In de database staat in de table productenlijst het bedrag per stuk. Nu zou ik het helemaal geweldig vinden als het mogelijk is om door het product aan te klikken hij automatisch afhankelijk van het aantal dat je invoert het totaal berekent.

Kan dit met een ajax function? Is op dit forum iemand helemaal thuis in ajax? Ik zou hier graag het een en ander van willen weten.

Je zult ongetwijfeld een aantal zaken in het systeem tegen komen die niet kloppen. Deze heb ik op de fueture lijst gezet. Deze ga ik later herstellen.

Bij het bouwen van dit systeem heb ik echter een zeer wezenlijke fout gemaakt. Van tevoren vaststellen welke functionaliteiten het systeem behoort te krijgen. Nu loop ik zelf tegen veel dingen aan die ik al voor het bouwen had kunnen voorkomen. Maar het is goed om een keer met mijn neus tegen de lamp te lopen (al zeg ik het zelf).

Uiteraard ga ik het systeem enkel voor mijzelf gebruiken. Tenzij er mensen zijn die er interesse in hebben dan kan daarover worden gepraat maar ik ben voorzichtig met het vrijgeven van het script omdat er nog veel onvolkomenheden in kunnen zitten die lijden tot fouten en/of gegevens verlies.

Ik hoop dat er iemand is die mij kan helpen met de offerte pagina.

Alvast bedankt!
Gr Frits
Als je nu gewoon met php alle gegevens van ieder product uit de database haalt, je hebt tenslotte de productnamen al op de pagina.
Dan zoek je daar de prijs van op en doe je dat doorlopen met een loop en zorg je dat de prijs opgeteld word.
Over AJAX zijn genoeg tutorials te vinden op internet. Ik zou je aanraden om een framework als jQuery te gebruiken voor je AJAX requests. Binnen dit framework zijn voldoende handleidingen te vinden om te zien hoe je dit aanpakt.

Nog een aantal andere opmerkingen:
- Per offerte kun je nu maar 1 product kiezen. Wat nu met klanten die verschillende producten willen, ga je daar verschillende offertes voor maken?
- Heb je al nagedacht hoe je prijswijzigingen in de toekomst gaat doorvoeren? Ik vermoed dat in je huidige opzet een prijswijziging betekent dat ook de bedragen van je offertes/facturen wijzigen. Dit kan natuurlijk niet, dus bedragen van eenmaal gemaakte offertes/facturen zul je apart op moeten slaan.

ps. @Milo: dan moet je dus bij iedere wijziging de gehele pagina moeten herladen, dat wil de TS nu juist niet.
Beste Blanche

De problemen die je opnoemt kwam inderdaad ook tegen. Inmiddels heb ik wel de bedragen die reeds verwerkt zijn in een offerte/factuur in een column geplaatst zodat inderdaad bij een wijziging in de prijzen niet de reeds vewerkte records worden geupdate.

Het probleem met het maar een keer in kunnen voeren van een product ben ik ook aan het oppakken. Ik wil het nu in de vorm array gaan oplossen maar ik ben nog aan het zoeken of het makkelijker kan. Volgens mij doe ik het op een te omslachtige manier.

Heb je daar nog een idee over? Momenteel wordt er gewoon één op één een record in de database gekacheld maar vorige maand had ik hier een leuk jquery scriptje voor waarbij je inderdaad wel meerde producten kon toevoegen maar deze kwamen half aan in de database. Vaak klopte de bedragen dan ook niet meer.


@milo
wat betreft het controleren op aantal/bedrag per stuk. Ik heb alle informatie per productie uit de database gehaald en in inderdaad in een loop gezet maar het probleem is eigenlijk dat op het moment dat de pagina reeds geladen is de producten nog gekozen moeten worden. Op dat moment moet er een interactie plaatsvinden waarbij de variable prijsperstuk x het aantal berekent moet worden + de btw
Voor het maken van offertes heb je naast je debiteur en product tabellen nog minimaal twee andere tabellen nodig: offertes en offerte_producten.

De eerste bevat de algemene informatie van een offerte (debiteur, datum, etc) de tweede bevat de producten die bij een bepaalde offerte horen en daarbij het aantal. Dus iets als:

offertes
----------
id
debiteur_id
datum
...

offerte_product
------------------
offerte_id
product_id
aantal
subtotaal
...

Uit je offerte formulier wordt nu dus 1 record aangemaakt in de offerte tabel en voor ieder product op die offerte een record in de offerte_product tabel. Het subtotaal in de offerte_product tabel helpt je om het totaal bedrag van de offerte te berekenen (en tevens de offerte op een later moment nog eens te kunnen reproduceren). jQuery zou je hier enkel gebruiken voor het asynchroon refreshen van de bedragen in het offerte formulier, niet om het geheel naar de database te sturen (kan wel, maar is omslachtiger).
Hoi Blanche

dank voor je uitleg. Ik ga ermee aan de slag!

Gr Frits

Reageren