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,'*')='*')]]>