cABVBF1 ; Routines VB Beheer forms in .NET ;cABVBF1 ; Compiled December 8, 2011 12:06:16 ; T1 ;Form; T2 ;Sleutel bij de talen is niet ingevuld, opslaan onmogelijk.; T3 ;Fout bij openen taal ;Fout bij wijzigen taal ; T4 ;Item; T5 ;Volgnr voor nieuw item kan niet worden toegekend. ; T6 ;Taal; T7 ;TAB-volgnr voor nieuw item kan niet worden toegekend. ; T8 ;Er zijn reeds definities opgezet voor deze propertie. T9 ;Mogen deze overschreven worden?;Overschrijven;Behouden; T10 ;Links;Rechts T11 ;Neen;Ja;Enkel control ; T1E ;Form; T2E ;Key in languages is empty, save impossible.; T3E ;Error creating language ;Error changing language ; T4E ;Item; T5E ;Unable to assign number for new item. ; T6E ;Language; T7E ;Unable to assign TAB-Order for new item. ; T8E ;There are already set up definitions for this property. T9E ;May these be overwritten?;Overwrite;Keep; T10E ;Left;Richt T11E ;No;Yes;Just control ; YZ Q ; ; HDNFORM(KEY,NAME) ; header Grid DAMLIB.NFORM ; Formaat: "Form" ; = KEY ; = NAME ; N OUT,TOPKEY,TOPNAME S $ZT="^dmERROR" D QT^cAFVBO01 I $L($G(KEY))!$L($G(NAME)) G HDNFORMB ; HDNFORMA S TOPKEY=..B101,TOPNAME=..B102 G HDNFORMC HDNFORMB S TOPKEY=$G(KEY),TOPNAME=$G(NAME) ; HDNFORMC S OUT="\\\"_$P($T(@("T1"_QT)),";",2)_";"_TOPKEY_" "_TOPNAME_"; " HDNFORMZ Q OUT ; ; HDNTABI(KEY,NAME) ; header van TAB voor Grid DAMLIB.NFORMITEM ; Formaat: "Item" ; = KEY ; = NAME ; N OUT,TOPKEY,TOPNAME S $ZT="^dmERROR" D QT^cAFVBO01 I $L($G(KEY))!$L($G(NAME)) G HDNTABIB ; HDNTABIA S TOPKEY=..B102,TOPNAME=..B103 G HDNTABIC HDNTABIB S TOPKEY=$G(KEY),TOPNAME=$G(NAME) ; HDNTABIC S OUT="\\\"_$P($T(@("T4"_QT)),";",2)_";"_TOPKEY_" "_TOPNAME_"; " HDNTABIZ Q OUT ; ; HDNFL() ; header Grid DAMLIB.NFORML ; Formaat: "Form" ; "Taal" N OUT,R S $ZT="^dmERROR" D QT^cAFVBO01 S OUT="\\\"_$P($T(@("T1"_QT)),";",2)_";"_..B101_" "_$$GETIN(..B101)_"; \\\\" S OUT=OUT_$P($T(@("T6"_QT)),";",2)_";" X "S R=..B102."_$P("OmschrijvingNederlands#OmschrijvingFrans#OmschrijvingDuits#OmschrijvingEngels","#",QTU) S OUT=OUT_R_";" HDNFLZ Q OUT ; ; HDNFIT() ; header Grid DAMLIB.NFORMITEM ; Formaat: "Item" ; "Form" N OUT S $ZT="^dmERROR" D QT^cAFVBO01 S OUT="\\\"_$P($T(@("T1"_QT)),";",2)_";"_..B101_" "_$$GETIN(..B101)_"; \\\\" S OUT=OUT_$P($T(@("T4"_QT)),";",2)_";"_..B102_" "_..B103_"; " HDNFITZ Q OUT ; ; HDNFITL() ; header Grid DAMLIB.NFORMITEML ; Formaat: "Form" ; "Item" ; "Taal" N OUT,R,D1 S $ZT="^dmERROR" D QT^cAFVBO01 S D1=" " S OUT="\\\"_$P($T(@("T1"_QT)),";",2)_";"_$P(..B101,D1)_" "_$$GETIN($P(..B101,D1))_"; \\\\" S OUT=OUT_$P($T(@("T4"_QT)),";",2)_";"_$P(..B101,D1,2)_" "_$$GETINI(..B101)_"; \\\\" S OUT=OUT_$P($T(@("T6"_QT)),";",2)_";" X "S R=..B102."_$P("OmschrijvingNederlands#OmschrijvingFrans#OmschrijvingDuits#OmschrijvingEngels","#",QTU) S OUT=OUT_R_";" HDNFITLZ Q OUT ; HINFO(TYPE,KEY) ; Bestaat er info voor specifieke grid / form ; Input: TYPE: G=Grid, F=Form ; KEY: Grid- of formkey ; Output: 0: Er is geen info gedefinieerd ; 1: Er is info gedefinieerd N @$$INITVAR^cAFVBA01("TYPE,KEY") S $ZT="^dmERROR" ; ; Controle parameters S R=0 I $G(TYPE)'="F",($G(TYPE)'="G") G HINFOZ I '$L($G(KEY)) G HINFOZ ; ; Standaard en gebruikers info D DMS^cAN000("UQC","USC","APPL.INFO",1) I (UQC="")!(USC="") G HINFOZ S UREF=$G(^DMC(UQC,USC,"DATA","REF")) I '$L(UREF) G HINFOZ S IKEY=TYPE_"~"_$P(KEY," ") S UI1=IKEY S UI1=$O(@UREF) I $P(UI1," ")=IKEY S R=1 G HINFOZ ; ; Gebruikersinfo D DMS^cAN000("UQC","USC","APPL.INFO_USR",1) I (UQC="")!(USC="") G HINFOZ S UREF=$G(^DMC(UQC,USC,"DATA","REF")) I '$L(UREF) G HINFOZ S IKEY=TYPE_"~"_$P(KEY," ") S UI1=IKEY S UI1=$O(@UREF) I $P(UI1," ")=IKEY S R=1 G HINFOZ ; HINFOZ Q R ; INFO(KEY) ; Ophalen van standaard- en userinfo N R S $ZT="^dmERROR" ; S D="\",U=";" ; ; Controle parameter I '$L($G(KEY)) S R="" G INFOZ ; ; Info ophalen (standaard + user) S R=$$DATA^cAFVBO01("VBN",0,"APPL.INFO",KEY,201) ; Standaard S $P(R,D,2)=$$DATA^cAFVBO01("VBN",0,"USER.APPL.INFO",KEY,201) ; User I '$L($TR(R,D,"")) S R="" G INFOZ S $P(R,D,3)=" " ; Bindingstekst (blanco lijn) ; INFOZ Q R ; SINFO(KEY,INFO,EINFO) ; Opslaan van standaard- en userinfo N R,TAB S $ZT="^dmERROR" ; S D="\",U=";" ; ; Standaard en user info opslaan F DMS="APPL.INFO","APPL.INFO_USR" D . I '$L($$SIG^cAFA1(DMS,KEY,101)) D Q .. I '$L($S(DMS="APPL.INFO":$G(INFO),1:$G(EINFO))) Q .. ; Openen .. S TAB(1)=$P(KEY,"~")_D_$P(KEY,"~",2)_D_$P(KEY,"~",3) .. S TAB(2)=$S(DMS="APPL.INFO":$G(INFO),1:$G(EINFO)) .. D P^cAN220(DMS,"",KEY,"TAB","") .. ; Zelf unlocken .. D LOCK^cAFVBA01(Q,"APPL.INFO",KEY,0) . ; Wijzigen of verwijderen . S TAB(201)=$S(DMS="APPL.INFO":$G(INFO),1:$G(EINFO)) . I '$L(TAB(201)) D X^cAN220(DMS,"",KEY) Q . D W^cAN220(DMS,"",KEY,201,TAB(201)) ; SINFOZ Q '$L(K) ; GETPR(SELECTID,TAAL,BINDEX) ; ophalen prompt in ^VBN(0,"FORM.ITEM.TAAL",FormId_" "_Volgnr_" "_Taal,0) ; SELECTID is formaat FormId_" "_Volgnr ; N R S $ZT="^dmERROR" S BINDEX=$G(BINDEX,103) S R=$$DATA^cAFVBO01("VBN",0,"FORM.ITEM.TAAL",SELECTID_" "_TAAL,BINDEX) GETPRZ Q R ; ; GETTI(SELECTID,TAAL,BINDEX) ; ophalen Titel in ^VBN(0,"FORM.TAAL",FormId_" "_Taal,0) ; SELECTID is formaat FormId ; N R S $ZT="^dmERROR" D QT^cAFVBO01 S BINDEX=$G(BINDEX,103) S R=$$DATA^cAFVBO01("VBN",0,"FORM.TAAL",SELECTID_" "_TAAL,BINDEX) GETTIZ Q R ; ; GETIN(SELECTEDID,BINDEX) ; ophalen Interne Naam in ^VBN(0,"FORM",FormId,0) ; SELECTID is formaat FormId ; N R S $ZT="^dmERROR" S BINDEX=$G(BINDEX,102) S R=$$DATA^cAFVBO01("VBN",0,"FORM",SELECTEDID,BINDEX) GETINZ Q R ; ; GETINI(FORMIDNR,BINDEX) ; ophalen Interne Naam in ^VBN(0,"FORM.ITEM",FormId_" "_Volgnr,0) ; FORMIDNR = ItemId : 1e veld van ^VBN(0,"FORM.ITEM.TAAL", ; = FormId_" "_Volgnr N R S $ZT="^dmERROR" S BINDEX=$G(BINDEX,103) S R=$$DATA^cAFVBO01("VBN",0,"FORM.ITEM",FORMIDNR,BINDEX) GETINIZ Q R ; ; BTEMP(GRIDID,FORMID,COPY) ; Form in .Net - mtemp99 opbouwen ; GRIDID: volgnr van de grid : indien '' : volgnummer ophalen ; FORMID : eerste veld van ^VBN(0,"FORM.TAAL" waaruit data moet opgehaald worden ; COPY : Het gaat om het kopiėren van een Form-niveau-taal record ; Voorbeeld record : ^mtemp99(1,"COMMON","DM001 N",0)=`DM001 N\N\.NET Form-global definitie“ S $ZT="ERR^cAFVBF01" D QT^cAFVBO01 N @$$INITVAR^cAFVBA01("GRIDID,FORMID,COPY") ; F i="GRIDID","FORMID","COPY" S @i=$G(@i) I '$L(GRIDID) S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID,"COMMON") S OK=GRIDID ; D DMS^cAN000("UQC","USC","FORMN.TAAL",1) I '$L(UQC)!'$L(USC) G BTEMPZ S UREF=^DMC(UQC,USC,"DATA","REF") S TKI1="" F S TKI1=$O(^DTEXT(0,"TEXT.9000",TKI1)) Q:TKI1="" D ; aflopen taalcodes . S TKB=^(TKI1,0) . I $P(TKB,D,30) Q ; BG of verwijderd . S TK=TKI1 ;$P(TKB,D) . S UI1=FORMID_" "_TK . S B(1)=$G(@UREF@(0)) . S B=$S(COPY=1:"",1:$S($L(B(1)):UI1,1:""))_D_TK ; key (ingevuld als rec. bestaat)_D_taalcode . S $P(B,D,3)=$P(B(1),D,3) ; Titel . S UI1T=$P(B,D) I '$L(UI1T) S UI1T=" "_TK . S ^mtemp99(GRIDID,"COMMON",UI1T,0)=B BTEMPZ Q OK ; ; SAVEROW(SELECTEDID,TITEL) ; gewijzigde rij in VB.NET opslaan in de mtemp ; Voorbeeld record : ^mtemp99(1,"COMMON","DM001 N",0)=`DM001 N\N\.NET Form-global definitie“ N (SELECTEDID,TITEL) S $ZT="^dmERROR" D QT^cAFVBO01 S OUT=1,D="\",U=";" I SELECTEDID="" G SAVEROWZ S GRIDID=$P(SELECTEDID,"||") S SELECTEDID=$P(SELECTEDID,"||",2) S $P(^mtemp99(GRIDID,"COMMON",SELECTEDID,0),D,3)=$G(TITEL) SAVEROWZ Q OUT ; ; ; STEMP(GRIDID,FORMID) ; Drukken op OK-button, opslaan van de mtemp in ^VBN(0,"FORM._TAAL" ; GRIDID: volgnr van de grid : indien '' : volgnummer ophalen ; FORMID : intern nr van ^VBN(0,"FORM" ; S $ZT="ERR^cAFVBF01" D QT^cAFVBO01 N @$$INITVAR^cAFVBA01("GRIDID,FORMID") S OK=1 I '$L($G(GRIDID)) G STEMPZ I '$L($G(FORMID)) S OK="0\"_$P($T(@("T2"_QT)),U,2) G STEMPZ S I1="" STEMPA S I1=$O(^mtemp99(GRIDID,"COMMON",I1)) I I1="" G STEMPZ S B=^(I1,0) S UI1=$P(B,D) ; key S TK=$P(B,D,2) ; taalkode S TITEL=$P(B,D,3) ; titel S B(101)=FORMID,B(102)=TK,B(103)=TITEL K TAB I $L($P(B,D)) G STEMPC STEMPB ; openen ; B(101), B(102) omvormen naar TAB(1), TAB(2) ... S UI1=B(101)_" "_B(102) S I="" F S I=$O(B(I)) Q:I="" S $P(TAB(I\100),D,I#100)=B(I) D P^cAN220("FORMN.TAAL","",UI1,"TAB","") I K="-" S OK="0\"_$P($T(@("T3"_QT)),U,2)_TK G STEMPZ G STEMPA STEMPC ; wijzigen S UI1=$P(B,D) M TAB=B D B^cAN220("FORMN.TAAL","",UI1,"TAB") I K="-" S OK="0\"_$P($T(@("T3"_QT)),U,3)_TK G STEMPZ G STEMPA STEMPZ Q OK ; ; BTEMPITM(GRIDID,FORMIDNR,COPY,DDPID,DCSW) ; Form in .Net - mtemp99 opbouwen ; GRIDID: volgnr van de grid : indien '' : volgnummer ophalen ; FORMIDNR : intern nr van ^VBN(0,"FORM.ITEM" ; COPY : Het gaat om het kopiėren van een Item-niveau-taal record ; DDPID: Data dictionary programmer-id (def. per taal hiervan overnemen) ; Indien doorgeschakeld DD-item: id's gescheiden door "#" ; DCSW: 0 of "" = Definities uit ^DDP halen (einddefinitie) ; 1 = Definities uit ^DDC halen (klassedefinitie) ; Voorbeeld : ^mtemp99(101,"COMMON","DM001 1001 N",0)=`DM001 1001 N\N\Prompt\Commentaar“ S $ZT="ERR^cAFVBF01" D QT^cAFVBO01 N @$$INITVAR^cAFVBA01("GRIDID,FORMIDNR,COPY,DDPID,DCSW") ; F i="GRIDID","FORMIDNR","COPY","DDPID","DCSW" S @i=$G(@i) I '$L(GRIDID) S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID,"COMMON") S OK=GRIDID ; ; Indien data dictionary gegevens overnemen I $L(DDPID) D . S DDPGRIDID=$$BTEMP^cABVBK10("",$P(DDPID,"#",$L(DDPID,"#")),"","",'$G(DCSW)) . S i="" F S i=$O(^mtemp99(DDPGRIDID,"COMMON",i)) Q:'$L(i) D .. S DDP($e(i,$l(i)-2,$l(i)) )=$P(^(i,0),D,5,6) . I $L(DDPID,"#")>1 D ; Indien doorgeschakeld item, omschrijving anders ophalen .. S DESC=$$OMS^cABVBA01("1",DDPID,.OMS) .. S TK="" F S TK=$O(OMS(TK)) Q:'$L(TK) S $P(DDP(TK_" 1"),D)=OMS(TK,0) .. ;F PC=1:1:$L(DESC,D) S $P(DDP($P($P(DESC,D,PC),"#")_" 1"),D)=$P($P(DESC,D,PC),"#",2) . K ^mtemp99(DDPGRIDID) ; D DMS^cAN000("UQC","USC","FORMN.ITEM.TAAL",1) I '$L(UQC)!'$L(USC) G BTEMPITMZ S UREF=^DMC(UQC,USC,"DATA","REF") S TKI1="" F S TKI1=$O(^DTEXT(0,"TEXT.9000",TKI1)) Q:TKI1="" D ; aflopen taalcodes . S TKB=^(TKI1,0) . I $P(TKB,D,30) Q ; BG of verwijderd . S TK=TKI1 ;$P(TKB,D) . S UI1=FORMIDNR_" "_TK . S B(1)=$G(@UREF@(0)) . S B=$S(COPY=1:"",1:$S($L(B(1)):UI1,1:""))_D_TK ; key (ingevuld als rec. bestaat)_D_taalcode . I $L(DDPID) S $P(B,D,3,4)=$G(DDP(TK_" "_1)) ; Definities van Data Dictionary overnemen . I '$L(DDPID) D .. S $P(B,D,3)=$P(B(1),D,3) ; prompt .. S $P(B,D,4)=$P(B(1),D,4) ; commentaar . S UI1T=$P(B,D) I '$L(UI1T) S UI1T=" "_TK . S ^mtemp99(GRIDID,"COMMON",UI1T,0)=B BTEMPITMZ Q OK ; ; SAVERITM(SELECTEDID,PROMPT,COMMENTAAR) ; gewijzigde rij in VB.NET opslaan in de mtemp N (SELECTEDID,PROMPT,COMMENTAAR) S $ZT="^dmERROR" D QT^cAFVBO01 S OUT=1,D="\",U=";" I SELECTEDID="" G SAVERITMZ S GRIDID=$P(SELECTEDID,"||") S SELECTEDID=$P(SELECTEDID,"||",2) S $P(^mtemp99(GRIDID,"COMMON",SELECTEDID,0),D,3)=$G(PROMPT) S $P(^mtemp99(GRIDID,"COMMON",SELECTEDID,0),D,4)=$G(COMMENTAAR) SAVERITMZ Q OUT ; ; ; STEMPITM(GRIDID,FORMIDNR) ; Drukken op OK-button, opslaan van de mtemp in ^VBN(0,"FORM.ITEM.TAAL" ; GRIDID: volgnr van de grid : indien '' : volgnummer ophalen ; FORMIDNR : intern nr van ^VBN(0,"FORM.ITEM" ; Voorbeeld : ^mtemp99(101,"COMMON","DM001 1001 N",0)=`DM001 1001 N\N\Volgnr\Commentaar“ ; S $ZT="ERR^cAFVBF01" D QT^cAFVBO01 N @$$INITVAR^cAFVBA01("GRIDID,FORMIDNR") S OK=1 I '$L($G(GRIDID)) G STEMPITMZ I '$L($G(FORMIDNR)) S OK="0\"_$P($T(@("T2"_QT)),U,2) G STEMPITMZ S I1="" STEMPITMA S I1=$O(^mtemp99(GRIDID,"COMMON",I1)) I I1="" G STEMPITMZ S B=^(I1,0) S UI1=$P(B,D) ; key S TK=$P(B,D,2) ; taalkode S PROMPT=$P(B,D,3) ; prompt S COMMENT=$P(B,D,4) ; Commentaar S B(101)=FORMIDNR S B(102)=TK,B(103)=PROMPT,B(104)=COMMENT K TAB I $L($P(B,D)) G STEMPITMC STEMPITMB ; openen ; B(101), B(102) omvormen naar TAB(1), TAB(2) ... S UI1=B(101)_" "_B(102) S I="" F S I=$O(B(I)) Q:I="" S $P(TAB(I\100),D,I#100)=B(I) D P^cAN220("FORMN.ITEM.TAAL","",UI1,"TAB","") I K="-" S OK="0\"_$P($T(@("T3"_QT)),U,2)_TK G STEMPITMZ G STEMPITMA STEMPITMC ; wijzigen S UI1=$P(B,D) M TAB=B D B^cAN220("FORMN.ITEM.TAAL","",UI1,"TAB") I K="-" S OK="0\"_$P($T(@("T3"_QT)),U,3)_TK G STEMPITMZ G STEMPITMA STEMPITMZ Q OK ; ; NXTITMNR(FORMID,VV) ; Bepalen volgend volgnummer voor ^VBN(0,"FORM.ITEM",FormId_" "_Volgnr, ; Indien onbepaald : beginnen vanaf 1000 S $ZT="^dmERROR" D QT^cAFVBO01 N @$$INITVAR^cAFVBA01("FORMID,VV") D DMS^cAN000("UQC","USC","FORMN.ITEM",1) I '$L(UQC)!'$L(USC) S OUT="0\"_$P($T(@("T5"_QT)),U,2) G NXTITMNRZ S UREF=^DMC(UQC,USC,"DATA","REF") S UI1=FORMID_" 9000" I $G(VV) S UI1=FORMID_" z" S UI1=$O(@UREF,-1) I $P(UI1," ")'=FORMID S OUT=1000 G NXTITMNRY S OUT=$P(UI1," ",2)+1 NXTITMNRY I '$$PAR^cABVBD1(201) D ; GM 24.04.06 Numering op specifiek systeem (<> basis) . S NR=$$PAR^cABVBD1(204) I '$L(NR) S NR=5000 . I OUT van UI1 van bovenstaande global ; Indien onbepaald : beginnen vanaf 0 S $ZT="^dmERROR" D QT^cAFVBO01 N @$$INITVAR^cAFVBA01("FORMID") D DMS^cAN000("UQC","USC","FORMN.ITEM",1) I '$L(UQC)!'$L(USC) S OUT="0\"_$P($T(@("T7"_QT)),U,2) G NXTTABNRZ S UREF=^DMC(UQC,USC,"DATA","REF") S MAXTABNR=-1 S UI1=FORMID_" " F S UI1=$O(@UREF) Q:$P(UI1," ")'=FORMID D . S CURTABNR=$P(^(UI1,0),D,11) . I CURTABNR>MAXTABNR S MAXTABNR=CURTABNR S MAXTABNR=MAXTABNR+1,OUT=MAXTABNR NXTTABNRZ Q OUT ; ; WITM() ; wordt uitgevoerd als een item gewijzigd\geopend wordt ; doel: aanpassen tab-volgorde S $ZT="TRAP^cAN000" N R S R="1" I '$L($P(B(1),D,11)) S $P(B(1),D,11)="-1" ; Indien geen tabvolgorde ingegeven, default = -1 ; ;I A(1)=B(1) G WITMZ ; niets gewijzigd ;I $G(SWWITM) G WITMZ ; zit reeds in wijzigmodus ; tabvolgorde gewijzigd ? ;I $P(B(1),D,11)'=$P(A(1),D,11) D WTAB($P(B(1),D),$P(B(1),D,2),$P(B(1),D,11),$P(A(1),D,11),"W") ; WITMZ Q R ; PROP(UI1CP,LUI1CP) ; zet de prop. van DDP S R=UI1CP I $L($G(LUI1CP)) S R=$P(LUI1CP,"#",$L(LUI1CP,"#")) PROPZ Q R ; WTAB(FORMID,ITEMNR,NWAAR,OWAAR,UFU) ; openen/wijzigen item : tussenvoegen tabvolgorde S $ZT="TRAP^cAN000" N UI1,UREF,SWWITM,UQC,USC ; I '$L(NWAAR) G WTABZ D DMS^cAN000("UQC","USC","FORMN.ITEM",1) I '$L(UQC)!'$L(USC) G WTABZ S UREF=^DMC(UQC,USC,"DATA","REF") S SWWITM=1 S UI1=FORMID_" " F S UI1=$O(@UREF) Q:$P(UI1," ")'=FORMID D . I '$L($P(^(UI1,0),D,11)) Q ; geen tabvolgorde ingevuld . I $P(^(0),D,30)=2 Q ; verwijderd . I $P(^(0),D,2)=ITEMNR Q ; item zelf . I $G(UFU)="O" S OWAAR=$P(^(0),D,11)+1 I $P(^(0),D,11)