Inloggen Registreren

Login to your account

Username *
Password *
Remember Me

Create an account

Fields marked with an asterisk (*) are required.
Name *
Username *
Password *
Verify password *
Email *
Verify email *
Captcha *

Free fields plugin

Artikelindex

Met de freefields plugin kunt u eigen velden maken bij veel entiteiten in osFinancials. De opzet is dat gegevens een eigen tabel krijgen. hierdoor is optimalisatie mogelijk door het gebruik van indexen. Ook wordt de referentiële integriteit toegepast waardoor de data consistent blijft.Alle voordelen van een database blijven bewaard en kunnen lokaal worden geoptimaliseerd. Door het gebruik van reportman kunt u deze gegevens weer omsluiten in een rapport. Dit zijn redelijk technische zaken maar u kunt natuurlijk onze hulp daarvoor inhuren.

De mogelijkheden van freefields zijn eindeloos. Doordat de data ook nog geïmporteerd en geëxporteerd kan worden kan dit ook gebruikt worden om externe data (uit andere systemen) aan te koppelen. Dit is ook waar wij de freefields zelf het meest voor gebruiken. hiermee zorgen wij er voor dat uw osFinancials ineens wel weet wat voor merk model en jaar de auto is of welke rijles een leerling kan volgen zonder dat het bij andere onnodige functionaliteiten meebrengt. De gebruiker van het systeem geniet gewoon van updates aan de core en freefields en heeft geen speciaal maatwerk nodig voor standaard frameworks waarvan alleen wat attributen verschillen of extra zijn. hierdoor zijn wij in staat krachtige oplossingen te bieden tegen een fractie van de normale ontwikkel kosten.

Activeren

Ga naar extra->Plugins->Freefields u krijgt dat het volgende scherm te zien.

 

 

Hier kunt u freefields activeren en onderhoud aan zoek schermen(Design search) en invoerschermen(Design fields) opstarten.

 


Aanmaken freefields

Als u op de "Design frields" knop heeft gedrukt ziet u het volgende scherm.
U heeft waarschijnlijk wel wat minder freefield definities maar daar kunnen we nu wat aan doen.

Als u dubbel klikt op Sysvars of het knop je "Edit fields"gebruikt en u dan het veld Contactnaam aanklikt krijgt u het volgende scherm te zien.

 

  • Cancel : annuleer en ga naar de lijst
  • Save : Slaat de layout op in de database. Als nieuwe velden worden aangemaakt kan dit proces niet ongedaan worden gemaakt. Let goed op het type en de lengte van het veld. Deze kunnen niet gemakkelijk worden aangepast als eenmaal het veld is aangemaakt.
  • Add new control : Voegt een nieuwe control toe deze kunt u dan plaatsen en bewerken.
  • Delete : verwijder actieve control.
  • Save Voer de instellingen hieronder door zodat u deze ziet. Bij aanmaken van een nieuw veld (Colom origen die nog niet bestaat) wordt er een veld van het type in FieldType aangemaakt. Dit is niet zo maar te verwijderen in deze editor. Wij verwijzen u hiervoor naar een database beheer tool zoals flame robin. hiermee kunt u de velden droppen. Ook kunt u het zelf met SQL door b.v. het commando alter table mytable drop mycolumn uit te voeren met de juiste waarde.
  • Type of control : kunt hier uit verschillende type controls kiezen waardoor de interactie met dat veld wordt beïnvloed. Types worden in de bijlagen uitgelegd. Kies het juiste type control bij de juiste Type data. Een checkbox is een SMALLINT een numerieke waarde met cijfers achter de komma een FLOAT
  • Size : grote voor een tekstveld of numeriek veld (als de veld grote eenmaal is gedefinieerd in de database heeft het aanpassen van dit veld geen effect. U zult dan de veld grote in de database zelf moeten aanmaken.
  • Translation. Kies een bestaande vertaling of voeg er een toe aan de huidige database en gebruik deze.
  • Column originen : Vul hier uw nieuwe veldnaam in bij het aanmaken van een nieuwe control of kies uit een reeds bestaande kolomen lijst. Als u bijvoorbeeld met flame een tabel heeft ontworpen kunt u uit deze lijst kiezen welke velden u nu wilt laten bewerken.
  • FieldType : Een nieuw veld (Niet bestaande naam in Column origine) wordt als dit type aangemaakt. Afhankelijk van het tyoe wordt dan ook de Size mee genomen.
  • Default value : Standaard waarde mag een select zijn. (dus b.v "select current_timestamp from rdb$database" zorgt bij een datum veld dat vandaag de standaardwaarde is bij invoer. Dit is meestal in combinatie met het hoofdtype een op veel relatie.
  • Left , Width, Top , Height, De control breedte hoogt etc, Op sommige controls hebben niet alle waardes effect. Gebruik een memo type om bijvoorbeeld meerdere regels in te voeren. Bij een edit heeft hoogte geen effect.
  • Enabled : Zet het veld (tijdelijk) uit. meestal komt dit bij een migratie waarbij e oude gegevens nog een x tijd zichtbaar zijn.
  • Sql en Extra data Voor sommige veldtypes wordt dit veld gebruikt om bijvoorbeeld de sql van een keuze lijst mee op te bouwen. Hiermee wordt dat een dropdown gevuld met de juiste waarde. Zo kunnen er verbanden worden gebruikt om een keuze lijst op te bouwen. Denk aan een keuze lijst in een document die weet welke debiteur er is gekozen en daardoor de freefields van die debiteur kan gebruiken om de lijst met keuze mogelijkheden te beperken.

Sysvars is als invoer veld te vinden bij instellingen->Administratie->Bedrijfsinformatie


Aanmaken freefields een complexer voorbeeld

We gaan nu een complexer voorbeeld maken. Een nieuwe een op veel relatie voor een debiteur. Hierbij maken we velden aan voor de datum en een memo veld voor het gesprek.

Klik op de Add Knop en Vul de volgende gegevens in.

  • Formnaam : Een internenaam deze moet uniek zijn.
  • Displaynaam : de naam die voor dit tabblad wordt gebruikt. U kunt meerdere tabbladen bij een entiteit hebben. deze kunnen dan ook verschillende relaties bevatten.
  • Mastertable de tabel waaraan deze freefields worden gelinkt. Bij het aanmaken wordt deze ook gebruikt voor de referentiële integriteit.
  • Linked key. Ge sleutel die wordt gebruikt uit die tabel (primaire sleutel)
  • Tabel : Als deze niet bestaat zal deze worden aangemaakt.
  • Primarykey : Primare sleutel. voor een een op veel relatie kan deze gelijk worden gemaakt aan de linked key voor een 1 op veel zal een eigen generator gebruikt moeten worden.
  • Sql for next id : Voor 1 op veel gebruikt u de tekst "select GEN_ID(GEN_TESTID,1) from RDB$DATABASE" zoals in de afbeelding hierboven.
    Als het een een op relatie is kan een spatie (dummy waarde) worden gebruikt door de primaire key gelijk te houden aan de linked key.

Als u dit heeft gedaan druk dan op Save. U krijgt dat de vraag of u deze tabel wilt aanmaken. Druk op JA om dit te doen zodat we de nieuwe velden kunnen gaan toevoegen. U kunt ook voor nee kiezen daarmee gaat uw invoer niet verloren en kunt u de volgende keer weer de keuze krijgen voor het aanmaken van de tabel.

Als de tabel is aangemaakt kunnen we nieuwe velden gaan toevoegen door op "Edit fields"te drukken of dubbel te klikken op de naam in de lijst.

Drup op add nex control en vul het volgende in

  • Type of control :D TDateTimepicker
  • Size : Is niet van belang bij dit type
  • Translation : Open het scherm en zoek naar datum.
  • Column originen: DDATE dit is de naam van het nieuwe veld in de database.
  • FieldType : DateTime
  • Defaul value : select current_timestamp from rdb$database

Druk nu op Save boven de Type of control. U krijgt dan de vraag of het veld aangemaakt mag worden. Druk op JA en verschuif de control iets naar beneden. Druk vervolgens weer op Add new control om een tweede control toe te voegen.

  • Type of control :M Memoveld
  • Size : op 0 zetten = eindeloos
  • Translation : Zoek naar Opmerking
  • Column originen: SMEMO dit is de naam van het nieuwe veld in de database.
  • FieldType : Blob
  • Defaul value : leeg
  • Left width top en heigth 120 , 300 , 18 , 300 we willen dat het invoervlak groter wordt.

Ook hierop heeft u het Ja antwoord. Druk vervolgens op Save helemaal bovenaan en uw werk is opgeslagen.

Sluit actieve vensters

Sluit nu alle schermen van de freefields plugin. Sluit eventueel eerst alle actieve vensters via het menu item Extra->Sluit actieve vensters

Aanmaken generator

U moet nu nog de generator aanmaken voor het genereren van een uniek nummer voor de tabel.

Open de handytools via extra->Plugins-Handytools kies voor de tab "Run SQL" en voer daar deze tekst in

create generator GEN_TESTID;

Als u op de knop execute drukt heeft u de generator aangemaakt.

Bekijk het resultaat

Open nieuw het debiteuren scherm en kies een debiteur in de lijst. Druk op bewerken en zoek naar het tabblad Vrije velden in de tabbladen onderaan de debiteur.

 

U zou daar nu een extra tab moeten zien waar u meerdere records kunt invoeren. Als u op het + teken druk gaat u naar het detail scherm.

Hier kunt contact momenten vastleggen en direct een nieuw record invoeren of de huidige opslaan.

 

 


Bijlagen aanmaken Freefields

Entiteiten

Met freefields kunt u momenteel de volgende entiteiten koppelen aan een freefield layout.

STOCK : Voorraad tabel
STOCK_DESCRIPTIONS : Voorraad omschrijvingstabel
DEBTOR : Debiteuren
CREDITOR : Crediteuren
JOBCOST : Projecten
GROUPS : Groepen
GROUPS_DESCRIPTIONS : Groep omschrijvingen.
EVENTS : Agenda afspraken
SYSVARS : Uw bedrijfs-gegevens of vaste data.

U kunt daar verschillende veldtypes met verschillende controls gebruiken.

Speciale types zijn

STOCK_DESCRIPTIONS : per taal is er een layout te definiëren. Dit zodat een dropdown in een scherm de Engelse vertalingen kan oppakken en de Nederlandse die van de Nederlandse vertaling.
GROUPS : Per groep type is een layout te definiëren. bij voorraad groep 1 kan zo andere data worden ingevoerd dan bij een debiteuren groep. Dit wordt vooral gebruikt om extra data voor een webshop bij product groepen vast te leggen denk hier bij aan Zoek woorden etc.

Bij deze types moet na het aanmaken van het scherm de taal (STOCK_DESCRIPTIONS) id uit GROUPS en bij GROUPS het WGROUPTYPEID van de specifieke groep worden geplaatst

Controls

Er zijn verschillende controls beschikbaar hieronder de verklaringen en het gebruik er van.

M Memo

Met deze control kunt u grote tekst blokken invoeren. Of dit nu met een type STRING en een grootte lengte is of een BLOB type met een eindeloze lengte. Bij deze control is het mogelijk een hoogte op te geven.
VeldType : STRING,BLOB

 

B CheckBox


Met deze control kunt u een checkbox functie maken. Het beste type hiervoor is smallint maar een integer of nummeric mag ook.
Veldtype : Smallint,Integer,Numeric


IC CheckListBox


met deze control kunt u een checklist functie maken. De lijst wordt als string opgeslagen dus u moet voldoende ruimte reserveren voor de lijst.
Veldtype: String

IL ComboBox

Hiermee kunt u een dropdown lijst produceren. Deze control kan verschillende soorten velden gebruiken om de gegevens in weg te schrijven. Meestal is dit en lookup dus is het veldtype gelijk aan die van de sleutel uit het opzoek veld en dat is meestal integer maar mag oon string zijn.
VeldType:Integer,Smallint,Float,String

D TDateTimePicker

Datum control veldtype datetime , timestamp
Veldtype datetime , timestamp , String , float

T Time

Tijd control veldtype datetime , timestamp
Veldtype datetime , timestamp , String , float

Edit(text)

Text control voor tekst invoer
Veldtype String

N Number

Invoer van numerieke waardes (met een limit van het aantal achter de komma)
Veldtype: Float


F Float(numeric)

Invoer van numerieke waardes met een aantal achter de komma
Veldtype: Float


OC lookup creditors

Speciale lookup voor osFinancials om de crediteuren te kunnen koppelen. Dit is een snelzoek scherm deze worden altijd opgeslagen in numerieke velden.
Veldtype: Integer


OD Lookup Debtors

Speciale lookup voor osFinancials om de debiteuren te kunnen koppelen. Dit is een snel zoek scherm deze worden altijd opgeslagen in numerieke velden.
Veldtype: Integer


OG Lookup GL acounts

Speciale lookup voor osFinancials om de grootboeken te kunnen koppelen. Dit is een snel zoek scherm deze worden altijd opgeslagen in numerieke velden.
Veldtype: Integer


OT Lookup tax account

Speciale lookup voor osFinancials om de btw rekeningen te kunnen koppelen. Dit is een snel zoek scherm deze worden altijd opgeslagen in numerieke velden.Veldtype: Integer


OB Lookup bank account

Speciale lookup voor osFinancials om de bankrekeningen te kunnen koppelen. Dit is een snel zoek scherm deze worden altijd opgeslagen in numerieke velden.
Veldtype: Integer


OS Lookup Stock accounts

Speciale lookup voor osFinancials om de voorraad te kunnen koppelen. Dit is een snel zoek scherm deze worden altijd opgeslagen in numerieke velden.Veldtype: Integer


OA Lookup all GL accounts

Speciale lookup voor osFinancials om de alle rekeningen te kunnen koppelen. Dit is een snel zoek scherm deze worden altijd opgeslagen in numerieke velden.
Veldtype: Integer