De standaard methode “FindNearest” geeft niet het juiste resultaat om het dichtst bijzijnde record te vinden waarvan de waarden groter zijn dan of gelijk aan de gevraagde waarden.
JoPPS scripting werd voorzien van een extra methode “GotoNearest” die bovenstaand probleem oplost.
Voor de basisgegevens en bibliotheek tabellen is het desbetreffende script object van een extra methode “GotoNearest” voorzien :
Table object Key fields
CONTACTS CODE
FINISHES CODE
SYSTEMS CODE
PROFILES CODE.SYSTEM, CODE.PROFILE
PRODUCTS CODE.PRODUCT, CODE.LENGTH
COMBINATIONS CODE.SYSTEM1, CODE.PROFILE1, CODE.SYSTEM2, CODE.PROFILE2
GLAZINGBEADS CODE.GLAZINGBEAD, CODE.THICKNESS
ENFORCEMENTS CODE.ENFORCEMENT, CODE.ORIENTATION, ENFORCEMENT.LENGTH
ACCESSORIES CODE
ACCESSORYSETS CODE
ACCESSORYTABLE CODE.SET, CODE.WIDTH, CODE.HEIGHT
FILLING CODE
WINDOWFINISHING CODE
PRICEGROUPS CODE.GROUP, CODE.BLOCK
PRICES CODE.SYSTEM, CODE.MODEL
PRICESTANDARDS CODE.SYSTEM, CODE.MODEL, CODE.WIDTH, CODE.HEIGHT
PRICETARIFFS CODE.SYSTEM, CODE.MODEL, CODE.WIDTH, CODE.HEIGHT
ACTIONS CODE
OPERATIONS CODE
TASKS CODE
CEDATA CODE.CEDATA, CODE.WIDTH, CODE.HEIGHT
JOB CODE
UPROFILE CODE.PRODUCT1, CODE.PRODUCT2, CODE.PRODUCT3,
CODE.ENFORCEMENT1, CODE. ENFORCEMENT2, CODE. ENFORCEMENT3,
CODE.GLAZINGBEAD1, CODE.GLAZINGBEAD2,CODE.ISOLATOR,
CODE.FINISH, CODE.FUNCTION, CODE.POSITION
UFILLING CODE
IMAGES CODE.USAGE, CODE.DESIGN
FRAME CODE
VENT CODE
Voorbeeld:
pt := PriceTariffs.Create();
pt.DoCacheSearch := False;
b := StrToNum(AskStr('Breedte','Waarde:','1000',5,'9'));
h := StrToNum(AskStr('Hoogte' ,'Waarde:','1000',5,'9'));
pt.Code.System := '';
pt.Code.Model := 'TEST';
pt.Code.Width := b;
pt.Code.Height := h;
if pt.GotoNearest() then
{
msg := 'Reeks = ' + Trim(pt.Code.System) + crlf +
'Model = ' + Trim(pt.Code.Model) + crlf +
'Breedte = ' + NumToStr(pt.Code.Width ,1,0) + crlf +
'Hoogte = ' + NumToStr(pt.Code.Height,1,0) + crlf ;
ShowMessage(msg);
};
pt.Free();