cABVB050 ;Functies ivm BeheerGrid.NET ; G YZ ; T1 ;Alias kan niet gelijk zijn aan 'T' als de Grid is ingevuld; T2 ;Visuele posities bevatten dubbels,geen kolommen verplaatst; T3 ;Er zijn ; kolommen niet verplaatst omdat ze niet meer bestaan; T4 ;Kolom kon niet worden gelocked; T5 ;Kolom kon niet worden gewijzigd; T6 ;Er zijn ; kolommen niet gekopiëerd omdat ze niet meer bestaan; T7 ;Grid ";" kon niet gelocked worden; T8 ;Er bestaat reeds een kolom waarvan de property "Bevat operationeel-menu" opstaat; ; ; CHKALIAS(JGRIDID,ALIAS) ; Controleert of Prefix Alias=="T" terwijl JGRIDID is ingevuld ; JGRIDID=id van de grid die gejoined wordt ; ALIAS=PrefixAlias ; ; Return: 0\Alias cannot be equal to T when Grid is filled in ; 1 N OUTPUT S $ZT="^dmERROR" S OUTPUT="1",D="\" I $L(JGRIDID),$$UC^cAFA1(ALIAS)="T" S OUTPUT="0"_D_$P($T(@("T1"_QT)),U,2) G CHKALIASZ CHKALIASZ Q OUTPUT ; CNVOP ; Conversie franse vertaling veld operationeel in de grids N I1,INH S $ZT="TRAP^cAN000" S I1="" F S I1=$O(^VBN(0,"GRID.TAB.COL",I1)) Q:I1="" D . S INH=^(I1,0) . I ($P(INH,D,6)="Operationeel"),('$L($P(INH,D,7))) S $P(^VBN(0,"GRID.TAB.COL",I1,0),D,7)="Opérationnel" W !!,"Einde conversie grids: kolom operationeel" CNVOPZ Q ; DTYPPROP(DTYPEID) ; DataTypeProperties: haalt de properties ; (Default Operator, Default Function,Select,Where,Where(Parameters),Order By ; op horende bij het gekozen datatype ; DTYPEID = DataTypeID ; Return: Default Operator/Default Function/Select/Where/Where(Parameters)/Order By N OUTPUT,DTYPECOD S $ZT="^dmERROR" ;S DTYPECOD=$$DATA^cAFVBO01("^VBN",0,"GRID.DATATYPE",DTYPEID,101) S DTYPECOD=$$DATA^cAFVBO01("DKODE",0,"CODE.9020",DTYPEID,101) I DTYPECOD=""!(DTYPECOD=0)!(DTYPECOD=4)!(DTYPECOD=5)!(DTYPECOD=12) S OUTPUT="\%ALPHAUP(~col~)\0\\\0" I DTYPECOD=1!(DTYPECOD=6)!(DTYPECOD=7)!(DTYPECOD=11) S OUTPUT="=\+~col~\0\\\" I DTYPECOD=2 S OUTPUT="=\\\+%INTERNAL(~col~)\TO_DATE(~col~,~DateFM~)\" I DTYPECOD=3 S OUTPUT="=\\\%INTERNAL(~col~)\TO_DATE(~col~,~DateFM~)\" I DTYPECOD=10 S OUTPUT="\+~col~\0\\\" DTYPPROPZ Q $G(OUTPUT) ; NEXTCNR(GRIDTABID,BIN) ; NextColNumber geeft de max nummer + 1 van de waarde op de meegegeven B-index terug ; GRIDTABID=de id van de gridtab ; BIN=111 voor visible position, 119 voor parameter ; ; Return: NextNummer N MAXNR,CURNR S $ZT="^dmERROR" S MAXNR=-1,D="\" S I1=GRIDTABID F S I1=$O(^VBN(0,"GRID.TAB.COL",I1)) Q:I1'[GRIDTABID D . S CURNR=$P(^VBN(0,"GRID.TAB.COL",I1,0),D,BIN#100) . I CURNR>MAXNR S MAXNR=CURNR S MAXNR=MAXNR+1 NEXTCNRZ Q MAXNR ; CVP(Q1,QU1,QT1,COLIDS,DOWN) ; Doet de visuele positie van de kolommen 1 stijgen of zakken, ; waarbij de andere kolommen mee worden aangepast ; COLIDS: ColumnIds gescheiden door ";" ; DOWN: "" or 0 = Up ; 1 = Down ; OUTPUT=1 ; =0\foutboodschap ; S $ZT="^dmERROR" S Q=Q1,QU=QU1,QT=QT1 N @$$INITVAR^cAFVBA01("Q1,QU1,QT1,COLIDS,DOWN") S D="\",OUTPUT=1,NDELETED=0 ;locken grid S GRIDID=$P($P(COLIDS,";")," ") S OUTPUT=$$LOCKGRD(GRIDID) I '$P(OUTPUT,D) G CVPZ ;Eerst sorteren op visible position F TEL=1:1:$L(COLIDS,";") D Q:'$P(OUTPUT,D) . S COLID=$P(COLIDS,";",TEL) . I '$DATA(^VBN(0,"GRID.TAB.COL",COLID)) S NDELETED=NDELETED+1 Q . S POS=$P(^VBN(0,"GRID.TAB.COL",COLID,0),D,11) . I $L($G(SORTPOS(POS))) S OUTPUT=0_D_$P($T(@("T2"_QT)),U,2) Q . S SORTPOS(POS)=COLID I '$P(OUTPUT,D) G CVPY I NDELETED S OUTPUT="0"_D_$P($T(@("T3"_QT)),U,2)_NDELETED_$P($T(@("T3"_QT)),U,3) ;Voor elke (op visuele positie gesorteerde) Kolom-id S CURPOS=-1 S INCR=1 I DOWN S CURPOS=999999 S INCR=-1 ;Als we downen: met onderste beginnen F S CURPOS=$O(SORTPOS(CURPOS),INCR) Q:CURPOS="" D . S COLID=SORTPOS(CURPOS),MAXPOS=-1,MINPOS=999999,NEXTPOS=999999,PREVPOS=-1 . S iCOL=$P(COLID," ",1,4) . F S iCOL=$O(^VBN(0,"GRID.TAB.COL",iCOL)) Q:$P(iCOL," ",1,4)'=$P(COLID," ",1,4) D .. S iPOS=$P(^(iCOL,0),D,11) .. I MAXPOSiPOS S MINPOS=iPOS .. I iPOSPREVPOS S PREVPOS=iPOS S PREVCOL=iCOL ;zoek vorige kolom .. I iPOS>CURPOS,iPOS19&(PIXELS<25) S R=1 G CHARSZ I PIXELS>24&(PIXELS<30) S R=2 G CHARSZ I PIXELS>29&(PIXELS<45) S R=3 G CHARSZ I PIXELS>44&(PIXELS<70) S R=6 G CHARSZ I PIXELS>69&(PIXELS<80) S R=10 G CHARSZ I PIXELS>79&(PIXELS<100) S R=12 G CHARSZ ; GM - 27.07.05 - Voor bedragen "tussenmaat" 12 I PIXELS>99&(PIXELS<130) S R=15 G CHARSZ I PIXELS>129&(PIXELS<160) S R=20 G CHARSZ I PIXELS>159&(PIXELS<190) S R=25 G CHARSZ I PIXELS>189&(PIXELS<220) S R=30 G CHARSZ I PIXELS>219&(PIXELS<250) S R=35 G CHARSZ I PIXELS>249&(PIXELS<280) S R=40 G CHARSZ I PIXELS>279&(PIXELS<310) S R=45 G CHARSZ I PIXELS>309 S R=50+((PIXELS-310)\6) G CHARSZ CHARSA I PIXELS<20 S R=0 G CHARSZ I PIXELS>19&(PIXELS<30) S R=1 G CHARSZ I PIXELS>29&(PIXELS<35) S R=2 G CHARSZ I PIXELS>34&(PIXELS<55) S R=3 G CHARSZ I PIXELS>54&(PIXELS<80) S R=6 G CHARSZ I PIXELS>79&(PIXELS<115) S R=10 G CHARSZ I PIXELS>114&(PIXELS<150) S R=15 G CHARSZ I PIXELS>149&(PIXELS<185) S R=20 G CHARSZ I PIXELS>184&(PIXELS<220) S R=25 G CHARSZ I PIXELS>219&(PIXELS<255) S R=30 G CHARSZ I PIXELS>254&(PIXELS<290) S R=35 G CHARSZ I PIXELS>289&(PIXELS<325) S R=40 G CHARSZ I PIXELS>324&(PIXELS<360) S R=45 G CHARSZ I PIXELS>359 S R=50+((PIXELS-360)\7) CHARSZ Q R ; LOCKGRD(GRIDID) ; Lock de grid ; GRIDID=id van de grid ; ; Return: 0\foutboodschap ; 1 = gelocked N OUTPUT S $ZT="^dmERROR" S D="\" S OUTPUT=$$PLUS^cANLOCK("^VBN(0,""GRID"","""_GRIDID_""")") I 'OUTPUT S OUTPUT=0_D_$P($T(@("T7"_QT)),U,2)_GRIDID_$P($T(@("T7"_QT)),U,3) LOCKGRDZ Q OUTPUT ; UNLOCKG(GRIDID) ; UnLock de grid ; GRIDID=id van de grid ; S $ZT="^dmERROR" L -@("^VBN(0,""GRID"","""_GRIDID_""")") UNLOCKGZ Q ; CREATID(Q1,QU1,QT1,TABID) ; Automatisch de kolom ID aanmaken voor de opgegeven tab ; TABID id van de tab ; OUTPUT=1 ; =0\foutboodschap S $ZT="^dmERROR" S Q=Q1,QU=QU1,QT=QT1 N @$$INITVAR^cAFVBA01("Q1,QU1,QT1,TABID") S OUT="1",D="\" S GRIDID=$P(TABID," ") S TABNR=$P(TABID," ",4) ;ID S N(1)=GRIDID_D_" "_D_TABNR_"\0\ID\ID\ID\ID\\\0\0\1\\0\1\0\0\0\ID\0\0\0\ID\ID\ID\\\\\0\0\\\\0\0\0\0\0" S N(2)="ID\1\\=\\\\\\\\\\" S N(3)="\\\\\" S NEWCOLID=TABID_" 0" I '$$PLUS^cANLOCK("^VBN(0,""GRID.TAB.COL"",NEWCOLID)",2) S OUTPUT=0_D_$P($T(@("T4"_QT)),U,2) Q ; locken D P^cAN220("GRIDN.TAB.COL","VB",NEWCOLID,"N","") L -^VBN(0,"GRID.TAB.COL",NEWCOLID) ; unlock I $L(K) S OUTPUT="0"_D_$P($T(@("T5"_QT)),U,2) G CREATIDZ ; K="-" = fout bij wijzigen ;Gridid S CLASNAME=$P(^VBN(0,"GRID",GRIDID,0),D,2) ;Gridid-kolom enkel aanmaken als de gridklasse met "TECH." begint I $$UC^cAFA1($E(CLASNAME,1,5))'="TECH." G CREATIDZ S N(1)=GRIDID_D_" "_D_TABNR_"\1\GridId\GridId\GridId\GridId\\\1\0\1\\0\0\0\0\1\\0\0\0\\\\\\\\0\0\\\\0\0" S N(2)="GridId\1\\=\\\\\\\\\\\\\\\\\\\\\\\\\\" S N(3)="\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" S NEWCOLID=TABID_" 1" I '$$PLUS^cANLOCK("^VBN(0,""GRID.TAB.COL"",NEWCOLID)",2) S OUTPUT=0_D_$P($T(@("T4"_QT)),U,2) Q ; locken D P^cAN220("GRIDN.TAB.COL","VB",NEWCOLID,"N","") L -^VBN(0,"GRID.TAB.COL",NEWCOLID) ; unlock I $L(K) S OUTPUT="0"_D_$P($T(@("T5"_QT)),U,2) G CREATIDZ ; K="-" = fout bij wijzigen CREATIDZ Q OUT ; CREATOP(Q1,QU1,QT1,TABID) ; Automatisch de kolom Levelusage en operational aanmaken voor de opgegeven tab ; TABID id van de tab ; OUTPUT=1 ; =0\foutboodschap S $ZT="^dmERROR" S Q=Q1,QU=QU1,QT=QT1 N @$$INITVAR^cAFVBA01("Q1,QU1,QT1,TABID") S OUT="1",D="\" ;Bestaat er al een kolom met Bevat uniek? S GRIDID=$P(TABID," ") S TABNR=$P(TABID," ",4) I $$CHKLEVEL(TABID) S OUT=0_D_$P($T(@("T8"_QT)),U,2) G CREATOPZ ;Proberen LevelUsage-property op te halen om taal te weten te komen (LevelUsage vs Niveau, Operational vs Operationeel) ;S RES=$$CLSEXST^cABVB05(GRIDID) ;I $P(RES,D) D ;. S GRIDCLAS=$P(RES,D,2) ;. I $$PRPEXST^cABVB05(GRIDCLAS,"LevelUsage") S LVLUNAME="LevelUsage" S OPERNAME="Operational" Q ;I '$L($G(LVLUNAME)) S LVLUNAME="Niveau" S OPERNAME="Operationeel" ;Default Nederlandse properties ; 30.08.06 - GM - Vast Engelstalige properties opzetten S LVLUNAME="LevelUsage" S OPERNAME="Operational" ;LevelUsage S COLNR=$$COLNR^cABVB01(GRIDID," ",TABNR,,1) S POS=$$NEXTCNR(TABID,111) S PAR=$$NEXTCNR(TABID,119) S N(1)=GRIDID_D_" "_D_TABNR_D_COLNR_"\LevelUsage\Niveau\\\\\"_POS_"\0\1\\0\0\1\0\"_PAR_"\\0\1\0\\\\\\\\0\0\\\\0\0\0\0\0" S N(2)=LVLUNAME_"\0\\\\\\\\\\\\\\\\\\\\\\\\\\\\" S N(3)="\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" S NEWCOLID=TABID_" "_COLNR I '$$PLUS^cANLOCK("^VBN(0,""GRID.TAB.COL"",NEWCOLID)",2) S OUT=0_D_$P($T(@("T4"_QT)),U,2) Q ; locken D P^cAN220("GRIDN.TAB.COL","VB",NEWCOLID,"N","") L -^VBN(0,"GRID.TAB.COL",NEWCOLID) ; unlock I $L(K) S OUT="0"_D_$P($T(@("T5"_QT)),U,2) G CREATOPZ ; K="-" = fout bij wijzigen ;Operational S COLNR=$$COLNR^cABVB01(GRIDID," ",TABNR,,1) S POS=$$NEXTCNR(TABID,111) S PAR=$$NEXTCNR(TABID,119) S N(1)=GRIDID_D_" "_D_TABNR_D_COLNR_"\Operational\Operationeel\Opérationnel\\\\"_POS_"\75\1\\0\0\1\0\"_PAR_"\\0\0\0\\\\\\\\0\0\\\\0\0\1\0\0" S N(2)=OPERNAME_"\0\\\%ALPHAUP(~col~)\\\\\\0\\\0\\\\\\\\\\\\\\\\" S N(3)="\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" S NEWCOLID=TABID_" "_COLNR I '$$PLUS^cANLOCK("^VBN(0,""GRID.TAB.COL"",NEWCOLID)",2) S OUT=0_D_$P($T(@("T4"_QT)),U,2) Q ; locken D P^cAN220("GRIDN.TAB.COL","VB",NEWCOLID,"N","") L -^VBN(0,"GRID.TAB.COL",NEWCOLID) ; unlock I $L(K) S OUT="0"_D_$P($T(@("T5"_QT)),U,2) G CREATOPZ ; K="-" = fout bij wijzigen ; ; GM 27.01.06 ; Loggingvelden: datums S COL(0)="LDateCreation\Date Creation\Dat.creatie\Date création\\Date last modified\\\\Datum laatste wijziging\Date dernière modification\" S COL(1)="LDateLastModified\Date Mod.\Dat.wijziging\Date mod.\\Date last modified\\\\Datum laatste wijziging\Date dernière modification\" F i=0,1 D I $L(K) G CREATOPZ . S COLNR=$$COLNR^cABVB01(GRIDID," ",TABNR,,1) . S POS=$$NEXTCNR(TABID,111),PAR=$$NEXTCNR(TABID,119) . S N(1)=GRIDID_D_" "_D_TABNR_D_COLNR_"\\\\\\\"_POS_"\75\1\\0\0\1\0\"_PAR_"\\0\0\0\\\\\\\\0\0\\\\0\0\1\0\0" . S N(2)=$P(COL(i),D)_"\0\\=\\\\\\\\+%INTERNAL(~col~)\TO_DATE(~col~,~DateFM~)\" . F j=5:1:8 S $P(N(1),D,j)=$P(COL(i),D,j-3) ; Omschrijvingen . F j=20,24,25,26 S $P(N(1),D,j)=$P(COL(i),D,j-14) ; Tooltips . S NEWCOLID=TABID_" "_COLNR . I '$$PLUS^cANLOCK("^VBN(0,""GRID.TAB.COL"",NEWCOLID)",2) S OUT=0_D_$P($T(@("T4"_QT)),U,2) Q ; locken . D P^cAN220("GRIDN.TAB.COL","VB",NEWCOLID,"N","") . L -^VBN(0,"GRID.TAB.COL",NEWCOLID) ; unlock . I $L(K) S OUT="0"_D_$P($T(@("T5"_QT)),U,2) Q ; ; GM 27.01.06 ; Loggingvelden: initialen S COL(0)="LInitialsCreation\User C.\Gebr.c.\Utilis.c.\\Initials user creation\\\\Initialen gebruiker creatie\Initiales utilisateur création\" S COL(1)="LInitialsLastModified\User M.\Gebr.w.\Utilis.m.\\Initials user last modified\\\\Initialen gebruiker laatste wijziging\Initiales utilisateur dernière modification\" F i=0,1 D I $L(K) G CREATOPZ . S COLNR=$$COLNR^cABVB01(GRIDID," ",TABNR,,1) . S POS=$$NEXTCNR(TABID,111),PAR=$$NEXTCNR(TABID,119) . S N(1)=GRIDID_D_" "_D_TABNR_D_COLNR_"\\\\\\\"_POS_"\51\1\\0\0\1\0\"_PAR_"\\0\0\0\\\\\\\\0\0\\\\0\0\1\0\0" . S N(2)=$P(COL(i),D)_"\0\\\%ALPHAUP(~col~)\\\\\\0\\\0" . F j=5:1:8 S $P(N(1),D,j)=$P(COL(i),D,j-3) ; Omschrijvingen . F j=20,24,25,26 S $P(N(1),D,j)=$P(COL(i),D,j-14) ; Tooltips . S NEWCOLID=TABID_" "_COLNR . I '$$PLUS^cANLOCK("^VBN(0,""GRID.TAB.COL"",NEWCOLID)",2) S OUT=0_D_$P($T(@("T4"_QT)),U,2) Q ; locken . D P^cAN220("GRIDN.TAB.COL","VB",NEWCOLID,"N","") . L -^VBN(0,"GRID.TAB.COL",NEWCOLID) ; unlock . I $L(K) S OUT="0"_D_$P($T(@("T5"_QT)),U,2) Q ; CREATOPZ Q OUT ; CHKLEVEL(GRIDTABID) ; Controleert of tab al een kolom heeft met bevat select aanstaan. ; GRIDID: ID van grid zelf ; Output: 1:Er bestaan al een kolom met bevat select ; 0:Er bestaat nog geen kolom met bevat select N @$$INITVAR^cAFVBA01("GRIDTABID") S D="\",OUT=0 S iCOL=GRIDTABID F S iCOL=$O(^VBN(0,"GRID.TAB.COL",iCOL)) Q:$P(iCOL," ",1,4)'=GRIDTABID!(OUT) D Q:$P(OUT,D) . I $P(^VBN(0,"GRID.TAB.COL",iCOL,0),D,22) S OUT=1 Q CHKLEVELZ Q OUT ; EXTRALN(GridTabId,ParCol,Par,SeqColumn,Seq,Table,PrefixAlias,Language,DateFM,SelInSel,FixedWhere,Query,Ids,LangUser) S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("GridTabId,ParCol,Par,SeqColumn,Seq,Table,PrefixAlias,Language,DateFM,SelInSel,FixedWhere,Query,Ids,LangUser") ; I '$L($G(Query)) S Query=$$dotNETS^dmSQL(GridTabId,$G(ParCol),$G(Par),$G(SeqColumn),$G(Seq),$G(Table),"",$G(Language),$G(DateFM),"",$G(FixedWhere),$G(LangUser," ")) I $E(Query)=0 G EXTRALNZ ; S Query=$P($P(Query,"ORDER BY"),"WHERE") S Query=Query_"WHERE T1.ID IN ("_Ids_")" ; EXTRALNZ Q Query ; CHCOL(TYPE,COLS) ; Meerde kolommen tegelijk aanpassen ; Input: TYPE: 0 = Markeer kolommen als onzichtbaar ; 1 = Markeer kolommen als zichtbaar ; 2 = Verwijder kolommen ; COLS: kolommen, gescheiden door \ S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("TYPE,COLS") ; S K="" F PC=1:1 S COL=$P(COLS,D,PC) Q:'$L(COL) D Q:$L(K) . I TYPE=2 D X^cAN220("GRIDN.TAB.COL","VB",COL) Q ; Verwijder kolom . S (WCOL(115),WCOL(202))=TYPE D B^cAN220("GRIDN.TAB.COL","VB",COL,"WCOL") ; CHCOLZ Q '$L(K) ; YZ Q ; ZZ ; 29.08.07 - 10 u 22 * V8.09