SharePoint рдореЗрдВ рдЗрд╡реЗрдВрдЯ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рд╕рд╛рдЗрдХрд┐рд▓ рдЪрд▓рд╛рдирд╛ рдФрд░ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, SharePoint рдореЗрдВ рдХрдИ рдИрд╡реЗрдВрдЯ рд░рд┐рд╕реАрд╡рд░ (EventReceiver) рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ SharePoint рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдорд╛рдирдХ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп рдХрд╕реНрдЯрдо рдХреЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреА рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдирд╛ / рд╣рдЯрд╛рдирд╛ / рдмрджрд▓рдирд╛ред рдИрд╡реЗрдВрдЯ рд░рд┐рд╕реАрд╡рд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХрд╛ рд╣рдХрджрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ ред



рдЖрдЬ рд╣рдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ 2 рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ SharePoint рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд░рд┐рд╕реАрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:



1. рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЪрдХреНрд░реАрдп рдХреЙрд▓ред



рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ рдЬрд╣рд╛рдВ рд░рд┐рд╕реАрд╡рд░ рдПрдХ рдЕрдВрддрд╣реАрди рдЪрдХреНрд░ рдореЗрдВ рдЦреБрдж рдХреЛ "рдбреНрд░рд╛рдЗрд╡" рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдЗрдЯрдо рдЖрдЗрдЯрдо "рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж" (ItemUpdated) рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рд░рд┐рд╕реАрд╡рд░ рд▓реЗрдВред рдЖрдкрдХрд╛ рдХреЛрдб рдЗрд╕ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрддрд┐рд░рд┐рдХреНрдд рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рдкрд░ рд▓рд┐рдЦреЗрдВ), рдФрд░ рдлрд┐рд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХреЙрд▓ рдХрд░реЗрдВред рдХреЙрд▓ рдХреЗ рдмрд╛рдж, рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдмреЗрд╢рдХред рд░рд┐рд╕реАрд╡рд░ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЖрдкрдХрд╛ рдХреЛрдб рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЗрддрдиреА рдЕрдВрддрд╣реАрдиред



public override void ItemUpdated(SPItemEventProperties properties) { base.ItemUpdated(properties); SPListItem Item = properties.ListItem; Item["Title"] = DateTime.Today.ToString("dd.MM.yyyy"); Item.Update(); }
      
      







рдореЗрд░реЗ рд▓рд┐рдП рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдШрдЯрдирд╛ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрдЬрд╛рдп SystemUpdate рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реИ рдирд╣реАрдВред рди рдХреЗрд╡рд▓ msdn рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд, рд╕рдВрд╢реЛрдзрд┐рдд рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ рдЖрдЗрдЯрдо рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдврд╝рд╛рдП рдмрд┐рдирд╛ рд╕реВрдЪреА рдЖрдЗрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рд╛рдмрд┐рдд рд╣реЛрддрд╛ рд╣реИред



рдпрд╣реА рд╣реИ, рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреА рдХреЙрд▓ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SystemUpdate рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SystemUpdate рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдФрд░ рдпрджрд┐ рд╕рдВрд╕реНрдХрд░рдг рд╕рдХреНрд╖рдо рд╣реИ рддреЛ рддрддреНрд╡ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдПрдВред



рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рдореЗрдВ SPEventReceiverBase (рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ SPEventReceiverBase рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╡рд╕реНрддреБ) рдХреА EventFiringEnabled рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред



рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдб рдореЗрдВ SPEventReceiverBase рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХрд┐рд╕реА рднреА рдШрдЯрдирд╛ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣реА рд╣реИ, рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдЖрдк рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдХреЙрд▓ рдкрд░ рдФрд░ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдбрд░реЗ рдирд╣реАрдВ рдХрд┐ рдЕрдиреНрдп рдХреЛрдб рдпрд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдкрд░реЗрд╢рди (рдЬрд┐рд╕реЗ рд░рд┐рд╕реАрд╡рд░реНрд╕ рднреА рдХрд╣рддреЗ рд╣реИрдВ) рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдмрдВрдж рдпрд╛ рдмрдВрдж рдХрд░рдХреЗ рдХреНрд▓рд╛рдЙрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



 public override void ItemUpdated(SPItemEventProperties properties) { base.ItemUpdated(properties); SPListItem Item = properties.ListItem; this.EventFiringEnabled = false; Item["Title"] = DateTime.Today.ToString("dd.MM.yyyy"); Item.Update(); this.EventFiringEnabled = true; }
      
      





рдЬрдм рдЖрдк рд╡рд┐рдзрд┐ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдб рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рдХреЙрд▓ рдЕрдХреНрд╖рдо рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ SPEventReceiverBase рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕рднреА рд░рд┐рд╕реАрд╡рд░ рдЕрдХреНрд╖рдо рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдЬрдм EventFiringEnabled рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣реИ, рдЕрдЧрд░, рд░рд┐рд╕реАрд╡рд░ рдХреЙрд▓ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ, рдЖрдк рдПрдХ рдФрд░ рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдкрдбреЗрдЯ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд╕рдВрд▓рдЧреНрди рд╣реИ, рддреЛ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдХреНрдпреЛрдВ? рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдиреАрдЪреЗ)ред рдЬрд┐рд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛, рдЙрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдкрд░ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдпрд╣ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИред рдХрдо-рд╕реЗ-рдХрдо рдЗрд╕реЗ рдЕрдВрдд рдореЗрдВ рдЯреНрд░рд╛рдЗ-рдХреИрдЪ рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдЕрдзрд┐рдХ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЕрднреА-рдЕрдВрдд рдореЗрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ)ред рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдпрд╛ рд╡рд╣ рдХреНрдпрд╛ рд╣реИ ?



рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрди рдХреЛрдб рд╣реИ, рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛



 public override void ItemUpdated(SPItemEventProperties properties) { base.ItemUpdated(properties); try { SPListItem Item = properties.ListItem; this.EventFiringEnabled = false; Item["Title"] = DateTime.Today.ToString("dd.MM.yyyy"); Item.Update(); } finally { this.EventFiringEnabled = true; } }
      
      





рдкрд╛рда рдореЗрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХрдерди рдХреЗ рд╕рд╛рде рд╡рд┐рдпреЛрдЧ рдХрд╛ рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



2. рд░рд┐рд╕реАрд╡рд░ рдХреЗ рдмрд╛рд╣рд░ рдХреБрдЫ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ред



рд░рд┐рд╕реАрд╡рд░ рдХреЗ рдЕрдВрджрд░ рд░рд┐рд╕реАрд╡рд░ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдХреИрд╕реЗ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╣рдо рд╕рдордЭ рдЧрдПред рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╣рд┐рд╕реНрд╕рд╛ рд░рд┐рд╕реАрд╡рд░ рдХреЗ рдмрд╛рд╣рд░ рд░рд┐рд╕реАрд╡рд░ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЖрдк, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕реВрдЪреА рдЖрдЗрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдП, рдЬреЛ рдЗрд╕рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧрд╛, рдЖрдЗрдЯрдо рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рд╣реЗрд░рдлреЗрд░ рдХрд░реЗрдЧрд╛ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд░рд┐рд╕реАрд╡рд░ рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛ред



рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ, рдХрд╛рд░реНрдп рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ SPEventReceiverBase рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдХреЗ рдХреЙрд▓ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдВ рдкрд░рд╛рд╡рд░реНрддрдХ рдХреА рдУрд░ рдореБрдбрд╝рдирд╛ рдФрд░ рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрдЧ рдХреНрдпрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред



 protected bool EventFiringEnabled { get { return !SPEventManager.EventFiringDisabled; } set { SPEventManager.EventFiringDisabled = !value; } }
      
      





рдпрд╣ рдХреЛрдб рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрдЧ рдХреЗ рдкрд╛рд╕ EventFiringEnabled рд╕рдВрдкрддреНрддрд┐ рд╣реИ (рд╣рдордиреЗ рдЗрд╕реЗ рдЗрд╡реЗрдВрдЯ рдХреЙрд▓ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛) рдФрд░ рдЗрд╕рдХреА рдорджрдж рд╕реЗ рд╣рдо рд╕реНрдереИрддрд┐рдХ рд╕рдВрдкрддреНрддрд┐ SPEventManager.EventFiringDabled рд╕реЗ рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдпрд╛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдХреЛрдб рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:



 internal static bool EventFiringDisabled { get { SPEventManager.EnsureTlsEventFiringDisabled(); object data = Thread.GetData(SPEventManager.m_tlsEventFiringDisabled); return data != null && (bool) data; } set { SPEventManager.EnsureTlsEventFiringDisabled(); Thread.SetData(SPEventManager.m_tlsEventFiringDisabled, (object) (bool) (value ? 1 : 0)); } }
      
      







рдЪреВрдВрдХрд┐ рд╡рд┐рдзрд┐ рд╕реНрдерд┐рд░ рд╣реИ, рдФрд░ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереНрд░реЗрдбреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ SPEventReceiverBase рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рд╡рд░реНрддрдорд╛рди рд╡рд╕реНрддреБ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╣рдорд╛рд░реЗ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рд╕реЗрд▓реНрд╕ рдореЗрдВ рдкрдврд╝реА рдФрд░ рд▓рд┐рдЦреА рдЧрдИ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕ рд░рд┐рд╕реАрд╡рд░ рд╕реЗ рдЕрдиреНрдп рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд╛рдЯ рджреА рдЬрд╛рдП рдпрд╛ рдЪрд╛рд▓реВ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдереНрд░реЗрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП SPEventReceiverBase (рдпрд╛ рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП SPItemEventReceiver рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдЕрдкрдиреА рд╢реНрд░реЗрдгреА рдмрдирд╛рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬреЛ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЬрдЧрд╣ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЗрдВрдЯреНрд░реЛрдбреНрдпреВрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж EventFiringEnabled рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред



 public class DisableItemEvents : SPItemEventReceiver { public bool CustomEventFiringEnabled { get { return base.EventFiringEnabled; } set { base.EventFiringEnabled = value; } } }
      
      





рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЙрд▓ рдХрд░реЗрдВ:



 var EventsDisable = new DisableItemEvents(); try { Item["Title"] = DateTime.Today.ToString("dd.MM.yyyy"); EventsDisable.CustomEventFiringEnabled = false; Item.Update(); } finally { EventsDisable.CustomEventFiringEnabled = true; }
      
      





рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдереАред рдЬрдм рд░рд┐рд╕реАрд╡рд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рд╣реБрдЖред рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЬреАрд╡рди рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ, рдФрд░ рдХрдИ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИред рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдВрджрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдбрд┐рд╕реНрдкреЛрдЬрд╝ рд╣рдореЗрд╢рд╛ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред



рдореИрдВрдиреЗ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХрд╛ рд╡рд░реНрдгрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛:



 public class DisableItemEvents : SPItemEventReceiver, IDisposable { private bool _EventStatus; public DisableItemEvents() { _EventStatus = base.EventFiringEnabled; base.EventFiringEnabled = false; } public void Dispose() { base.EventFiringEnabled = _EventStatus; } }
      
      





рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:



 using (new DisableItemEvents()) { Item.Update(); //     } Item.Update(); //   
      
      







рдпрд╣рд╛рдБ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╢рд╛рдирджрд╛рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреАред DisableItemEvents рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд░рддреЗ рд╕рдордп , EventFiringEnabled рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓ рдорд╛рди рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЭреВрдареЗ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЬрдм рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ EventFiringEnabled рд╕рдВрдкрддреНрддрд┐ рд╡рд╛рдкрд╕ рдХрд░ рджреА рдЬрд╛рдПрдЧреАред



рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рд░рд┐рд╕реАрд╡рд░реНрд╕ рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рджреЛрдиреЛрдВ рд╕реЗ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ рд╕реЗ рдХреЙрд▓ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреАред



All Articles