cAFVBC01 ; functies calls ; cAFVBC01 ; T1 ; min.; T2 ;Fout bij opslaan van de historiek;Foutieve definitie : ; T3 ;Klantencall;Leverancierscall;Prospectencall;Productencall; T4 ;Geen map gevonden in de parameters!; T5 ;Klantencall; T6 ;Fout bij aanmaken map ; T7 ;Call is afgesloten; T8 ;Aan;Cc ;Van; T9 ; naar ; T10 ;Document; T11 ;Leverancierscall; T12 ;Productencall; T13 ;Prospectencall; ; T1F ; min.; T2F ;Erreur lors de l'enregistrement de l'historique;Définition fautive : ; T3F ;Call client;Call fournisseur;Call prospect;Call produit; T4F ;Pas de dossier fourni dans les paramètres!; T5F ;Call client; T6F ;Erreur lors de la création du dossier ; T7F ;Call est cloturé; T8F ;A ;Cc;De; T9F ; à ; T10F ;Document; T11F ;Call fournisseur; T12F ;Call produit; T13F ;Call prospect; ; T1E ; min.; T2E ;Error saveing history;Wrong definition : ; T3E ;Klantencall;Leverancierscall;Prospectencall;Productencall; T4E ;Geen map gevonden in de parameters!; T5E ;Customer Call; T6E ;Fout bij aanmaken map ; T7E ;Call is closed; T8E ;To;Cc;From; T9E ; to ; T10E ;Document; T11E ;Supplier Call; T12E ;Product Call; T13E ;Prospect Call; ; YZ Q ; AFSL(B) ; indien bij de status de rubriek 'Afsluiten' op ja staat, moet einddatum en eindtijd ingevuld worden. ; B als ref. doorgeven : .B I '$$SIG^cAFA1("CODE.9025",$P(B(1),D,5),103) G AFSLZ S $P(B(1),D,11)=DT,$P(B(1),D,12)=$P($H,",",2),$P(B(1),D,30)=1 AFSLZ Q ; BTEMP(GRIDID,DMS,CALLID,CALLHISID,MAILSW,VANDT,TOTDT) ; INPUT: ; GRIDID : volgnr van de grid : indien "" : volgnummer ophalen ; DMS : DMS van de call ; CALLID : UI1 van de call (CALL.KL) ; CALLHISID : UI1 van de historiek van de call (CALL.KL.HIS) ; MAILSW : 0 = Doorsturen (ltste 2 teksten) , 1 = Doorsturen Historiek, 2 = Antwoorden, 3 = Allen antwoorden ; VANDT : van datum ; TOTDT : tot datum ; ; OUTPUT: ; 0\foutboodschap ; GRIDID\Select statement ; BTEMPA S $ZT="ERR^cAFVBF01" N @$$INITVAR^cAFVBA01("GRIDID,DMS,CALLID,CALLHISID,MAILSW,VANDT,TOTDT") S GRIDID=$G(GRIDID) I '$L(GRIDID) S GRIDID=$$GRIDID^cAFVBF01() K ^mtemp99(GRIDID,"COMMON") S OK=GRIDID I '$L($G(CALLID)) G BTEMPZ ; Historiek BTEMPB S REF=$$REF^cAFA10(.Q,DMS_".HIS",101) S IREF=$P(REF,D,3),UREF=$P(REF,D) S I1="",TELI1=0 I $L($G(CALLHISID)) S I1=$O(@IREF@(CALLID,CALLHISID)) BTEMPC F S I1=$O(@IREF@(CALLID,I1),-1) Q:$S($L($G(CALLHISID)):I1'=CALLHISID,1:I1="") D I $D(MAILSW),MAILSW'=1,TELI1=2 Q . S UI1=$P(^(I1),D) . S B(1)=$G(@UREF@(0)) Q:'$L(B(1)) . I $P(B(1),D,6)=2 Q ; geen wijzigingen, worden uit de logging gehaald . S TELI1=TELI1+1 I $D(MAILSW),MAILSW'=1,TELI1>2 Q . S REG=$P(B(1),D,28) . I '$L(REG) S REG=$$DH^cAFD1($P(B(1),D,2))_","_$P(B(1),D,3) . D STEMPH(REG," ") . S B=$$BHFD(B(1)) . D STEMPH(REG,B) . S I2=0 . F S I2=$O(@UREF@(I2)) Q:I2="" D STEMPH(REG,$P(^(I2),D,2)) . F i=1,2 I $L($P(B(1),D,19+i)) D STEMPH(REG," "_$P($T(@("T8"_QT)),U,1+i)_" : "_$P(B(1),D,19+i)) I $D(MAILSW),MAILSW'=1 G BTEMPY I $L($G(CALLHISID)) G BTEMPY ; Gelinkte documenten BTEMPD S REF=$$REF^cAFA10(.Q,DMS_".DOC",101) S IREF=$P(REF,D,3),UREF=$P(REF,D) S I1="" F S I1=$O(@IREF@(CALLID,I1)) Q:I1="" D . S UI1=$P(^(I1),D) . S B(1)=$G(@UREF@(0)) Q:'$L(B(1)) . S REG=$P(B(1),D,28) . D STEMPH(REG," ") . S B=$$BHFDD(B(1)) . D STEMPH(REG,B) . D STEMPH(REG," "_$P($T(@("T10"_QT)),U,2)_" : "_$P(B(1),D,2)) ; Logging BTEMPE I $$PAR(DMS,107) G BTEMPY ; logging niet meenemen in historiek D DMS^cAN000("UQC","USC",DMS) S UREF=^DMC(UQC,USC,"LOGGING") S I1="" F S I1=$O(@UREF@(CALLID,I1)) Q:I1="" D . S B(1)=^(I1) . I $P(B(1),D)="O" Q ; Geen logging van opening mee nemen . I $P(B(1),D,14) Q ; Logging tonen staat op neen . S REG=$P(B(1),D,13) . I '$L(REG) S REG=$$DH^cAFD1($P(B(1),D,5))_","_$$TH^cAFD1($P(B(1),D,6)) . D STEMPH(REG," ") . S B=$$BHFDL(B(1)) . D STEMPH(REG,B) . D STEMPH(REG," "_$P($P(B(1),D,8),"~",QTU)_" : "_$P(B(1),D,9)_$P($T(@("T9"_QT)),U,2)_$P(B(1),D,10)) BTEMPY S I1=$O(^mtemp99(GRIDID,"COMMON","")) I $L(I1),^mtemp99(GRIDID,"COMMON",I1,0)=" " K ^mtemp99(GRIDID,"COMMON",I1,0) S OK=OK_D_"Select T1.Text01,T1.TempId from Tech.Temp T1 where T1.GridId="_GRIDID BTEMPZ Q OK ; BHFD(B) ; opbouwen tekst hoofding historiek S R=" * "_$P(B,D,2)_" - "_$$HT^cAFD1(","_$P(B,D,3))_" - "_$P(B,D,4) I $L($P(B,D,5)) S R=R_" ("_$P(B,D,5)_$P($T(@("T1"_QT)),U,2)_")" Q R ; BHFDD(B) ; Opbouwen tekst hoofding gelinkte documenten S R=" + "_$$HD^cAFD1($P(B,D,28))_" - "_$$HT^cAFD1($P(B,D,28))_" - "_$P(B,D,29) BHFDDZ Q R ; BHFDL(B) ; Opbouwen tekst hoofding logging S R=" - "_$P(B,D,5)_" - "_$P(B,D,6)_" - "_$P(B,D,7) BHFDLZ Q R ; CHKMOD(DMS,UI1) ; Check of call mag gewijzigd worden S $ZT="^dmERROR" D QT^cAFVBO01 S D="\",U=";" S OK=1 I '$L($G(UI1)) G CHKMODZ S ST=$$SIG^cAFA1(DMS,UI1,105) I '$L(ST) G CHKMODZ S AFG=$$SIG^cAFA1("CODE.9025",ST,103) I AFG S OK=0_D_$P($T(@("T7"_QT)),U,2) CHKMODZ Q OK ; FILTER(AAN,CC) ; Filtert dubbel emailadressen uit Aan en CC ; Input: AAN: Lijst met Aan-emailadressen ; CC: Lijst met CC-emailadressen ; ; Output: AAN \ CC N i,ADR,LAAN,LCC S $ZT="TRAP^cAN000" ; ; Lijst met unieke Aan een CC's opzetten S LAAN=$G(AAN),LCC=$G(CC),(AAN,CC)="" F i=1:1:$L(LAAN,";") S ADR=$P(LAAN,";",i) I $L(ADR),'$D(LAAN($$DI^cAN000(ADR,""))) S LAAN($$DI^cAN000(ADR,""))=ADR,AAN=AAN_$S($L(AAN):";",1:"")_ADR F i=1:1:$L(LCC,";") S ADR=$P(LCC,";",i) I $L(ADR),'$D(LAAN($$DI^cAN000(ADR,""))),'$D(LCC($$DI^cAN000(ADR,""))) S LCC($$DI^cAN000(ADR,""))=ADR,CC=CC_$S($L(CC):";",1:"")_ADR ; FILTERZ Q AAN_"\"_CC ; HD(SW,NR,OND,TYPE) ; Hoofding Call ; Input: SW: Switch ; 0 = Via logging of andere grid ; 1 = Via beheer (dus met parameters) ; TYPE: Optioneel ; 0 of "" = Klanten ; 1 = Leveranciers ; 2 = Producten ; 3 = Prospecten S $ZT="^dmERROR" D QT^cAFVBO01 S D="\",U=";" N i,HD F i="SW","NR","OND","TYPE" S @i=$G(@i) ; ; Via parameters ;I SW S HD="\\"_$P($T(@("T5"_QT)),";",2)_"\ ;"_NR_" "_OND G HDZ ; ; Via object ;S HD="\\"_$P($T(@("T5"_QT)),";",2)_"\ ;"_$S(SW:NR,1:..B101)_" "_$S(SW:OND,1:..B103) S HD="\\"_$P($T(@($S(TYPE=1:"T11",TYPE=2:"T12",TYPE=3:"T13",1:"T5")_QT)),";",2)_"\ ;"_$S(SW:NR,1:..B101)_" "_$S(SW:OND,1:..B103) ; HDZ Q HD ; MAIL(DMS,MAILSWN,GRIDID) ; versturen mail ; INPUT : ; MAILSWN : gescheiden door "~" ; 1: 0 = Doorsturen ; 1 = Doorsturen His ; 2 = Antwoorden ; 3 = Allen beantwoorden ; 2: 0 = geen nieuwe ingave ; 1 = nieuwe ingave ; ; ; Opgelet : er moet een instance van het object bestaan !! S $ZT="^dmERROR" MAILZ Q $$MAILS(DMS,..B101,..B102GetObjectId(),$G(MAILSWN),..B125,..B118,..B119,..B103,..B104GetObjectId(),..B105GetObjectId(),..B106GetObjectId(),..B115,$G(GRDIDID)) ; MAILS(DMS,CALLNR,KLID,MAILSWN,FROM,AAN,CC,ONDERW,CAT,STAT,PRIO,TIJD,GRIDID) ; INPUT : ; DMS : DMS van call : CALL.KL,CALL.LE,... ; CALLNR : Nummer van call = UI1 ; MAILSWN : gescheiden door "~" ; 1: 0 = Doorsturen ; 1 = Doorsturen His ; 2 = Antwoorden ; 3 = Allen beantwoorden ; 2: 0 = geen nieuwe ingave ; 1 = nieuwe ingave ; FROM : From ; AAN : Aan ; CC : Cc ; CAT : intern nr Categorie ; STAT : intern nr Status ; PRIO : Prioriteit ; GRIDID : GridId ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("DMS,CALLNR,KLID,MAILSWN,FROM,AAN,CC,ONDERW,CAT,STAT,PRIO,TIJD,GRIDID") D DMS^cAN000("UQC","USC",DMS,1) I '$L(UQC)!'$L(USC) S OK="0\"_$P($T(@("T2"_QT)),U,3)_DMS G MAILSZ MAILSA S MAILSW=$P(MAILSWN,"~"),ING=$P(MAILSWN,"~",2) S OK=$$BTEMP($G(GRIDID),DMS,CALLNR,"",MAILSW,"","") ; opbouwen mtemp99 met historiek I 'OK G MAILSZ S GRIDID=$P(OK,D) F i="FROM","AAN","CC","MAILSW" S @i=$G(@i) MAILSB S TEL=0 I MAILSW<2 S (AAN,CC)="" ; doorsturen of doorsturen his I MAILSW=2 S AAN=FROM,CC="" ; antwoorden I MAILSW=3 S AAN=FROM_$S($L(AAN):";"_AAN,1:"") D FILTER(.AAN,.CC) D STEMP(.TEL,$G(AAN)) D STEMP(.TEL,$G(CC)) S ONDERW=$$SIG^cAFA1($P(DMS,".",2)_".A",KLID,102)_" - "_CALLNR_" - "_$G(ONDERW) D STEMP(.TEL,$G(ONDERW)) I $$PAR^cAFVBC01(DMS,109),$G(PRIO) D STEMP^cAFVBC01(.TEL,PRIO-1001) S TEL=10 S B=$P($G(^DMC(UQC,USC,"TAAL",$E(QT_"N"))),D)_" "_CALLNR,$E(B)=$$UC^cAFA1($E(B)) I $L($G(CAT)) S B=B_" ("_$$SIG^cAFA1("CODE.9027",$G(CAT),QTU-1*10+102)_$S($L($G(STAT)):",",1:"") I $L($G(STAT)) S B=B_$S($E(B,$L(B))=",":" ",1:" (")_$$SIG^cAFA1("CODE.9025",$G(STAT),QTU-1*10+102)_$S($L($G(PRIO)):",",1:")") I $L($G(PRIO)) S B=B_$S($E(B,$L(B))=",":" ",1:" (")_$$SIG^cAFA1("CODE.9026",$G(PRIO),QTU-1*10+102)_")" S B=B_"." D STEMP(.TEL,B) I ING D STEMP(.TEL," "),STEMP(.TEL,$$BHFD(D_DT_D_$P($H,",",2)_D_QU_D_$G(TIJD))) D STEMP(.TEL,"@~@NEW@~@") MAILSZ Q OK ; MAPDOC(DMS,UI1,SWDIR) ; DMS = DMS van klanten (KL), Lev. (LE),... ; UI1 = UI1 van klanten (nummer of naam_" "_nummer ; SWDIR = 0 of "": indien directory niet bestaat: aanmaken ; 1: indien directory niet bestaat: geen actie S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("DMS,UI1,SWDIR") S OK="0\"_$P($T(@("T4"_QT)),U,2) I '$L($G(DMS)) G MAPDOCZ I '$L($G(UI1)) G MAPDOCZ S PARUI1=DMS I $E(DMS,$L(DMS)-1,$L(DMS))=".A" S PARUI1=$P(DMS,".A") S B=$G(^DPAR(Q,"PAR",PARUI1,1)) S R=$P(B,D,6) I '$L(R) G MAPDOCZ I $E(R,$L(R))'="/" s R=R_"/" I $P(B,D,7) S R=R_$$SIG^cAFA1(DMS,UI1,$P(B,D,7)) I $E(R,$L(R))'="/" s R=R_"/" I $G(SWDIR) G MAPDOCY ; bestaat MAP ? MAPDOCA I '$$TST^cA710(R) G MAPDOCY ; map bestaat I $$CRED^cA710($TR($E(R,1,$L(R)-1),"/","\")) S OK=0_D_$P($T(@("T6"_QT)),U,2)_R G MAPDOCZ MAPDOCY S OK=1_D_R MAPDOCZ Q OK ; MAPMAIL(DMS,UI1) ; DMS = DMS van klantencalls (CALL.KL), Lev. calls (CALL.LE),... ; UI1 = UI1 van call S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("DMS,UI1") S OK="0\"_$P($T(@("T4"_QT)),U,2) I '$L($G(DMS)) G MAPMAILZ I '$L($G(UI1)) G MAPMAILZ S TUI1=$$SIG^cAFA1(DMS,UI1,102) I '$L(TUI1) G MAPMAILZ S DIR=$$PAR(DMS,108) I '$L(DIR) G MAPMAILZ I DIR=1 S DIR=$$MAPDOC($P(DMS,".",2)_".A",TUI1,1) G:'DIR MAPMAILZ S DIR=$P(DIR,"\",2) I $E(DIR,$L(DIR))'="/" S DIR=DIR_"/" S DIR=DIR_"Calls/"_UI1_"/" S OK=1_D_DIR MAPMAILZ Q OK ; STEMP(TEL,B) ; set temp I '$D(TEL) S TEL=1E6 S TEL=TEL+1 S ^mtemp99(GRIDID,"COMMON",TEL,0)=B STEMPZ Q ; STEMPH(REG,B) ; Set temp historiek N R,STR S $ZT="TRAP^cAN000" S STR=1E5-$P(REG,",")_(1E5-$P(REG,",",2)) S R=STR_" 99999" S R=$O(^mtemp99(GRIDID,"COMMON",R),-1) I $P(R," ")'=STR S R=STR_" 10000" G STEMPHY S R=$P(R," ")_" "_($P(R," ",2)+1) STEMPHY S ^mtemp99(GRIDID,"COMMON",R,0)=B STEMPHZ Q ; S1HISLN(DMS,CALLID,CALLHISID,TEKST,TIJD,AAN,CC,VAN) ; INPUT: ; DMS : DMS van de call (CALL.KL) ; CALLID : UI1 van de call (CALL.KL) ; CALLHISID : UI1 van de historiek van de call (CALL.KL.HIS) ; TEKST : tekst ; TIJD : gepresteerde tijd ; GRIDID : volgnr van de grid : indien "" : volgnummer ophalen ; OUTPUT: ; 0\foutboodschap ; GRIDID\Select statement ; S1HISLNA S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("DMS,CALLID,CALLHISID,TEKST,TIJD,AAN,CC,VAN") S OK=$G(CALLHISID) S REF=$$REF^cAFA10(.Q,DMS_".HIS") S UREF=$P(REF,D) S1HISLNB I $L($G(CALLHISID)) G S1HISLND ; eerst openen hoofding historiek S UI1=CALLID_" z",CALLHISID=$O(@UREF,-1) I $P(CALLHISID," ")'=CALLID S CALLHISID=CALLID_" "_1E8 G S1HISLNC S CALLHISID=CALLID_" "_($P(CALLHISID," ",2)+1) S1HISLNC S TAB(1)=CALLID_D_DT_D_$P($H,",",2)_D_QU_D_$G(TIJD)_D_3 S $P(TAB(1),D,20)=$G(AAN),$P(TAB(1),D,21)=$G(CC),$P(TAB(1),D,22)=$G(VAN) D P^cAN220(DMS_".HIS","",CALLHISID,"TAB","") I K="-" S OK="0\"_$P($T(@("T2"_QT)),U,2) G S1HISLNZ S1HISLND S OK=CALLHISID S UI1=CALLHISID S TEL=$O(@UREF@("z"),-1)+1,^(TEL)=TEL_D_TEKST S1HISLNZ Q OK ; OPEN ; executes bij openen call S $ZT="TRAP^cAN000" ; callnummer I '$L($P(B(1),D)) S $P(B(1),D)=UI1 ; UI1 gebruiker creatie I '$L($P(B(1),D,7)) S $P(B(1),D,7)=$G(QU(1)) I '$L($P(B(1),D,7)) S $P(B(1),D,7)=$$UI1OP^cAFA1("USR",101,QU) ; Datum + tijd melding I '$L($P(B(1),D,9)) S $P(B(1),D,9)=DT,$P(B(1),D,10)=$P($H,",",2) ; 1ste registreerder S $P(B(1),D,22)=$G(QU(1)) I '$L($P(B(1),D,22)) S $P(B(1),D,7)=$$UI1OP^cAFA1("USR",101,QU) D AFSL(.B) D OPVSET(^DMA(UQA,USA,0,"DMS"),UI1,.B) S OK=2 OPENZ Q ; OPVSET(DMS,UI1,B) ; openen/verwijderen op te volgen S $ZT="TRAP^cAN000" I '$L($P(B(1),D,26)) G OPVSETZ N UI1OPV,TAB,BOPV,K S UI1OPV=UI1_" "_QU S BOPV=$$SIGN^cAFA1(DMS_".OPV",UI1OPV,0) ; opzetten I $P(B(1),D,26) G OPVSETY:$L(BOPV) S TAB(1)=1_D_UI1_D_QU D P^cAN220(DMS_".OPV","",UI1OPV,"TAB","") X:K="-" "STOP" G OPVSETY ; verwijderen I '$L(BOPV) G OPVSETY D X^cAN220(DMS_".OPV","",UI1OPV) I K="-" X "STOP" G OPVSETY OPVSETY S $P(B(1),D,26)="" OPVSETZ Q ; OPVGET(DMS,CALLID,QU) ; ophalen op te volgen OPVGETZ Q +$G(^DCALL("EA",DMS_".OPV",CALLID_" "_QU,0)) ; PAR(DMS,BIN) PARZ Q $P($G(^DPAR(Q,"PAR",DMS,BIN\100-1)),D,BIN#100) ; WIJZ ; executes bij wijzigen call ; laatste registreerder S $P(B(1),D,23)=$G(QU(1)) I '$L($P(B(1),D,23)) S $P(B(1),D,7)=$$UI1OP^cAFA1("USR",101,QU) D AFSL(.B) D OPVSET(^DMA(UQA,USA,0,"DMS"),UI1,.B) S OK=2 WIJZZ Q ; ZZ ; 29.08.07 - 10 u 22 * V8.09