cAFVB09 ; Kopiëren user-tabs VBN ; cAFVB09 ; YZ Q ; COPY(GRID,INI,TABNR,TO,BG) ; GRID = naam grid van de te kopiëren user-tab(s) ; INI = initialen te kopiëren user-tab(s) ; TABNR = nummer van de te kopiëren user-tab ; TO = initialen waarnaar user-tab gekopieerd moet worden, gescheiden door '\' ; BG = 1 : vanuit Background, niets tonen op scherm ; S $ZT="TRAP^cAN000" N TAB,OK S OK=0,D="\",U=";" ; I '$L($G(GRID)) G COPYZ I '$L($G(INI)) G COPYZ I '$L($G(TO)) G COPYZ ; Er werd een TABNR doorgegeven I $L($G(TABNR)) D COPYTAB(GRID,INI,TABNR,TO,$G(BG)) G COPYY ; Er werd geen TABNR doorgegeven: alle user-tabs van gebruiker INI ; worden overlopen en gekopieerd I '$L($G(TABNR)) D . S TAB=GRID_" "_INI_" " . F S TAB=$O(^VBN(0,"USER.GRID.TAB",TAB)) Q:$P(TAB," ",1,2)'=(GRID_" "_INI)!(TAB="") D .. D COPYTAB(GRID,INI,$P(TAB," ",3),TO,$G(BG)) COPYY S OK=1 COPYZ Q ; COPYTAB(GRID,INI,TABNR,TO,BG) ; GRID = naam grid van de te kopiëren user-tab(s) ; INI = initialen te kopiëren user-tab(s) ; TABNR = nummer van de te kopiëren user-tab ; TO = initialen waarnaar user-tab gekopieerd moet worden, gescheiden door '\' ; BG = 1 : vanuit Background, niets tonen op scherm ; S $ZT="TRAP^cAN000" N NTAB,X,INITO,NR,i,COL,NCOL,NCUI1,NTUI1,VP S D="\",U=";" ; Kopiëren van de user-tab naar alle gebruikers in TO M NTAB=^VBN(0,"USER.GRID.TAB",GRID_" "_INI_" "_TABNR) I '$L($G(NTAB(0))) G COPYTABZ F X=1:1:$L(TO,D) D . S INITO=$P(TO,D,X) . I '$L(INITO) Q . I INITO=INI Q . S NR=$O(^VBN(0,"USER.GRID.TAB",GRID_" "_INITO_" z"),-1) . I $P(NR," ",1,2)'=(GRID_" "_INITO) S NR=" 99" . S NR=$P(NR," ",3)+1,VP=NR#100*10+100 . S NTUI1=GRID_" "_INITO_" "_NR . S $P(NTAB(0),D,2)=INITO . S $P(NTAB(0),D,3)=NR,$P(NTAB(0),D,10)=VP . M ^VBN(0,"USER.GRID.TAB",NTUI1)=NTAB . I '$G(BG) W !,NTUI1," - ",NTAB(0) . ; Doorlopen van alle kolommen van die tab en kopiëren naar alle gebruikers in TO . S COL=GRID_" "_INI_" "_TABNR_" " . F S COL=$O(^VBN(0,"USER.GRID.TAB.COL",COL)) Q:$P(COL," ",1,3)'=(GRID_" "_INI_" "_TABNR)!(COL="") D .. M NCOL=^(COL) .. I '$L($G(NCOL(0))) Q .. S NCUI1=NTUI1_" "_$P(COL," ",4) .. S $P(NCOL(0),D,2)=INITO .. S $P(NCOL(0),D,3)=NR .. M ^VBN(0,"USER.GRID.TAB.COL",NCUI1)=NCOL .. I '$G(BG) W !,NCUI1," - ",NCOL(0) COPYTABZ Q ; ZZ ; 29.08.07 - 10 u 22 * V8.09