KLANT2 ;KLANTEN ; ; Bepalen op welke documenten foto's moeten geprint worden (openen,wijzigen klanten) OldSetImageCRM(KLNr) New zb,CRMDef,ImageCRM,lbDocTypes,IsDefault,OldImageCRM,RubrName Set CRMDef=##class(BL.Prod.ImageLink).%New() Do CRMDef.GetCRMDef(KLNr,.lbDocTypes,.IsDefault) Set (ImageCRM,OldImageCRM)=$$ListToPieces^vhLib(lbDocTypes,";") Set:$L(OldImageCRM) OldImageCRM=$$SortImageCRM(OldImageCRM) Set RubrName="PDF met foto",ImageCRM=$$PI^vhPOPUP("C;C","-1KOMZ",RubrName,"KLANT","IMAGECRM",$S(IsDefault:"",1:ImageCRM)) Do:zb'="CANC" . If zb'="SEL",ImageCRM=OldImageCRM Quit . Set lbDocTypes=$$PiecesToList^vhLib(ImageCRM,";") . Do CRMDef.SetCRMDef(KLNr,$S(zb="SEL":"DEFAULT",1:lbDocTypes)) . Do DLOGMOD^LOG("KL",KLNr,,$TR(OldImageCRM,";",","),$$GetImageCRM(KLNr),RubrName) Quit ; SetImageCRM(KLNr) New zb,CRMDef,ImageCRM,lbDocTypes,IsDefault,OldImageCRM,RubrName,sFmt,lFmt,DefaultImageCRM,Regio Set CRMDef=##class(BL.Prod.ImageLink).%New() Do CRMDef.GetCRMDef(KLNr,.lbDocTypes,.IsDefault) Set (ImageCRM,OldImageCRM)=$$ListToPieces^vhLib(lbDocTypes,";") Set:$L(OldImageCRM) OldImageCRM=$$SortImageCRM(OldImageCRM) Set Regio=$P(^KKL(^KK1(KLNr),0),"\",20) Set DefaultImageCRM=$$DefaultImageCRM(Regio) Set sFmt="lFmt",lFmt(1)="$G(sX(sSelect))`C`R`1`` | ``$S(X:""*"",1:"""")",lFmt(2)="1`C`L`2`` | ``",lFmt(3)="2`C`L`12````" Set RubrName="PDF met foto",ImageCRM=$$PI^vhPOPUP("C;C","-1KOMZL",RubrName,"KLANT","IMAGECRM",$S(IsDefault:"[]",1:ImageCRM)) Do:zb'="CANC" . Quit:$TR(ImageCRM,",;[]T","")=$TR(OldImageCRM,",;[]T","") . If ImageCRM=$TR(DefaultImageCRM,",[]",";") Set ImageCRM="["_ImageCRM_"]" ; Ingave is gelijk aan 'Default' . If $E(ImageCRM)="[",$E(ImageCRM,$L(ImageCRM))="]" Set lbDocTypes="DEFAULT" . Else Set lbDocTypes=$$PiecesToList^vhLib(ImageCRM,";") . Do CRMDef.SetCRMDef(KLNr,lbDocTypes) . Do DLOGMOD^LOG("KL",KLNr,,$S(OldImageCRM="":"neen",1:$TR(OldImageCRM,";",",")),$$GetImageCRM(KLNr),RubrName) Quit ; ; Op welke documenten worden foto's geprint (raadplegen klanten) GetImageCRM(KLNr,Sort) New I,ImageCRM,CRMDef,lbDocTypes,IsDefault,Item Set Sort=$G(Sort,1),CRMDef=##class(BL.Prod.ImageLink).%New() Do CRMDef.GetCRMDef(KLNr,.lbDocTypes,.IsDefault) Set ImageCRM=$$ListToPieces^vhLib(lbDocTypes) If '$L(ImageCRM) Set ImageCRM="neen" Else Set:Sort ImageCRM=$$SortImageCRM(ImageCRM,",",1) Set:IsDefault ImageCRM="["_ImageCRM_"]" Quit ImageCRM ; ; Sorteren volgens ^RES SortImageCRM(ImageCRM,Delim,SkipItem) New I,Sort,Item Set Delim=$G(Delim,";"),SkipItem=$G(SkipItem) For I=1:1:$L(ImageCRM,Delim) Do . Set Item=$P(ImageCRM,Delim,I) . Quit:Item="" . If SkipItem,$P($G(^RES("KLANT","PI","IMAGECRM","D",Item)),"`",3) Quit . Set Sort=$P($G(^RES("KLANT","PI","IMAGECRM","D",Item)),"`") . Set:Sort Sort(Sort)=Item Set (Sort,ImageCRM)="" For Set Sort=$O(Sort(Sort)) Quit:Sort="" Set Item=Sort(Sort),ImageCRM=ImageCRM_Delim_Item Set $E(ImageCRM)="" Quit ImageCRM ; ; Mag een element toegevoegd worden? InsertImageCRM(Item) Quit '$P(Item,"`",3) ; ; Routine uitgevoerd na het ophalen van de elementen 'ImageCRM' AddImageCRM For sY=1:1:sY Do . Set:$P(sY(sY),"`",2)="ZONDER" $P(sY(sY),"`",2)="Neen" . If $P(sY(sY),"`")="&",$P(sY(sY),"`",2)="S" Set sY(sY)="&S" . If $E($P(sY(sY),"`"))="[",$E($P(sY(sY),"`"),$L($P(sY(sY),"`")))="]",$D(DefaultImageCRM) Set $E(sY(sY))=$E(sY(sY))_$$DefaultImageCRM(Regio) . Set:$L($P(sY(sY),"`"))>$P(lFmt(2),"`",4) $P(lFmt(2),"`",4)=$L($P(sY(sY),"`")) Quit ; ; Routine uitgevoerd bij het selecteren van een element 'ImageCRM' SelectImageCRM(ElementNr,Old,New,Element) New ElementKey Set ElementKey=$P(Element,"`") If $E(ElementKey)="[",$E(ElementKey,$L(ElementKey))="]" Do . For sY=1:1:sY Do . . Set Element=sY(sY),ElementKey=$P(Element,"`") . . If $E(ElementKey)'="[",$E(ElementKey,$L(ElementKey))'="]" Kill sX(sY) Else Do . For sY=1:1:sY Do . . Set Element=sY(sY),ElementKey=$P(Element,"`") . . If $E(ElementKey)="[",$E(ElementKey,$L(ElementKey))="]" Kill sX(sY) Quit 1 ; DefaultImageCRM(Regio) New I,lbCRM,Keys,lbDocTypes,DefaultImageCRM Set Regio=$G(Regio) Set:(Regio="") Regio="*" Set lbCRM=$G(^Res.ImageCRMD("R",Regio,"*")) Set:lbCRM="" lbCRM=$G(^Res.ImageCRMD("A","*","*")) Set Keys="FLOAPT" Set lbDocTypes="" For I=1:1:$L(Keys) Do . Quit:'$LG(lbCRM,I) . Set lbDocTypes=lbDocTypes_$LB($E(Keys,I)) Set DefaultImageCRM=$$ListToPieces^vhLib(lbDocTypes) Set DefaultImageCRM=$$SortImageCRM(DefaultImageCRM,",",1) Quit DefaultImageCRM