U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Een link instellen naar een signaletiek in een grid

0000003098     -      25-03-2024

1. In een vrije tabel

Laten we eens kijken naar een vrije tabel met de naam "Test". We willen een koppeling met de klantenfiches toevoegen, d.w.z. de mogelijkheid om een gevalideerde klant in te voeren en een kolom te krijgen die de bijbehorende naam weergeeft. 

Deze vrije tabel bevat de ID_CLI kolom.

alter table FREE_TABLE_TEST add id_cli char(10) not null default ''

 

Met de customizer van de vrije tabel moet u eerst deze StringUpdater instellen om de SQL-query aan te passen:

  • lijn 1
    • *
    • *,id_cli as UserDefinedButtonColumnShowSigCli,cli.c_nom as nom_client
  • lijn 2
    • from FREE_TABLE_TEST
    • from FREE_TABLE_TEST left join CLI on id_cli=c_id

 

Vervolgens moet je deze kolomregel specificeren op de kolom Name = UserDefinedButtonColumnShowSigCli :

  • ButtonSigLink
    • SigIdColumn = id_cli
    • SigNameColumn = nom_client

Deze eigenschappen vertellen Mercator welke kolommen respectievelijk de klant-ID en -naam bevatten. Als deze kolommen gedefinieerd zijn en bestaan, zal Mercator alle nodige mechanismen in werking stellen, inclusief het automatiseren van de pictogramverandering in de kolom "knop".

free_table_cli_NL


 

2. In een grid van een signaletiek

Stel dat we een "Artikels"-signaletiek hebben dat wijzigingen toestaat, waarin we informatie willen kunnen opslaan die is gekoppeld aan klanten volgens een 1-n-relatie.

De SQL-tabel achter dit raster is gemaakt met deze query:

CREATE TABLE [dbo].[STOCKEXT](
                [ID_STOCK] [char](10) NOT NULL default '',
                [ID] [char](10) NOT NULL default '',
                [ORDRE] [int] NOT NULL default 0,
                [ID_CLI] [char](10) NOT NULL default '',
                [INFO] [varchar](50) NOT NULL default '',
CONSTRAINT [PK_STOCKEXT] PRIMARY KEY CLUSTERED
(
                [ID_STOCK] ASC,
                [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

ALTER TABLE [dbo].[STOCKEXT] WITH CHECK ADD CONSTRAINT [FK_STOCKEXT_STOCK] FOREIGN KEY([ID_STOCK]) REFERENCES [dbo].[STOCK] ([S_ID]) ON UPDATE CASCADE ON DELETE CASCADE
ALTER TABLE [dbo].[STOCKEXT] WITH CHECK ADD CONSTRAINT [FK_STOCKEXT_CLI] FOREIGN KEY([ID_CLI]) REFERENCES [dbo].[CLI] ([C_ID]) ON UPDATE CASCADE ON DELETE CASCADE

CREATE INDEX ORDRE ON [dbo].[STOCKEXT] (ORDRE)

 

Het raster is gekoppeld aan deze query:

select id_stock,id,ordre,[id_cli],id_cli as UserDefinedButtonColumnShowSigCli,cli.c_nom as nom_client,[info] 
from STOCKEXT inner join CLI on id_cli=c_id where id_stock=@s_id
order by ordre

 

Specificeer vervolgens eenvoudig deze kolomregel op de kolom Name = UserDefinedButtonColumnShowSigCli :

  • ButtonSigLink
    • SigIdColumn = id_cli
    • SigNameColumn = nom_client

zodat Mercator alle mechanismen kan toepassen die nodig zijn om het te koppelen aan de signaletiek van de klant.

 

Opmerking: de tweede foreign key voorkomt dat een lege regel wordt opgeslagen. Dit gedrag is wenselijk.