#include vhLib.Macro #define PageSize 100 #define PageWindowPlus 10 #define PageWindowMin -10 ; Domein ^RES("Derde.EC","PI","DOMEIN") #define domVanHoecke "VH" #define domOrgalux "OL" #define domHein "HEIN" #define domOptima "OPTIMA" ; Toegangsgroep (verschillende mogelijkheden per domain) ; Bijv tggVHIntern="INT", zoals omschreven in ^RES("DERDE.EC","PI","VH","D","INT") #Define tggStandard "STD" #Define tggVHIntern "INT" #Define tggBigKlant "BIG" #Define tggMaximum "MAX" ;Toegang zie global ^RES("DERDE.EC","PI","ACCESS") ;d GenerateRes^vhTools("DERDE.EC","BL.EC.Common","ACCESS","Toegangen","tg") #define tgMenu "MN" #define tgWebShop "MN:WS" #define tgOfferte "MN:OF" #define tgOrder "MN:OD" #define tgDirectOrder "MN:DO" #define tgContractOrder "MN:CO" #define tgFactuur "MN:FA" #define tgUitlevering "MN:UL" #define tgHistoriek "MN:HS" #define tgFavorites "MN:FV" #define tgPrijsLijst "MN:PL" #define tgKlantProdRef "MN:KPR" #define tgIntraStat "MN:IS" #define tgIntMenu "IM" #define tgAgendaDag "IM:AGD" #define tgAgendaKlant "IM:AGK" #define tgKennisAnker "IM:KA" #define tgKlachten "IM:KL" #define tgOmzet "IM:OMZ" #define tgRecentVkp "IM:RV" #define tgKlantInfo "IM:KI" #define tgKlantSelect "KS" #define tgProductTree "PT" #define tgProductTxt "PS" #define tgProductKortTekst "PS:KT" #define tgProductIdentNr "PS:ID" #define tgProductKlantRef "PS:KR" #define tgProductLangTekst "PS:LT" #define tgWizard "WZ" #define tgWizardTBX "WZ:TBX" #define tgWizardGRP "WZ:GRP" #define tgWizardTLM "WZ:TLM" #define tgWizardHK "WZ:HK" #define tgWizardSDM "WZ:SDM" ; Intersect : Opties met "I" betekend dat de opties pas geldig is als alle nivo (domein, klant en gebruiker) ze definieert (zoald menuitem) ; Union : Opties met "U" betekend dat de opties geldig zijn als het in 1 nivo gedefinieerd is #define opOptions "OP" #define opIsKS "OP:KS:U" #define opAllowAllProd "OP:AAP:U" #define opIsHandel "OP:HAN:U" #define opNoPrice "OP:NP:U" #define opHasProdRef "OP:PR:U" #define opShowProdRef "OP:SPR" #define opShowProdGrp "OP:SPG" #define opShowUitgebreid "OP:SUG:U" #define opShowProdDetail "OP:SPD:U" #define opOldTandemBox "OP:OLDTBX" #define opMaxDomVanHoecke $LB($$$opShowProdRef,$$$opShowProdGrp,$$$opOldTandemBox) #define NoPrice 99.99 #define tgGrp(%Dom,%Grp) ^RES("DERDE.EC","PI",%Dom,"D",%Grp,"TG") #define opGrp(%Dom,%Grp) ^RES("DERDE.EC","PI",%Dom,"D",%Grp,"OP") #define tgDefault(%Dom) $$$tgGrp(%Dom,$$$tggStandard) #define opDefault(%Dom) $$$opGrp(%Dom,$$$tggStandard) #define tgMax(%Dom) $$$tgGrp(%Dom,$$$tggMaximum) #define opMax(%Dom) $$$opGrp(%Dom,$$$tggMaximum) ;ControlType #define ctRadio "Radio" #define ctCheckBox "CheckB" #define ctCombo "Combo" #define ctEdit "Edit" #define ctGroepVertical "GrpVert" #define ctDate "Date" ; Product groep #define pgManueel 3499 #define pgBeslag 3410 #define pgBeslagBlum 3411 #define pgBeslagAndere 3412 #define pgMaatWerk 3420 #define pgMaatWerkALU 3421 #define pgMaatWerkTBX 3422 #define pgMaatWerkAndere 3423 #define pgOrgalux 3430 #define pgAllProductGroepenList $LB($$$pgBeslagBlum,$$$pgBeslagAndere,$$$pgMaatWerkALU,$$$pgMaatWerkTBX,$$$pgMaatWerkAndere,$$$pgOrgalux) #define pgProductGroepenList $LB($LB($$$pgBeslag,$$$pgBeslagBlum,$$$pgBeslagAndere),$LB($$$pgMaatWerk,$$$pgMaatWerkALU,$$$pgMaatWerkTBX,$$$pgMaatWerkAndere),$$$pgOrgalux) ; Login encryptie #define liPlain 0 #define liMD5 1 #define liBase64 10 #define liHex 20 #define SessieEncrypt "SessieGeheimeSleutel" ;Vertalingsgroep #define VertalingsGroep "EC" #define DynaPlugVertalingsGroep "DP" ;Status Error Codes ; Status Error codes -> 10XX = warning Sessie/toegang #define errWrongLogin 1000 ; Status Error codes -> 15XX = severe Sessie/toegang #define errSessionNoSave 1500 #define errSessionWrongKey 1501 #define errTransfer 1502 #define errToegangIDNotExist 1503 #define errOudWachtWoordFoutief 1504 #define errWachtWoordTeKort 1505 #define errWachtWoordTeLang 1506 #define errToegangNoSave 1507 #define errToegangNotAllowed 1508 ; Status Error codes -> 19XX = ProductAfgeleid (GAData + GAKader) ; "GAData Product not created" #define errGADataNoProd 1901 ; "Error in GAData Product Build" #define errGADataBuild 1902 ; "GAData Product: Invalid products" #define errGADataValidPR 1903 ; "KPR Product not created" #define errGADataNoKPRProd 1904 ; "Geen Design gevonden" #define errGADataNotFoundDS 1910 ; "Geen Standaard Design" #define errGADataNoStdDesign 1911 ; "TemplateCode niet gevonden" #define errGADataNotFoundTPCode 1912 ; "TemplateID niet gevonden" #define errGADataNotFoundTPID 1913 ; Diverse #define Translate(%Key) ##class(Res.Vertaling).GetVertalingPlus($$$VertalingsGroep,%Key,"O",$S($L($G(%Taal)):%Taal,1:%ECSession.Taal),,1) #define DynaPlugTranslate(%Key) ##class(Res.Vertaling).GetVertalingPlus($$$DynaPlugVertalingsGroep,%Key,"O",$S($L($G(Taal)):Taal,1:%ECSession.Taal),,1) #define Link(%Key) ##class(Res.VertalingLink).GetLinkVertaling($$$VertalingsGroep,%Key,"LB",$S($L($G(%Taal)):%Taal,1:%ECSession.Taal),,"WWW") #define errCreate(%Key) ##class(BL.EC.pxStatus).Create(%Key,$$$Translate(%Key)) #define errCreateWithText(%Key,%Text) ##class(BL.EC.pxStatus).Create(%Key,$$$Translate(%Key)_%Text) #define ListRemove(%List,%Pos) Set:%Pos %List=$LI(%List,1,%Pos-1)_$LI(%List,%Pos+1,$LL(%List)) ;Dynaplug #define dpStatusOK(%Key) ##class(BL.EC.pxDynaPlug).Create($$$OK,$$$DynaPlugTranslate(%Key)) #define dpStatusERR(%Key) ##class(BL.EC.pxDynaPlug).Create(%Key,$$$DynaPlugTranslate(%Key)) #define WSInternalSecureKey "kuz5JafRew6ESPUD9a3aqAcA2a" ;BL.EC.Toegang - Logging ;GetStatistics TimeInterval constanten #define tiDaily 1 #define tiHourly 2 ;Statistic Array nodes #Define userKl 1 #Define userVTW 2 #Define userInt 3 #Define statReq 1 #Define statSes 2 #Define statUser 3 #Define statGVO 4 ;Session #define ReInstateSession(%SK) Set Status=##class(BL.EC.Session).ReInstateSession(.%SK) Quit:$isObject(Status) Status #define ControleToegang(%Toegang,%Actie,%Detail) Set Status=%blSession.ControleToegang(%Toegang,%Actie,%Detail) Quit:$isObject(Status) Status #define SaveSession Set Ok=%ECSession.%Save() ;AddToLog #define logGrpToegang "REQ" #define logGrpAgenda "AGN" #define logGrpError "ERR" #define logGrpSessie "SES" #define logGrpDoelen "DOE" #define AddToLog(%n,%g,%a,%m) Do AddToLog^BL.EC.Common(%n,%g,%a,%m) #define AddErrorToLog(%g,%a,%e) Do AddErrorToLog^BL.EC.Common(%g,%a,%e) #define WebServiceTrap New $ESTACK,$ETRAP Set $ETRAP="Do WebServiceTrap^BL.EC.Common()" #define MailTrap New $ESTACK,$ETRAP Set $ETRAP="Do MailTrap^BL.EC.Common()" #define WP(%Val) D WLIP^vhDBG(15,%Val) #define InitOldLocals New D,U,Q Set D="\",U=";",Q="K" ; Webshop - offerte #define OffStatHas(%oLijn,%Code) $LF(%oLijn.Status,%Code) #define OffStatMoederProduct "MP" #define OffStatFoutievePrijs "VP" #define OffStatGeenProduct "GP" #define OffStatGeenKindProduct "GPK" #define OffStatLevertermijn "LT" #define OffStatLevertermijnKind "LTK" #define OffStatAantal "AA" #define OffStatAantalKind "AAK" #define OffStatAfgeleidProd "GA" #define OffStatAfgeleidProdKind "GAK" #define OffLijnInsert "I" #define OffLijnModify "M" #define OffLijnDelete "D" #define OfferteOpen Do ..OpenOfferte() #define OfferteSave Set Status=..SaveOfferte() #define OfferteResetVerstuurd Set %blFlowOfferte.oOfferte.OverzichtVerstuurd="" ; Flow.Offerte.Product -> SearchKey #define skPakket "PAKKET" #define skIdentNr "I" #define skKortTekst "K" #define skEAN "EAN" ; business logic #define blTestExist(%blObj,%class) Set:'$D(%blObj) %blObj=$$NewClass^vhLib(%class) #define blGeneral ;$$$blTestExist(%blGeneral,"BL.EC.General") #define blSession $$$blTestExist(%blSession,"BL.EC.Session") #define blToegang $$$blTestExist(%blToegang,"BL.EC.Toegang") #define blData $$$blTestExist(%blData,"BL.EC.Data") #define blEDI $$$blTestExist(%blEDI,"BL.EC.EDI") #define blProduct $$$blTestExist(%blProduct,"BL.EC.Product") #define blWebShop $$$blTestExist(%blWebShop,"BL.EC.WebShop") #define blDynaPlan $$$blTestExist(%blDynaPlan,"BL.EC.DynaPlan") #define blDynaPlug $$$blTestExist(%blDynaPlug,"BL.EC.DynaPlug") #define blWizard $$$blTestExist(%blWizard,"BL.EC.Wizard") #define blFlowOfferte $$$blTestExist(%blFlowOfferte,"BL.Flow.Offerte.Build") #define blFlowOffProdGAData $$$blTestExist(%blFlowOffProdGAData,"BL.Flow.Offerte.ProductGAData") #define blFlowOffProdGAKader $$$blTestExist(%blFlowOffProdGAKader,"BL.Flow.Offerte.ProductGAKader") #define blFlowOffProd $$$blTestExist(%blFlowOffProd,"BL.Flow.Offerte.Product") #define blFlowOffOrder $$$blTestExist(%blFlowOffOrder,"BL.Flow.Offerte.Convert2Order") #define blLeverTermijn(%RefDate) Set:'$D(%blLeverTermijn) %blLeverTermijn=$$blLeverTermijn^BL.EC.Common(%RefDate) ;ClassMethods #Define cmLogging ##class(BL.EC.Logging) ;RecordTypes #Define rtPDF "PDF" #define rtXML "XML" #define rtCHECK "CHK" ;FTP servername #Define vHisieDownloadIntern "vhisiedownload.vanhoecke.be" #Define vHisieDownloadExtern "http://res.vanhoecke.be/vhisiedownload" ;Constants #Define cntPasswordChangedByUserMsg "Het paswoord is door de gebruiker zelf bepaald en wordt om veiligheidsredenen niet bewaard."