CHUI.KB,BL.Derde.Kennis 1 %CHUI.TForm 0 ========================================================================================================================== PROPERTIES ========================================================================================================================== Controls %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.TLabel %CHUI.Ctrl.TKlantEdit %CHUI.Ctrl.TDateEdit %CHUI.Ctrl.TDateEdit %CHUI.TMemo %CHUI.Ctrl.TKlassificatiePopup %CHUI.TPopup %CHUI.TPopup %CHUI.TAction %CHUI.TAction %CHUI.TAction %CHUI.TButton %CHUI.TButton %CHUI.TButton Derde.Kennis.Kennis $$$NULLOREF %String ========================================================================================================================== METHODs ========================================================================================================================== SubTitle:%String %String KlantID:%String="" %String PrecedingKennisObj:Derde.Kennis.Kennis %String KennisObj:Derde.Kennis.Kennis %String Interface Do ..FiREAD() Set ..Caption=..GetFormTitle("Wijzig") Quit "" ]]> KennisID:%String %String KennisObj:Derde.Kennis.Kennis 1 KennisObj:Derde.Kennis.Kennis 1 %Boolean ",HValidTo) Do Quit 0 . Do ..txtValidTo.SetFocus() . Do $$$ShowMsgBoxSimple(..Caption,"De opgegeven 'geldig van' datum dient voor 'geldig tot' te komen.") If $L($$UPTRIMAN^vhRtn1(..mmoMsg.Text))<11 Do Quit 0 . Do ..mmoMsg.SetFocus() . Do $$$ShowMsgBoxSimple(..Caption,"U dient minstens tien zinvolle karakters als bericht in te geven.") ;Checken of kennisanker mogelijk wordt doorgestuurd nr de klant en dan moet er extra ;aandacht gegeven worden aan de boodschap Set lbActionDomain=..pmActionDomain.Value Set IsKlantVriendelijk=0 For Loop=1:1:$LL(lbActionDomain) Do Quit:(IsKlantVriendelijk) . Set IsKlantVriendelijk=$$$IsKlantVriendelijk($LI(lbActionDomain,Loop)) Set Msg="De ingegeven tekst kan door de klant gelezen worden. Is deze voldoende klantvriendelijk?" If IsKlantVriendelijk && ($$$MsgBox(..Caption,Msg,$$$mbOkCancel)=$$$mrCancel) Do Quit 0 . Do ..mmoMsg.SetFocus() ;Opmerking geven indien autoshow op niet-actief werd ingesteld Set Msg="U hebt autoshow ingesteld op 'niet actief' waardoor het anker verborgen wordt. Bent u zeker dat u wilt doorgaan?" Quit:((..pmAutoShow.Value=$$$asNotActive) && ($$$MsgBox(..Caption,Msg,$$$mbOkCancel)=$$$mrCancel)) 0 Quit 1 ]]> KennisObj:Derde.Kennis.Kennis 1 %Boolean Object Do ..FiWRITE() ;ForwardLink property van het KennisObj verscholen in BackwardLink invullen Set Result=$$$OK Set PrecedingKennisObj=..KennisObj.LinkBackward If $IsObject(PrecedingKennisObj) Do . Set IsOverwrite=1 . Set PrecedingKennisObj.LinkForward=..KennisObj . Set Result=PrecedingKennisObj.%Save() Else Do . Set IsOverwrite=0 ;Result ok? If $$$ISERR(Result) Do Quit 0 . Do $$$ShowMsgBoxSimple(..Caption,"Fout tijdens opslaan voorafgaand kennisobject:"_$$$NL_$$$NL_$$ParseStatus^vhLib(Result)) ;Save Set Result=..KennisObj.%Save(1) ;Error? Sluit negatief If $$$ISERR(Result) Do Quit 0 . Do $$$ShowMsgBoxSimple(..Caption,"Fout tijdens opslaan:"_$$$NL_$$$NL_$$ParseStatus^vhLib(Result)) ;Ok, go on Do ..ClearIsChanged() ;Logging If IsOverwrite Do . Set PropDiffs=$$$cmKennis.GetPropertyDifferences(..KennisObj,PrecedingKennisObj) Else Do . Set PropDiffs="" Do ##class(BL.Derde.Kennis.Kennis).AddToLog(..KennisObj.%Id(),$S(IsOverwrite:$$$kbaChanged,1:$$$kbaCreated),%Application.User.%Id(),PropDiffs,$$ParseStatus^vhLib(Result)) Quit 1 ]]> lbProducten:%ListOfDataTypes,lbProductSelecties:%ListOfDataTypes 1 1 1 ========================================================================================================================== EVENTs ========================================================================================================================== Sender:%CHUI.TControlBasis Sender:%CHUI.TControlBasis gewoon afsluiten alsof er op cancel werd gedrukt . Set ..ModalResult=$$$mrCancel ]]> Sender:%CHUI.TControlBasis Sender:%CHUI.TControlBasis,CanClose:%Boolean