BL.Kenm.Common,Prod.Product 1 TECH.RegisteredObject,TECH.Mockable %String 1009 TECH.Persistentie.GlobalNode 1 TECH.Persistentie.GlobalNode 1 TECH.Persistentie.GlobalNode 1 TECH.Persistentie.GlobalNode 1 TECH.Persistentie.GlobalNode 1 TECH.Persistentie.GlobalNode 1 TECH.Persistentie.GlobalNode 1 TECH.Persistentie.GlobalNode 1 TECH.Persistentie.GlobalNode 1 TECH.Persistentie.GlobalNode 1 %Boolean 1 1 %String 1 %Integer 1 Prod.ProductTekst 1 TECH.Persistentie.GlobalPersistenceMgr 1 TECH.Mail.MailAPI 1 ProductNummer:%Integer="" 1 1 %Status 1 ProductNummer:%Integer %Status subscript van de j-node wijzigt dan. */ #Dim RecalcProduktNodig as %Boolean = ..DataJ.IsGewijzigd() If IsGewijzigdProduct { For NodeIndex = 0,1,2,3,4,5,15,"I1","J","G" { Do $method($property($this,"Data"_NodeIndex),"Save") } Set ^KPR(..ProductNummer, "J") = "" Do BLDIND^PRODUKT2(..ProductNummer) if RecalcProduktNodig{ #dim CifPPLOld as %Numeric=$$$ProductGet(..ProductNummer, $$$CifPPLEUR) Do RECALC^PRODUKT2(..ProductNummer) #dim CifPPLNew as %Numeric = $$$ProductGet(..ProductNummer, $$$CifPPLEUR) if ($ZABS(CifPPLOld-CifPPLNew)>0.0001) && $$$Not(..IsNieuwProduct) && ##class(TECH.Config.ConfigMgr).Instance().GeefBoolean("MailPMBijPrijsWijziging") { #dim Mail As TECH.Mail.Mail = ..MailAPI.MaakNieuwMail() Do Mail.ZetVerzender($$$SystemMail("Product Synchronizatie AX - Admin")) Do Mail.VoegToeOntvanger("PM_Administratie@vanhoecke.be") Do Mail.ZetOnderwerp("Prijswijziging van product met nummer "_ ..ProductNummer) #Dim MeldingTekst as %String = "Voor product '" _ ..ProductNummer _ "' is de prijs gewijzigd van "_ CifPPLOld _" naar "_ CifPPLNew _"." Do Mail.ZetInhoud("Beste,"_ $$$CRLF _ $$$CRLF _ MeldingTekst) Do ..MailAPI.VerstuurMail(Mail) Do ##class(vhLib.Logger).%New().Warning("Product aanpassing (wsl AX synchronizatie)",MeldingTekst) } } If ..IsNieuwProduct { Do Gemaakt^PRODUKT2(..ProductNummer) } Else { Do Gewijzigd^PRODUKT2(..ProductNummer) } Set ..IsNieuwProduct = $$$False } If ..Data1.IsGewijzigdePiece(25){ set EventData = ##class(DOM.PM.event.AdministratiefProductActiefStatusGewijzigdEventData).%New(..ProductNummer,..Data1.GeefPiece(25)) set Event = ##class(DOM.PM.event.AdministratiefProductActiefStatusGewijzigdEvent).%New(EventData) do ##class(TECH.Context).Instance().GeefPubSubAPI().GeefEventRaiser().RaiseEventAsync(Event) } ]]> %Boolean %String Prod.ProductTekst Taal:%String="N",RemoveCRLF:%Boolean=1 %String %String TECH.Iterator TECH.Iterator TECH.Iterator TECH.Iterator TECH.Iterator %String %String %String TECH.String Type:%String,IsSchaduw:%Boolean 1 %ListOfObjects LeverancierId:DOM.common.PartijID %String %Date %Boolean AxGesynchroniseerd:%Boolean %Integer %Integer %Boolean MultipleGroep:%String %ListOfDataTypes 1 %ListOfDataTypes 1 TECH.Iterator %Integer %String DOM.PM.enu.ActiefStatus %String DOM.common.PartijID %Integer %Integer %Integer VerpakkingNummer:%Integer 1 %Integer DOM.PM.ClassificatieKnoop %Numeric %String %Boolean %Boolean %Boolean DOM.PM.enu.StockType %String %String %Numeric %Boolean %Date %String DOM.PM.enu.KSProductStatus oude benaming = KATPRIJS DOM.VKP.enu.PrijsCodex oude benaming = KATPRIJS Handels DOM.VKP.enu.PrijsCodex %String %String Leveranciersprijs per GrootteOrde zonder korting %Numeric DOM.PM.enu.GrootteOrde %Numeric %Numeric %Numeric %Numeric %Numeric DOM.PM.enu.GrootteOrde %String %String %String %String %String %String %Integer %String %Numeric %Numeric Korting:%Numeric %Numeric %String %String %Integer %Integer %String %String IdentNr:%String Korttekst:%String 25) { set Io = ##class(TECH.IO).%New() do Io.Redirect() zzdump Korttekst do Io.Reset() set Exception = ##class(TECH.Exceptions.InvalidInputException).%New("Maximum toegelaten aantal karakters is 25. De ingegeven tekst '"_Korttekst_"' is "_$Length(Korttekst)_" lang. ") do Exception.VoegToeExtraInfo("HexDump : "_Io.GeefStream().Read()) do ##class(TECH.ExceptionHandler).Throw(Exception) } Do ..Data0.ZetPiece(1, Korttekst) ]]> HoofdGroep:%String Groep:%String SubGroep:%String GrootteOrde:DOM.PM.enu.GrootteOrde KlasId:%String FSCHout:%String Telbaar:TECH.String GewichtPerDuizendStuksInKG:%Numeric AantalInGrootVerpakking:%Integer AantalInKleinVerpakking:%Integer AantalInNormaalVerpakking:%Integer PalletAantal:%Integer LeverancierReferentie:%String StockNietStock:%String CifPPL:%Numeric PPL:%Numeric CifPercentage:%Numeric BarcodeWaarde:%String Merk:%String MinimumBestelhoeveelheid:%Integer UitverkoopSinds:%Date AantalWeken:%Integer WerkvloerEenheid:%String ActiefStatus:DOM.PM.enu.ActiefStatus LinkType:%String MuntCode:%String %String Waarde:%String %String Zone:%String 1 %String 1 %String 1 %String 1 %String 1 %String 1 %String 1 %String 1 %String 1 %String 1) r%DataJ = ..PersistentMgr.GeefNode("^KPR",..ProductNummer,JIndex) Do:($Length(JIndex)<2) ##class(Tools.Wlip).%New(207).String("J node : leverancier "_ ..LeverancierNr _" niet gekend") } Quit r%DataJ ]]> 1 %String 1