Parhaat 4D-lomakkeet: Parhaat valinnat verrattuna (2026)
4D-lomakkeet ovat 4D-sovelluksen käyttöliittymäkerros, ja alusta tarjoaa kolme erillistä lomaketyyppiä: yksityiskohta-, luettelo- ja tulostuslomakkeen, joista jokainen sopii eri tehtävään. Sen toteuttaminen oikein vuonna 2026 tarkoittaa lomaketyypin sovittamista tehtävään ja arvoluetteloiden, alilomakkeiden sekä dynaamisten ominaisuuksien hyödyntämistä. Tämä vertailu kattaa käytännön vaihtoehdot, niiden kompromissit ja päätöksentekotavan.
Keskeiset huomiot
- 4D tarjoaa kolmenlaisia 4D-lomakkeita: yksityiskohta (yksi tietue kerrallaan), luettelo (useita tietueita ruudukossa) ja tulostus (tulostus/raporttiasettelu). Väärän tyypin valinta on aloittelijoiden yleisin virhe.
- Projektilomakkeet (tallennettu
.4DFormJSON-tiedostoina) ovat nykyaikainen oletus; taulukkolomakkeet ovat legacy-ominaisuus ja linkitetty yhteen taulukkoon. Uudessa työssä tulee käyttää projektilomakkeita. - Dynaamiset lomakkeet (
DIALOG,FORM LOAD,FORM GOTO PAGE) mahdollistavat käyttöliittymien luomisen ja vaihtamisen ajon aikana – tämä on välttämätöntä velho-tyylisille prosesseille ja roolipohjaisille käyttöliittymille. - Arvoluettelot (staattiset, hierarkkiset tai kentästä/taulukosta) ohjaavat avattavia luetteloita, yhdistelmäruutuja ja ponnahdusvalikkoja; niiden sitominen kenttään on yksirivinen ominaisuuden muutos.
- Alilomakkeet upottavat yhden lomakkeen toiseen, ja ne ovat standarditapa luoda pää-yksityiskohta-asetteluja (master-detail) ilman widgettien monistamista.
- Suorituskyky luettelolomakkeilla riippuu suuresti entiteettivalinnasta verrattuna klassiseen valintaan ja siitä, onko laiska lataus (lazy loading) käytössä suurille tietuesarjoille.
Mitä “4D-lomakkeet” todellisuudessa tarkoittaa
4D-lomakkeet ovat deklaratiivisia käyttöliittymämäärityksiä, jotka on tallennettu joko rakenteeseen (taulukkolomakkeet) tai erillisinä projektitiedostoina (projektilomakkeet). Lomake sisältää objekteja (syöttökenttiä, painikkeita, luetteloruutuja, alilomakkeita, verkkoalueita ja staattista tekstiä), jotka on järjestetty kankaalle, jolla on määritetty sivukoko ja valinnaisesti useita sivuja. Jokaisella objektilla on ominaisuuksia (tietolähde, syötettävä tila, fontti, koordinaatit), jotka 4D arvioi suorituksen aikana.
Vertailun kannalta tärkein ero: lomake ei ole ikkuna. Lomake on asettelu; ikkuna on kontti, jonka 4D avaa näyttääkseen sen. Sama lomake voi näkyä modaalisessa valintaikkunassa, paletti-ikkunassa, koon muuttuvassa asiakirjaikkunassa tai upotettuna alilomakkeena. Tämän erottelun ymmärtäminen antaa kokeneille kehittäjille mahdollisuuden käyttää yhtä lomaketta uudelleen useissa yhteyksissä sen sijaan, että se rakennettaisiin uudelleen.
Kolme lomaketyyppiä verrattuna
| Lomaketyyppi | Näytetyt tietueet | Tyypillinen käyttö | Keskeinen huomio |
|---|---|---|---|
| Yksityiskohtalomake | Yksi | Tiedonsyöttö, tietueiden muokkaus, valintaikkunat | Vaatii eksplisiittisen navigoinnin (painikkeet, NEXT RECORD) |
| Luettelolomake | Monet | Selaaminen, valinta, kojelaudat | Suuret valinnat vaativat laiskan latauksen tai sivutuksen |
| Tulostuslomake | Monet | Tulostus, PDF-vienti, raportit | Ei interaktiivinen; asettelu on tulostuskeskeinen |
Yksityiskohtalomakkeet ovat tiedonsyötön työhevosia. Ne näyttävät taulukon nykyisen tietueen ja antavat käyttäjien muokata kenttiä suoraan. Yksityiskohtalomake on myös luonnollinen valinta asetusikkunalle tai kirjautumisnäytölle, koska sen voi sitoa niin, ettei se kuulu mihinkään taulukkoon, ja ohjata sitä vain prosessimuuttujilla.
Luettelolomakkeet tarjoavat vieritettävän tietueiden ruudukon. Nykyaikaisessa 4D:ssä luettelolomakkeet rakennetaan tyypillisesti luetteloruutu-objektin ympärille vanhan “luettelolomake sarakkeineen” -lähestymistavan sijaan. Luetteloruudut voivat olla taulukko- tai valintapohjaisia, ja valintapohjaiset luetteloruudut sitoutuvat suoraan entiteettivalintaan – mikä on suositeltu malli ORDA:n kanssa työskennellessä.
Tulostuslomakkeet on tarkoitettu tulostusta varten. Ne renderöivät tietueita sivuasettelussa, jossa on ylä- ja alatunnisteet sekä taukotasot. Tulostuslomakkeita ei ole tarkoitettu näytöllä tapahtuvaan vuorovaikutukseen, eikä 4D salli käyttäjien siirtyä sarkaimella (tab) kenttiin samalla tavalla kuin yksityiskohtalomakkeessa.
Aiheeseen liittyvä: — Yksinkertainen laskentataulukkokäyttöliittymä, joka sijaitsee todellisen relaatiotietokannan päällä, jossa on automaatioita, näkymiä ja jaettavia käyttöliittymiä..
Nämä ovat kolme ensisijaista 4D-lomaketta.
Projektilomakkeet vs. taulukkolomakkeet
Projektilomakkeet tallennetaan yksittäisinä “.4DForm”-tiedostoina projektin “Forms”-kansioon, ja ne tukevat versionhallintaa: jokainen lomake on erillinen JSON-dokumentti, joten kaksi eri lomakkeita muokkaavaa kehittäjää törmäävät harvoin yhdistämisen (merge) aikana. Taulukkolomakkeet sijaitsevat rakennetiedostossa ja niitä muokataan saman lomakeeditorin kautta, mutta ne on käsitteellisesti linkitetty yhteen taulukkoon.
Käytännön vinkkejä vuodelle 2026: Aloita jokainen uusi lomake projektilomakkeena. Taulukkolomakkeet ovat edelleen täysin tuettuja ja kohtaat niitä legacy-tietokannoissa, mutta projektilomakkeet tarjoavat selkeämpiä eroja, helpompaa uudelleenkäyttöä taulukoiden välillä ja selkeämmän mentaalisen mallin. Taulukkolomakkeen muuntaminen projektilomakkeeksi tapahtuu siirtämällä se pois taulukon lomakeluettelosta projektin lomakeluetteloon; objektimääritykset säilyvät.
Jos olet ostoksilla: — Halpakoodisovellusten rakentaja, joka liitetään laajempaan Zoho-sviittiin ja hinnat käyttäjää kohti sovelluksen sijaan..
Lomakkeen luominen: ydinvaiheet
- Luo lomake lomakeeditorissa (Explorer → Forms → New) valitsemalla yksityiskohta, luettelo tai tulostus.
- Aseta sivun koko ja lisää tarvittaessa sivuja monivaiheisia asetteluja varten.
- Sijoita objektit: Vedä kenttiä Explorerista kankaalle tai lisää painikkeita, luetteloruutuja ja alilomakkeita objektikirjastosta.
- Linkitä tietolähteet: Määritä jokainen syöteobjekti kenttään, muuttujaan tai lausekkeeseen.
- Määritä arvoluettelot mihin tahansa avattavaan luetteloon, yhdistelmäruutuun tai ponnahdusvalikkoon.
- Kytke tapahtumat (Wire Events) — liitä menetelmiä lomaketapahtumiin (
On Load,On Clicked,On Data Change) ja objektitapahtumiin. - Testaa lomakeeditorissa käyttämällä sisäänrakennettua esikatselua ja sitten käynnissä olevassa ikkunassa.
Vaihe 6 on se, jossa suurin osa todellisesta työstä tapahtuu 4D-lomakkeita luotaessa. Lomake ilman tapahtumamenetelmiä on staattinen kuva; On Load -lomaketapahtuma on tyypillisesti paikka, jossa täytät taulukoita, lataat arvoluettelon tai asetat syötettäviä tiloja nykyisen käyttäjän roolin perusteella.
Arvoluettelot: yksityiskohta, johon monet kompastuvat
Arvoluettelot ovat mekanismi jokaisen 4D-lomakkeiden pudotusvalikon, yhdistelmäruudun ja ponnahdusvalikon takana. Niitä on kolmea tyyppiä:
- Staattiset luettelot — syötät arvot kerran luetteloeditoriin. Ihanteellinen kiinteisiin luetteloihin, kuten tilakoodeihin.
- Hierarkkiset luettelot — tukevat sisäkkäisiä elementtejä
|-erotinkäytännöllä, hyödyllinen kategoriapuille. - Dynaamiset luettelot — täytetään kentästä, taulukosta tai kaavasta suorituksen aikana. Nämä heijastavat reaaliaikaista dataa, joten luettelo aktiivisista asiakkaista pysyy ajan tasalla ilman uudelleenjulkaisua.
Yleinen sudenkuoppa: dynaamisten arvojen luettelon sitominen kenttään, joka tallentaa viitteen (ID:n) mutta näyttää tunnisteen (label). 4D hallitsee tätä “liitetyn arvon” (associated value) käsitteellä: luettelo tallentaa yhden arvon ja näyttää toisen. Tämän oikea toteutus on ero avattavan luettelon välillä, joka tallentaa “42” ja sellaisen, joka tallentaa “Acme Corp.”.
Alilomakkeet ja pää-yksityiskohta-asettelut
Alilomakkeet integroivat yhden lomakkeen toiseen. Päälomake isännöi alilomakeobjektia; lapsilomake näkyy sen sisällä. Tiedot kulkevat alilomakkeen “table”-ominaisuuden kautta ja nykyaikaisessa 4D:ssä lapsilomakkeelle välitetyn Form-objektin kautta.
Pää-yksityiskohta-asettelu (master-detail) on 4D-lomakkeiden kanoninen käyttötapa: laskun yksityiskohtalomake yläosassa ja laskurivien luettelolomake alilomakkeessa sen alapuolella. Kun pää-tietue muuttuu, alilomakkeen valinta päivitetään – edellyttäen, että päivität sen pää-lomakkeen On Data Change -tapahtumassa tai sitomalla valinnan uudelleen. Alilomakkeiden avulla voit myös luoda uudelleenkäytettäviä komponentteja: “asiakasvalitsin”-lomakkeen voi pudottaa mihin tahansa sitä tarvitsevaan pää-lomakkeeseen.
Dynaamiset lomakkeet ja ajonaikainen käyttöliittymä
Dynaamiset 4D-lomakkeet muokkaavat käyttöliittymää sovelluksen ollessa käynnissä. Keskeiset komennot ovat DIALOG (avaa lomake modaalisena tai ei-modaalisena valintaikkunana), FORM LOAD (lataa lomake muistiin näyttämättä sitä), FORM GOTO PAGE (vaihda sivua) ja OBJECT SET..., jotka muuttavat objektin ominaisuuksia lennossa.
Dynaamiset lomakkeet ovat tärkeitä kahdessa skenaariossa. Ensinnäkin velho-prosessit (Wizard Flows): yksi lomake, jossa on useita sivuja, joita FORM GOTO PAGE etenee käyttäjän suorittaessa vaiheet.
Toiseksi roolipohjaiset käyttöliittymät — piilota tai poista käytöstä objekteja On Load -tapahtumassa käyttäjän oikeuksien perusteella, jotta yksi lomake palvelee sekä järjestelmänvalvojaa että vain luku -oikeuksilla varustettua katselijaa. Kompromissina on monimutkaisuus: dynaamista käyttäytymistä on vaikeampi debugata kuin staattista asettelua, joten varaa se tapauksiin, joissa toinen lomake muuten olisi tarpeen.
Suorituskykyä koskevat huomiot
4D-luettelolomakkeiden suorituskykyyn vaikuttaa eniten tietueiden määrä, jotka 4D:n on materialisoitava. Entiteettivalintaan linkitetty valintapohjainen luetteloruutu lataa vain näyttämänsä rivit, mikä pitää muistinkulutuksen tasaisena taulukon kasvaessa. Klassiset taulukkopohjaiset luetteloruudut lataavat kaiken etukäteen ja hidastuvat huomattavasti suurilla taulukoilla.
Kaksi muuta vipua: laiska lataus (lazy loading) luetteloruuduissa (rivien haku vierityksen aikana) ja palvelinpuolen kyselyt, jotka palauttavat rajatun valinnan koko taulukon sijaan. Asiakas-palvelin-ympäristöissä tietueiden hakemisen edestakaiset kustannukset verkon yli peittävät tyypillisesti renderöintiajan, joten valinnan kaventaminen on arvokkain optimointi.
Kuinka päättää
- Tiedonsyöttö yhdelle tietueelle? Yksityiskohtalomake.
- Selaaminen tai valinta useista tietueista? Luettelolomake, jossa on valintaan perustuva luetteloruutu.
- Tulostus tai PDF-vienti? Tulostuslomake.
- Uudelleenkäyttö useissa taulukoissa? Projektilomake, ei taulukkolomake.
- Monivaiheinen prosessi? Monisivuinen lomake, jota edetään dynaamisesti.
- Pää-yksityiskohta-suhde? Yksityiskohtalomake, joka isännöi luettelolomakkeen alilomaketta.
- Kiinteä valintajoukko? Staattisten arvojen luettelo. Reaaliaikainen data? Dynaaminen arvoluettelo.
Nämä vaihtoehdot auttavat sinua valitsemaan tarpeisiisi sopivat 4D-lomakkeet.
Oppimisresurssit
Virallinen 4D-dokumentaatio on auktoriteettilähde 4D-lomakkeille, objekteille, tapahtumille ja komennoille. Aloita sieltä löytääksesi tarkat ominaisuuksien nimet ja komentojen allekirjoitukset.
Tietokantakäsitteiden taustaa varten Wikipedian artikkeli 4D (software) antaa hyödyllisen historian alustasta. JSON-muodon sivu kannattaa lukea, jos aiot muokata .4DForm-tiedostoja käsin tai vertailla niitä versionhallinnassa. Yleisiä relaatiosuunnitteluperiaatteita, jotka ohjaavat lomakkeiden taustalla olevien taulukoiden rakentamista, löytyy tietokannan normalisoinnin yleiskatsauksesta.
Usein kysytyt kysymykset
Mikä on 4D-lomake?
4D-lomake on deklaratiivinen käyttöliittymäesitys, joka koostuu tietolähteisiin linkitetyistä objekteista (syöttökentistä, painikkeista, luetteloruuduista, alilomakkeista). 4D arvioi lomakkeen ominaisuudet ajon aikana ja näyttää sen ikkunassa, valintaikkunassa tai upotettuna alilomakkeena. Lomakkeita on kolmea tyyppiä: yksityiskohta, luettelo ja tulostus.
Mitä eroa on yksityiskohtalomakkeella ja luettelolomakkeella 4D:ssä?
Yksityiskohtalomake näyttää yhden tietueen kerrallaan ja sitä käytetään tiedonsyöttöön ja muokkaamiseen. Luettelolomake näyttää monta tietuetta, yleensä luetteloruudussa, ja sitä käytetään selaamiseen ja valintaan. Nämä kaksi yhdistetään usein: luettelolomakkeella valitaan tietue ja yksityiskohtalomakkeella muokataan sitä.
Pitäisikö minun käyttää projektilomakkeita vai taulukkolomakkeita?
Projektilomakkeet ovat nykyaikainen oletusstandardi ja ne tallennetaan erillisinä “.4DForm”-tiedostoina, mikä helpottaa niiden uudelleenkäyttöä ja hallintaa versionhallinnassa. Taulukkolomakkeet ovat legacy-ominaisuus ja linkitetty yhteen taulukkoon. Uuden kehityksen tulisi käyttää projektilomakkeita; taulukkolomakkeita tuetaan edelleen olemassa olevissa tietokannoissa.
Miten arvoluettelot toimivat 4D-lomakkeissa?
Arvoluettelot täyttävät avattavat luettelot, yhdistelmäruudut ja ponnahdusvalikot. Ne voivat olla staattisia (syötetty vain kerran), hierarkkisia (sisäkkäiset kohteet) tai dynaamisia (luodaan kentästä, taulukosta tai kaavasta suoritusaikana). Arvoluettelo voi tallentaa yhden arvon samalla kun se näyttää toisen, mikä mahdollistaa asiakkaan nimen näyttämisen samalla kun tallennetaan hänen tunnuksensa.
Voinko muuttaa 4D-lomaketta suorituksen aikana?
Kyllä. Dynaamiset lomakkeet käyttävät komentoja kuten DIALOG, FORM LOAD ja FORM GOTO PAGE ladatakseen lomakkeita, vaihtaakseen sivuja ja muuttaakseen objektin ominaisuuksia sovelluksen ollessa käynnissä. Tämä tukee velho-tyylisiä prosesseja ja roolipohjaisia käyttöliittymiä, joissa yksi lomake palvelee eri käyttäjiä.
Miksi 4D-luettelolomakkeeni on hidas suurilla taulukoilla?
Luettelolomakkeen hitaus johtuu yleensä liian monen tietueen materialisoinnista. Entiteettivalintoihin linkitetyt valintapohjaiset luetteloruudut lataavat vain näytetyt rivit, kun taas taulukkopohjaiset luetteloruudut lataavat kaiken. Laiskan latauksen (lazy loading) salliminen ja kyselyn rajaaminen rajattuun valintaan ovat kaksi tehokkainta korjausta.
Usein kysytyt kysymykset
Mikä on 4D-lomake?
4D-lomake on deklaratiivinen käyttöliittymäesitys, joka koostuu tietolähteisiin linkitetyistä objekteista (syöttökentistä, painikkeista, luettelolaatikoista, alilomakkeista). 4D arvioi lomakkeen ominaisuudet ajon aikana ja näyttää sen ikkunassa, valintaikkunassa tai upotettuna alilomakkeena. Lomakkeita on kolmea tyyppiä: yksityiskohta, luettelo ja tulos.
Mitä eroa on yksityiskohtalomakkeella ja luettelolomakkeella 4D:ssä?
Tietolomake näyttää yhden tietueen kerrallaan, ja sitä käytetään tietojen syöttämiseen ja muokkaamiseen. Luettelolomake näyttää monia tietueita, yleensä luetteloruudussa, ja sitä käytetään selaamiseen ja valintaan. Nämä kaksi yhdistetään usein: luettelolomake tietueen valitsemista varten, sitten tietolomake sen muokkaamista varten.
Pitäisikö minun käyttää projektilomakkeita vai taulukkolomakkeita?
Projektilomakkeet ovat oletuksena nykyaikainen standardi, ja ne tallennetaan erillisinä .4DForm-tiedostoina, mikä helpottaa niiden uudelleenkäyttöä ja hallintaa versionhallinnassa. Taulukkolomakkeet ovat perinnöllisiä ja linkitetty yhteen taulukkoon. Uuden kehityksen tulisi käyttää projektilomakkeita; taulukkolomakkeita tuetaan edelleen olemassa oleville tietokannoille.
Miten arvolistat toimivat 4D-muodoissa?
Arvoluettelot täyttävät avattavat luettelot, yhdistelmäruudut ja ponnahdusvalikot. Ne voivat olla staattisia (syötetty vain kerran), hierarkkisia (sisäkkäiset kohteet) tai dynaamisia (luodut kentästä, taulukosta tai kaavasta suoritusaikana). Arvoluettelo voi tallentaa yhden arvon samalla, kun se näyttää toista, jolloin näytät asiakkaan nimen samalla, kun tallennat hänen tunnuksensa.
Voinko muuttaa 4D-lomaketta ajon aikana?
Kyllä. Dynaamiset lomakkeet käyttävät komentoja, kuten DIALOG, FORM LOAD ja FORM GOTO PAGE, ladatakseen lomakkeita, vaihtaakseen sivuja ja muuttaakseen objektin ominaisuuksia sovelluksen ollessa käynnissä. Tämä tukee ohjattua toimintoa ja roolipohjaisia käyttöliittymiä, joissa yksi lomake palvelee eri käyttäjiä.
Miksi 4D-luetteloni on hidas suurilla taulukoilla?
Listamuodon hitaus johtuu yleensä liian monen levyn toteutumisesta. Entiteettivalintoihin linkitetyt valintapohjaiset luetteloruudut lataavat vain näytetyt rivit, kun taas taulukkopohjaiset luetteloruudut lataavat kaiken. Laiskan latauksen salliminen ja kyselyn rajaaminen rajoitettuun valintaan ovat kaksi suurinta vaikutusta.
Kokeile FileMakeria ilmaiseksi 45 päivää
Pitkäaikainen relaatiotietokanta-alusta tiimeille, jotka tarvitsevat mukautettuja sovelluksia työpöydälle, verkkoon ja mobiililaitteille yhdestä tiedostosta.