#include %VHMacro #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" ;Toegang zie global ^RES("Derde.EC","PI","TOEGANG") #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 tgKlantProdRef "MN:KPR" #define tgIntraStat "MN:IS" #define tgIntMenu "IM" #define tgAgenda "IM:AG" #define tgOmzet "IM:OMZ" #define tgRecentVkp "IM:RV" #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" ; 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 opOldTandemBox "OP:OLDTBX" #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,"STD") #define opDefault(%Dom) $$$opGrp(%Dom,"STD") #define tgMax(%Dom) $$$tgGrp(%Dom,"MAX") #define opMax(%Dom) $$$opGrp(%Dom,"MAX") ;ControlType #define ctRadio "Radio" #define ctCheckBox "CheckB" #define ctCombo "Combo" #define ctEdit "Edit" #define ctGroepVertical "GrpVert" ; Product groep #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 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)) #define StripC0(%Local) $S($C(0)[$G(%Local):"",1:%Local) ;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 logGrpError "ERR" #define logGrpSessie "SES" #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 OfferteOpen Do ..OpenOfferte() #define OfferteSave Set Status=..SaveOfferte() #define OfferteResetVerstuurd Set %blFlowOfferte.oOfferte.OverzichtVerstuurd="" ; 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 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") ;ClassMethods #Define cmLogging ##class(BL.EC.Logging)