Mercator maakt het mogelijk om de verkoop en aankoop van artikelen te beheren door afmetingen op te geven.
Bijvoorbeeld, voor een paneel dat per vierkante meter wordt verkocht, kan men de lengte en breedte invoeren, evenals het aantal verkochte panelen. Dit maakt het mogelijk om snijwerk te beheren, zoals bij panelen op maat.
Mercator biedt tot 3 meetcriteria.
De installatie moet gebeuren door de toevoeging van de volgende velden in de tabel STOCK:
- S_UNITE char(10)
- S_UNITE_V char(10) : verkoopeenheid
- S_UNITE_A char(10) : aankoopeenheid
- S_COEF_U_V float : conversiecoëfficiënt van de verkoopeenheid naar de voorraadeenheid
- S_COEF_U_A float : conversiecoëfficiënt van de aankoopeenheid naar de voorraadeenheid
- S_CRI_UNIT char(10) : eenheid, resultaat van berekening op basis van de meetcriteria
- S_CRITM1 char(10) : meetcriterium 1
- S_CRITM2 char(10) : meetcriterium 2
- S_CRITM3 char(10) : meetcriterium 3
- S_CRITMO1 bit : criterium 1 al dan niet bewerkbaar
- S_CRITMO2 bit : criterium 2 al dan niet bewerkbaar
- S_CRITMO3 bit : criterium 3 al dan niet bewerkbaar
- S_CRIDEF1 float : standaardwaarde van meetcriterium 1
- S_CRIDEF2 float : standaardwaarde van meetcriterium 2
- S_CRIDEF3 float : standaardwaarde van meetcriterium 3
- S_CRIMUL float : vermenigvuldigingscoëfficiënt in de berekening op basis van de meetcriteria
- S_CRIDIV float : delingscoëfficiënt in de berekening op basis van de meetcriteria
alter table STOCK add S_UNITE char(10) not null default ''
alter table STOCK add S_UNITE_V char(10) not null default ''
alter table STOCK add S_UNITE_A char(10) not null default ''
alter table STOCK add S_COEF_U_V float not null default 0
alter table STOCK add S_COEF_U_A float not null default 0
alter table STOCK add S_CRI_UNIT char(10) not null default ''
alter table STOCK add S_CRITM1 char(10) not null default ''
alter table STOCK add S_CRITM2 char(10) not null default ''
alter table STOCK add S_CRITM3 char(10) not null default ''
alter table STOCK add S_CRITMO1 bit not null default 0
alter table STOCK add S_CRITMO2 bit not null default 0
alter table STOCK add S_CRITMO3 bit not null default 0
alter table STOCK add S_CRIDEF1 float not null default 0
alter table STOCK add S_CRIDEF2 float not null default 0
alter table STOCK add S_CRIDEF3 float not null default 0
alter table STOCK add S_CRIMUL float not null default 0
alter table STOCK add S_CRIDIV float not null default 0
Indien u verschillende eenheden wilt beheren, zie Onderscheid in eenheden.
Deze velden zijn zichtbaar in het tabblad "Eenheden" van de het bestand "Artikels".
De hieronder weergegeven configuratie toont de mogelijkheid om een paneel op maat te verkopen door de lengte in mm op te geven. De breedte in mm ligt vast en kan niet worden gewijzigd door de gebruiker. Het resultaat van de berekening wordt uitgedrukt in vierkante meter. De delingscoëfficiënt van 1000000 wordt gebruikt om de 2 afmetingen in mm om te zetten naar vierkante meter.
Bij een verkoop wordt een invoerscherm voor afmetingen weergegeven als de verkoopeenheid gelijk is aan de resultaateenheid van de berekeningsformule op basis van de meetcriteria. Bij een aankoop wordt hetzelfde invoerscherm voor afmetingen weergegeven als de aankoopeenheid gelijk is aan de resultaateenheid van de berekeningsformule op basis van de meetcriteria.
Als u deze verschillende afmetingen wilt opslaan, voegt u gewoon de volgende velden toe aan LIGNES_V/LIGNES_A:
- CRITQ0 float : aantal
- CRITQ1 float : hoeveelheid van dimensie 1
- CRITQ2 float : hoeveelheid van dimensie 2
- CRITQ3 float : hoeveelheid van dimensie 3
Deze variabelen kunnen worden gebruikt in afdruklay-outs.
alter table LIGNES_V add CRITQ0 float not null default 0
alter table LIGNES_V add CRITQ1 float not null default 0
alter table LIGNES_V add CRITQ2 float not null default 0
alter table LIGNES_V add CRITQ3 float not null default 0
alter table LIGNES_A add CRITQ0 float not null default 0
alter table LIGNES_A add CRITQ1 float not null default 0
alter table LIGNES_A add CRITQ2 float not null default 0
alter table LIGNES_A add CRITQ3 float not null default 0
Het tabblad kan worden toegevoegd vanuit het MPGE-bestand dat is opgenomen in het bijgevoegde zip-bestand (zie uit te voeren bewerkingen).
Sinds versie 11 van Mercator is het mogelijk om een tweede set meetcriteria toe te voegen. Hiervoor moeten de volgende extra kolommen worden geïnstalleerd:
alter table STOCK add S_CRI_UNIT_BIS char(10) not null default ''
alter table STOCK add S_CRITM1_BIS char(10) not null default ''
alter table STOCK add S_CRITM2_BIS char(10) not null default ''
alter table STOCK add S_CRITM3_BIS char(10) not null default ''
alter table STOCK add S_CRITMO1_BIS bit not null default 0
alter table STOCK add S_CRITMO2_BIS bit not null default 0
alter table STOCK add S_CRITMO3_BIS bit not null default 0
alter table STOCK add S_CRIDEF1_BIS float not null default 0
alter table STOCK add S_CRIDEF2_BIS float not null default 0
alter table STOCK add S_CRIDEF3_BIS float not null default 0
alter table STOCK add S_CRIMUL_BIS float not null default 0
alter table STOCK add S_CRIDIV_BIS float not null default 0
Het bestand 0537_Articles_Dimensions_avec_bis.mpge in het bijgevoegde zip-bestand bevat een tweede blok met deze aanvullende meetcriteria.
De gebeurtenis BeforeMeasurementCriteriaDialog van de BillingEngine wordt geactiveerd vóór de weergave van het dialoogvenster voor het invoeren van afmetingen.
Het is mogelijk om de weergave van dit dialoogvenster te blokkeren via e.CancelDialogDisplay = true.
De gebeurtenis BeforeMeasurementCriteriaWhenChangingQ van de BillingEngine wordt geactiveerd vóór de weergave van de pop-up voor het invoeren van afmetingen wanneer men in de kolom "hoeveelheid" klikt. De weergave van deze pop-up kan worden geblokkeerd via e.CancelPopupDisplay = true.
De gebeurtenis MeasurementCriteriaAfterUpdateAmounts van de BillingEngine maakt het mogelijk om het berekende totaal in het invoerscherm van de afmetingen aan te passen.
Bijvoorbeeld, om afronding af te dwingen volgens de verkoopverpakking:
namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
{
public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.MeasurementCriteriaAfterUpdateAmounts += billingEngine_MeasurementCriteriaAfterUpdateAmounts;
}
public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.MeasurementCriteriaAfterUpdateAmounts -= billingEngine_MeasurementCriteriaAfterUpdateAmounts;
}
void billingEngine_MeasurementCriteriaAfterUpdateAmounts(object sender, MercatorUi.Engine.Gescom.BillingEngine.MeasurementCriteriaAfterUpdateAmountsEventArgs e)
{
MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
if ((e.StockRecord.S_CONDIT_V.CompareTo(0d, Globals.N_DEC_Q) > 0) && e.DataRowStock["s_unite_v"].Equals(e.DataRowStock["s_cri_unit"]))
e.ComputedQ = billingEngine.ArrCondit(e.ComputedQ, e.StockRecord.S_CONDIT_V);
}
}
}
Trefwoorden: lengte, breedte, hoogte, diepte, volume, oppervlakte
Te laden :
0000000537.zip (5 Kb - 21-03-2024)