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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ 5 ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² β€” ΠΎΡ‚ простых встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с динамичСскими Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ½ΠΎΠ³Π΄Π° стандартный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ? ΠΌΠΎΠΆΠ΅Ρ‚ подвСсти. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ для всСх вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ послСдниС Ρ€Π΅Π»ΠΈΠ·Ρ‹.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π² экзСмплярах ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² β€” этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ часто становится источником ошибок Π΄Π°ΠΆΠ΅ Ρƒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π‘Π‘ΠŸ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, здСсь Ρ‚ΠΎΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ.

1. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ "?" β€” быстрый, Π½ΠΎ Π½Π΅ всСгда Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ

Π‘Π°ΠΌΡ‹ΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” использованиС Ρ‚Π΅Ρ€Π½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ? Π² сочСтании с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π½Π° НСопрСдСлСно. НапримСр:

Если ?(НСопрСдСлСно(ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚), Π›ΠΎΠΆΡŒ, Π˜ΡΡ‚ΠΈΠ½Π°) Π’ΠΎΠ³Π΄Π°

// Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ сущСствуСт

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

Π­Ρ‚ΠΎΡ‚ способ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° случаСв, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ: Ссли Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ сущСствуСт, Π½ΠΎ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ НСопрСдСлСно, ΠΊΠΎΠ΄ всС Ρ€Π°Π²Π½ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ Π˜ΡΡ‚ΠΈΠ½Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ логичСским ошибкам Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ….

  • βœ… ΠŸΠ»ΡŽΡΡ‹: максимально ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ синтаксис, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
  • ❌ ΠœΠΈΠ½ΡƒΡΡ‹: Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ "Π½Π΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°" ΠΎΡ‚ "Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ пустой".
  • ⚠️ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для динамичСских Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ….

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ с ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅() ΠΈΠ»ΠΈ Π’ΠΈΠΏΠ—Π½Ρ‡(). НапримСр:

Если Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚) <> Π’ΠΈΠΏ("НСопрСдСлСно") Π’ΠΎΠ³Π΄Π°

// Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ сущСствуСт ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π˜Π½Π°Ρ‡Π΅

// Π›ΠΈΠ±ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π΅Ρ‚, Π»ΠΈΠ±ΠΎ ΠΎΠ½ пустой

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

πŸ“Š Какой способ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ?
ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅()
Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
Бвоя функция
НС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽ

2. ΠœΠ΅Ρ‚ΠΎΠ΄ "ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅()" β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ для Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Ѐункция ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅() позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ. Π­Ρ‚ΠΎ самый Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π° Π½Π΅ экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρƒ справочника:

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π° = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅();

Если ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.Найти("ΠΠ°ΡˆΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚") <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

// Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ сущСствуСт Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…

Π˜Π½Π°Ρ‡Π΅

// Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π΅Ρ‚

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

Для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², справочников ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Однако Π΅ΡΡ‚ΡŒ нюанс: Ссли Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ динамичСски (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Π‘Π‘ΠŸ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅), Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ Π² стандартных ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этом случаС ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ…ΠΎΠ΄ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.

Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°
Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅().Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π‘ΠΏΡ€.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅().Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.Найти("Код")
Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅().Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹Π¨Π°ΠΏΠΊΠΈ Π”ΠΎΠΊ.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅().Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹Π¨Π°ΠΏΠΊΠΈ.Найти("Π‘ΡƒΠΌΠΌΠ°")
УправляСмая Ρ„ΠΎΡ€ΠΌΠ° Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Найти("ΠŸΠΎΠ»Π΅Π’Π²ΠΎΠ΄Π°1")
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3.20+ появились измСнСния Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ для динамичСских списков. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ послСдниС вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ β€” Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π²Ρ‹Π·ΠΎΠ²Π° ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅().

3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ β€” ΠΊΠΎΠ³Π΄Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Π°ΠΆΠ½Π΅Π΅ бСзопасности

ΠœΠ΅Ρ‚ΠΎΠ΄ "ΠΏΠΎΠΉΠΌΠ°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅" ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для случаСв, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° выполняСтся тысячи Ρ€Π°Π· (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ большого массива Π΄Π°Π½Π½Ρ‹Ρ…). ВмСсто ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΡ‹ просто пытаСмся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

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

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚;

// Если дошли Π΄ΠΎ этой строки β€” Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ сущСствуСт

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

// Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π΅Ρ‚ ΠΈΠ»ΠΈ другая ошибка

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

  • ⚑ ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ (особСнно Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π² Ρ†ΠΈΠΊΠ»Π°Ρ…).
  • ⚠️ Риск: ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ошибки, Π½Π΅ связанныС с отсутствиСм Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…).
  • πŸ”§ Π‘ΠΎΠ²Π΅Ρ‚: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для критичСских ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ участков ΠΊΠΎΠ΄Π°.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ массовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ каТдая миллисСкунда Π½Π° счСту. Однако Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ явным способам.

πŸ’‘

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Ρ†ΠΈΠΊΠ»Π΅, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ счСтчик ошибок. Если Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ отсутствуСт Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² 10% случаСв, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅() β€” это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ быстрСС ΠΈΠ·-Π·Π° сокращСния количСства ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

4. Π Π°Π±ΠΎΡ‚Π° с динамичСскими Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ ΠΈ Π‘Π‘ΠŸ

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Ρ… ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌ (Π‘Π‘ΠŸ) ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ динамичСскиС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹, стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ДинамичСскиС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ хранятся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ основных ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ динамичСского Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

Если ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.Найти("ΠΠ°ΡˆΠ”ΠΈΠ½Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚") <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

// ДинамичСский Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ сущСствуСт

Π˜Π½Π°Ρ‡Π΅

// НСт Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°

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

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

Π€ΠΎΡ€ΠΌΠ° = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π€ΠΎΡ€ΠΌΡ‹.Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ°Π€ΠΎΡ€ΠΌΡ‹();

Если Π€ΠΎΡ€ΠΌΠ°.Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.Найти("Π”ΠΈΠ½Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚1") <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

// Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π½Π°ΠΉΠ΄Π΅Π½

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ конфигурациях Π½Π° основС Π‘Π‘ΠŸ 3.1+ динамичСскиС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ _Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹Π˜Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΠΎ ΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ запрос с join’ом ΠΊ этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅.
Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, являСтся Π»ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ динамичСским?

ДинамичСскиС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π² 1Π‘ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ:

1. Они Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² стандартном спискС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ (Ρ€Π°Π·Π΄Π΅Π» "Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹").

2. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ/ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π±Π΅Π· измСнСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Ρ‡Π΅Ρ€Π΅Π· интСрфСйс ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ).

3. Π’ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… хранятся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, Π° Π½Π΅ Π² основной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

4. Π’ ΠΊΠΎΠ΄Π΅ ΠΊ Π½ΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹, Π° Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² запросах ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Запросами ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности. Если Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ запроса, 1Π‘ выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ ПолС Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

  • πŸ“Œ ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅Π—Π°ΠΏΡ€ΠΎΡΠ° (Π΄ΠΎ выполнСния запроса).
  • πŸ“Œ ΠœΠ΅Ρ‚ΠΎΠ΄ 2: ИспользованиС ВЫБРАВЬ Π ΠΠ—Π›Π˜Π§ΠΠ«Π• для динамичСского формирования списка ΠΏΠΎΠ»Π΅ΠΉ.
  • πŸ“Œ ΠœΠ΅Ρ‚ΠΎΠ΄ 3: ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бСзопасного запроса:

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

Запрос.ВСкст =

"ВЫБРАВЬ

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ1.Бсылка КАК Бсылка,

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ1.НаимСнованиС КАК НаимСнованиС

|Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ1 КАК Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ1";

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Запрос.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ();

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅;

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ поля "НаимСнованиС"

Если ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.Колонки.Найти("НаимСнованиС") <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

// ПолС Π΅ΡΡ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅

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

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ, ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅: ΠΈΡ… структура опрСдСляСтся Π½Π° этапС создания. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎ заполнСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΈΠ½Π°Ρ‡Π΅ рискуСтС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ структуру Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅Π—Π°ΠΏΡ€ΠΎΡΠ°|Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ псСвдонимы (КАК) для всСх ΠΏΠΎΠ»Π΅ΠΉ|ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈ доступС ΠΊ полям|Для динамичСских ΠΏΠΎΠ»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ВЫБРАВЬ Π ΠΠ—Π›Π˜Π§ΠΠ«Π•|ВСстируйтС запрос Π½Π° пустых Π΄Π°Π½Π½Ρ‹Ρ…-->

6. Бвоя функция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Если Π²Π°ΠΌ часто приходится ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π² Ρ€Π°Π·Π½Ρ‹Ρ… частях ΠΊΠΎΠ΄Π°, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Она Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ всС Π½ΡŽΠ°Π½ΡΡ‹: ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹, динамичСскиС, Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ„ΠΎΡ€ΠΌ ΠΈ Ρ‚.Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Ѐункция РСквизитБущСствуСт(ΠžΠ±ΡŠΠ΅ΠΊΡ‚, Π˜ΠΌΡΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°) Экспорт

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

// ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = ΠžΠ±ΡŠΠ΅ΠΊΡ‚[Π˜ΠΌΡΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°];

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π˜ΡΡ‚ΠΈΠ½Π°;

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

// Если ошибка β€” провСряСм Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅

Если Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚) = Π’ΠΈΠΏ("Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°") Или Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚) = Π’ΠΈΠΏ("БоотвСтствиС") Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Бвойство(Π˜ΠΌΡΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, НСопрСдСлСно) <> НСопрСдСлСно;

Π˜Π½Π°Ρ‡Π΅Π•ΡΠ»ΠΈ Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚) = Π’ΠΈΠΏ("Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚") Или Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚) = Π’ΠΈΠΏ("Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠžΠ±ΡŠΠ΅ΠΊΡ‚") Π’ΠΎΠ³Π΄Π°

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π° = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅();

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.Найти(Π˜ΠΌΡΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°) <> НСопрСдСлСно

Или ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.Найти(Π˜ΠΌΡΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°) <> НСопрСдСлСно;

Π˜Π½Π°Ρ‡Π΅Π•ΡΠ»ΠΈ Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚) = Π’ΠΈΠΏ("Π€ΠΎΡ€ΠΌΠ°") Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Найти(Π˜ΠΌΡΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°) <> НСопрСдСлСно

Или ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.Найти(Π˜ΠΌΡΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°) <> НСопрСдСлСно;

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

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π›ΠΎΠΆΡŒ;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ;

Π­Ρ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡƒΠ΄Π° ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Она ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚:

  • πŸ”Ή ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, справочники).
  • πŸ”Ή ДинамичСскиС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.
  • πŸ”Ή УправляСмыС Ρ„ΠΎΡ€ΠΌΡ‹.
  • πŸ”Ή Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ соотвСтствия.

Ѐункция сначала пытаСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ (это быстрСС), Π° Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка β€” ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

πŸ’‘

ИспользованиС ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сокращаСт количСство ΠΊΠΎΠ΄Π° Π½Π° 30-40% ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок ΠΏΡ€ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅. ОсобСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… с сотнями ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².

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

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

  1. ΠŸΡƒΡ‚Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ "Π½Π΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°" ΠΈ "Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ пустой" β€” ΠΊΠ°ΠΊ ΠΌΡ‹ обсуТдали Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ? Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚ эти случаи. ВсСгда уточняйтС, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ.
  2. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ динамичСских Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² β€” Ссли Π²Ρ‹ провСряСтС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стандартныС ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, Π²Ρ‹ пропуститС всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· Π‘Π‘ΠŸ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ.
  3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… β€” Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΅Ρ‰Π΅ Π½Π΅ записан Π² Π±Π°Π·Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚), Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ нСдоступны.
  4. Π Π°Π±ΠΎΡ‚Π° с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ Π² транзакциях β€” Ссли Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ добавляСтся динамичСски Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎ фиксации ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этих ошибок:

  • πŸ” ВсСгда провСряйтС контСкст, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ваш ΠΊΠΎΠ΄ (Ρ„ΠΎΡ€ΠΌΠ°, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, внСшняя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°).
  • πŸ“‹ Для критичСских участков Π²Π΅Π΄ΠΈΡ‚Π΅ Π»ΠΎΠ³ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ β€” это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ.
  • πŸ› οΈ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ 1Π‘ для пошагового Π°Π½Π°Π»ΠΈΠ·Π° β€” ΠΈΠ½ΠΎΠ³Π΄Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ "Π΅ΡΡ‚ΡŒ", Π½ΠΎ Π½Π΅ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ распрСдСлСнных Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (Π Π˜Π‘) Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ. Если ваш ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΡƒΠ·Π»Π΅ Π Π˜Π‘, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ПланОбмСна.ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΠ”Π°Π½Π½Ρ‹Ρ…().

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

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°?

Для Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ВабличныСЧасти Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…:

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅();

Π’Π°Π±Π»ΠΈΡ‡Π½Π°ΡΠ§Π°ΡΡ‚ΡŒ = ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.ВабличныСЧасти.Найти("Π’ΠΎΠ²Π°Ρ€Ρ‹");

Если Π’Π°Π±Π»ΠΈΡ‡Π½Π°ΡΠ§Π°ΡΡ‚ΡŒ <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ = Π’Π°Π±Π»ΠΈΡ‡Π½Π°ΡΠ§Π°ΡΡ‚ΡŒ.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.Найти("Π¦Π΅Π½Π°");

Если Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

// Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ сущСствуСт

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

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

Для динамичСских Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹.Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ функция ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлСно для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°?

Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρƒ нСсохранСнного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°) Π΅Ρ‰Π΅ Π½Π΅Ρ‚ привязки ΠΊ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибки, сначала Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅();

Или ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.ΠΠ°ΡˆΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅();
Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π² управляСмой Ρ„ΠΎΡ€ΠΌΠ΅, Ссли Π΅Π³ΠΎ имя совпадаСт с ΠΈΠΌΠ΅Π½Π΅ΠΌ элСмСнта?

Π’ управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΈ элСмСнты Ρ„ΠΎΡ€ΠΌΡ‹ хранятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… коллСкциях. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²:

  • Для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π­Ρ‚Π°Π€ΠΎΡ€ΠΌΠ°.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.Найти("Имя").
  • Для элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π­Ρ‚Π°Π€ΠΎΡ€ΠΌΠ°.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Найти("Имя").

Если ΠΈΠΌΠ΅Π½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, 1Π‘ сначала ΠΈΡ‰Π΅Ρ‚ Π² элСмСнтах, поэтому Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ситуаций ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.

МоТно Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…?

Π”Π°, Π½ΠΎ это Π½Π΅ всСгда цСлСсообразно. НапримСр, для справочника ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос:

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

Запрос.ВСкст = "ВЫБРАВЬ РАЗРЕШЕННЫЕ ΠšΠžΠ›ΠžΠΠšΠ˜

|Π˜Π— INFORMATION_SCHEMA.COLUMNS

|Π“Π”Π• TABLE_NAME = '_Reference123'"; // Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Запрос.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ();

Однако этот способ:

  • ❌ Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† Π² Π±Π°Π·Π΅ (Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для динамичСских Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²).
  • ❌ Зависит ΠΎΡ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структуры 1Π‘, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
  • ❌ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π² Π½Π° доступ ΠΊ систСмным Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ.

Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΠ»ΠΈ Π² ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… случаях.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· OData ΠΈΠ»ΠΈ HTTP-сСрвис?

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с OData ΠΈΠ»ΠΈ HTTP-сСрвисами структура ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ стандартной. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π·:

  • πŸ”Ή ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Бвойство("Π˜ΠΌΡΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°") β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ способ.
  • πŸ”Ή Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π˜ΠΌΡΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°) β€” Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ значСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для OData:

Если Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚OData.ΠΠ°ΡˆΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚) <> Π’ΠΈΠΏ("НСопрСдСлСно") Π’ΠΎΠ³Π΄Π°

// Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π΅ΡΡ‚ΡŒ

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

Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² OData ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ сСриализованныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π³Π΄Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ хранятся Π² Π²ΠΈΠ΄Π΅ строк ΠΈΠ»ΠΈ чисСл Π΄Π°ΠΆΠ΅ Ссли Π² 1Π‘ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ.