Π’ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8 программисты часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² зависимости ΠΎΡ‚ статуса создаваСмой сущности. Вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π» записан Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π±Π°Π·ΠΎΠ²Ρ‹Ρ…, Π½ΠΎ критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², заполнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ управлСния ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа.

НСвСрная интСрпрСтация состояния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ записСй, ошибкам ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. БущСствуСт нСсколько ΡˆΡ‚Π°Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с высокой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ свойства IsNew(), Ρ€Π°Π±ΠΎΡ‚Ρƒ с рСгистрациСй ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ особСнности повСдСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы. ПониманиС этих нюансов ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ распространСнных ошибок Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий.

Бвойство IsNew() ΠΈ Π΅Π³ΠΎ особСнности

Π‘Π°ΠΌΡ‹ΠΌ прямым ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ способом ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ статуса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° являСтся ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ IsNew(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π˜ΡΡ‚ΠΈΠ½Π°, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π» записан Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π±Π°Π·Ρƒ, ΠΈ Π›ΠΎΠΆΡŒ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ случаС. ΠœΠ΅Ρ‚ΠΎΠ΄ доступСн для всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… запись.

ИспользованиС этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠŸΡ€ΠΈΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅ ΠΈΠ»ΠΈ ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ. Однако стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ„ΠΎΡ€ΠΌΡ‹, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΌΠ΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ записи, Π½ΠΎ запись прСрвСтся ΠΈΠ·-Π·Π° ошибки ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

Π’Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ свойство IsNew Π½Π΅ зависит ΠΎΡ‚ наличия Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ссылки. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π½ΠΎ ΠΏΡ€ΠΈ этом ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹ΠΌ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ записи. Π­Ρ‚ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ простой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° пустоту ссылки.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, свойство IsNew() измСнится Π½Π° Π›ΠΎΠΆΡŒ сразу послС выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π΄Π°ΠΆΠ΅ Ссли Ρ„ΠΎΡ€ΠΌΠ° Π΅Ρ‰Π΅ Π½Π΅ обновилась Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ.

πŸ’‘

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ вывСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.IsNew() Π² консоль ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС ΠΏΠ΅Ρ€Π΅Π΄ критичСскими участками ΠΊΠΎΠ΄Π°.

Π Π°Π±ΠΎΡ‚Π° с рСгистрациСй ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (РСгИзм)

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Π½ΠΎΠ²ΠΈΠ·Π½Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° являСтся Π°Π½Π°Π»ΠΈΠ· Ρ„Π»Π°Π³Π° рСгистрации ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Бвойство РСгИзм (ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ IsModified() Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах) ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π±Ρ‹Π»ΠΈ Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π΅ΠΌ состояниСм, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ Π±Ρ‹Π» считан ΠΈΠ· Π±Π°Π·Ρ‹.

Для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, созданного Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, Ρ„Π»Π°Π³ рСгистрации ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ установлСн Π² Π˜ΡΡ‚ΠΈΠ½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ отличаСтся ΠΎΡ‚ пустого состояния Π² Π±Π°Π·Π΅ (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅Ρ‰Π΅ Π½Π΅ сущСствуСт). Однако здСсь кроСтся Π²Π°ΠΆΠ½Ρ‹ΠΉ нюанс: Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создаст ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ Π΅Π³ΠΎ, Π·Π°Ρ‚Π΅ΠΌ очистит всС поля Π΄ΠΎ исходного состояния, Ρ„Π»Π°Π³ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒΡΡ, хотя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ остаСтся Π½ΠΎΠ²Ρ‹ΠΌ.

ИспользованиС РСгИзм Ρ‡Π°Ρ‰Π΅ примСняСтся для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запросов ΠΈ прСдотвращСния лишнСй записи Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ. Π’ контСкстС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ "Π½ΠΎΠ²ΠΈΠ·Π½Ρ‹" этот ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ.

  • πŸ”Ή Бвойство IsNew() провСряСт Ρ„Π°ΠΊΡ‚ сущСствования записи Π² Π‘Π”.
  • πŸ”Ή Бвойство РСгИзм провСряСт Ρ„Π°ΠΊΡ‚ измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π‘Π”.
  • πŸ”Ή Для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Π° свойства ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π˜ΡΡ‚ΠΈΠ½Π°.
πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
IsNew()
РСгИзм
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ссылки Π½Π° пустоту
Бвойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² опрСдСлСния статуса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ контСкста выполнСния ΠΊΠΎΠ΄Π° ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ прСдставим сравнСниС основных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠ³ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для своСй Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Бвойство IsNew() являСтся лСгковСсным, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ информация ΠΎ статусС хранится Π² самом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ
ΠžΠ±ΡŠΠ΅ΠΊΡ‚.IsNew() Π‘ΡƒΠ»Π΅Π²ΠΎ (Π˜ΡΡ‚ΠΈΠ½Π°/Π›ΠΎΠΆΡŒ) Высокая Максимальная
ΠžΠ±ΡŠΠ΅ΠΊΡ‚.РСгИзм Π‘ΡƒΠ»Π΅Π²ΠΎ (Π˜ΡΡ‚ΠΈΠ½Π°/Π›ΠΎΠΆΡŒ) Высокая БрСдняя (зависит ΠΎΡ‚ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ)
ΠŸΡƒΡΡ‚Π°ΡΠ‘ΡΡ‹Π»ΠΊΠ°(ΠžΠ±ΡŠΠ΅ΠΊΡ‚) Π‘ΡƒΠ»Π΅Π²ΠΎ Высокая Низкая (Π½Π΅ всСгда ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ)
Запрос ΠΊ Π‘Π” ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк Низкая Максимальная

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· ΠŸΡƒΡΡ‚Π°ΡΠ‘ΡΡ‹Π»ΠΊΠ°() являСтся Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ссылка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сформирована, Π½ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΅Ρ‰Π΅ Π½Π΅ записан. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ допустим Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² простых сцСнариях ΠΈ Π½Π΅ рСкомСндуСтся для слоТной бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ.

πŸ’‘

ΠœΠ΅Ρ‚ΠΎΠ΄ IsNew() являСтся стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½ΠΎΠ²ΠΈΠ·Π½Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΠΌ порядкС.

ΠΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ управляСмого прилоТСния ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… состояниях синхронизации. ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ записи Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ свойство IsNew() становится доступным сразу послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Частой ошибкой являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΈΠ·Π½Ρƒ Π² событиях ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π³Π΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сформирован ΠΈΠ»ΠΈ находится Π² процСссС копирования. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвСрныС события модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ модуля Ρ„ΠΎΡ€ΠΌΡ‹.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ копирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ скопированный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ считаСтся Π½ΠΎΠ²Ρ‹ΠΌ (IsNew() = Π˜ΡΡ‚ΠΈΠ½Π°), нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ создан Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ являСтся ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° "Π’Π²ΠΎΠ΄ Π½Π° основании" Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ наслСдуСт свойства исходного, Π½ΠΎ Π΅Π³ΠΎ статус всСгда опрСдСляСтся ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ

Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ помСщаСтся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΏΠ΅Ρ€Π΅Π΄ записью, Π΅Π³ΠΎ свойство IsNew() сохраняСтся. Однако ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π² Π½ΠΎΠ²ΠΎΠΌ сСансС контСкст ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ утСрян, ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ, Ссли Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ записан Π² Π±Π°Π·Ρƒ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ статуса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ возникновСния ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, особСнно Ссли Ρ€Π°Π±ΠΎΡ‚Π° вСдСтся с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΏΡ€Π°Π²Π° Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° обращСния ΠΊ свойству IsNew() для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅Ρ‚ ΠΏΡ€Π°Π² чтСния, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния.

РСкомСндуСтся ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ критичСскиС участки ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ... Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ отсутствия ΠΏΡ€Π°Π² ΠΈ Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΅Π³ΠΎ статуса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ запись Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ошибкой. Π›ΠΎΠ³ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½ΠΎΠ²ΠΈΠ·Π½Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π° ΠΎΡ‚ Π»ΠΎΠ³ΠΈΠΊΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.

  • πŸ”Έ ВсСгда провСряйтС ΠΏΡ€Π°Π²Π° доступа ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
  • πŸ”Έ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… сбоСй.
  • πŸ”Έ РаздСляйтС Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ статуса ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

Рассмотрим Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Код дСмонстрируСт, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ "НомСр" автоматичСски Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π½Π΅ измСняя Π΅Π³ΠΎ ΠΏΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ старого.


&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ(ΠžΡ‚ΠΊΠ°Π·, РСТимЗаписи, Π Π΅ΠΆΠΈΠΌΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ)

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: являСтся Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½ΠΎΠ²Ρ‹ΠΌ

Если ΠžΠ±ΡŠΠ΅ΠΊΡ‚.IsNew() Π’ΠΎΠ³Π΄Π°

// ГСнСрация Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½ΠΎΠ²Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

ΠžΠ±ΡŠΠ΅ΠΊΡ‚.НомСр = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΠΎΠ²Ρ‹ΠΉΠΠΎΠΌΠ΅Ρ€Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°();

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ событиС ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ срабатываСт ΠΊΠ°ΠΊ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π° сСрвСрС (Π² зависимости ΠΎΡ‚ контСкста). УсловиС ΠžΠ±ΡŠΠ΅ΠΊΡ‚.IsNew() Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΎΠΌΠ΅Ρ€ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ пСрСзаписан ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ сохранСнии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ являСтся использованиС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½ΠΎΠ²ΠΈΠ·Π½Ρ‹ для установки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, создавшСго Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ. ВсСгда свСряйтС синтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² справочникС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° для вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° готовности ΠΊΠΎΠ΄Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

FAQ: Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ IsNew() Π² запросС?

НСт, свойство IsNew() доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² памяти (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль). Π’ языкС запросов 1Π‘ нСльзя Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½ΠΎΠ²Ρ‹ΠΉ Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Для этого Π½ΡƒΠΆΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ записи Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π§Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ IsNew() для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, созданного Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°?

Π”Π°, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, созданный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Новый ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свойство IsNew() = Π˜ΡΡ‚ΠΈΠ½Π° Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ().

Как ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ просто Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π½ΠΎΠΌΠ΅Ρ€?

НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ IsNew(). ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° (ΠžΠ±ΡŠΠ΅ΠΊΡ‚.НомСр = НСопрСдСлСно) Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²ΠΈΠ·Π½Ρƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡ΠΈΡ‰Π΅Π½ Ρƒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ Π΅Ρ‰Π΅ Π½Π΅ присвоСн Π² процСссС Π²Π²ΠΎΠ΄Π°.

ВлияСт Π»ΠΈ Ρ€Π΅ΠΆΠΈΠΌ совмСстимости Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° IsNew()?

ΠœΠ΅Ρ‚ΠΎΠ΄ IsNew() являСтся стандартным для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 8.x ΠΈ Π½Π΅ зависит ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° совмСстимости ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Однако ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… событий Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² старых вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.