Författare Ämne: Markera sista posten  (läst 1296 gånger)

0 medlemmar och 1 gäst tittar på detta ämne.

Utloggad Diquito

  • Flitig postare
  • Antal inlägg: 189
    • Visa profil
Markera sista posten
« skrivet: 13 november, 2018, 17:31 »
Hej alla filemaker gurus, Jag behvöer hjälp.
Jag har en tabell där jag läser inte alla fakturarader från ett ERP system. Varje rad har ett faktura datum och ett fält med veckonummer baserad på fakturadatumet.
Sen har jag en annan tabell där jag skapar poster från den första tabellen med på veckobasis. Nyckeln är då Artikel och kundnummer, Så om jag säljer samma artikel till samma kund flera ggr per år så kommer jag att få en sammaslagning per vecka. Detta gör jag genom att skapa via relationen där nycklarna är Artikel,kundnummer och veckonummer. Detta leder till att jag får en post per vecka oavsett hur många artiklar jag sålt till denna kund under samma vecka.
Detta ledet till att det blir kommer att bli flera rader i "vecko" tabellen för nyckel Artikel,Kund... nu vill jag kunna markera den sista veckan av dessa. Jag har försökt med en relation som vi kan kalla "Sista Veckan" där nycklarna är Artikel,Kund [=] och Veckonummer [X] så att jag relatera till alla veckor som inte är nuvarande posten. Sen har jag ett beräkningsfält "Sista Veckan",  som har följande if sats:
IF (MAX (sista veckan::Veckonummer)= Veckonummer;1;0). Denna ska alltså kolla om värdet av veckonummret som har högst värde via relationen är lika med nuvarande postens veckonummer så blir fältet en "1" annars "0". Detta låter ju bra.. men  den funkar inte när jag skapar posterna. Fältet "Sista Veckan" verkar inte uppdatera korrekt. Jag har lagt in IF satsen i en Let funktion som triggar på en "SenastÄndrat" fält som automatiskt uppdateras med tidstämpel när posten ändras..Men då funkar funktion bara om jag uppdatera "SenastÄndrat" fältet.
Jag är frustrerad nu.. och detta ser ut som en harang oavan.. men jag hållt på hela dagen att försöka lösa detta.
Nån som har en ide?

Utloggad Carsten van Dyhr

  • Administratör
  • Flitig postare
  • Antal inlägg: 360
    • Visa profil
    • www.cdsoft.se
SV: Markera sista posten
« Svar #1 skrivet: 20 november, 2018, 09:48 »
Hej!

Jag förstår tyvärr inte vad du menar, och det beror sannolikt på att man inte ser systemet framför sig.
Här kommer emellertid några reflektioner

• Funktionen "Max" på veckonummer kommer bara att fungera under ett år, men det antar jag att du har tänkt på? I januari så har ju vecka 1 ett lägre numerisk värde än sista veckan föregående år.

• Senast ändrat är en lite lurig funktion, den triggas ju av i princip allting så den kanske inte är så bra att gå med i ett system där man, förmodar jag, vill ha en ögonblicksbild.

Du får nog förklara lite mer detaljerad vad du menar eller kanske tvärtom, lite mindre detaljerad :)
Carsten Dyhr | CD Soft AB | www.cdsoft.se | 0706-15 08 90

Utloggad Diquito

  • Flitig postare
  • Antal inlägg: 189
    • Visa profil
SV: Markera sista posten
« Svar #2 skrivet: 20 november, 2018, 17:12 »
Hej Carsten, Tack för svaret.
När det gäller veckor så är fältet ett beräkningsfält med året tillagt i börjar så det har jag täckt.
Problemet med systemet är att man vill både har en ögonblicksbild fast med bibehållen historik. Detta innebör att man måste spara alla "gamla" poster och markera den senaste i raden så att säga.

Jag har en tabell med alla fakturarader som vi har i bolaget. En nyckel i denna tabell är en sammaslagning av fälten "artikel","säljbolag","kundnummer". Denna nyckel används som huvudnyckel för att mata en annan tabell via en relation där nycker och "veckonummer" är relationen. Så att om det finns flera rader i faktura raderna med samma nyckel under en vecka så ska det skapas en enda post i den andra tabellen och vissa fält summeras på veckobasis. Det är i den tabellen som jag vill markera posterna som är "sista" veckar för en "nyckel" post.
Hmmm undrar om det var tydligare nu eller inte?
mvh
///David