Π Π°Π±ΠΎΡ‚Π° с модулями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ β€” ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², которая опрСдСляСт Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ. НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, настраиваСтС Π»ΠΈ Π²Ρ‹ справочники, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρ‹, ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΈΡ… модулям экономит часы ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки. Однако Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ спСциалисты ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡƒΡ‚Π°ΡŽΡ‚ контСкст выполнСния, Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ динамичСском Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ 5 основных способов обращСния ΠΊ модулям ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² β€” ΠΎΡ‚ прямого Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ ΠΈ Ρ€Π΅Ρ„Π»Π΅ΠΊΡΠΈΡŽ. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ нюансам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ описаны Π² стандартной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ: ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с транзакциями, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ½ΠΎΠ³Π΄Π° Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлён, ΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для ускорСния выполнСния. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΊΠ°ΠΊ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам 1Π‘, Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои знания.

1. ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ: ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

Π‘Π°ΠΌΡ‹ΠΉ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный способ β€” Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ. НапримСр, для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ() ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π”ΠΎΠΊ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚();

Π”ΠΎΠΊ.ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ();

Но здСсь ΠΊΡ€ΠΎΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ создан Π² памяти (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚() ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ). Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ объявлСн с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Экспорт β€” ΠΈΠ½Π°Ρ‡Π΅ 1Π‘ выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ "ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½". Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, контСкст выполнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ привязан ΠΊ самому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ доступ ΠΊ Π΅Π³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.

  • βœ… Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (справочники, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, рСгистры)
  • βœ… ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ синтаксис
  • ⚠️ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² памяти
  • ⚠️ ΠœΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ экспортным
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· ΠΎΠ±Ρ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹), ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠ΅ΠΉ. Π˜Π½Π°Ρ‡Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ "ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ". ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ статус Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ().
πŸ“Š Какой способ обращСния ΠΊ модулям ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ
Π§Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
ДинамичСский Π²Ρ‹Π·ΠΎΠ² (Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ)
РСфлСксия (ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅)
Π”Ρ€ΡƒΠ³ΠΎΠΉ

2. Π Π°Π±ΠΎΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: ΠΊΠΎΠ³Π΄Π° прямая Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сцСнариях прямой Π²Ρ‹Π·ΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΅Ρ‰Ρ‘ Π½Π΅ создан. Π—Π΄Π΅ΡΡŒ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ приходят ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ вызываСтся Ρ‚Π°ΠΊ:

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ;

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚().ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ();

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ прямого Π²Ρ‹Π·ΠΎΠ²Π°: ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с классом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Π½Π΅ с Π΅Π³ΠΎ экзСмпляром. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для:

  • πŸ“Œ Массовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ всСх Π½Π΅ΠΎΠΏΠ»Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π·Π°ΠΊΠ°Π·ΠΎΠ²)
  • πŸ“Œ Боздания Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройкой
  • πŸ“Œ Π’Ρ‹Π·ΠΎΠ²Π° статичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (Ссли ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°)

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

πŸ’‘

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ†Π΅Π½Ρ‹ Π²ΠΎ всСх справочниках "НомСнклатура"), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Для КаТдого ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Из ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() Π¦ΠΈΠΊΠ».. ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°. Π­Ρ‚ΠΎ эффСктивнСС, Ρ‡Π΅ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· запрос с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ созданиСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

3. ДинамичСскоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· "Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ": Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ vs. Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

Когда имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° формируСтся динамичСски (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° основС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°), Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ функция Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(). Она позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² контСкстС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Π˜ΠΌΡΠœΠ΅Ρ‚ΠΎΠ΄Π° = "ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ";

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ("Π”ΠΎΠΊ." + Π˜ΠΌΡΠœΠ΅Ρ‚ΠΎΠ΄Π° + "()");

Π­Ρ‚ΠΎΡ‚ способ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ для:

  • πŸ”§ Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
  • πŸ”§ Π’Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, хранящСмуся Π² Π±Π°Π·Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² справочникС "Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ")
  • πŸ”§ Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними систСмами, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² приходят Π² JSON/XML

Однако использованиС Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ() ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ уязвимости для ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ ΠΊΠΎΠ΄Π°, Ссли имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° формируСтся ΠΈΠ· Π½Π΅Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠ³ΠΎ источника (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· HTTP-запроса). ВсСгда Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅!

Бпособ Π²Ρ‹Π·ΠΎΠ²Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ
ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² Π”ΠΎΠΊ.ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ() Для извСстных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ созданного экзСмпляра
Π§Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚() Для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ массовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ() Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ("Π”ΠΎΠΊ." + Π˜ΠΌΡΠœΠ΅Ρ‚ΠΎΠ΄Π°) Для динамичСских ΠΈΠΌΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Риск ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ, слоТнСС ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ

4. РСфлСксия ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅: ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ для слоТных Π·Π°Π΄Π°Ρ‡

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Ρ„Π»Π΅ΠΊΡΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структуры 1Π‘, Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности:

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π° = ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ.ΠœΠΎΠ΄ΡƒΠ»ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°;

Для КаТдого ΠœΠ΅Ρ‚ΠΎΠ΄ Из ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°.ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π¦ΠΈΠΊΠ»

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ΠœΠ΅Ρ‚ΠΎΠ΄.Имя);

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

РСфлСксия ΠΏΠΎΠ»Π΅Π·Π½Π° для:

  • πŸ” АвтоматичСского докумСнтирования ΠΊΠΎΠ΄Π°
  • πŸ” ДинамичСского Π°Π½Π°Π»ΠΈΠ·Π° зависимостСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ
  • πŸ” Боздания ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИспользованиС рСфлСксии ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ошибкам ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ структуры ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Ссли Π²Ρ‹ Π² ΠΊΠΎΠ΄Π΅ Тёстко Π·Π°Π»ΠΎΠΆΠΈΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ‘ΡƒΠΌΠΌΡƒ(), Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅Ρ‚Π΅ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅, ΠΊΠΎΠ΄ пСрСстанСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ВсСгда добавляйтС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° сущСствованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹.Найти().
Как Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°?

Π§Π΅Ρ€Π΅Π· Ρ€Π΅Ρ„Π»Π΅ΠΊΡΠΈΡŽ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ рСкомСндуСтся. ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈ ΠΈΡ… Π²Ρ‹Π·ΠΎΠ² ΠΈΠ·Π²Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Если Π²Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ("ΠžΠ±ΡŠΠ΅ΠΊΡ‚.|" + Π˜ΠΌΡΠŸΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎΠœΠ΅Ρ‚ΠΎΠ΄Π° + "()");

Однако ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ обновлСниях ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

5. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с транзакциями ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ модулям ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² транзакциях Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особого внимания. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСссиСй, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·ΠΎΠ²Π° Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого:

  1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ статус Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ()
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°.. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ
  3. Для Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ раздСляйтС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ части
ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

Π”ΠΎΠΊ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠΎΠΌΠ΅Ρ€Ρƒ("000123");

Если Π”ΠΎΠΊ.ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ() Π’ΠΎΠ³Π΄Π°

Π”ΠΎΠΊ.Π Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ();

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

Π”ΠΎΠΊ.ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ();

Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ОписаниСОшибки());

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π²Π·Π°ΠΈΠΌΠ½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ, поэтому:

  • πŸ”„ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Π΅, Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ
  • πŸ”„ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ РСТимУправлСнияБлокировкойДанных.АвтоматичСский для упрощСния управлСния
πŸ’‘

ВсСгда провСряйтС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. МногиС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() ΠΈΠ»ΠΈ ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ()) ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π›ΠΎΠΆΡŒ ΠΏΡ€ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Π½ΠΎ Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого значСния β€” частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° скрытых Π±Π°Π³ΠΎΠ².

6. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с модулями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ΠΎΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённыС ΠΈΠ· Π½ΠΈΡ… ΠΈ способы ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

Ошибка ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° РСшСниС
"ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½" ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ объявлСн ΠΊΠ°ΠΊ Экспорт ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Экспорт ΠΈ рСгистр символов Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°
"ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½" ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρƒ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Если ΠžΠ±ΡŠΠ΅ΠΊΡ‚ = НСопрСдСлён Π’ΠΎΠ³Π΄Π°
"НСт ΠΏΡ€Π°Π² Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ" НСдостаточно ΠΏΡ€Π°Π² Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€ΠΎΠ»ΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒΠŸΡ€Π°Π²Π°() (остороТно!)

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° распространённая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ контСкст выполнСния. НапримСр, Ссли Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· модуля Ρ„ΠΎΡ€ΠΌΡ‹, Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ, Π° Π½Π΅ Π½Π° сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π§Ρ‚ΠΎΠ±Ρ‹ этого ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ, явно ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ(ΠžΠ±ΡŠΠ΅ΠΊΡ‚)

// Π—Π΄Π΅ΡΡŒ Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚ - Ρ„ΠΎΡ€ΠΌΠ°, Π° Π½Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚!

ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π΅Π°Π»ΡŒΠ½Π°ΡΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ(); // Π―Π²Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ сущСствуСт (Π½Π΅ НСопрСдСлён)|ΠœΠ΅Ρ‚ΠΎΠ΄ объявлСн с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Экспорт|НСт Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚|ΠŸΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ достаточны для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ|ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния соотвСтствуСт ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ (Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ссылаСтся Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚)-->

7. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Ρ‡Ρ‚ΠΎ ускоряСт, Π° Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ модулям ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы. Π’ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:

  • ⚑ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ частого создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚() ΠΈΠ»ΠΈ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ() потрСбляСт рСсурсы. ΠšΡΡˆΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ссли ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ.
  • ⚑ ΠœΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ использованиС Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(): ДинамичСский Π²Ρ‹Π·ΠΎΠ² ΠΊΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ статичСского. Если имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° извСстно Π·Π°Ρ€Π°Π½Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прямой Π²Ρ‹Π·ΠΎΠ².
  • ⚑ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ: ΠŸΡ€ΠΈ массовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π±ΠΎΡ€Ρ‹ Π² запросах, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ лишниС Π΄Π°Π½Π½Ρ‹Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для массовой ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

// НСэффСктивный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ (создаёт всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹)

Для КаТдого Бсылка Из Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() Π¦ΠΈΠΊΠ»

Π”ΠΎΠΊ = Бсылка.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚();

Π”ΠΎΠΊ.ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ();

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

// ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ (ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠΎ статусу)

Запрос = Новый Запрос;

Запрос.ВСкст = "ВЫБРАВЬ Бсылка Π˜Π— Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ Π“Π”Π• Бтатус = &Бтатус";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Бтатус", ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ.БтатусыДокумСнтов.ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½);

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = Запрос.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ().Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

Пока Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ»

Π”ΠΎΠΊ = Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Бсылка.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚();

Π”ΠΎΠΊ.ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ();

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ кластСрных Π±Π°Π·Π°Ρ… 1Π‘ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сСрвСр) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ сСтСвого ΠΎΠ±ΠΌΠ΅Π½Π° с сСрвСром ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ особСнно ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°Π½Π°Π»ΠΎΠ² связи. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сСрвСрныС Π²Ρ‹Π·ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· HTTPБСрвис).

FAQ: ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° частыС вопросы

МоТно Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ?

Π”Π°, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹. Π’Π½Π΅ΡˆΠ½ΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ прямого доступа ΠΊ модулям ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ:

  1. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠΎΠΌΠ΅Ρ€Ρƒ())
  2. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти (ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚())
  3. Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈΠ»ΠΈ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ()

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ достаточно ΠΏΡ€Π°Π² Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлён?

Π­Ρ‚ΠΎ происходит Π² Ρ‚Ρ€Ρ‘Ρ… случаях:

  • ΠœΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π·Π²Π°Π½ Π½Π΅ ΠΈΠ· контСкста ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· модуля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰Π΅ΠΉ модуля)
  • ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρƒ НСопрСдСлён)
  • Π’ ΠΊΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ ошибка, ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ присваивания Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ выполняСтся Π² контСкстС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈ динамичСском Π²Ρ‹Π·ΠΎΠ²Π΅?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ() с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1 = 100;

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2 = "ВСст";

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ("ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠœΠ΅Ρ‚ΠΎΠ΄Π‘ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ(" + ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1 + ", """ + ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2 + """)");

Для слоТных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, массивов ΠΈΠ»ΠΈ структур) Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² JSON.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ?

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ β€” Π½Π΅Ρ‚. ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ динамичСски. Однако Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

  • Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ тСкст модуля Ρ‡Π΅Ρ€Π΅Π· свойство ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для добавлСния Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

Для динамичСского измСнСния Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ΠžΡ‚Π±ΠΎΡ€Ρ‹, Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ ΠΈΠ»ΠΈ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Как ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ:

  1. Π’ΠΎΡ‡ΠΊΠΈ останова: УстановитС ΠΈΡ… Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Π½Π° Π½ΡƒΠΆΠ½Ρ‹Ρ… строках модуля.
  2. Π’Ρ‹Π²ΠΎΠ΄ Π² ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ() ΠΈΠ»ΠΈ Π—Π°ΠΏΠΈΡΡŒΠ–ΡƒΡ€Π½Π°Π»Π°Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ().
  3. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ контСкста: Π’ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ провСряйтС значСния Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….
  4. ВСстовыС сцСнарии: Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ воспроизводимый ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π±Π°Π·Π΅.

Для слоТных ошибок (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, связанных с транзакциями) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π–ΡƒΡ€Π½Π°Π» рСгистрации с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.