cABVBP15 ;Einddefinitie: aanmaken form ;cABVBP15 ; T1 ;Wijkt af:; T2 ;Wijkt af maar wordt NIET gewijzigd:; T3 ;Aangemaakt.; T4 ;Form item: ;Form: ; T5 ;Form;Form-taal;Form item;Form item-taal; T6 ;DMS bestaat niet voor FORMN.ITEM; T7 ;fout bij wijzigen; T8 ;fout bij openen; T9 ;DMS bestaat niet voor DP.PROP; T10 ;FOUT! ; T11 ;fout bij verwijderen; T12 ;verwijderd.; ; YZ Q ; DOTNET(GRIDID) ; Aanmaken form-definities vanuit dotNET ; Input: GRIDID: mtemp99-id van de grid met de titels N OVERWR,K S $ZT="^dmERROR" ; ; Indien geen definitie ingevuld, gewoon opslaan DOTNET1 I '$L(..B104GetObjectId()) D G DOTNETZ . D ..%Save() . S K=$$STEMP^cABVBF1(GRIDID,..B101) ; ; Form definities in vullen DOTNET2 S OVERWR(101)=..B101 S OVERWR(102)=..B102 S OVERWR(103)=..B103 S OVERWR(104)=..B104GetObjectId() S OVERWR(999)=GRIDID ; ; Form automatisch aanmaken DOTNET3 S K=$$MKFORM("",OVERWR(104),.OVERWR) ; DOTNETZ Q K ; MKFORM(FORM,DDP,OVERWR,UPD,REF) ; Aanmaken form uit einddefinitie ; Input: FORM: Naam (=ID) van de form ; DDP: Intern nummer einddef. klasse (of klassedef. indien UPD = 5) ; OVERWR: tabel met aanpassingen ; UPD: 0 of "" = nieuwe form ; 1 = update ; 2 = update + nieuwe kolommen aanmaken ; 3 = verschillen uitlijsten ; 4 = vrije velden aanpassen + nieuwe vanuit DDP ; 5 = vrije velden aanpassen + nieuwe vanuit DDC (= via beheer VV) ; REF: global met items die moeten geupdated worden ; Output: 1: OK ; 0: NOK N @$$INITVAR^cAFVBA01("FORM,DDP,OVERWR,UPD,REF") S $ZT="^dmERROR" F i="FORM","DDP","OVERWR","UPD","REF" s @i=$G(@i) ; ; Definities ophalen MKFORM1 S (ERRF,LOCKUI1)="" S DMS="DP.PROP" I UPD=5 S DMS="DC.PROP" D DMS^cAN000("UQC","USC",DMS,1) I '$L(UQC)!'$L(USC) D ERR(0,"",9,.ERRF) G MKFORMY S UREF=^DMC(UQC,USC,"DATA","REF") ; D DMS^cAN000("UQC","USC","FORMN.ITEM",1) I '$L(UQC)!'$L(USC) D ERR(0,"",6,.ERRF) G MKFORMY S FUREF=^DMC(UQC,USC,"DATA","REF") ; I '$L(DDP),'$L(FORM) G MKFORMZ I '$L(DDP) S DDP=$$SIG^cAFA1("FORMN",FORM,104) I '$L(DDP) G MKFORM7 ; ; Defaults ophalen S DEF=$$FORMDEF(DDP,UPD=5) I ('$L(DEF)),('$D(OVERWR)) G MKFORMY ; ; Node 0 MKFORM2 S $P(FORM(1),D)=$S($L(FORM):FORM,1:$P(DEF,D,2)) ; FormId S $P(FORM(1),D,2)=$P(DEF,D,3) ; Interne naam S $P(FORM(1),D,3)=$P(DEF,D) ; Klasse S $P(FORM(1),D,4)=DDP ; Link met DDP S $P(FORM(1),D,5)=1 ; Form supporteert vrij velden ; ; Defaults overschrijven MKFORM3 I $D(OVERWR) S i="" F S i=$O(OVERWR(i)) Q:('$L(i))!(i=999) S $P(FORM(1),D,i-100)=OVERWR(i) S FORM=$P(FORM(1),D) ; ; Form opslaan MKFORM4 W !,!,$P($T(@("T4")),U,3)_FORM I +UPD'=0&(+UPD'=5) G MKFORM7 ; Locken S OK=$$PLUS^cANLOCK("^VBN(0,""FORM"","""_FORM_""")") I 'OK D ERR(0,FORM,$P(OK,D,2),.ERRF) G MKFORMY ;I UPD=5 D DELFORM(FORM) ; Bij beheer vrije velden: form eerst verwijderen S LOCKUI1=FORM D P^cAN220("FORMN","VB",FORM,"FORM","") I $L(K) D ERR(0,FORM,8,.ERRF) G MKFORMY ; ; Titels opzetten MKFORM5 I $G(OVERWR(999)) S GRIDID=OVERWR(999) G MKFORM6 S GRIDID=$$FORMTL("",$P(DEF,D,4)) ; ; Titels opslaan MKFORM6 S OK=$$STEMP^cABVBF1(GRIDID,$P(FORM(1),D)) K ^mtemp99(GRIDID) I 'OK D ERR(0,"",$P(OK,D,2),.ERRF) G MKFORMY ; MKFORM7 ; Laat form vrije velden toe? S VVOK=$$SIG^cAFA1("FORMN",FORM,105)!(UPD=5) ; Is er minstens één actief vrij veld? S ACTVV=$S(UPD=5:1,1:0) I 'VVOK!ACTVV!'$L(DDP) G MKFORM8 S UI1=DDP_" " F S UI1=$O(@UREF) Q:$P(UI1," ")'=DDP D Q:ACTVV . S N0=^(UI1,0),N1=^(1) I $P(N0,D,30)=2 Q ; Verwijderd . I '$$ISVV^cABVBP17($P(N0,D,5),1) Q ; Geen vrij veld . ;S ACTVV=$$SIG^cAFA1($S($G(UPD)=5:"DC.PROP",1:"DP.PROP"),$P(N0,D,33),111) ; Actief vrij veld . S ACTVV=$P(N0,D,11) ; Actief vrij veld ; ; Items (via form) MKFORM8 I UPD S UI1=FORM_" " F S UI1=$O(@FUREF) Q:$P(UI1," ")'=FORM D . S N0=^(UI1,0) I $P(N0,D,30)=2 Q ; Verwijderd . I $L(REF),'$D(@REF@(FORM,UI1)) Q ; Komt niet voor in tabel . I (UPD=4)!(UPD=5) I '$$ISVV^cABVBP17($P(N0,D,33)) Q ; Is geen vrij veld . I $$ISVV^cABVBP17($P(N0,D,33)) I 'ACTVV Q ; Er zijn geen actieve vrije velden = niet aanpassen (worden later verwijderd) . S K=$$MKITM(FORM,UI1,"",UPD) I 'K S ERRF=1 ; ; Items (via klasse) MKFORM9 I '$L(DDP)!(UPD=1)!$L(REF) G MKFORMY S UI1=DDP_" " F S UI1=$O(@UREF) Q:$P(UI1," ")'=DDP D . S N0=^(UI1,0),N1=^(1) I $P(N0,D,30)=2 Q ; Verwijderd . I $L($P(N0,D,13)) D Q ; Zoeksleutel . I $L($P(N0,D,7)) Q ; Id . I $P(N0,D,3)="B149" Q ; Vennootschap . I $P(N0,D,6) Q ; Berekend . I UPD>1,$L($$FNDITM(FORM,UI1)) Q ; Bestaat reeds . S VV=$$ISVV^cABVBP17($P(N0,D,5),1) I VV,'ACTVV Q ; Geen enkel actief vrij veld of form supporteert geen vrije velden . I UPD>3,('VV) Q ; Is geen vrij veld . S K=$$MKITM(FORM,"",UI1,UPD) I 'K S ERRF=1 ; ; Inactieve vrije velden verwijderen (indien deze vroeger waren opgezet) ; Opmerking: de vrije velden worden enkel verwijderd indien er geen enkel vrij veld actief is. ; Van zodra er één vrij veld in gebruik is, blijven alle vrije velden opgezet. MKFORM10 I (UPD'=4)!$L(REF)!$G(ACTVV) G MKFORMY S UI1=FORM_" ",K="" F S UI1=$O(@FUREF) Q:$P(UI1," ")'=FORM D Q:$L(K) . S N0=^(UI1,0) I $P(N0,D,30)=2 Q ; Verwijderd . I '$$ISVV^cABVBP17($P(N0,D,33)) Q ; Is geen vrij veld . S K=$$DELITM(UI1) S:K=1 K="" I $L(K) S K="-" D ERR(2,UI1,11,.ERRF) . D WARN(UI1,"","","","","",11,1) ; ; Unlocken MKFORMY I $L(LOCKUI1) L -^VBN(0,"FORM",LOCKUI1) MKFORMZ Q 'ERRF ; MKITM(FORM,ITMID,PROPID,UPD) ; Aanmaken item uit einddefinitie N @$$INITVAR^cAFVBA01("FORM,ITMID,PROPID,UPD") S $ZT="^dmERROR" F i="FORM","ITMID","PROPID","UPD" s @i=$G(@i) ; ; Definities ophalen MKITM1 S (ERR,LOCKUI1)="" I '$L(PROPID),$L(ITMID) S PROPID=$$SIG^cAFA1("FORMN.ITEM",ITMID,135) S DMSPROP="DP.PROP" I $G(UPD)=5 S DMSPROP="DC.PROP" S DEF(1)=$$SIGN^cAFA1(DMSPROP,PROPID,0) I '$L(DEF(1)) G MKITMY S DEF(2)=^(1),VV=$$ISVV^cABVBP17(PROPID) I UPD=5,VV,'$P(DEF(1),D,11) S DEF(2)=$$VVN1^cABVBP17() ; S DMSKL="DP" I $G(UPD)=5 S DMSKL="DC" S DEFKL(1)=$$SIGN^cAFA1(DMSKL,$P(DEF(2),D,12),0) S DEFKL(2)=$$SIGN^cAFA1(DMSKL,$P(DEF(2),D,12),1) S KLASSE=$$SIG^cAFA1("CODE.9022",$P(DEFKL(1),D,3),101) S KLASSE=KLASSE_$S($L(KLASSE):".",1:"")_$P(DEFKL(1),D) ; D DMS^cAN000("UQC","USC","FORMN.ITEM",1) I '$L(UQC)!'$L(USC) D ERR(2,"",6,.ERR) G MKITMY S UREF=^DMC(UQC,USC,"DATA","REF") ; ; Node 0 MKITM2 K DMA,WARN,GRIDID,SKIP S $P(ITM(1),D)=FORM ; Intern nr form S $P(ITM(1),D,2)=$$NXTITMNR^cABVBF1(FORM,VV) ; Volgnr S $P(ITM(1),D,3)=$S($L($P(DEF(1),D,12)):$P(DEF(1),D,12),VV:"VrijVeld"_$P(DEF(1),D,3),1:"BLANCO") ; Interne naam S $P(ITM(1),D,4)=$P(DEF(2),D) ; Datatype S $P(ITM(1),D,5)=$P(DEF(2),D,3) ; Lengte input S DTYPE=$$SIG^cAFA1("CODE.9020",$P(DEF(2),D),101) ; Datatype S LINPUT=$P(DEF(2),D,3) S PIX=$$TWIP^cABVB02(LINPUT,DTYPE) S $P(ITM(1),D,6)=PIX ; Breedte control S $P(ITM(1),D,7)=+$P(DEF(1),D,14) ; Verplicht S $P(ITM(1),D,8)="1" ; Invulbaar S $P(ITM(1),D,9)="1" ; Wijzigbaar S $P(ITM(1),D,10)=$S(UPD=5:1,VV&'$P(DEF(1),D,11):0,1:"1") ; Zichtbaar S $P(ITM(1),D,11)="-1" ; Tabvolgorde S $P(ITM(1),D,12)=$P(DEF(1),D,3) ; Property S $P(ITM(1),D,13)=$P(DEF(2),D,13) ; Referentiegrid S $P(ITM(1),D,14)=KLASSE ; Referentieklasse S LABELW=$P(DEF(2),D,6)-$P(DEF(2),D,3)-1 I LABELW<0 S LABELW=0 S LABELW=$$TWIP^cABVB02(LABELW,DTYPE) I $$TYPE(KLASSE)'="1001" S LABELW=0 S $P(ITM(1),D,15)=LABELW ; Labelbreedte (enkel voor codetextbox) S $P(ITM(1),D,16)="" ; Maximum waarde S $P(ITM(1),D,17)=0 ; Kleiner dan maximum waarde? S $P(ITM(1),D,18)="" ; Minimum waarde S $P(ITM(1),D,19)=0 ; Groter dan minimum waarde? S $P(ITM(1),D,20)=$$TYPE(KLASSE) ; Type control S $P(ITM(1),D,21)=0 ; Text only? S $P(ITM(1),D,22)="" ; Default S $P(ITM(1),D,23)=0 ; Niet overschrijven S $P(ITM(1),D,24)=$P(DEF(2),D,10) ; Uitlijning S $P(ITM(1),D,25)=$P(DEF(2),D,4) ; Aantal decimalen S $P(ITM(1),D,26)=+$P(DEF(2),D,11) ; Formaat opzetten S $P(ITM(1),D,27)="" ; Vast where-statement ; ... S $P(ITM(1),D,30)=$P(DEF(1),D,30) ; Buiten gebruik / niet van toepassing ; ... S $P(ITM(1),D,33)=PROPID ; Link naar ^DDP S $P(ITM(1),D,34)=PROPID ; Gelinkte definities S $P(ITM(1),D,35)=PROPID ; Gebruikte definitie S $P(ITM(1),D,36)=$S('VV:"",1:$P(DEF(1),D,15)) ; Vrij veld: groupbox ; ; Wijzigen I $L(ITMID) D I $G(SKIP)=1 G MKITMY . S ITMO(1)=$$SIGN^cAFA1("FORMN.ITEM",ITMID,0) . I '$L(ITMO(1)) S SKIP=1 Q . I $P(ITMO(1),D,23) D Q ; Niet overschrijven: enkel LevelUsage wordt eventueel aangepast .. I +$P(ITMO(1),D,30)=+$P(ITM(1),D,30) S SKIP=1 Q ; LevelUsage is gelijk .. D WARN(ITMID,$P(ITMO(1),D,30),$P(ITM(1),D,30),130,.DMA,.WARN) .. S $P(ITMO(1),D,30)=$P(ITM(1),D,30),ITM(1)=ITMO(1),SKIP=2 ; Enkel LevelUsage wijzigen . ; Wordt gewijzigd . F i=4,5,6,7,13,14,15,24,25,26,30 D .. I $P(ITMO(1),D,i)=$P(ITM(1),D,i) Q .. I i=30 I +$P(ITMO(1),D,i)=+$P(ITM(1),D,i) Q ; "" of 0 is hetzelfde .. D WARN(ITMID,$P(ITMO(1),D,i),$P(ITM(1),D,i),100+i,.DMA,.WARN) .. S $P(ITMO(1),D,i)=$P(ITM(1),D,i) . ; Property (doorschakeling) . S PROPE=$$SQLKOL^cABVBP5("DP",$P(ITMO(1),D,34),$P(ITMO(1),D,33)) . I PROPE D WARN(ITMID,$P(ITMO(1),D,12),$P(PROPE,D,2),112,.DMA,.WARN,1) . I 'PROPE,$P(ITMO(1),D,12)'=$P(PROPE,D,2) D .. D WARN(ITMID,$P(ITMO(1),D,12),$P(PROPE,D,2),112,.DMA,.WARN) .. S $P(ITMO(1),D,12)=$P(PROPE,D,2) . ; Wordt niet gewijzigd (WEL in het geval van vrij velden) . F i=3,20,10,36 D .. I $P(ITMO(1),D,i)=$P(ITM(1),D,i) Q .. D WARN(ITMID,$P(ITMO(1),D,i),$P(ITM(1),D,i),100+i,.DMA,.WARN,1-VV) .. I VV S $P(ITMO(1),D,i)=$P(ITM(1),D,i) . S ITM(1)=ITMO(1) ; ; Item opslaan MKITM3 S UI1=$P(ITM(1),D)_" "_$P(ITM(1),D,2),ITMUI1=UI1 I UPD=3 S K="" G:'$D(@UREF) MKITM35 G MKITM4 ; Locken S OK=$$PLUS^cANLOCK("^VBN(0,""FORM.ITEM"","""_UI1_""")") I 'OK D ERR(2,UI1,$P(OK,D,2),.ERR) G MKITMY S LOCKUI1=UI1 I $D(@UREF) D D:$L(K) ERR(2,UI1,7,.ERR) G:$L(K) MKITMY G MKITM4 ; Wijzigen . K BITM F i=1:1:40 S BITM(100+i)=$P(ITM(1),D,i) . D B^cAN220("FORMN.ITEM","VB",UI1,"BITM") D P^cAN220("FORMN.ITEM","VB",UI1,"ITM","") I $L(K) D ERR(2,UI1,8,.ERR) G MKITMY ; Openen MKITM35 D WARN(ITMUI1,"","","","",.WARN,2) ; ; Prompts MKITM4 I $G(SKIP) G MKITM5 S GRIDID=$$BTEMPITM^cABVBF1($G(GRIDID),FORM,"",PROPID,$G(UPD)=5) I $L($G(ITMID)) D . S NGRIDID=$$GRIDID^cAFVBF01() . S TL="" F S TL=$O(^mtemp99(GRIDID,"COMMON",TL)) Q:'$L(TL) D .. S ITMTL(1)=^(TL,0),TLUI1=ITMID_" "_$TR(TL," "),ITMTLO(1)=$$SIGN^cAFA1("FORMN.ITEM.TAAL",TLUI1,0) .. I $P(ITMTL(1),D,3,4)=$P(ITMTLO(1),D,3,4) Q .. F i=3,4 I $P(ITMTL(1),D,i)'=$P(ITMTLO(1),D,i) D WARN(TLUI1,$P(ITMTLO(1),D,i),$P(ITMTL(1),D,i),100+i,.DMATL,.WARN) .. S ^mtemp99(NGRIDID,"COMMON",TLUI1,0)=TLUI1_D_$TR(TL," ")_D_$P(ITMTL(1),D,3)_D_$P(ITMTL(1),D,4) . K ^mtemp99(GRIDID) S GRIDID=NGRIDID ; S OK=1 I $L(GRIDID),UPD'=3 S OK=$$STEMPITM^cABVBF1(GRIDID,ITMUI1) K ^mtemp99(GRIDID) I 'OK D ERR(3,"",$P(OK,D,2),.ERR) ; ; ; Uitlijsten problemen MKITM5 I $D(WARN) D . W !," " . W !," ",$P($T(@("T4")),U,2)_ITMUI1_" ("_$P(DEF(1),D,12)_")" . F TYPE=0,1,2 I $D(WARN(TYPE)) D .. W !," |-> ",$P($T(@("T"_(1+TYPE))),U,2) .. I TYPE'=2 S i="" F S i=$O(WARN(TYPE,i)) Q:'$L(i) W !," - ",$P(WARN(TYPE,i),D) I $L($TR($P(WARN(TYPE,i),D,2,3),D,"")) W ": ",$P(WARN(TYPE,i),D,2)," -> ",$P(WARN(TYPE,i),D,3) ; ; Unlocken MKITMY I $L(LOCKUI1) L -^VBN(0,"FORM.ITEM",LOCKUI1) MKITMZ Q 'ERR ; ; ************************************************************************************** ; Functies * ; ************************************************************************************** ; WARN(UI1,OW,NW,BIN,DMA,WARN,NUPD,SHOW) N TXT S $ZT="TRAP^cAN000" ; S TXT="",NUPD=+$G(NUPD) ; I NUPD=1 Q ; I $G(BIN),'$D(DMA) D DMA($S($L(UI1," ")=2:"FORMN.ITEM",1:"FORMN.ITEM.TAAL"),.DMA) I $G(BIN) S TXT=$P($G(DMA(BIN)),D) S WARN=$G(WARN)+1,WARN(NUPD,WARN)=TXT_D_OW_D_NW I $G(SHOW) D . W !," ",$P($T(@("T4")),U,2)_UI1 . W !," |-> ",$P($T(@("T"_(1+NUPD))),U,2) WARNZ Q ; ERR(TYPE,UI1,ERRNR,ERR) N ERRTXT S $ZT="TRAP^cAN000" F i="TYPE","UI1","ERRTXT","ERRNR" s @i=$G(@i) ; S ERR=1 S ERRTXT=ERRNR I +ERRNR=ERRNR S ERRTXT=$P($T(@("T"_ERRNR)),U,2) W !," " W !," ",$P($T(@("T10")),U,2),$P($T(@("T5")),U,2+TYPE)," ",UI1,": ",ERRTXT ; ERRZ Q ; DMA(DMS,DMA) N UQA,USA,I1,I2,BIN S $ZT="TRAP^cAN000" S UQA=$P($G(^DMS(0,DMS,"DMA","W")),D),USA=$P($G(^("W")),D,2) I '$L(UQA)!'$L(USA) G DMAZ K DMA S I1=0 F S I1=$O(^DMA(UQA,USA,I1)) Q:I1="" S I2="" F S I2=$O(^DMA(UQA,USA,I1,I2)) Q:I2="" D . S BIN=$G(^(I2,16)) I '$L(BIN) Q . S DMA(BIN)=$G(^(1)) DMAZ Q ; DELFORM(FORM) ; Effectief verwijderen van een form ; Input: FORM: Form-key S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("FORM") ; ; Definities ophalen S K="" D DMS^cAN000("UQC","USC","FORMN.TAAL",1) I '$L(UQC)!'$L(USC) G DELFORMZ S UREF=^DMC(UQC,USC,"DATA","REF") ; ; Form D X^cAN220("FORMN","VB",FORM) I $L(K) G DELFORMZ ; ; Titels form S UI1=FORM_" " F S UI1=$O(@(UREF)) Q:$P(UI1," ")'=FORM D X^cAN220("FORMN.TAAL","VB",UI1) Q:$L(K) ; ; Items S UI1=FORM_" " F S UI1=$O(^VBN(0,"FORM.ITEM",UI1)) Q:$P(UI1," ")'=FORM S OK=$$DELITMS(UI1) I 'OK S K="-" Q:$L(K) ; DELFORMZ Q '$L(K) ; DELITMS(ITMS) ; Effectief verwijderen van form-item(s) ; Input: ITMS: kolommen, gescheiden door \ S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("ITMS") ; S K="" ;D DMS^cAN000("UQC","USC","FORMN.ITEM.TAAL",1) I '$L(UQC)!'$L(USC) G DELITMSZ ;S UREF=^DMC(UQC,USC,"DATA","REF") ; F PC=1:1 S ITM=$P(ITMS,D,PC) Q:'$L(ITM) D Q:$L(K) . ; Item-hoofding . ;D X^cAN220("FORMN.ITEM","VB",ITM) Q:$L(K) . ; Item prompts . ;S UI1=ITM_" " F S UI1=$O(@(UREF)) Q:$P(UI1," ",1,2)'=ITM D X^cAN220("FORMN.ITEM.TAAL","VB",UI1) Q:$L(K) . S OK=$$DELITM(ITM) I 'OK S K="-" ; DELITMSZ Q '$L(K) ; DELITM(ITM) ; Effectief verwijderen van één form-item N UREF,K,UQC,USC,UI1 S $ZT="^dmERROR" ; S K="" D DMS^cAN000("UQC","USC","FORMN.ITEM.TAAL",1) I '$L(UQC)!'$L(USC) G DELITMZ S UREF=^DMC(UQC,USC,"DATA","REF") ; ; Item-hoofding D X^cAN220("FORMN.ITEM","VB",ITM) Q:$L(K) ; Item prompts S UI1=ITM_" " F S UI1=$O(@(UREF)) Q:$P(UI1," ",1,2)'=ITM D X^cAN220("FORMN.ITEM.TAAL","VB",UI1) Q:$L(K) ; DELITMZ Q '$L(K) ; FNDITM(FORM,PROPID) N IVB,IVBO,ITM S $ZT="TRAP^cAN000" S ITM="" ; S IVB=$TR(PROPID," ","")_" "_FORM,IVBO=IVB S IVB=$O(^IVB(0,"FORMN.ITEM",135,IVB)) I $P(IVB," ",1,2)'=IVBO G FNDITMZ S ITM=$P(^(IVB),D) ; FNDITMZ Q ITM ; TYPE(KLASSE) ; Bepaalt type control ; Input: KLASSE N TYP S $ZT="^dmERROR" S TYP="1000" ; Default = textbox I '$L(KLASSE) G TYPEZ I $$UC^cAFA1(KLASSE)'["PROG.TEKSTEN" S TYP=1001 G TYPEZ ; Codetextbox I $$UC^cAFA1(KLASSE)="PROG.TEKSTEN.TEXT9001" S TYP=1002 G TYPEZ ; Checkbox (ja/neen veld) S TYP=1003 ; Combobox TYPEZ Q TYP ; FORMDEF(DDP,SW) ; Geeft default waarden voor een form aan de hand van DDP terug ; Input: DDP: Intern nummer ; SW: "",0: intern nummer einddef. doorgegeven ; 1: intern nummer klassedef. doorgegeven ; Output: klasse \ formkey \ trefwoord \ intern nr. ID-property N @$$INITVAR^cAFVBA01("DDP,SW") S $ZT="^dmERROR" ; S SW=$G(SW),OUTP="" I '$L($G(DDP)) G FORMDEFZ S DMS="DP" I SW S DMS="DC" S DEF(1)=$$SIGN^cAFA1(DMS,DDP,0) I '$L(DEF(1)) G FORMDEFZ S DEF(2)=$$SIGN^cAFA1(DMS,DDP,1) S DMS="DP.PROP" I $G(SW) S DMS="DC.PROP" D DMS^cAN000("UQC","USC","DP.PROP",1) I '$L(UQC)!'$L(USC) G FORMDEFZ S UREF=^DMC(UQC,USC,"DATA","REF") ; ; Variabelen ophalen S KLASSE=$$SIG^cAFA1("CODE.9022",$P(DEF(1),D,3),101) S KLASSE=KLASSE_$S($L(KLASSE):".",1:"")_$P(DEF(1),D) S FORMID=$$UC^cAFA1(KLASSE) S UI1=DDP_" ",IDPROP="" F S UI1=$O(@UREF) Q:($P(UI1," ")'=DDP) S N0=^(UI1,0) I ($P(N0,D,30)'=2),($P(N0,D,7)=3) S IDPROP=UI1 Q ; Klasse id opzoeken S OMS="" I $L(IDPROP) F TK="N","E","F","D" S OMS=$P($$OMS^cABVBA01("1~"_TK_"~"_SW,IDPROP),D) Q:$L($P(OMS,"\")) S OUTP=KLASSE_D_FORMID_D_OMS_D_IDPROP ; FORMDEFZ Q OUTP ; FORMTL(GRIDID,PROPID) ; Zet een mtemp99 op met default titels voor een form ; Input: GRIDID: intern nr mtemp99, bij "" wordt een nieuw nr bepaald ; PROPID: intern nr ID-property van de klasse N @$$INITVAR^cAFVBA01("GRIDID,PROPID") S $ZT="^dmERROR" ; S GRIDID=$G(GRIDID) I '$L($G(PROPID)) G FORMTLZ S FORM="" I $L(GRIDID) S UI1=$O(^mtemp99(GRIDID,"COMMON","")) S FORM=$P(UI1," ") I '$L(GRIDID) S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID,"COMMON") ; S TK="" F S TK=$O(^DTEXT(0,"TEXT.9000",TK)) Q:TK="" D ; aflopen taalcodes . S TKB=^(TK,0) . I $P(TKB,D,30) Q ; BG of verwijderd . S UI1T=FORM_" "_TK . S $P(B(1),D)=$S($L(FORM):UI1T,1:"") . S $P(B(1),D,2)=TK . S $P(B(1),D,3)=$P($$OMS^cABVBA01("1~"_TK,PROPID),D) . I $D(^mtemp99(GRIDID,"COMMON",UI1T,0)) D Q ; Enkel omschrijving wijzigen .. S $P(^mtemp99(GRIDID,"COMMON",UI1T,0),D,3)=$P(B(1),D,3) . S ^mtemp99(GRIDID,"COMMON",UI1T,0)=B(1) ; FORMTLZ Q GRIDID ; ; ZZ ; 29.08.07 - 10 u 22 * V8.09