2008

Sep

12

Av

Med portaler ser du poster i en en-till-många-relation, dvs. en post i en tabell är kopplad till flera poster i en annan tabell. Det kan t.ex. vara en faktura med flera fakturarader, en kurs med flera kurstillfällen, en annonsbokning med flera införanden osv.

Det är lätt att göra en portal med portalverktyget och ställer man in relationen så att du kan skapa poster direkt i portalen är det bara att gå till sista raden och börja skriva. 

Ibland vill man dock ha lite mer kontroll på när en portalrad ska kunna skapas eller behöver lägga till mer information för varje portalrad än bara nyckelvärdet som kopplar ihop huvudposten med posterna i den andra tabellen.

Ställer man in relationen så att det inte går att skapa nya poster med relationen finns det ingen tom rad längst ner i portalen att fylla i. Fyller du inte i kryssrutan “Tillåt att poster skapas i den här tabellen via den här relationen” i relationsdiagrammet blir det ingen tom portalrad längst ner. Egenskapen finns i dialogrutan som visas när du dubbelklickar på symbolen mellan två tabeller.

För att skapa en ny portalrad gör du en knapp som anropar ett manus. Som parameter skickar du in nyckelvärdet, oftast ett id-nummer, för huvudposten. Manuset går till en layout där den andra tabellen visas, skapar en ny post och sätter in nyckelvärdet i nyckelfältet. Manuset går sedan tillbaka till ursprunglig layout, går till sista portalraden och till första fältet där.

Om jag vill lägga till en fakturarad i en faktura ser manuset ut så här:

Gå till layout ["Fakturarader" (Fakturarader)]
Ny post/sökpost
Tilldela fält [Fakturarader::ID_Faktura; Get(Manusparameter)]
Verkställ post/sökpost[]
Gå till layout [ursprunglig layout]
Gå till portalrad [Sista]
Gå till fält [Fakturarader::Artikelnr]

Manuset anropas från en knapp i fakturabilden (där även portalen finns) och har innehållet i fältet Faktura::ID_Faktura som parameter. Den sista raden i manuset gör att insättningspunkten placeras i fältet “Artikelnr” så att du enkelt kan fylla i innehållet i fakturaraden.

Som en liten finess kan du numrera portalraderna så att användaren lätt kan se vilken rad som är aktuell. Skriv in “@@” på portalraden i layoutläget så visas ett löpnummer när du bearbetar.

2 kommentarer till ”Skapa portalrad”

  1. Sören

    Hur får man den tomma portalraden att lägga sig överst. Har man många rader i en portal blir det ett extra moment när man ska scrolla längst ner. Men det kanske är bättre att lägga en knapp som du beskriver i texten ovan.

    Reply
  2. Rolf

    Nya portalrader läggs alltid längst ner, om du inte skapar dem med en knapp. Du kan också göra en knapp som hoppar till sista raden så behöver du inte scrolla.

    Reply

Skriv en kommentar

  • (will not be published)
  • × 8 = twenty four

Läs också: