Dimensjoner i SpeedyCraft er et helt generelt begrep som kan brukes til veldig mye forskjellig. Dette er en hierarkisk struktur, der informasjonen kan knyttes til ulike ting i SpeedyCraft.
Og det også kan brukes til flere ting samtidig. Her er noen eksempler på hva diverse integrasjonspartnere har brukt våre dimensjoner til:
- Avdeling (NB! Etter at SpeedyCraft har kommet med innebygget støtte for avdeling gjennom Department-endepunkt, anbefales det å benytte dette fremfor dimensjoner)
- Prosjekt
- Anlegg
- Kostnadsbærer
- Fase
- Aktivitet
- SFI-koder
- Osv.
Her er det nesten bare fantasien som setter begrensninger for hvordan dimensjoner kan benyttes i SpeedyCraft. Merk også at i mange tilfeller vil SpeedyCrafts begrep Punkt (LineTag / AssignmentNote med LineTag=1) være mer riktig å bruke. Se tabellen under for oversikt over forskjellene her mellom dimensjon og punkt.
| Funksjon | Dimensjon | Punkt |
| Opprette valgmuligheter ute på mobil enhet | x | |
| Følger ordre | x (egentlig fast liste/hierarki, men kan også styres/gjenbrukes basert på DimensionLink) | x |
| Felles for alle ordre | x | |
| Kan settes ferdig / inaktiv |
x (jobbansvarlig kan avslutte et punkt. Nye ordrelinjer vil da ikke kunne velge dette punket) |
|
| Kan velges på ordrehodet | x (typisk prosjekt, faggruppe, avdeling el.l.) | |
| Kan velges på ordrelinjer (timer/produkter) | x | x |
| Hierarki-struktur | x |
Oppsett
Dimensjoner i SpeedyCraft settes opp slik:
- tblSetup-parameteren UseDimension, sier noe om hvilke deler av SpeedyCraft der dimensjoner skal benyttes. Typisk verdi: ;Assignment;AssignmentProduct;
AssignmentService; (gir SpeedyCraft beskjed om at det skal benyttes dimensjoner på ordre, produkt i ordre og timer i ordre) - tblDimension. Her legges selve dimensjonshierarkiet inn. Bruk dokumentasjonen for ImportExport for å sett dere inn i hvordan dette kan bygges opp best mulig.
- Bruk passive dimensjoner for å angi punkter i dimensjonstreet som kun er der for å gruppere andre dimensjoner (disse skal aldri kunne velges direkte)
- Bruk ParentDimensionID for å sette opp hierarkiet
- Bruk UseOnX for å sette opp hvor i SpeedyCraft man kan få opp dette valget (f.eks. ved oppretting av ordre, ved innlegging av ny time eller produkt).
Se følgende tabell som eksempel på hvordan dette kan settes opp (kun fiktive data her): - Bruk SubSelectMax / SubSelectMin for å angi om man MÅ fylle ut noe i aktuelle underdimensjoner. Se også artikkelen Krav til utfylling av dimensjoner
| DimensionID | DimensionIDExt | Description | ParentDimensionID | PassiveDimension | UseOnAssignment | UseOnAssignmentProduct | UseOnAssignmentService |
| 1 | SFIKODER | SFI-koder | 0 | 1 | 0 | 0 | 0 |
| 2 | NYBYGG | Nybygg | 1 | 0 | 1 | 0 | 0 |
| 3 | SFI1 | SFI 1 Planlegging | 2 | 0 | 0 | 1 | 1 |
| 4 | SFI2 | SFI 2 Oppstart | 2 | 0 | 0 | 1 | 1 |
| 5 | REHAB | Rehabilitering | 1 | 0 | 1 | 0 | 0 |
| 6 | SFI3 | SFI 3 Planlegging | 5 | 0 | 0 | 1 | 1 |
| 7 | SFI4 | SFI 4 Skipsfix | 5 | 0 | 0 | 1 | 1 |
Her er et eksempel til, på hvordan dimensjonstabellen fra en testdatabase med Visma Contracting ser ut:
3. tblDimensionLink. Her er faktiske koblinger mellom tblDimension og andre tabeller, som f.eks hvilke dimensjoner som er valgt på en ordre. Avhengig av reglene satt opp i tblDimension, så kan en dimensjon f.eks. knyttes til ordre, og man kan ha ingen, en eller mange dimensjoner knyttet til samme ordre. Tilsvarende kan en annen dimensjon være knyttet mot timer/produkter i ordren. Det er hierarkiet i tblDimension sammen med ordreknyttede dimensjoner som bestemmer hvilke dimensjoner som kommer opp i lista over valgbare dimensjoner når man skal legge inn timer/materiell.
-
- I eksemplet over, hvis en ordre er satt som "nybygg" (altså det finnes en dimensionlink mot ordren og nybygg), så vil kun SFI1 og SFI2 være tilgjengelig når man fører timer på den ordren. Hvis man velger SFI1 for aktuell time, så vil dette restultere i en ny linje i tblDimensionlink mot aktuell timelinje og SFI1.
- Man kan imidlertid også ha en flat struktur, men da vil alle dimensjoner som er tilgjengelig for timeføring komme opp når man fører timer.
- Merk at det er DimensionLink-property'ene LinkTableType og LinkTableID som bestemmer hvilken tabell og rad linken går mot. Følgende konstanter gjelder for LinkTableType:

Her er et eksempelutdrag fra knytninger mellom ordre (når LinkTableType = 2, så betyr LinkTableID AssignmentID) og dimensjoner:

Ta kontakt med speedycraft-api@devinco.com ved spørsmål om dette.