Resource.Image BL.EC.Common,Prod.Product,vhLib.Macro 1 %RegisteredObject 0 ImageLinkControle_01.01 DocType voor task-keywords (zie ook BL.Sys.FOP.Common.INC) PRIJSLIJST PrijsLijst PL ICT6050 PB;AG;FO;VG;IL;FI;TA;QT;VB;VF;MO;PL;PI;CA FLOAPT PR 1 EPS wordt gereactiveerd en de EPS (key VX) wordt aangemaakt Status = "S" -> SVG wordt gereactiveerd en de EPS (key VX) wordt verwijderd Status = "" -> SVG wordt gedeactiveerd]]> 1 PRNr,Status="E" %ID,Element_Key,Links_VisueelType,Links_Extensie,Links_Pad,Links_BestandsNaam,ImageLink->AspectRatio,ImageLink->ScaleFactor INTO :ImgID,:Key,:VisueelType,:Extensie,:Pad,:Naam,:AspectRatio,:Scale FROM Res.ImageLink_Links WHERE (ImageLink->ObjType='PR') AND (ImageLink->ObjRef=:PRNr) AND (Links_VisueelType='V') OR (Links_VisueelType='VX') ) &sql(OPEN SVGSet) For &sql(FETCH SVGSet) Quit:SQLCODE Do . Do ..SVGSetByFileName(Pad,Naam,Status) &sql(CLOSE SVGSet) ]]> 1 Pad,Naam,Status %ID,Element_Key,Links_VisueelType,Links_Extensie,Links_Pad,Links_BestandsNaam,ImageLink->AspectRatio,ImageLink->ScaleFactor INTO :ImgID,:Key,:VisueelType,:Extensie,:Pad,:Naam,:AspectRatio,:Scale FROM Res.ImageLink_Links WHERE (Links_BestandsNaam=:Naam) and (Links_Pad=:Pad) and (Links_VisueelType='V') OR (Links_VisueelType='VX') ) &sql(OPEN SVGSetFile) For &sql(FETCH SVGSetFile) Quit:SQLCODE Do . Set oImg=##class(Res.ImageLink).%OpenId(ImgID) . Set PRNr=$P(ImgID,"||",2) . Write ImgID," ",$P($G(^KPR(PRNr,0)),"\"),! . Set oLink=oImg.Links.GetAt("V") . Quit:'$isObject(oLink) . If Status="E" Do ; enable als EPS . . Set oLink.VisueelType="V" . . Set oLink.Extensie="SVG" . . Set oLink2=oLink.%ConstructClone() . . Set oLink2.VisueelType="V" . . Set oLink2.Extensie="EPS" . . Do oImg.Links.SetAt(oLink2,"VX") . Else If Status="S" Do ; enable als SVG . . Set oLink.VisueelType="V" . . Set oLink.Extensie="SVG" . . Do oImg.Links.RemoveAt("VX") . Else If Status=0 Do ; disable . . Set oLink.VisueelType="VX" . Set sc=oImg.%Save() . Write $$ParseStatus^vhLib(sc) &sql(CLOSE SVGSetFile) ]]> Of bij het afdrukken van het document plaatst moet gereserveerd worden om een Image column te tonen. KLNr,DocType,DocRef %Boolean Of bij het afdrukken van het document voor dat product een image (indien bestaande) mag geplaatst worden. Action = PRINT; MAIL; FAX; FILE KLNr,PRNr,DocType,DocRef,Action %Boolean Ophalen van de CRM definitie afhankelijk van klant, productgroep en documenttype. met cascade van klant naar regio en Allen en met cascade van productgroep naar Allen KLNr,ProdGrp,DocType %Integer Definieren van de DocTypes waarbij de klant afbeeldingen wenst. Indien lbDocTypes="DEFAULT" dan wordt de definitie gewist en wordt er terug gedefault vanuit regio KLNr,lbDocTypes:%List Ophalen van de DocTypes waarbij afbeeldingen getoond worden voor die klant Indien NIET klantspecifiek gedefinieerd dan wordt IsDefault opgezet D ##class(BL.Prod.ImageLink).InitCRMImage() 1 d ##class(BL.Prod.ImageLink).TBXImageCode(PRNr) Bepaald aan de hand van de productkenmerken de code voor het beeld Het eigenlijke beeld moet nog opgezocht worden in datastructuur Res.ImageLink 1 PRNr w ##class(BL.Prod.ImageLink).TBXImageViaCode("DLS2","BK","II") Bepaald aan de hand van kenmerken de code voor het beeld Wordt ook direct opgeroepen vanuit de TBX wizard 1 LadeCode,BoxSide,Design,BinnenGreep,SPZK d ##class(BL.Prod.ImageLink).KADImageCode(PRNr) 1 PRNr 1 0 Parameter Gebruik = Intern of Extern URLMode = FLEX,WEB,FOP,FILE, ... w ##class(BL.Prod.ImageLink).%New().GetInfoPageURL() PRNr:%Integer,Gebruik:%String="E",Taal="N" Gebruik = Intern of Extern d ##class(BL.Prod.ImageLink).DelObj(PRNr) 1 PRNr d ##class(BL.Prod.ImageLink).DelObj(PRNr) 1 PRNr 1 VanPRNr,NaarPRNr d ##class(BL.Prod.ImageLink).ControleImageURLs() 1 Toepassing:%String %ID,Element_Key,Links_VisueelType,Links_Extensie,Links_Pad,Links_BestandsNaam,ImageLink->AspectRatio,ImageLink->ScaleFactor,Links_Sequence INTO :ImgID,:Key,:VisueelType,:Extensie,:Pad,:Naam,:AspectRatio,:Scale,:Sequence FROM Res.ImageLink_Links) &sql(OPEN CtrlImgURL) For &sql(FETCH CtrlImgURL) Quit:SQLCODE Do . Set URL=bl.CreateURL(Toepassing,Pad,Naam,Extensie,$S(Sequence:1,1:"")) . If ##class(%File).Exists(URL) Do . . ;Write ImgID,*9,KortTekst,*9,Key_$S(Sequence:"."_Sequence,1:""),*9,Pad,"\",Naam,".",Extensie,! . . ;Set FileSize=##class(%File).GetFileSize(URL) . Else Do ; Bestaat niet . . If $P(ImgID,"||")="PR" Do . . . Set KortTekst=$P($G(^KPR($P(ImgID,"||",2),0)),"\",1) . . Else Do . . . Set KortTekst="" . . Write ImgID,*9,KortTekst,*9,Key_$S(Sequence:"."_Sequence,1:""),*9,Pad,"\",Naam,".",Extensie,! &sql(CLOSE CtrlImgURL) ]]> Extra Parameter ImgInfo (bevat de ImageLinkID's en de URL)]]> Extra Parameter ImgInfo (bevat de ImageLinkID's en de URL)]]> %ID,Element_Key,Links_VisueelType,Links_Extensie,Links_Pad,Links_BestandsNaam,ImageLink->AspectRatio,ImageLink->ScaleFactor INTO :ImgID,:Key,:VisueelType,:Extensie,:Pad,:Naam,:AspectRatio,:Scale FROM Res.ImageLink_Links WHERE (ImageLink->ObjType=:ObjType) AND (ImageLink->ObjRef=:ObjRef) AND (ImageLink->FunctieType=:FunctieType) AND (ImageLink->Taal=:Taal OR ISNULL(ImageLink->Taal,'*')='*')) Set SelectMin=99999 &sql(OPEN ProdImgURLext) For &sql(FETCH ProdImgURLext) Quit:SQLCODE Do . ;w VisueelType,Extensie,! . Set PosVis=$LF(Pref,VisueelType) . ;d WLIP^vhDBG(15, "VIS:"_$$LCVT^vhLib(Pref)_" = "_VisueelType_"->"_PosVis) . Quit:'PosVis . Set PosExt=$LF($LI(Pref,PosVis+1),Extensie) . ;d WLIP^vhDBG(15, "EXT:"_$$LCVT^vhLib($LI(Pref,PosVis+1))_" = "_Extensie_"->"_PosExt) . Quit:'PosExt . Set SelectVal=PosExt+(PosVis*100) . ;d WLIP^vhDBG(15,"SelectVal"_SelectVal) . If SelectMin>SelectVal Do . . Set SelectMin=SelectVal . . Set SelectID=ImgID . . Set SelectKey=Key . . Set SelectVisueelType=VisueelType . . Set SelectExtensie=Extensie . . Set SelectPad=Pad . . Set SelectNaam=Naam . . Set SelectAspectRatio=AspectRatio . . Set SelectScale=Scale &sql(CLOSE ProdImgURLext) Quit:$G(SelectNaam)="" Set URL=..CreateURL(Toepassing,SelectPad,SelectNaam,SelectExtensie) If Toepassing?1(1"FOPEMBED".E) Do . Set URL=##class(BL.FOP.Basis.pxAttribType).Create(URL,$S($$$UCase(SelectExtensie)="SVG":"SVG",1:""),$J(SelectAspectRatio,0,4),$J(SelectScale,0,2)) . ;d WLIP^vhDBG(97,"Toep:"_$G(Toepassing)_" Pref:"_$$$LCVT($G(Pref))) . ;d WL^vhDBG($$ObjToText^vhLib(URL)) Set ImgInfo("URL")=URL Set ImgInfo("SelectID")=SelectID Set ImgInfo("SelectKey")=SelectKey Quit ]]> Toepassing : FLEX, WEB, FOPLINK, FOPEMBED, LABEL, PRINT, FILE FormatPref : De toepassing default de FormatPreferenties $LB("SVG";"JPG") w ##class(BL.Prod.ImageLink).%New().GetProductImageURL(284266,"WEB") s o=##class(BL.Prod.ImageLink).%New().GetProductImageURL(231552,"FOPEMBED") d DumpObject^%apiOBJ(o) PRNr:%Integer,Toepassing:%String,FunctieType:%String="PB",Pref:%List,Dummy:%List,Taal:%String="" Toepassing : FLEX, WEB, FOPLINK, FOPEMBED, LABEL, PRINT, FILE, WMS, MAKOVA FormatPref : De toepassing default de FormatPreferenties $LB("SVG";"JPG") w ##class(BL.Prod.ImageLink).%New().GetImageURL("TBX","DZ_ER","MAKOVA") ObjType:%String,ObjRef:%String,Toepassing:%String,FunctieType:%String="PB",Pref:%List,Taal:%String="" %ID,Element_Key,Links_VisueelType,Links_Extensie,Links_Pad,Links_BestandsNaam,ImageLink->AspectRatio,ImageLink->ScaleFactor INTO :ImgID,:Key,:VisueelType,:Extensie,:Pad,:Naam,:AspectRatio,:Scale FROM Res.ImageLink_Links WHERE (ImageLink->ObjType=:ObjType) AND (ImageLink->ObjRef=:ObjRef) AND (ImageLink->FunctieType=:FunctieType) AND (ImageLink->Taal=:Taal OR ISNULL(ImageLink->Taal,'*')='*')) Set SelectMin=99999 &sql(OPEN ProdImgURL) For &sql(FETCH ProdImgURL) Quit:SQLCODE Do . ;w VisueelType,Extensie,! . Set PosVis=$LF(Pref,VisueelType) . ;d WLIP^vhDBG(15, "VIS:"_$$LCVT^vhLib(Pref)_" = "_VisueelType_"->"_PosVis) . Quit:'PosVis . Set PosExt=$LF($LI(Pref,PosVis+1),Extensie) . ;d WLIP^vhDBG(15, "EXT:"_$$LCVT^vhLib($LI(Pref,PosVis+1))_" = "_Extensie_"->"_PosExt) . Quit:'PosExt . Set SelectVal=PosExt+(PosVis*100) . ;d WLIP^vhDBG(15,"SelectVal"_SelectVal) . If SelectMin>SelectVal Do . . Set SelectMin=SelectVal . . Set SelectID=ImgID . . Set SelectKey=Key . . Set SelectVisueelType=VisueelType . . Set SelectExtensie=Extensie . . Set SelectPad=Pad . . Set SelectNaam=Naam . . Set SelectAspectRatio=AspectRatio . . Set SelectScale=Scale &sql(CLOSE ProdImgURL) Quit:$G(SelectNaam)="" "" Set URL=..CreateURL(Toepassing,SelectPad,SelectNaam,SelectExtensie) If Toepassing?1(1"FOPEMBED".E) Do . Set URL=##class(BL.FOP.Basis.pxAttribType).Create(URL,$S($$$UCase(SelectExtensie)="SVG":"SVG",1:""),$J(SelectAspectRatio,0,4),$J(SelectScale,0,2)) Quit URL ]]> Toepassing %List Toepassing,Pad,FileNaam,Extensie,Sequence 1 Pad1,Pad2,Delim AND (Taal=:Taal OR isnull(Taal,"*")="*") %Query ObjType,ObjRef,lbFunctieType:%List,Taal 0 AND (Taal=:Taal OR isnull(Taal,'*')='*') ORDER BY $ListFind(:lbFunctieType,FunctieType)]]> %SQLQuery ID:%String,FunctieType:%String,lbVisueelType:%List,lbExtensie:%List,Taal ID=:ID AND ImageLink->FunctieType=:FunctieType AND $ListFind(:lbVisueelType,Links_VisueelType)>0 AND $ListFind(:lbExtensie,Links_Extensie)>0 AND (ImageLink->Taal=:Taal OR isnull(ImageLink->Taal,'*')='*') ORDER BY $ListFind(:lbVisueelType,Links_VisueelType),$ListFind(:lbExtensie,Links_Extensie)]]> 1 1 1 Pad1,Pad2,BestandsNaam,Sequence,Extensie,Delim =================================================================================================================================================== QUERY: QGetLinks =================================================================================================================================================== %Query PRNr,lbFunctieType:%List,lbVisueelType:%List,lbExtensie:%List,Taal 1 0 %Status 0 AND (Taal=:Taal OR isnull(Taal,'*')='*') ORDER BY $ListFind(:lbFunctieType,FunctieType) ) &sql(OPEN GetViaFunctieTypes) Kill Result For &sql(FETCH GetViaFunctieTypes) Quit:SQLCODE Do . For I=1:1:$S(Sequence:Sequence,1:1) Do . . Set Result($I(Result))=..BldName(.StartPad,Pad,BestandsNaam,$S(Sequence:I,1:0),Extensie,.Delim) &sql(CLOSE GetViaFunctieTypes) New RS,Query Set Query="Res.ImageLink:GetLinksUnsorted" Set RS=##class(%ResultSet).%New(Query) Quit:(RS=$$$NULLOREF) $$$ERROR($$$QueryCannotInstantiate,"Kan geen nieuwe instantie van de query '"_Query_"' maken.") New tmpStatus Set tmpStatus=RS.Execute(paObjType,paObjRef,palbFunctieType,palbVisueelType,palbExtensie,paTaal) Quit:($$$ISERR(tmpStatus)) tmpStatus Kill aRow,Loop New Index For Quit:('RS.Next()) Do . Set Index=$$qgleGetIndexNr(palbFunctieType,RS.Data("FunctieType"),1)_$$qgleGetIndexNr(palbVisueelType,RS.Data("VisueelType"),1)_$$qgleGetIndexNr(palbExtensie,RS.Data("Extensie"),1) . Set Index=Index_"."_RS.Data("ImageLinkID")_"||"_RS.Data("aLinksKey") ;gewoon achteraan toevoegen om de sleutel zeker uniek te maken . Set aRow(Index)=$LB(RS.Data("ImageLinkID"),RS.Data("aLinksKey"),RS.Data("ObjType"),RS.Data("ObjRef"),RS.Data("FunctieType"),RS.Data("VisueelType"),RS.Data("Extensie")) Set iLoop="" Quit $$$OK ;-------------------------------------------------- qgleGetIndexNr(lbFilter,ItemToCheck,CheckForWildCard) ;Indien er slechts één element in de filter zit, dan kan een lege indexstr wo teruggegeven aangezien sortering dan toch onbelangrijk is Quit:($LL(lbFilter)=1) "" New IndexNr Set IndexNr=$LF(lbFilter,ItemToCheck) Quit:(CheckForWildCard && (IndexNr=0)) $$qgleGetIndexNr(lbFilter,"*",0) ;Check for WildCard afzetten vermijdt oneindige recursie... Quit $E(1000+IndexNr,2,4) ]]> --------------------------------------------------------------------------------------------------------------------------------------------------- 1 GetViaFunctieTypesExecute 0 %Status --------------------------------------------------------------------------------------------------------------------------------------------------- 1 GetViaFunctieTypesExecute 0 %Status =================================================================================================================================================== %Query paObjType:%String,paObjRef:%String,palbFunctieType:%String=$LB("*"),palbVisueelType:%String=$LB("*"),palbExtensie:%String=$LB("*"),paTaal:%String =================================================================================================================================================== %SQLQuery paObjType:%String,paObjRef:%String,palbFunctieType:%String=$LB("*"),palbVisueelType:%String=$LB("*"),palbExtensie:%String=$LB("*"),paTaal:%String %ID,Element_Key,ImageLink->ObjType,ImageLink->ObjRef,ImageLink->FunctieType,Links_VisueelType,Links_Extensie FROM Res.ImageLink_Links WHERE (ImageLink->ObjType=:paObjType) AND (ImageLink->ObjRef=:paObjRef) AND (($ListFind(:palbFunctieType,'*')>0) OR ($ListFind(:palbFunctieType,ImageLink->FunctieType)>0)) AND (($ListFind(:palbVisueelType,'*')>0) OR ($ListFind(:palbVisueelType,Links_VisueelType)>0)) AND (($ListFind(:palbExtensie,'*')>0) OR ($ListFind(:palbExtensie,Links_Extensie)>0)) AND (ImageLink->Taal=:paTaal OR ISNULL(ImageLink->Taal,'*')='*')]]> =================================================================================================================================================== QUERY: QGetLinksViaID =================================================================================================================================================== 1 0 %Status --------------------------------------------------------------------------------------------------------------------------------------------------- 1 QGetLinksViaIDExecute 0 %Status --------------------------------------------------------------------------------------------------------------------------------------------------- 1 QGetLinksViaIDExecute 0 %Status =================================================================================================================================================== %Query paImageLinkID:%String,paFunctieType:%String,palbVisueelType:%String=$LB("*"),palbExtensie:%String=$LB("*"),paTaal:%String =================================================================================================================================================== %SQLQuery paImageLinkID:%String,paFunctieType:%String,palbVisueelType:%String=$LB("*"),palbExtensie:%String=$LB("*"),paTaal:%String %ID=:paImageLinkID) AND (ImageLink->FunctieType=:paFunctieType) AND (($ListFind(:palbVisueelType,'*')>0) OR ($ListFind(:palbVisueelType,Links_VisueelType)>0)) AND (($ListFind(:palbExtensie,'*')>0) OR ($ListFind(:palbExtensie,Links_Extensie)>0)) AND (ImageLink->Taal=:paTaal OR ISNULL(ImageLink->Taal,'*')='*')]]>