PERS2 ;Personen conversie van en naar ^PERS en ^KKL,^KLE [ 10/25/2001 2:06 PM ] TNODEK ;AB:2.11;AK:2.12;VK:2.13;BH:2.14;TE:3.4;PR:3.5;AA:6.1;x1:6.2;x2:6.3;x3:6.4;x4:6.5;x5:6.6 TNODEL ;AB:2.11;AK:2.12;VK:2.13;BH:2.14;TE:3.4;PR:3.5;x1:6.1;VA:6.2;x2:6.3;x3:6.4;x4:6.5;x5:6.6 CONV2OLD(ObjType,ObjRef) ;Conversie van de ^PERS naar ^KKL q Quit:ObjType'="K" ; Leveranciers worden NIET geconverteerd ! Set PersNr="" Set KLId=$G(^KK1(ObjRef)) Quit:'$L(KLId) ; Opbouw hulp struktuur Set Nodes=$P($T(TNODEK),";",2,99) For I=1:1:$L(Nodes,";") Do .Set VA($P($P(Nodes,";",I),":",1))=$P($P(Nodes,";",I),":",2) ; Conversie Set Unknown=0 For Set PersNr=$O(^PERS(ObjType,ObjRef,PersNr)) Quit:PersNr="" Do .Set Rec=^PERS(ObjType,ObjRef,PersNr) .Set Type=$P(Rec,D,5) .Set Naam=$P(Rec,D,2)_$S($L($P(Rec,D,3)):" "_$P(Rec,D,3),1:"") .If $P($G(VA(Type),D_1),D,2)'="" Do ..Set Unknown=Unknown+1 ..Set Type="x"_Unknown .Quit:'$D(VA(Type)) .Set $P(VA(Type),D,2)=Naam ;Opslaan in ^KKL Set Type="" For Set Type=$O(VA(Type)) Quit:Type="" Do .Set Node=$P(VA(Type),D) .Set $P(^KKL(KLId,$P(Node,".")),D,$P(Node,".",2))=$P(VA(Type),D,2) Quit CONV2NEW ;Eenmalige routine voor de conversie van de ^KKL en ^LEV geg. naar ^PERS Set %J=$$%J^vhRtn1() ; Klanten Set KLId=0 For Set KLId=$O(^KKL(KLId)) Quit:KLId="" Do .Set KLNr=$P(^KKL(KLId,0),D) .Do CONV2KL(KLNr) ; Leveranciers Set LEId=0 For Set LEId=$O(^KLE(LEId)) Quit:LEId="" Do .Set LEVNr=$P(^KLE(LEId,0),D) .Do CONV2LE(LEVNr) Quit CONV2KL(KLNr,Ask) Set ObjType="K" Set Cnt=0 Kill ^HULP(%J) Set KLId=^KK1(KLNr) Write !,KLNr,$P(^KKL(KLId,0),D,2) Set Nodes=$P($T(TNODEK),";",2,99) B:KLNr=11708 For I=1:1:$L(Nodes,";") Do .Set Node=$P($P(Nodes,";",I),":",2) .Set Type=$P($P(Nodes,";",I),":",1) .Set:Type["x" Type="XX" .Set VA=$P(^KKL(KLId,$P(Node,".")),D,$P(Node,".",2)) .;W !,I," ",Node," ",VA .Set TRIMVA=$$UPTRIMAN^vhRtn1(VA) .Quit:TRIMVA="" .Set Rec="" .Set $P(Rec,D,5)=Type .Set UPVA=$$UPCASE^vhRtn1(VA) .Set Aanspr=$P(UPVA," ") .Set:$E(Aanspr,$L(Aanspr))="." $E(Aanspr,$L(Aanspr))="" .Set:Aanspr="H&H" Aanspr="DHR" .Set:Aanspr="DHRN" Aanspr="DHR" .Set:Aanspr="MR" Aanspr="DHR" .Set:Aanspr="MEV" Aanspr="MVR" .Set:Aanspr="MEVR" Aanspr="MVR" .If $L(Aanspr),$D(^RES("PERS","PI","AANSPR","D",Aanspr)) Do ..Set Naam=$P(VA," ",2,99) ..Quit:'$L(Naam) ..Set $P(Rec,D,2)=Naam ..Set $P(Rec,D,4)=Aanspr .Else Set $P(Rec,D,2)=VA .Lock +^PERS("N") .Set UniNr=^PERS("N")+1 .Set ^PERS("N")=UniNr .Set $P(Rec,D)=UniNr .Lock -^PERS("N") .Set Cnt=Cnt+1,^HULP(%J,"L",Cnt)=Cnt .Set SelKey=$$SORTKEY^PERS(Cnt,Rec) .Set ^HULP(%J,"S",SelKey)=Cnt .Set ^HULP(%J,"P",Cnt)=Rec .W !," ",Rec d:KLNr=11708 ^%G Q:'Cnt Set Modif=1 Set ObjRef=KLNr Do SAVE^PERS Quit CONV2LE(LEVNr,Ask) Set ObjType="L" Set Cnt=0 Kill ^HULP(%J) Set LEVId=^KL1(LEVNr) Write !,LEVNr," ",$P(^KLE(LEVId,0),D,2) Set Nodes=$P($T(TNODEL),";",2,99) For I=1:1:$L(Nodes,";") Do .Set Node=$P($P(Nodes,";",I),":",2) .Set Type=$P($P(Nodes,";",I),":",1) .Set:Type["x" Type="XX" .Set VA=$P(^KLE(LEVId,$P(Node,".")),D,$P(Node,".",2)) .;w !,VA .Set TRIMVA=$$UPTRIMAN^vhRtn1(VA) .Quit:TRIMVA="" .Set Rec="" .Set $P(Rec,D,5)=Type .Set UPVA=$$UPCASE^vhRtn1(VA) .Set Aanspr=$P(UPVA," ") .Set:$E(Aanspr,$L(Aanspr))="." $E(Aanspr,$L(Aanspr))="" .Set:Aanspr="H&H" Aanspr="DHR" .Set:Aanspr="DHRN" Aanspr="DHR" .Set:Aanspr="MR" Aanspr="DHR" .Set:Aanspr="MEV" Aanspr="MVR" .Set:Aanspr="MEVR" Aanspr="MVR" .If $L(Aanspr),$D(^RES("PERS","PI","AANSPR","D",Aanspr)) Do ..Set Naam=$P(VA," ",2,99) ..Quit:'$L(Naam) ..Set $P(Rec,D,2)=Naam ..Set $P(Rec,D,4)=Aanspr .Else Set $P(Rec,D,2)=VA .Lock +^PERS("N") .Set UniNr=^PERS("N")+1 .Set ^PERS("N")=UniNr .Set $P(Rec,D)=UniNr .Lock -^PERS("N") .Set Cnt=Cnt+1,^HULP(%J,"L",Cnt)=Cnt .Set SelKey=$$SORTKEY^PERS(Cnt,Rec) .Set ^HULP(%J,"S",SelKey)=Cnt .Set ^HULP(%J,"P",Cnt)=Rec .W !," ",Rec Q:'Cnt Set Modif=1 Set ObjRef=LEVNr Do SAVE^PERS Quit CORR Set KLId=0 Set Nodes=$P($T(TNODEK),";",2,99) For Set KLId=$O(^KKL(KLId)) Quit:KLId="" Do ;Quit .;Set KLId=^KK1(11708) .Quit:KLId]^KK1(3050) .Write !!,KLId .Quit:'$D(^["LVH,TST"]KKL(KLId)) .For I=1:1:$L(Nodes,";") Do ..Set Node=$P($P(Nodes,";",I),":",2) ..Set Naam=$P(^["LVH,TST"]KKL(KLId,$P(Node,".")),D,$P(Node,".",2)) ..Write !,Naam ..Set $P(^KKL(KLId,$P(Node,".")),D,$P(Node,".",2))=Naam Q ; Verlorte ingave van telefoonnummers in PERS voor TAPI TAPI New %SC,zb,ObjType,ObjRef,TelNr,Ok,Exit,Telefoon,ObjKey,Rec,TelType,PersNr,NextId Set (ObjType,ObjRef,TelType,TelNr,Ok,Exit)="" For Do FIELD^vhScherm("PERSTAPI","OBJTYPE") Quit:'%SC Do . Do DISPLAY^vhScherm("PERSTAPI",,,,"OBJTYPE") . New %SC . For Do FIELD^vhScherm("PERSTAPI","OBJREF") Quit:'%SC Do Quit:Exit . . Do DISPLAY^vhScherm("PERSTAPI",,,,"OBJREF;OBJADR;OBJGEM") . . New %SC . . For Do FIELD^vhScherm("PERSTAPI","TELTYPE") Quit:'%SC Do Quit:Exit . . . Do DISPLAY^vhScherm("PERSTAPI",,,,"TELTYPE") . . . New %SC . . . For Do FIELD^vhScherm("PERSTAPI","TELNR") S:X="." Exit=1 Quit:'%SC Do Quit:Exit . . . . Set Telefoon=$$TRIMN^vhRtn1(TelNr) . . . . Set ObjKey=@("^K"_$S(ObjType="L":"L1",1:"K1")_"(ObjRef)") . . . . Set Rec=@("^K"_$S(ObjType="L":"LE",1:"KL")_"(ObjKey,0)"),ObjNaam=$P(Rec,D,2) . . . . If $D(^TAPI("T",Telefoon_" ",ObjType,ObjRef)) Do Quit . . . . . Set %SC=$$^vhTXTPOP("PERS","TAPIBESTAAT","",TelNr,$S(ObjType="L":"Leverancier",1:"Klant"),ObjNaam) . . . . Do DISPLAY^vhScherm("PERSTAPI",,,,"TELNR") . . . . Do FIELD^vhScherm("PERSTAPI","OK") . . . . Quit:'%SC . . . . Do DELOBJ^TAPI(ObjType,ObjRef) . . . . Do REMINDEX^PERS(ObjType,ObjRef) . . . . Set PersNr=$O(^PERS(ObjType,ObjRef,""),-1)+1,NextId=$$NEXTID^PERS() . . . . Set ^PERS(ObjType,ObjRef,PersNr)=NextId_"\TAPI\\\XX\\\\\\\\\\"_TelType_";"_TelNr . . . . Do BLDINDEX^PERS(ObjType,ObjRef) . . . . Do BLDOBJ^TAPI(ObjType,ObjRef) . . . . Set Exit=1 Quit ; Deactiveren e-commerce voor verwijderde personen ECToegangNonActief(KLNr,UniekNr) New ECToegang,objECToegang,ID,HasAccess,Warning,Derde,sc Set UniekNr="" For Set UniekNr=$O(UniekNr(UniekNr)) Quit:UniekNr="" Do . Set ECToegang=$$GetECToegang(UniekNr),ID=$LI(ECToegang),HasAccess=$LI(ECToegang,2) . Quit:'ID Quit:'HasAccess . Set Derde=UniekNr(UniekNr) . Set Warning="Klant: "_$P(^KKL(^KK1(KLNr),0),D,2)_"`&S" . Set Warning=Warning_"~De toegang tot e-commerce voor~"_$P(Derde,D,2)_$S($L($P(Derde,D,3)):" "_$P(Derde,D,3),1:"")_" wordt op non-actief gezet!" . Do WARN^vhTXTPOP(Warning,"") . Set objECToegang=##Class(Derde.EC.Toegang).%OpenId(ID) . If $IsObject(objECToegang) Set objECToegang.HasAccess=0,sc=objECToegang.%Save() Quit ; Controle of een persoon toegang heeft op basis van zijn uniek nummer GetECToegang(UniekNr) New ID,HasAccess &sql(Select ID,HasAccess into ID,HasAccess From Derde_EC.Toegang Where PersID = :UniekNr) Quit $LB($G(ID),$G(HasAccess)) CompMassMail(%J,KLNr) New I,R,PersRec,PersNr,UniekNr,CompRec,Privacy,From,To,Subject,strmBody,PersNaam,EMailAdres,fmtBeginHtml,fmtEndHtml,fmtBeginPers,fmtEndPers,Status,OldMassMail,NewMassMail ;definitie van HTML-macro's #define fmtBeginHtml "" #define fmtBeginPers "" #define fmtEndPers "
" #define fmtEndHtml "" Set PersNr="" For Set PersNr=$O(^PERS("K",KLNr,PersNr)) Quit:PersNr="" Do . Set PersRec=^PERS("K",KLNr,PersNr) . Set UniekNr=$P(PersRec,D) . Quit:'UniekNr . Set CompRec=$G(^HULP(%J,"C",UniekNr)) . Quit:CompRec="" Quit:$P(PersRec,D,7)=$P(CompRec,D,7) . Set (Privacy,R)="" . For Set Privacy=$O(^RES("PERS","PI","PRIVACY","D",Privacy)) Quit:Privacy="" If ";"_$P(CompRec,D,7)_";"[(";"_Privacy_";"),";"_$P(PersRec,D,7)_";"'[(";"_Privacy_";") Set R=R_";"_Privacy . Set $E(R)="" . Quit:R="" . Set R=$P(CompRec,D,7)_D_$P(PersRec,D,7) . Set $P(R,D,3)=$P(CompRec,D,2)_" "_$P(CompRec,D,3) . For I=15:1:19 If $P($P(PersRec,D,I),";")="E" Set $P(R,D,4)=$P($P(PersRec,D,I),";",2) . Set UniekNr(UniekNr)=R Do:$O(UniekNr("")) . Set strmBody=##class(%GlobalCharacterStream).%New() . Do strmBody.Write($$$fmtBeginHtml) . Set Subject="Betreft "_$P(^KKL(^KK1(KLNr),0),D,2) . Set From=$$USERNAME^vhUSER(,"@1"),To=$$EXTVW^KLOPV(KLNr,,"@") . Set:$L(To) To=To_";"_$$USERNAME^vhUSER("SYS","@") ; Tijdelijk PV en CW toevoegen tijdens de testperiode 25.02.10 . Set:To="" To=$$USERNAME^vhUSER("SYS","@") . Set To=$$PiecesToList^vhLib(To,";") . Do strmBody.Write("Bij "_$P(^KKL(^KK1(KLNr),0),D,2)_" werd(en) volgend(e) e-mailadres(sen) gedeactiveerd door "_$$USERNAME^vhUSER(,1)_":") . Do strmBody.Write("
") . Do strmBody.Write("
") . Do strmBody.Write($$$fmtBeginPers) . Do strmBody.Write("Naam") . Do strmBody.Write("E-mail") . Do strmBody.Write("Oud") . Do strmBody.Write("Nieuw") . Set UniekNr="" . For Set UniekNr=$O(UniekNr(UniekNr)) Quit:UniekNr="" Do . . Do strmBody.Write("") . . Set R=UniekNr(UniekNr) . . Set OldMassMail=$$DISPSTR^vhPOPUP("P","PERS;PRIVACY",$P(R,D),"O"),NewMassMail=$$DISPSTR^vhPOPUP("P","PERS;PRIVACY",$P(R,D,2),"O") . . Set PersNaam=$P(R,D,3),EMailAdres=$P(R,D,4) . . Do strmBody.Write(""_PersNaam_"") . . Do strmBody.Write(""_EMailAdres_"") . . Do strmBody.Write(""_OldMassMail_"") . . Do strmBody.Write(""_$S($L(NewMassMail):NewMassMail,1:"Geen")_"") . . Do strmBody.Write("") . Do strmBody.Write($$$fmtEndPers) . Do strmBody.Write($$$fmtEndHtml) . Set Status=$$SendMiniMail^vhLib(From,To,Subject,strmBody,1,1) Quit