cABVB02 ;Functies ivm beheer grid; cABVB02 ; G YZ ; T0 ;Functies ivm beheer grid; T1 ;Nummer ; komt 2 maal voor in de parameters; ; COLTST(K,GRID,INI,TABNR,UFU,BIN,SWVBNET) ; test op volgnr positie N R I K="-" S R=1 G COLTSTZ S R=$$COLNR^cABVB01(GRID,INI,TABNR,$G(BIN),$G(SWVBNET)) I UFU="O",K>R S R=0 G COLTSTZ I UFU="W",K'=R,K>(R-1) S R=0 G COLTSTZ S R=1 COLTSTZ Q R ; COLSEL(GRID,INI,TABNR,COLNR,INPUT,SWVBNET) ; Testen of veld 'Dient als SelectId' niet op 1 staat in een andere kolom N R,I1,TABID,BEST S $ZT="TRAP^cAN000" S BEST=$S($G(SWVBNET)=1:"VBN",1:"VB") S R=1 I 'INPUT G COLSELZ S R=1 S TABID=GRID_" "_INI_" "_TABNR_" ",I1=TABID F S I1=$O(@("^"_BEST_"(0,""GRID.TAB.COL"",I1)")) Q:$E(I1,1,$L(TABID))'=TABID I $P(^(I1,0),D,4)'=COLNR,$P(^(0),D,$G(SWVBNET)*5+11) S R=0 Q COLSELZ Q R ; DCOL(SWVBNET) ; wordt uitgevoerd als een standaardkolom verwijderd wordt ; SWVBNET=1 : definitie voor .NET N R S R=1 ; gelijkhouden usertabs I $P(B(1),D,2)=" " S R=$$WSTCOL^cABVB01($P(B(1),D),$P(B(1),D,3),$P(B(1),D,4),B(1),"V",$G(SWVBNET)) I $G(SWWCOL) G DCOLZ ; zit reeds in wijzigmodus ; plaats van kolom opschuiven D WPOS($P(B(1),D),$P(B(1),D,2),$P(B(1),D,3),$P(B(1),D,4),$P(B(1),D,$G(SWVBNET)*-1+12),$P(A(1),D,$G(SWVBNET)*-1+12),"V",$G(SWVBNET)) DCOLZ Q R ; DTAB(SWVBNET) ; uit te voeren bij delete van een tab ; SWVBNET=1 : definitie voor .NET ; UI1 = UI1 van de TAB ; eerst verwijderen van de kolommen : opgelet : user-kolommen worden meeverwijderd ! N BEST,USA,I2,I3,R S $ZT="TRAP^cAN000" S R=1 S BEST=$S($G(SWVBNET):"VBN",1:"VB") S USA=$S($G(SWVBNET):"GRIDN.TAB.COL",1:"GRID.TAB.COL")_$S($P(B(1),D,2)'=" ":"_USR",1:"") S I2=$S($G(SWVBNET):$S($P(B(1),D,2)'=" ":"USER.",1:"")_"GRID.TAB.COL",1:"GRID.TAB.COL") S I3=UI1_" " F S I3=$O(@("^"_BEST_"(0,I2,I3)")) Q:$E(I3,1,$L(UI1)+1)'=(UI1_" ") D X^cAN220(USA,"VB",I3) ; gelijkhouden usertabs I $P(B(1),D,2)=" " S R=$$WSTTAB^cABVB01($P(B(1),D),$P(B(1),D,3),B(1),"V",$G(SWVBNET)) DTABZ Q R ; FREENRS(IND) ; gets the next free UserTabNr and VisiblePosition N R1,R2,I,D S D="\" L +^VBN(0,"USER.GRID",IND) I '$D(^VBN(0,"USER.GRID",IND,0)) S ^(0)=$P(IND," ")_D_$P(IND," ",2)_D_D_100_D_100 S R1=$P(^(0),D,4),R2=$P(^(0),D,5) S:'$L(R1) R1=100 S:'$L(R2) R2=100 S I=IND_" " F S I=$O(^VBN(0,"USER.GRID.TAB",I)) Q:$P(I," ",1,2)'=IND S:$P(I," ",3)=R1 R1=R1+1 S:$P(^(I,0),D,10)>R2 R2=$P(^(0),D,10)+10 S $P(^VBN(0,"USER.GRID",IND,0),D,4,5)=(R1+1)_D_(R2+10) L -^VBN(0,"USER.GRID",IND) FREENRSZ Q R1_D_R2 ; FUNC(DTYPE) ; Invullen functies adhv het Data type S D="\" I $G(SW2)'=1 G FUNCZ ; enkel maar uitvoeren bij pagina 1 S RES=$$DTYPPROP^cABVB050(+DTYPE+1000) S:'$L($P(B(2),D,4)) $P(B(2),D,4)=$P(RES,D) S:'$L($P(B(2),D,5)) $P(B(2),D,5)=$P(RES,D,2) S:'$L($P(B(2),D,11)) $P(B(2),D,11)=$P(RES,D,3) S:'$L($P(B(2),D,12)) $P(B(2),D,12)=$P(RES,D,4) S:'$L($P(B(2),D,13)) $P(B(2),D,13)=$P(RES,D,5) S:'$L($P(B(2),D,14)) $P(B(2),D,14)=$P(RES,D,6) FUNCZ Q ; OCOL(SWVBNET) ; openen van een kolom ; SWVBNET=1 : definitie voor .NET ; indien kolom in een standaardtab : gelijkhouden usertabs I $P(B(1),D,2)=" " S R=$$WSTCOL^cABVB01($P(B(1),D),$P(B(1),D,3),$P(B(1),D,4),B(1),"O",$G(SWVBNET)) ; tussenvoegen I $L($P(B(1),D,$G(SWVBNET)*-1+12)) D WPOS^cABVB02($P(B(1),D),$P(B(1),D,2),$P(B(1),D,3),$P(B(1),D,4),$P(B(1),D,$G(SWVBNET)*-1+12),,"O",$G(SWVBNET)) OCOLZ Q ; ORTAB(GRID,SWVBNET) ; Tonen syn. op standaard tabs horende bij de grid N R,I1,TELLER,TABID S $ZT="TRAP^cAN000" K ^TEMP(boot,$J) S BEST=$S($G(SWVBNET)=1:"VBN",1:"VB") S TABID=GRID_" "_" "_" ",I1=TABID F TELLER=0:1 S I1=$O(@("^"_BEST_"(0,""GRID.TAB"",I1)")) Q:$E(I1,1,$L(TABID))'=TABID S ^TEMP(boot,$J,I1)=I1_D_$P(^(I1,0),D,4) I TELLER<2 S R=$O(^TEMP(boot,$J,"")) G ORTABY S R=$$^cANSYN("TAB.OR","",$G(TEMP)) ORTABY K ^TEMP(boot,$J) ORTABZ Q R ; PAR ; Beheer van de parameters van de kolom N RSORT,STRING,TELLER,I1,DEEL,BEST,USA,STRING,SWOK S $ZT="TRAP^cAN000" S BEST=$S($G(SWVBNET):"VBN",1:"VB") S USA=$S($G(SWVBNET):"GRIDN.TAB.COL.PAR",1:"GRID.TAB.COL.PAR") S I2=$S($G(SWVBNET):1,1:0) S RSORT=$$GETSORT^cAFA1() S STRING=$P(B(3),D,2) I STRING="" G PARA S TELLER=$L(STRING,U) F I1=1:1:TELLER D . S DEEL=$P(STRING,U,I1) . I DEEL="" Q . S ^HULP("SORT",RSORT,(I1-I2))=(I1-I2)_D_$P(DEEL,"~",2)_D_$P(DEEL,"~")_D_$P(DEEL,"~",3) PARA D BS^cAN210(USA,"VB","VB",0,"") ; Controle of er geen 2 zelfde nummers zijn toegekend S STRING="",SWOK=1,I1="" F S I1=$O(^HULP("SORT",RSORT,I1)) Q:I1="" D G PARA:SWOK=0 . S DEEL=^(I1) . I (U_STRING_U)[(U_$P(DEEL,D)_U) S SWOK=0 S K=$P($T(@("T1"_QT)),U,2)_$P(DEEL,D)_$P($T(@("T1"_QT)),U,3) D TXT^cAFA1(250) Q . S STRING=STRING_U_$P(DEEL,D) S STRING="" S I1="" F S I1=$O(^HULP("SORT",RSORT,I1)) Q:I1="" D . S DEEL=^(I1) . S $P(STRING,U,($P(DEEL,D)+I2))=$P(DEEL,D,3)_"~"_$P(DEEL,D,2)_"~"_$P(DEEL,D,4) S U2(1)="Parameters" D B^cAN000(302,STRING) S $P(ULOG(302),D,2)=$P(A(302\100),D,302#100)_D_$P(B(302\100),D,302#100) PARY D RELSORT^cAFA1(RSORT) PARZ Q ; TOOLT ; Beheer van de tooltips van de kolom N RSORT,U2,K,bin,i,TAB S $ZT="TRAP^cAN000" S RSORT=$$GETSORT^cAFA1() S ^HULP("SORT",RSORT,UI1,0)=$P(B(1),D,20)_D_$P(B(1),D,24)_D_$P(B(1),D,25)_D_$P(B(1),D,26) I $P(B(1),D,2)'=" " D R^cAN200("GRIDN.TAB.COL_TOOLTIP","","","",$$IDEM^cAFA1) G TOOLTY ; D @($S($G(UFU)="O":"P",1:"W")_"^cAN200(""GRIDN.TAB.COL_TOOLTIP"","""","""","""",$$IDEM^cAFA1)") D W^cAN200("GRIDN.TAB.COL_TOOLTIP","","","",$$IDEM^cAFA1) S K=^HULP("SORT",RSORT,UI1,0) f i=1:1:4 d . S U2(1)="Tooltip "_$P("Engels\Nederlands\Frans\Duits",D,i) . s bin=$p("120\124\125\126",D,i) . D B^cAN000(bin,$P(K,D,i)) . S $P(ULOG(bin),D,2)=$P(A(bin\100),D,bin#100)_D_$P(B(bin\100),D,bin#100) . I UFU="O" S $P(^VBN(0,"GRID.TAB.COL",UI1,(bin\100)-1),D,bin#100)=$P(B(bin\100),D,bin#100) TOOLTY D RELSORT^cAFA1(RSORT) TOOLTZ Q ; TWIP(POS,DTYPE) ; Omrekenen posities naar Twips N R,VERS,AANT S $ZT="TRAP^cAN000" I DTYPE=2!(DTYPE=3) S R=75 G TWIPZ ; datum I DTYPE=12 S R=55 G TWIPZ ; maand S POS=+POS I POS'>0 S R=0 G TWIPZ I POS>50 G TWIPA I POS=1 S R=20 G TWIPZ I POS=2 S R=$S(DTYPE=0:30,1:25) G TWIPZ I POS=3 S R=$S(DTYPE=0:35,1:30) G TWIPZ I POS>3&(POS<7) S R=$S(DTYPE=0:55,1:45) G TWIPZ I POS>6&(POS<11) S R=$S(DTYPE=0:80,1:70) G TWIPZ I ((DTYPE=1)!(DTYPE=6)!(DTYPE=7)!(DTYPE=10)!(DTYPE=11)),POS>10&(POS<13) S R=80 G TWIPZ ; GM - 27.07.05 - Voor bedragen "tussenmaat" 12 I POS>10&(POS<16) S R=$S(DTYPE=0:115,1:100) G TWIPZ I POS>15&(POS<21) S R=$S(DTYPE=0:150,1:130) G TWIPZ I POS>20&(POS<26) S R=$S(DTYPE=0:185,1:160) G TWIPZ I POS>25&(POS<31) S R=$S(DTYPE=0:220,1:190) G TWIPZ I POS>30&(POS<36) S R=$S(DTYPE=0:255,1:220) G TWIPZ I POS>35&(POS<41) S R=$S(DTYPE=0:290,1:250) G TWIPZ I POS>40&(POS<46) S R=$S(DTYPE=0:325,1:280) G TWIPZ I POS>39&(POS<51) S R=$S(DTYPE=0:360,1:310) G TWIPZ G TWIPZ TWIPA S VERS=POS#5 I VERS=0 G TWIPB S POS=POS+(5-VERS) TWIPB S POS=POS-50 S AANT=POS/5 S R=$S(DTYPE=0:360,1:310)+($S(DTYPE=0:35,1:30)*AANT) TWIPZ Q R ; WCOL(SWVBNET) ; wordt uitgevoerd als een standaardkolom gewijzigd wordt ; SWVBNET=1 : definitie voor .NET N R S R=1 I A(1)=B(1) G WCOLZ ; niets gewijzigd ; gelijkhouden usertabs I $P(B(1),D,2)=" " S R=$$WSTCOL^cABVB01($P(B(1),D),$P(B(1),D,3),$P(B(1),D,4),B(1),"W",$G(SWVBNET)) I $G(SWWCOL) G WCOLZ ; zit reeds in wijzigmodus ; plaats van kolom gewijzigd ? I $P(B(1),D,$G(SWVBNET)*-1+12)'=$P(A(1),D,$G(SWVBNET)*-1+12) D WPOS^cABVB02($P(B(1),D),$P(B(1),D,2),$P(B(1),D,3),$P(B(1),D,4),$P(B(1),D,$G(SWVBNET)*-1+12),$P(A(1),D,$G(SWVBNET)*-1+12),"W",$G(SWVBNET)) WCOLZ Q R ; WPOS(GRID,INI,TABNR,COLNR,NWAAR,OWAAR,UFU,SWVBNET) ; openen/wijzigen kolom : tussenvoegen positie N I1,I2,NINH,BEST,USA,BIND,TABID,SWWCOL S $ZT="TRAP^cAN000" I '$L(NWAAR) G WPOSZ S BEST=$S($G(SWVBNET):"VBN",1:"VB") S USA=$S($G(SWVBNET):"GRIDN.TAB.COL",1:"GRID.TAB.COL")_$S(INI'=" ":"_USR",1:"") S I2=$S(INI'=" "&$G(SWVBNET):"USER.",1:"")_"GRID.TAB.COL" S BIND=$G(SWVBNET)*-1+12+100 S TABID=GRID_" "_INI_" "_TABNR_" ",I1=TABID,SWWCOL=1 F S I1=$O(@("^"_BEST_"(0,I2,I1)")) Q:$E(I1,1,$L(TABID))'=TABID D . I $P(^(I1,0),D,4)=COLNR Q . I '$L($P(^(0),D,BIND-100)) Q ; geen positie ingevuld . I $G(UFU)="O" S OWAAR=$P(^(0),D,BIND-100)+1 I $P(^(0),D,BIND-100) BG N R S R=1 I $P(B(1),D,2)=" ",$P(B(1),D,30),$P(A(1),D,30)'=$P(B(1),D,30) S R=$$WSTTAB^cABVB01($P(B(1),D),$P(B(1),D,3),B(1),"W",$G(SWVBNET)) Q R ; YZ Q ; ZZ ; 29.08.07 - 10 u 22 * V8.09