TAPI ; ; Verwijderen van een object DELOBJ(ObjTyp,ObjRef) New Telefoon,Telefax Set Telefoon="" For Set Telefoon=$O(^TAPI("T",Telefoon)) Quit:Telefoon="" Do . Set TelReverse=$E($Reverse(Telefoon),2,999)_" " . Kill ^TAPI("T",Telefoon,ObjTyp,ObjRef),^TAPI("TR",TelReverse,ObjTyp,ObjRef) Set Telefax="" For Set Telefax=$O(^TAPI("F",Telefax)) Quit:Telefax="" Do . Set TelReverse=$E($Reverse(Telefax),2,999)_" " . Kill ^TAPI("F",Telefax,ObjTyp,ObjRef),^TAPI("FR",TelReverse,ObjTyp,ObjRef) Quit ; Opbouwen van een object BLDOBJ(ObjTyp,ObjRef) New D,Rec,ObjKey,ObjNaam,Telefoon1,Telefoon2,Telefax,GSM,ContactType,Contact,PersNr,Connect,IntVw,LevAdr,LevAdrNaam Set D="\",ObjKey=@("^K"_$S(ObjTyp="L":"L1",1:"K1")_"(ObjRef)") If ObjTyp="K",$P(^KKL(ObjKey,1),D,11)="LEVERANCIER" Quit ; Als Activiteit = LEVERANCIER dan deze niet opnemen -> overlaten aan de def. in het leveranciers bestand Set Rec=@("^K"_$S(ObjTyp="L":"LE",1:"KL")_"(ObjKey,0)") Do:'$P(Rec,D,30) ; Verwijderd of buiten gebruik . Set ObjNaam=$P(Rec,D,2),Telefoon1=$P(Rec,D,13),Telefoon2=$P(Rec,D,14) . Set Rec=@("^K"_$S(ObjTyp="L":"LE",1:"KL")_"(ObjKey,2)") . If ObjTyp="K" Quit:$P(Rec,D,10) ; Klant Commercieel niet actief . Set GSM=$P(Rec,D,20) . Set Rec=@("^K"_$S(ObjTyp="L":"LE",1:"KL")_"(ObjKey,1)"),Telefax=$P(Rec,D,24) . Set IntVw="" Set:ObjTyp="K" IntVw=$$INTVW^KLOPV(ObjRef) . ; Algemene gegevens . For ContactType="Telefoon1","Telefoon2","GSM" Do . . Set @ContactType=$$TRIMN^vhRtn1(@ContactType) . . Do:$L(@ContactType) SETIND("T",@ContactType,ObjTyp,ObjRef,"*",ObjNaam,"",IntVw) . For ContactType="Telefax" Do . . Set @ContactType=$$TRIMN^vhRtn1(@ContactType) . . Do:$L(@ContactType) SETIND("F",@ContactType,ObjTyp,ObjRef,"*",ObjNaam,"",IntVw) . ; Individuele gegevens uit ^PERS . Set PersNr="" . For Set PersNr=$O(^PERS(ObjTyp,ObjRef,PersNr)) Quit:PersNr="" Do . . Set Rec=^PERS(ObjTyp,ObjRef,PersNr),Contact=$P(Rec,D,2) . . Set:$L($P(Rec,D,3)) Contact=Contact_" "_$P(Rec,D,3) . . Set Connect=$P(Rec,D,15,99) . . For Do:$L($P(Connect,D)) Set Connect=$P(Connect,D,2,99) Quit:Connect="" . . . Set ContactType=$P($P(Connect,D),";") . . . If ContactType'="T",ContactType'="G",ContactType'="S",ContactType'="F" Quit ; Geen telefoon, GSM, SMS of fax . . . New @ContactType . . . If ContactType="F" Do . . . . Set @ContactType=$$TRIMN^vhRtn1($P($P(Connect,D),";",2)) . . . . Do:$L(@ContactType) SETIND("F",@ContactType,ObjTyp,ObjRef,PersNr,ObjNaam,Contact,IntVw) . . . Else Do . . . . Set @ContactType=$$TRIMN^vhRtn1($P($P(Connect,D),";",2)) . . . . Do:$L(@ContactType) SETIND("T",@ContactType,ObjTyp,ObjRef,PersNr,ObjNaam,Contact,IntVw) . ; Leveringsadressen indien klant . Do:ObjTyp="K" . . Set LevAdr="L" . . For Set LevAdr=$O(^KKL(^KK1(ObjRef),LevAdr)) Quit:$E(LevAdr)'="L" Do . . . Set Rec=^KKL(^KK1(ObjRef),LevAdr),LevAdrNaam=$P(Rec,D,2) . . . Set Telefoon1=$P(Rec,D,13),Telefoon2=$P(Rec,D,14),Telefax=$P(Rec,D,15) . . . For ContactType="Telefoon1","Telefoon2" Do . . . . Set @ContactType=$$TRIMN^vhRtn1(@ContactType) . . . . Do:$L(@ContactType) SETIND("T",@ContactType,ObjTyp,ObjRef,$TR(LevAdr," ",""),LevAdrNaam,"",IntVw) . . . For ContactType="Telefax" Do . . . . Set @ContactType=$$TRIMN^vhRtn1(@ContactType) . . . . Do:$L(@ContactType) SETIND("F",@ContactType,ObjTyp,ObjRef,$TR(LevAdr," ",""),LevAdrNaam,"",IntVw) Quit SETIND(TelType,Telefoon,ObjTyp,ObjRef,PersNr,ObjNaam,Contact,IntVw) ;Quit:Telefoon="037601900" Set ^TAPI(TelType,Telefoon_" ",ObjTyp,ObjRef,PersNr)=$LB(ObjNaam,Contact,IntVw) Set ^TAPI(TelType_"R",$Reverse(Telefoon)_" ",ObjTyp,ObjRef,PersNr)="" Quit ; Heropbouwen van een object, dit kan via JOB REBLDOBJ^TAPI(ObjTyp,ObjRef) REBLDOBJ(ObjTyp,ObjRef) Do DELOBJ(ObjTyp,ObjRef) Do BLDOBJ(ObjTyp,ObjRef) Quit ; Verwijderen van alle objecten DELALL Kill ^TAPI("T"),^TAPI("F"),^TAPI("TR"),^TAPI("FR") ; normale en reverse indexen van telefoon en fax Quit ; Opbouwen van alle objecten BLDALL New Rec,LevKey,KlKey,LEVNr,KLNr,LevNaam,KlNaam,LCount,KCount ; Leveranciers Write @F11,@F1 Set (LevKey,LCount)=0,FP=2203 Write @F,"Leveranciers verwerkt :",!?7,"Klanten verwerkt :" For Set LevKey=$O(^KLE(LevKey)) Quit:LevKey="" Do . Set Rec=^KLE(LevKey,0) . Quit:$P(Rec,D,30) ; Verwijderd of buiten gebruik . Set LEVNr=$P(Rec,D),LevNaam=$P(Rec,D,2),LCount=LCount+1 . If '(LCount#100) Set FP=2227 Write @F,@F2,LCount," (",LevKey,")" . Do BLDOBJ("L",LEVNr) Set FP=2227 Write @F,@F2,LCount," (",LEVNr," ",LevNaam,")" ; Klanten Set (KlKey,KCount)=0 For Set KlKey=$O(^KKL(KlKey)) Quit:KlKey="" Do . Set Rec=^KKL(KlKey,0) . Quit:$P(Rec,D,30) ; Verwijderd of buiten gebruik . Set KLNr=$P(Rec,D),KlNaam=$P(Rec,D,2) . Set Rec=^KKL(KlKey,2) . Quit:$P(Rec,D,10) ; Klant Commercieel niet actief . Set KCount=KCount+1 . If '(KCount#100) Set FP=2327 Write @F,@F2,KCount," (",KlKey,")" . Do BLDOBJ("K",KLNr) Set FP=2327 Write @F,@F2,KCount," (",KLNr," ",KlNaam,")" Quit ; Heropbouwen van de global ^TAPI REBLDALL Do DELALL Do BLDALL Quit