vhPOPEDIT ; Editeren van popups ;[ 03/06/2002 9:56 AM ] ; ; sEditNiv = 0 System ; 1 Manager ; 2 User Do .New sEditNiv .Do INIT^vhTERMINA New %SC,%SCH,%SCD,%SCP,%SCE,sLD,sLDE,sLDP,sGroep,sSubGr,sTyp,sPopUp,sElem,sParam,sSelect,sList Set sEditNiv=$G(sEditNiv),sTyp="PI" For Do Quit:'sSelect .Kill %SC,%SCH,%SCD,%SCP,%SCE,sLD,sLDE,sLDP,sGroep,sSubGr,sPopUp,sElem,sSelect,sList .Set sGroep=$G(sRef(sTyp,"GR")),sSubGr=$G(sRef(sTyp,"SG")) .Set sSelect="",(%SCH,%SCD,%SCP,%SCE)=0 .Do SELECT .If %SC,$L(sGroep),$L(sSubGr) Do ..If '$$LOCK^vhRES(sGroep,sTyp,sSubGr) Set sSelect=1 ..Else Do EDITONE,UNLOCK^vhRES(sGroep,sTyp,sSubGr) Quit ; USER New sGroep,sSubGr,sEditNiv Set sEditNiv=2 Goto vhPOPEDIT ; MANAGER New sGroep,sSubGr,sEditNiv Set sEditNiv=1 Goto vhPOPEDIT ; SYSTEM New sGroep,sSubGr,sEditNiv Goto vhPOPEDIT ; LAYGO(sGroep,sSubGr,sEditNiv) New %SC,%SCH,%SCD,%SCP,%SCE,D,sLD,sLDE,sLDP,sTyp,sPopUp,sElem,sParam,sSelect,sList,sLayGo Set sEditNiv=$G(sEditNiv),D="\",sTyp="PI",sLayGo=1 Set sSelect="",(%SCH,%SCD,%SCP,%SCE)=0 Do EDITONE Quit ; SELECT New sFL Do NIEUW^vhScherm("RESPI","","","","","","","A") Quit ; EDITONE New sQuit,sElemList,sParamList Do FETCH Set sElemList=$P($G(sPopUp),"`",11),sParamList=$P($G(sPopUp),"`",12) Set:sElemList="" sElemList="LIST" Set:sParamList="" sParamList="PARAM" Do INIT^vhLIST("vhRES",sElemList,.sLDE),INIT^vhLIST("vhRES",sParamList,.sLDP) If '$D(^RES(sGroep,sTyp,sSubGr)) Do Quit:'%SCH .Do MODHEAD(1),VERWPAR:%SCH Else Do VERWDET For Do Quit:sQuit .Do VERWERK .Set sQuit=1 .If '%SCH,'%SCD,'%SCP,'%SCE Quit .Set sQuit=$$^vhTXTPOP("FILE","SAVE") .If sQuit'="J" Set sQuit=$L(sQuit) Quit .Do SAVE(1) .Set sQuit=1 Quit ; VERWERK New Input For Do Quit:Input="CANC" .Do REFRESH .Set Input=$$SCROLL^vhLIST(.sLD) .If Input="COM" Set Input="" Do CALL^vhMenu("RESPI") .Set:Input="-" Input="CANC" .Do EXEC^vhMenu("RESPI",.Input) Quit ; VERWDET Merge sLDP=sLD Kill sLD Merge sLD=sLDE Set sList="E" Quit ; VERWPAR Merge sLDE=sLD Kill sLD Merge sLD=sLDP Set sList="P" Quit ; REFRESH New %SC,sFL Set sFL(1)=$TR(sPopUp,"`",D) Do FELEM,FPARAM,DISPLAY^vhScherm("RESPI"),WRITE^vhLIST(.sLD) Quit ; MODHEAD(sNieuw) New %SC,sFL,sElemList,sParamList Set sFL(1)=$TR($G(sPopUp),"`",D),sElemList=$P($G(sPopUp),"`",11),sParamList=$P($G(sPopUp),"`",12) Do @$S($G(sNieuw):"NIEUW",1:"EDIT")^vhScherm("RESPI") If %SC Do .Set sPopUp=$TR(sFL(1),D,"`"),%SCH=%SC .Do TAAL(.%SCD),PARAM(.%SCP) .If sElemList=$P(sPopUp,"`",11),sParamList=$P(sPopUp,"`",12) Quit .Do:sElemList'=$P(sPopUp,"`",11) ..Set sElemList=$P(sPopUp,"`",11) ..Set:sElemList="" sElemList="LIST" ..Do INIT^vhLIST("vhRES",sElemList,.sLDE) ..If sList="E" Set sLDE("SELECT")=sLD("SELECT") Merge sLD=sLDE .Do:sParamList'=$P(sPopUp,"`",12) ..Set sParamList=$P(sPopUp,"`",12) ..Set:sParamList="" sParamList="PARAM" ..Do INIT^vhLIST("vhRES",sParamList,.sLDP) ..If sList="P" Set sLDP("SELECT")=sLD("SELECT") Merge sLD=sLDP Quit ; NIEUW New %SC,sFL,sTaalAfh,sTaal,sScrnTit,sScrn Set sFL(1)="",sTaalAfh=$P(sPopUp,"`",6),sTaal="" For Quit:sTaalAfh="" Do .Set sTaal=$P(sTaalAfh,";"),sTaalAfh=$P(sTaalAfh,";",2,99) .Quit:sTaal="" .Set sFL(sTaal)="" Set sScrnTit="Nieuw",sScrn=$P(sPopUp,"`",5) Set:sScrn="" sScrn="RESPIE" Do NIEUW^vhScherm(sScrn) If %SC Do .Do NIEUW^vhLISTE(.sLD,sFL(1)) .Set sFL(1)=$TR(sFL(1),D,"`"),sTaal=1 .For Set sTaal=$O(sFL(sTaal)) Quit:sTaal="" Do ..Set sFL(1,sTaal)=$TR(sFL(sTaal),D,"`") ..Kill sFL(sTaal) .Kill sElem(sLD("SELECT")) .Merge sElem(sLD("SELECT"))=sFL(1) .Set %SCD=%SC .Do SELEM Quit ; INSERT New %SC,sFL,sTaalAfh,sTaal,sScrnTit,sScrn Set sFL(1)="",sTaalAfh=$P(sPopUp,"`",6),sTaal="" For Quit:sTaalAfh="" Do .Set sTaal=$P(sTaalAfh,";"),sTaalAfh=$P(sTaalAfh,";",2,99) .Quit:sTaal="" .Set sFL(sTaal)="" Set sScrnTit="Insert",sScrn=$P(sPopUp,"`",5) Set:sScrn="" sScrn="RESPIE" Do NIEUW^vhScherm(sScrn) If %SC Do .Do INSERT^vhLISTE(.sLD,sFL(1),"") .Set sFL(1)=$TR(sFL(1),D,"`"),sTaal=1 .For Set sTaal=$O(sFL(sTaal)) Quit:sTaal="" Do ..Set sFL(1,sTaal)=$TR(sFL(sTaal),D,"`") ..Kill sFL(sTaal) .Kill sElem(sLD("SELECT")) .Merge sElem(sLD("SELECT"))=sFL(1) .Set %SCD=%SC .Do SELEM Quit ; MODIFY(sList) Goto @(sList_"MODIFY") ; ; Wzijzigen elementen EMODIFY New %SC,sFL,sTaal,sScrnTit,sScrn Merge sFL(1)=sElem(sLD("SELECT")) Set sFL(1)=$TR(sFL(1),"`",D),sTaal="" For Set sTaal=$O(sFL(1,sTaal)) Quit:sTaal="" Do .Set sFL(sTaal)=$TR(sFL(1,sTaal),"`",D) .Kill sFL(1,sTaal) Set sScrnTit="Wijzig",sScrn=$P(sPopUp,"`",5) Set:sScrn="" sScrn="RESPIE" Do EDIT^vhScherm(sScrn) If %SC Do .Set sFL(1)=$TR(sFL(1),D,"`"),sTaal=1 .For Set sTaal=$O(sFL(sTaal)) Quit:sTaal="" Do ..Set sFL(1,sTaal)=$TR(sFL(sTaal),D,"`") ..Kill sFL(sTaal) .Kill sElem(sLD("SELECT")) .Merge sElem(sLD("SELECT"))=sFL(1) .Set %SCD=%SC .Do SELEM Quit ; ; Wijzigen parameters PMODIFY New %SC,sFL,sPar Set sFL(1)=$TR(sParam(sLD("SELECT")),"`",D),sPar=$P(sFL(1),D),sFL(1)=$P(sFL(1),D,2,99) Do @($S(sFL(1)="":"NIEUW",1:"EDIT")_"^vhScherm(""RESPIP"")") If %SC Do .Set sParam(sLD("SELECT"))=sPar_"`"_$TR(sFL(1),D,"`") .Set %SCP=%SC .Do SPARAM Quit ; DELETE Do DELETE^vhLISTE(.sLD),SELEM Set %SCD=1 Quit ; SWAP(Input) Do SWAP^vhLISTE(.sLD,Input),SELEM Set %SCD=1 Quit ; PASTE New %SC,sFL,sTaal,sScrnTit,sScrn Set $P(sClipB,"`")="" Merge sFL(1)=sClipB Set sFL(1)=$TR(sFL(1),"`",D),sTaal="" For Set sTaal=$O(sFL(1,sTaal)) Quit:sTaal="" Do .Set sFL(sTaal)=$TR(sFL(1,sTaal),"`",D) .Kill sFL(1,sTaal) Set sScrnTit="Insert (p)",sScrn=$P(sPopUp,"`",5) Set:sScrn="" sScrn="RESPIE" Do NIEUW^vhScherm(sScrn) If %SC Do .Set sFL(1)=$TR(sFL(1),D,"`"),sTaal=1 .For Set sTaal=$O(sFL(sTaal)) Quit:sTaal="" Do ..Set sFL(1,sTaal)=$TR(sFL(sTaal),D,"`") ..Kill sFL(sTaal) .Merge sClipB=sFL(1) .Do PASTE^vhLISTE(.sLD,"") .Kill sElem(sLD("SELECT")) .Merge sElem(sLD("SELECT"))=sFL(1) .Set %SCD=%SC .Do SELEM Quit ; DUPLI New sR,%SC,sGroepT,sSubGrT,sPopUpT,sDupli If %SCH!%SCD!%SCP!%SCE Do .Set sR=$$^vhTXTPOP("FILE","SAVE") .Do:sR="J" SAVE(1) If $L($G(sR))!'$D(sR) Do .Merge sGroepT=sGroep,sSubGrT=sSubGr,sPopUpT=sPopUp .Set sDupli=1 .Do SELECT .If %SC Set (%SCH,%SCD,%SCP,%SCE)=1 .Else Do ..Kill sGroep,sSubGr,sPopUp ..Merge sGroep=sGroepT,sSubGr=sSubGrT,sPopUp=sPopUpT Quit ; DELPOP New sR,sTitel Set sTitel=$P(sPopUp,"`"),sR=$$^vhTXTPOP("vhRES","DELPOP","",sTitel) Do:sR .Kill ^RES(sGroep,sTyp,sSubGr) .Set Input="CANC",(%SCH,%SCD,%SCP,%SCE)=0 Quit ; COPY(ToUci,ToVol) New R Do SAVE() Read !,"Copy is afgekoppeld! ",R ;Kill ^|ToUci,ToVol|RES(sGroep,sTyp,sSubGr) ;Merge ^|ToUci,ToVol|RES(sGroep,sTyp,sSubGr)=^RES(sGroep,sTyp,sSubGr) Write:'sEditNiv *7 Quit ; PRINT Write *7 Quit ; FELEM New sRec,sItem,sCnt,sTaal Kill sElem Set sItem="" For Set sItem=$O(sPopUp("D",sItem)) Quit:sItem="" Do .Set sRec=sPopUp("D",sItem),sCnt=$P(sRec,"`"),sElem(sCnt)=sItem_"`"_$P(sRec,"`",2,99) .Set sTaal="" .For Set sTaal=$O(sPopUp("D",sItem,sTaal)) Quit:sTaal="" Do ..Merge sElem(sCnt,sTaal)=sPopUp("D",sItem,sTaal) Quit ; SELEM New sRec,sItem,sCnt,sTaal Kill sPopUp("D") For sCnt=1:1 Quit:'$D(sElem(sCnt)) Do .Set sRec=sElem(sCnt),sItem=$P(sRec,"`"),$P(sRec,"`")=sCnt,sPopUp("D",sItem)=sRec .Set sTaal="" .For Set sTaal=$O(sElem(sCnt,sTaal)) Quit:sTaal="" Do ..Merge sPopUp("D",sItem,sTaal)=sElem(sCnt,sTaal) Quit ; FPARAM New sRec,sPar,sCnt Kill sParam Set sPar="",sCnt=0 For Set sPar=$O(sPopUp("P",sPar)) Quit:sPar="" Do .Set sRec=sPar_"`"_sPopUp("P",sPar) .Set sCnt=sCnt+1,sParam(sCnt)=sRec Quit ; SPARAM New sRec,sPar,sCnt Kill sPopUp("P") For sCnt=1:1 Quit:'$D(sParam(sCnt)) Do .Set sRec=sParam(sCnt),sPar=$P(sRec,"`"),sRec=$P(sRec,"`",2,99) .Set sPopUp("P",sPar)=sRec Quit ; TAAL(%SCD) New sCnt,sTaalAfh,sTaal For sCnt=1:1 Quit:'$D(sElem(sCnt)) Do .Set sTaalAfh=$P(sPopUp,"`",6),sTaal="" .For Set sTaal=$O(sElem(sCnt,sTaal)) Quit:sTaal="" Do ..If ";"_sTaalAfh_";"'[(";"_sTaal_";") Kill sElem(sCnt,sTaal) Set %SCD=1 .For Quit:sTaalAfh="" Do ..Set sTaal=$P(sTaalAfh,";"),sTaalAfh=$P(sTaalAfh,";",2,99) ..Quit:sTaal="" ..If '$D(sElem(sCnt,sTaal)) Set sElem(sCnt,sTaal)="",%SCD=1 Do:$G(%SCD) SELEM Quit ; PARAM(%SCP) New sParAfh,sPar Set sParAfh=$P($G(sPopUp),"`",9),sPar="" Set:$L(sParAfh) sParAfh=sParAfh_";" Set sParAfh=sParAfh_"K;O" For Set sPar=$O(sPopUp("P",sPar)) Quit:sPar="" Do .If ";"_sParAfh_";"'[(";"_sPar_";") Kill sPopUp("P",sPar) Set %SCP=1 For Quit:sParAfh="" Do .Set sPar=$P(sParAfh,";"),sParAfh=$P(sParAfh,";",2,99) .Quit:sPar="" .If '$D(sPopUp("P",sPar)) Set sPopUp("P",sPar)="",%SCP=1 Quit ; FETCH Merge sPopUp=^RES(sGroep,sTyp,sSubGr) Set:'$D(sPopUp("P","K")) sPopUp("P","K")="UV`C`L`3``",%SCP=1 Set:$P(sPopUp("P","K"),"`",6)="" $P(sPopUp("P","K"),"`",6)="Kode" Set:'$D(sPopUp("P","O")) sPopUp("P","O")="V`C`L`20``",%SCP=1 Set:$P(sPopUp("P","O"),"`",6)="" $P(sPopUp("P","O"),"`",6)="Omschrijving" Do FELEM,TAAL(),PARAM() Quit ; SAVE(Copy) New sItem,ToUci,ToVol If 0,$G(Copy) Do .Set (ToUci,ToVol)="" Set:$P($ZU(5),",",2)="ADM" ToUci=$P($ZU(5),","),ToVol="DEV" .If $L(ToUci),$L(ToVol) Do COPY(ToUci,ToVol) Do PARLEN If '$L($P(sPopUp,"`",10)) Do .If %SCH Set ^RES(sGroep,sTyp,sSubGr)=sPopUp .If %SCD Do ..Kill ^RES(sGroep,sTyp,sSubGr,"D") ..Do TAAL(),PARAM() ..Merge ^RES(sGroep,sTyp,sSubGr,"D")=sPopUp("D") .If %SCP Do ..Kill ^RES(sGroep,sTyp,sSubGr,"P") ..Merge ^RES(sGroep,sTyp,sSubGr,"P")=sPopUp("P") .If %SCE!1 Do ;Tijdelijk altijd copieren ..Kill ^RES(sGroep,sTyp,sSubGr,"E") ..Merge ^RES(sGroep,sTyp,sSubGr,"E")=sPopUp("E") .If %SCH!%SCD!%SCP!%SCE Set $P(^RES(sGroep,sTyp,sSubGr),"`",2)=$H Set:'sEditNiv sRef(sTyp,"GR")=sGroep,sRef(sTyp,"SG")=sSubGr Else Do @($P(sPopUp,"`",10)_"(.sPopUp)") Set (%SCH,%SCD,%SCP,%SCE)=0 Quit ; CLOSE Set Input="CANC" Quit ; ATTR(sScrn,sModT,sEditNiv) New sFld,sName,sTaalAfh,sParAfh,sFldId Do STORE^vhTERMINA() If sScrn="H" Do .If sModT="N",'$G(sNieuw) .Else If sModT="E"!$G(sNieuw) Do ..For sFld=1:1 Quit:'$D(sScrnDef(sFld)) Do ...Set sFldId=$$FLDID^vhScherm(sFld) ...If "\GROEP\SUBGROEP\MODIFYD\"[(D_sFldId_D) Do PUTATTR^vhScherm(sFld,"","D") ...Else Do ....If sEditNiv,"\OMSCHR\"'[(D_sFldId_D) Quit ....Do REMATTR^vhScherm(sFld,"H","DPH") ....Do PUTATTR^vhScherm(sFld,"",":") .Else Do ..For sFld=1:1 Quit:'$D(sScrnDef(sFld)) Do ...Quit:$$FLDID^vhScherm(sFld)="MODIFYD" ...Do REMATTR^vhScherm(sFld,"","P") ...Do PUTATTR^vhScherm(sFld,"",":") Else Do .Set sTaalAfh=$P(sPopUp,"`",6),sParAfh=$P(sPopUp,"`",9) .For sFld=1:1 Quit:'$D(sScrnDef(sFld)) Do ..Set sFldId=$$FLDID^vhScherm(sFld) ..If $L(sTaalAfh),$E(sFldId,1,5)'="PARAM" Do ...If ";"_sTaalAfh_";"[(";"_sFldId_";") Do ....Do REMATTR^vhScherm(sFld,"H","DH") ...Else Do REMATTR^vhScherm(sFld,"H","H") ..If $L(sParAfh) Do ...If ";"_sParAfh_";"[(";"_$P(sFldId,"PARAM",2)_";") Do ....Do REMATTR^vhScherm(sFld,"H","DH") Do REFRESH^vhTERMINA() Quit ; GROEP(sX,sEditNiv) Set FP=2201 Write @F,@F1 Set sX=$$GROEP^vhRES(sTyp,sX,sEditNiv) Quit sX ; SUBGROEP(sGroep,sX,sEditNiv) Set FP=2201 Write @F,@F1 Set sX=$$SUBGROEP^vhRES(sTyp,sGroep,sX,sEditNiv) Quit sX ; CHKGROEP If X="",sNGroep Set sEr=-1 Else If $L(X) Do .If X="*" Set sEr=-1 Set:'sEditNiv X="",sNGroep=1 .Else If sNGroep,$D(^RES(X,sTyp)) Set sEr="Deze groep bestaat reeds" Quit ; CHKSUBGR If X="" Set:sNPopUp sEr=-1 Set:$G(sDupli) sEr=-1 Else If $L(X) Do .If X="*" Set sEr=-1 Set:'sEditNiv X="",sNPopUp=1 .Else If $G(sNPopUp),$D(^RES(sGroep,sTyp,X)) Set sEr="Deze popup bestaat reeds" .Else If $G(sDupli),$D(^RES(sGroep,sTyp,X)) Set sEr="Deze popup bestaat reeds" Quit ; PARLEN New sRec,sItem,sKLen,sOLen Set sItem="",(sKLen,sOLen)=0 For Set sItem=$O(sPopUp("D",sItem)) Quit:sItem="" Do .Set sRec=sPopUp("D",sItem) .Set:$L(sItem)>sKLen sKLen=$L(sItem) .Set:$L($P(sRec,"`",2))>sOLen sOLen=$L($P(sRec,"`",2)) Set:'sKLen sKLen=3 Set:'sOLen sOLen=20 Set:sKLen'=+$P(sPopUp("P","K"),"`",4) $P(sPopUp("P","K"),"`",4)=sKLen,%SCP=1 Set:sOLen'=+$P(sPopUp("P","O"),"`",4) $P(sPopUp("P","O"),"`",4)=sOLen,%SCP=1 Quit ; MODSCRNDEF New sScrnPos,sFR,sPar,prompt,sFetch For sScrnPos=1:1 Set sFR=$G(sScrnDef(sScrnPos)) Quit:sFR="" Do .Set prompt=$P(sFR,"`",15),sFetch="" .If prompt="KODE" Do ..Set:'$P(sFR,"`",10) $P(sFR,"`",10)=$P(sPopUp("P","K"),"`",4) ..Set:'$P(sFR,"`",10) $P(sFR,"`",10)=3 .Else If prompt="OMSCHR" Do ..Set:'$P(sFR,"`",10) $P(sFR,"`",10)=$P(sPopUp("P","O"),"`",4) ..Set:'$P(sFR,"`",10) $P(sFR,"`",10)=20 .Else Set:'$P(sFR,"`",10) $P(sFR,"`",10)=50 .If prompt?1"PARAM"1.2N Do ..Set sPar=$TR(prompt,"PARAM",""),sPar=$G(sPopUp("P",sPar)) ..Quit:sPar="" ..Set:$P(sPar,"`",4) $P(sFR,"`",10)=$P(sPar,"`",4) ..Set:$P(sPar,"`",5) $P(sFR,"`",11)=$P(sPar,"`",5) ..Set:$P(sPar,"`",10) $P(sFR,"`",14)=$P(sPar,"`",10) ..Xecute "Set $P(sFR,""`"",3)="_$P(sFR,"`",3) ..Set:$L($P(sPar,"`",2)) $P(sFR,"`",8)=$P(sPar,"`",2) ..Set:$L($P(sPar,"`",3)) $P(sFR,"`",9)=$P(sPar,"`",3) ..Set:$L($P(sPar,"`",7)) sFetch=$P(sPar,"`",7) .Set sScrnDef(sScrnPos)=sFR Set:$L(sFetch) sScrnDef(sScrnPos,"F")=sFetch Quit ; VALIDATE(sParam) New sTyp,sExecTxt Set sTyp=$P(sParam,"`",9),sExecTxt=$P(sParam,"`",10) Do EXEC^vhRES(sTyp,sExecTxt,"sEr") If "@"[sTyp,$L(sEr)=1,10[sEr Set sEr='sEr Set:'sEr sEr="" Quit ; DEMO New sDemo,sPos,sOptie,sTitel,sTGroep,sTSubGr,%SCH,%SCD,%SCP,%SCE Set sTGroep=sGroep,sTSubGr=sSubGr New sGroep,sSubGr Set sGroep="vhRES",sSubGr="DEMO"_sTSubGr,(%SCH,%SCD,%SCP,%SCE)=1 Kill ^RES(sGroep,sTyp,sSubGr) Do SAVE() Set sPos="C;C",sTitel=$P(sPopUp,"`"),sOptie="-1" For sI="K","O" Set:$D(sPopUp("P",sI)) sOptie=sOptie_sI Set sDemo=$$PI^vhPOPUP(sPos,sOptie,sTitel,sGroep,sSubGr) Kill ^RES(sGroep,sTyp,sSubGr) Quit ;