Ta ut resultat från summerad statistik

Tråden skapades och har fått 1 svar. Det senaste inlägget skrevs .
1

Hej!

Jag undrar om det är någon som har erfaenhet och vet någon lösning på följande lilla (stora!) bekymmer....

Jag har en massa tider i en tidrapport, där finns ett antal olika maskiner, jag vill kunna gruppera ner dessa olika maskiner till summerade enheter var för sig och sätta in dessa summerade tider i en faktura. Ungefär så här:

Tidrapporten innehåller 3 olika maskiner, varje maskin har ett antal förekomster, summan av alla förekomster för varje maskin vill jag föra över till en faktura.

Att föra över alla tider (kanske 200rader på fakturan) skulle inte vara så snyggt på fakturan, någon som vet... Ola?

Mvh Jenny

Roligt problem!

Jag skulle inte göra detta med statistikfält, jag tycker de är jobbiga, istället skulle jag göra detta med lite relationer, och ett fiffigt manus.

Om jag förstår dig rätt så har du en tabell med 200 poster som innehåller kundnummer och maskinnummer och förstås tiden? Jag antar även att du vill göra detta jobb ståendes på en order och med lite handpåläggning, inte superautomatiskt klicka-på-knappen-för-att-skapa-fakturor-för-hela-månaden-skriv-ut-och-maila?

Lägg till ett fält, Fakturanummer i den tidrapporter till att börja med. Det används för att "märka" posterna med vilken faktura de är med på.

Lägg till ett fält till i samma som heter Fakturanummer_tomt som innehåller beräkningen

If(IsEmpty(Fakturanummer);"Ja";"Nej")

Så är fakturanummerfältet tomt innehåller det ordet Ja.

Byt till Order, lägg till ett fält som heter Rel_Ja med beräkningen "Ja". Det kan vi använda i relationen sen.

Lägg till ett fält i samma som är ett variabelfält - maskinnummer med en värdelista över dina maskiners id (eller namn).

Sedan kommer de fiffiga relationerna.

Första relationen skall hitta alla icke fakturerade timmar i Tidrapporter för den kunden du just skapat en order för och fyllt i kundnumret på ordern. Det är lite manuellt jobb här men...

Relationen "Fakturor_Tidrapporter_Ofakturerat" mellan order och tidrapporter skall på vänster sida ha Kundnummer, Maskinnummer (variabelfältet) och Rel_Ja, på höger sid skall det vara Kundnummer, Maskinnummer och Fakturanummer_tomt i den ordningen.

Gör sedan ett beräkningsfält i Order:

Sum(Fakturor_Tidrapporter_Ofakturerat; Tid)

Döp fältet till "Summa timmar vald maskin" tex. Fältet Tid som jag antar finns innehåller antalet timmar eller minuter i decimalformat, en halvtimme är 0,5, 45 minuter är 0,75 osv.

Lägg ut fälten för Maskinnummer och fältet för Summa timmar vald maskin.

Arbetsgången blir sedan, skapa en order, fyll i kundnummer.

Välj en maskin, då poppar summan av de ofakturerade timmarna upp, skapa en orderrad med denna info. Ändra till nästa maskin, skapa en orderrad med denna info osv.

När du är klar, klicka på en knapp som "märker" alla tidrapportrader med detta fakturanummer. Den kör tex ett manus som:

Lagrar Kundnummer i en variabel $Kundummer
Lagrar Fakturanummer i en variabel $Fakturanummer
Hoppar till Tidrapporter
Sök
Tilldela fält Kundnummer ; $Kundummer
Tilldela fält Faktura_tomt ; "Ja"
Utför sökning
Ersätt fältinnehåll Fakturannummer; $Fakturanummer
Hoppa tillbaka till Faktura

Detta går att göra betydligt snyggare med fiffigare manus, mera felhantering, automatisk skapande av både order och orderrader med hjälp av manus som loopar igenom alla ofakturerade tidrapport-rader, men jag hoppas att du utifrån detta förstår "tänket".

Senast redigerat 2008-11-28 09:53
1
Bevaka tråden