KLANT6 ;KLANTEN [ 11/26/2003 3:56 PM ] ; SELECT(IsAkt,DefInp,Titel,NoDealerAndConsument) New X,Y,Tekst,KLNr,Kl,TKl,DefKL,Count,IsVTW,ECToegang,blECToegang,derdeECToegang,AfterPrompt Set IsAkt=$G(IsAkt),IsVTW=$G(sScr("VTW"),$$IsVTWExtern^vhUSER),ECToegang=$$GetECToegang^vhUSER(),NoDealerAndConsument=$G(NoDealerAndConsument,1) If IsVTW,$LI(ECToegang) Set blECToegang=##class(BL.EC.Toegang).%New(),derdeECToegang=##class(Derde.EC.Toegang).%OpenId($LI(ECToegang)) Set DefInp=$G(DefInp) Set:'$L($G(DefKL)) DefKL=$G(sRef("KL")) If $L(DefKL),'$D(^KK1(DefKL)) Set DefKL="" If DefKL,'$$CHECK(DefKL,IsAkt) Set DefKL="" If '$L($G(Titel)) Set Titel="Klant : " Do ADD^vhScherm(21,24) Set KLNr="" Set:$L(DefInp) Kl=DefInp SEL2 Do:'$L(DefInp) . If NoDealerAndConsument Set AfterPrompt=" Zonder dealer & consument (druk +[] voor alles)" . Else Set AfterPrompt=" Met dealer & consument (druk +[] voor beperking)" . Set VorigeKlantZoekTerm = $G(%VorigeKlantZoekTerm) . Set Feedback = "" . If $G(%HadVorigeZoekGeenResultaat) Set Feedback = " Geen klanten gevonden." . Set Kl=$$ASK^vhINP(Titel,20,VorigeKlantZoekTerm,"Ingave klant dmv. naam of nummer. (TIP: Gebruik * als wildcard bij het zoeken.)"_Feedback,,,AfterPrompt,,"UE") . Set %HadVorigeZoekGeenResultaat = 0 . Set %VorigeKlantZoekTerm = Kl Set DefInp="" If Kl="+" Set NoDealerAndConsument='NoDealerAndConsument Set %VorigeKlantZoekTerm = "" Goto SEL2 Quit:Kl="-"!(Kl=".") Kl New ZoekBeginExact Set %OrinineleKlantZoekTerm = Kl Set ZoekBeginExact = 1 If Kl["*" { Set ZoekBeginExact = 0 } Set Kl=$$UPTRIMAN^vhRtn1(Kl) Goto SEL2:Kl="" If Kl=""!zb Do LIST("") Goto SEL2:'KLNr,EXIT If Kl?4.5N,$D(^KK1(Kl)) Set KLNr=Kl Goto EXIT:($$CHECK(Kl,IsAkt)) Set KLNr="" Goto SEL2 Do LIST(Kl) Goto SEL2:'KLNr,EXIT EXIT Quit KLNr /// Klant As DOM.VKP.Klant, NoDealerAndConsument As %Boolean CHECK(KlantNr, IsAkt, NoDealerAndConsument) #dim PartijID As DOM.common.PartijID = ##class(DOM.DomeinContext).Instance().GeefLegacyPartijAPI().GeefKlantPartijID(KlantNr) #dim Klant As DOM.VKP.Klant = ##class(DOM.DomeinContext).Instance().GeefVerkoopAPI().GeefKlant(PartijID) #dim Partij As DOM.PARTIJ.Partij = ##class(DOM.DomeinContext).Instance().GeefPartijAPI().GeefPartij(PartijID) If (Partij.GeefActiefStatus() = ##class(DOM.CRM.enu.ActiefStatus).Verwijderd()) Quit 0 If ($G(NoDealerAndConsument)){ If ('Klant.IsCommercieelActief()) Quit 0 If (Klant.IsConsument()) Quit 0 If (Klant.IsDealer()) Quit 0 If ($L(##class(BL.Derde.Klant.Relaties).DealerVan(KlantNr))) Quit 0 } If $G(IsVTW),$IsObject($G(blECToegang)),$IsObject($G(derdeECToegang)),'blECToegang.CheckKlant(KlantNr,derdeECToegang) { Quit 0 } Quit:'IsAkt 1 Quit Klant.IsCommercieelActief() LIST(Kode) New Y,X,Fetch,LD LIST2 Set TKl=Kl Do:$L(Kode) FETCH(Kode) If '$D(Fetch),NoDealerAndConsument Set NoDealerAndConsument='NoDealerAndConsument Kill Y,X,Fetch,LD Goto LIST2 Set TKl="" If '$L(Kl) Set Kl="ZZZZZ" X "Set Y(0)=$$MORE(0,3)" Do:Y(0) . If Y(0)=1 Set KLNr=Y(1) Quit . Do INIT^vhLIST("KLANT","SELECT",.LD),WRITE^vhLIST(.LD) . For Set X=$$SCROLL^vhLIST(.LD) Set:"\ENTER\ \"[(D_X_D) X=LD("SELECT") Quit:X="K" Quit:X="-" Quit:X="." Quit:X="+" If X,$G(Y(X)) Set KLNr=Y(X) Quit If $G(X)="+" Set NoDealerAndConsument='NoDealerAndConsument Kill Y,X,Fetch,LD Goto LIST2 Quit FETCH(ZoekTerm) Set %HadVorigeZoekGeenResultaat = 1 Set KlantService = ##class(APPS.CRM.KlantService).%New() Set KlantIDIt = KlantService.ZoekKlantIDOpNaam(%OrinineleKlantZoekTerm,ZoekBeginExact) Set Teller = 1 Set %KlantLijst = ##class(%ArrayOfDataTypes).%New() While KlantIDIt.HasNext() { Set %HadVorigeZoekGeenResultaat = 0 #dim KlantID As DOM.VKP.VanHoeckeKlantID = KlantIDIt.Next() #dim Klant As DOM.VKP.Klant = ##class(DOM.DomeinContext).Instance().GeefVerkoopAPI().GeefKlant(KlantID) #dim KlantNr As %String = ##class(DOM.DomeinContext).Instance().GeefLegacyPartijAPI().GeefKlantNummerVoorPartijID(KlantID) If ($$CHECK(KlantNr,IsAkt,NoDealerAndConsument)){ Set FetchID = $P(Klant.GeefKlantIndexKKL()," ")_Klant.IsCommercieelActief()_Klant.IsDealer()_" "_KlantNr Set Fetch(FetchID)=Klant.GeefKlantIndexKKL() Do %KlantLijst.SetAt(KlantNr,Teller) Set Teller = Teller + 1 } } Quit MORE(Max,Len,Ref) Set Count=0 If Max,TKl="" Quit Max For Set TKl=$O(Fetch(TKl)) Quit:TKl="" Set Count=Count+1,Y(Max+Count)=$P(Fetch(TKl)," ",2) Quit:Count>Len Quit Max+Count