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

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

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ "Π»ΠΎΠΆΠ½Ρ‹Ρ… срабатываний" ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· строковыС прСдставлСния β€” это распространённая ошибка, которая ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ Π±Π°Π³Π°ΠΌ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… систСмах. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Π‘Ρ‚Ρ€ΠΎΠΊΠ°") ΠΈΠ½ΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ оТидаСтся, ΠΈ ΠΊΠ°ΠΊ этого ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ.

1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Π² 1Π‘

Начнём с самых простых ΠΈ распространённых способов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны Π² любой вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ подходят для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° повсСднСвных Π·Π°Π΄Π°Ρ‡, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ ограничСния, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ.

Бамая извСстная функция β€” Π’ΠΈΠΏΠ—Π½Ρ‡(). Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ значСния Π² Π²ΠΈΠ΄Π΅ строки. НапримСр:

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π’ΠΈΠΏΠ—Π½Ρ‡(100)); // Π’Π΅Ρ€Π½Ρ‘Ρ‚ "Число"

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π’ΠΈΠΏΠ—Π½Ρ‡("ΠŸΡ€ΠΈΠ²Π΅Ρ‚")); // Π’Π΅Ρ€Π½Ρ‘Ρ‚ "Π‘Ρ‚Ρ€ΠΎΠΊΠ°"

Однако Ρƒ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… нСдостатка: 1. Он Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚ ссылочныС Ρ‚ΠΈΠΏΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всС справочники для Π½Π΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ β€” просто "БправочникБсылка"). 2. Для Null ΠΎΠ½ Π²Π΅Ρ€Π½Ρ‘Ρ‚ ΠΏΡƒΡΡ‚ΡƒΡŽ строку, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам Π² Π»ΠΎΠ³ΠΈΠΊΠ΅.

  • πŸ”Ή ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Null: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Null ΠΈΠ»ΠΈ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π•ΡΡ‚ΡŒ Null β€” это Π½Π°Π΄Ρ‘ΠΆΠ½Π΅Π΅, Ρ‡Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π’ΠΈΠΏΠ—Π½Ρ‡().
  • πŸ”Ή Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с шаблоном: Для ссылочных Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("БправочникБсылка.НомСнклатура").
  • πŸ”Ή ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’ΠΈΠΏ: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² для сравнСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π’ΠΈΠΏ("Массив") ΠΈΠ»ΠΈ Π’ΠΈΠΏ("Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°").
πŸ’‘

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числом, Π½ΠΎ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ β€” Ρ†Π΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Число") Π˜Π›Π˜ Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Число10,2"). Π­Ρ‚ΠΎ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ всС числовыС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π² 1Π‘.

2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ссылочных Ρ‚ΠΈΠΏΠΎΠ²: ΠΊΠ°ΠΊ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ справочник ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ

Одна ΠΈΠ· самых распространённых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ β€” Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, БправочникБсылка.НомСнклатура ΠΎΡ‚ БправочникБсылка.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹. Ѐункция Π’ΠΈΠΏΠ—Π½Ρ‡() здСсь Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для ΠΎΠ±ΠΎΠΈΡ… случаСв ΠΎΠ½Π° Π²Π΅Ρ€Π½Ρ‘Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: "БправочникБсылка".

РСшСниС Π»Π΅ΠΆΠΈΡ‚ Π² использовании ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅() ΠΈΠ»ΠΈ свойства Π­Ρ‚ΠΎΠ’ΠΈΠΏ() (для Π½ΠΎΠ²Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹). Рассмотрим ΠΎΠ±Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

Бпособ 1. Π§Π΅Ρ€Π΅Π· ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅() (Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСх вСрсиях):

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("БправочникБсылка") Π’ΠΎΠ³Π΄Π°

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅().Имя = "НомСнклатура" Π’ΠΎΠ³Π΄Π°

// Π­Ρ‚ΠΎ справочник "НомСнклатура"

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

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

Бпособ 2. Π§Π΅Ρ€Π΅Π· Π­Ρ‚ΠΎΠ’ΠΈΠΏ() (рСкомСндуСтся для 8.3.10+):

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.Π­Ρ‚ΠΎΠ’ΠΈΠΏ(Π’ΠΈΠΏ("БправочникБсылка.НомСнклатура")) Π’ΠΎΠ³Π΄Π°

// Π›ΠΎΠ³ΠΈΠΊΠ° для Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ вСрсии ΠŸΠ»ΡŽΡΡ‹ ΠœΠΈΠ½ΡƒΡΡ‹
ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅().Имя ВсС вСрсии 8.x УнивСрсалСн, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π°ΠΆΠ΅ Π² старых конфигурациях Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π’ΠΈΠΏΠ—Π½Ρ‡
Π­Ρ‚ΠΎΠ’ΠΈΠΏ() 8.3.10 ΠΈ Π²Ρ‹ΡˆΠ΅ ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² старых вСрсиях
Π’ΠΈΠ΄() 8.3.15+ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ слоТныС Ρ‚ΠΈΠΏΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π’ΠΈΠ΄("Массив(Число)")) Бинтаксис ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ
πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ссылочных Ρ‚ΠΈΠΏΠΎΠ² Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅().Имя
Π­Ρ‚ΠΎΠ’ΠΈΠΏ()
Π’ΠΈΠ΄()
Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² 1Π‘:ERP ΠΈΠ»ΠΈ 1Π‘:Π£Π’) ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Ρ…. ВсСгда провСряйтС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Ρ‡Π΅Ρ€Π΅Π· ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β†’ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.

3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° составных Ρ‚ΠΈΠΏΠΎΠ²: массивы, структуры, соотвСтствия

БоставныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (массивы, структуры, соотвСтствия) Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ особого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ… внутрСнняя структура ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. НапримСр, массив ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ элСмСнты Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π° структура β€” динамичСский Π½Π°Π±ΠΎΡ€ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Π°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π’ΠΈΠΏΠ—Π½Ρ‡() ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

  • πŸ“Œ Массив: Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Массив"). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ элСмСнтов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ»:
    Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из Массив Π¦ΠΈΠΊΠ»
    

    Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚) <> Π’ΠΈΠΏ("Число") Π’ΠΎΠ³Π΄Π°

    ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ; // Π’ массивС Π΅ΡΡ‚ΡŒ нСчисловыС элСмСнты

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

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

  • πŸ“Œ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°: Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°"). Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ:
    Если НС Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.Бвойство("ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠšΠ»ΡŽΡ‡") Π’ΠΎΠ³Π΄Π°
    

    Π’Ρ‹Π·Π²Π°Ρ‚ΡŒΠ˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ "ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ 'ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠšΠ»ΡŽΡ‡'";

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

  • πŸ“Œ БоотвСтствиС: Аналогично структурС, Π½ΠΎ с динамичСскими ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

Для строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… массивов (начиная с 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3.15) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π’ΠΈΠ΄():

Если Π’ΠΈΠ΄(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠ΄("Массив(Π‘Ρ‚Ρ€ΠΎΠΊΠ°)") Π’ΠΎΠ³Π΄Π°

// Массив содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки

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

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ структуры?

Для рСкурсивной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… структур Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ всС ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ провСряСт Ρ‚ΠΈΠΏΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Ѐункция ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ(Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°, ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅Π’ΠΈΠΏΡ‹)

Для КаТдого ΠšΠ»ΡŽΡ‡ Из Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π¦ΠΈΠΊΠ»

Если НС ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅Π’ΠΈΠΏΡ‹.Бвойство(ΠšΠ»ΡŽΡ‡) Π’ΠΎΠ³Π΄Π°

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ; // ΠšΠ»ΡŽΡ‡ Π½Π΅ обязатСлСн

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

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°[ΠšΠ»ΡŽΡ‡]) <> Π’ΠΈΠΏ(ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅Π’ΠΈΠΏΡ‹[ΠšΠ»ΡŽΡ‡]) Π’ΠΎΠ³Π΄Π°

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

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

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

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

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

4. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² Π² 1Π‘:EDT ΠΈ соврСмСнных конфигурациях

Π‘ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ 1Π‘:Enterprise Development Tools (EDT) ΠΈ Π½ΠΎΠ²Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ появились Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. НапримСр, Π² EDT ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ Π½Π° BSL, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ статичСский Π°Π½Π°Π»ΠΈΠ·.

Для динамичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² 1Π‘:EDT доступны:

  • πŸ› οΈ Ѐункция Π’ΠΈΠΏΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°(): Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΈΠΏΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ пространства ΠΈΠΌΡ‘Π½.
  • πŸ› οΈ ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ as: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ бСзопасно привСсти Ρ‚ΠΈΠΏ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ:
    ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΡΠ‘ΡΡ‹Π»ΠΊΠ°;
    

    Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ as БправочникБсылка.НомСнклатура Π’ΠΎΠ³Π΄Π°

    ΠœΠΎΡΠ‘ΡΡ‹Π»ΠΊΠ° = Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

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

  • πŸ› οΈ Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠΎΠ²: ВстроСнный инструмСнт Π² EDT для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ 1Π‘:EDT Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ Π² классичСском ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅. НапримСр, Π­Ρ‚ΠΎΠ’ΠΈΠΏ() ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ наслСдованиС классов, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

Для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° managed application (управляСмыС Ρ„ΠΎΡ€ΠΌΡ‹) рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’ΠΈΠ΄() вмСсто Π’ΠΈΠΏΠ—Π½Ρ‡(), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (generics), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² соврСмСнных конфигурациях.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² Π² 1Π‘

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

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

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

Ошибка 1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Null Ρ‡Π΅Ρ€Π΅Π· Π’ΠΈΠΏΠ—Π½Ρ‡():

// ΠΠ•ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž:

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = "" Π’ΠΎΠ³Π΄Π°

// Π›ΠΎΠ³ΠΈΠΊΠ° для Null

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

// ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž:

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Null Π’ΠΎΠ³Π΄Π°

// Π›ΠΎΠ³ΠΈΠΊΠ° для Null

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

Ошибка 2. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠ°ΠΊ строк Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра:

// ΠΠ•ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž:

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = "справочникссылка" Π’ΠΎΠ³Π΄Π° // НС сработаСт!

...

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

// ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž:

Если НРСг(Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)) = НРСг(Π’ΠΈΠΏ("БправочникБсылка")) Π’ΠΎΠ³Π΄Π°

...

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

Ошибка 3. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ контСкста выполнСния:

Π’ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ вСсти сСбя ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ Π½Π° сСрвСрС. НапримСр, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… нСдоступны Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. ВсСгда провСряйтС контСкст с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π’ΠΈΠΏΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ³ΠΎΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ().

πŸ’‘

Бамая опасная ошибка β€” ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π’ΠΈΠΏΠ—Π½Ρ‡() Π²Π΅Ρ€Π½Ρ‘Ρ‚ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ВсСгда тСстируйтС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ² Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, особСнно Ссли Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с интСграциями ΠΈΠ»ΠΈ внСшними источниками.

6. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ: рСфлСксия ΠΈ динамичСская типизация

Для слоТных сцСнариСв (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с JSON, REST API ΠΈΠ»ΠΈ динамичСски создаваСмыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ) стандартных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдостаточно. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях приходят Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ рСфлСксии ΠΈ динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ.

РСфлСксия Π² 1Π‘ позволяСт Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΎ врСмя выполнСния. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π΄Π°ΠΆΠ΅ Ссли Π΅Π³ΠΎ Ρ‚ΠΈΠΏ Π·Π°Ρ€Π°Π½Π΅Π΅ нСизвСстСн:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’Ρ‹Π²Π΅ΡΡ‚ΠΈΠ‘Π²ΠΎΠΉΡΡ‚Π²Π°ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°(ΠžΠ±ΡŠΠ΅ΠΊΡ‚)

Для КаТдого Бвойство Из ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΈΠΏ().ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Π²ΠΎΠΉΡΡ‚Π²Π°() Π¦ΠΈΠΊΠ»

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Бвойство.Имя + ": " + Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚[Бвойство.Имя]));

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

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

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСскими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ дСсСриализации JSON) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Новый ΠΈ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ’ΠΈΠΏ():

// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ динамичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Π”ΠΈΠ½ΠžΠ±ΡŠΠ΅ΠΊΡ‚ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°();

Π”ΠΈΠ½ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ПолС1", 100);

Π”ΠΈΠ½ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ПолС2", "ВСкст");

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° поля

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π”ΠΈΠ½ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ПолС1) = Π’ΠΈΠΏ("Число") Π’ΠΎΠ³Π΄Π°

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° числового поля

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ДинамичСская типизация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ошибкам, Ссли структура Π΄Π°Π½Π½Ρ‹Ρ… мСняСтся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ВсСгда Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ дСсСриализации.

Для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с высокими трСбованиями ΠΊ надёТности рСкомСндуСтся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС классы-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ Π½Π°Π΄ динамичСскими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ с явной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ структуры. НапримСр:

Ѐункция Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ’ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉΠžΠ±ΡŠΠ΅ΠΊΡ‚(Π”Π°Π½Π½Ρ‹Π΅JSON)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°();

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Ошибки", Новый Массив());

Если НС Π”Π°Π½Π½Ρ‹Π΅JSON.Бвойство("ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ΠŸΠΎΠ»Π΅") Π’ΠΎΠ³Π΄Π°

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Ошибки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ 'ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ΠŸΠΎΠ»Π΅'");

Π˜Π½Π°Ρ‡Π΅Π•ΡΠ»ΠΈ Π’ΠΈΠΏΠ—Π½Ρ‡(Π”Π°Π½Π½Ρ‹Π΅JSON.ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ΠŸΠΎΠ»Π΅) <> Π’ΠΈΠΏ("Число") Π’ΠΎΠ³Π΄Π°

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Ошибки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ПолС 'ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ΠŸΠΎΠ»Π΅' Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ числом");

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚;

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

7. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Ρ‚ΠΈΠΏΠΎΠ² для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π’ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… систСмах с интСнсивными вычислСниями ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΡƒΠ·ΠΊΠΈΠΌ мСстом. Рассмотрим, ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот процСсс.

Π‘ΠΎΠ²Π΅Ρ‚ 1. ΠšΡΡˆΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π’ΠΈΠΏΠ—Π½Ρ‡():

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, сохранитС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ:

Π’ΠΈΠΏΠ”Π°Π½Π½Ρ‹Ρ… = Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±ΡŠΠ΅ΠΊΡ‚);

Если Π’ΠΈΠΏΠ”Π°Π½Π½Ρ‹Ρ… = Π’ΠΈΠΏ("БправочникБсылка") Π’ΠΎΠ³Π΄Π°

// ...

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

Π‘ΠΎΠ²Π΅Ρ‚ 2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ для критичСских участков:

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ:

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

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠœΠ΅Ρ‚ΠΎΠ΄Π’ΠΎΠ»ΡŒΠΊΠΎΠ”Π»ΡΠ§ΠΈΡΠ»ΠΎΠ²Ρ‹Ρ…Π’ΠΈΠΏΠΎΠ²();

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

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибки, Ссли Ρ‚ΠΈΠΏ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚

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

Π‘ΠΎΠ²Π΅Ρ‚ 3. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ рСкурсивных ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ:

ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… структур (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, JSON с Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ влоТСнности > 3) рСкурсивныС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ стСка. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ ΠΎΠ±Ρ…ΠΎΠ΄Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡ‚ΡŒ ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ
ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π’ΠΈΠΏΠ—Π½Ρ‡() Π¦ΠΈΠΊΠ»Ρ‹ с ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ‚ΠΈΠΏΠ° УскорСниС Π΄ΠΎ 30%
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‡Ρ‘Ρ‚ΠΊΠΈΠΌΠΈ оТиданиями ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ УскорСниС Π΄ΠΎ 50%, Π½ΠΎ риск скрытых ошибок
ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ валидация Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними систСмами Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ
πŸ’‘

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС профилирования ΠΊΠΎΠ΄Π°. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΌΠ΅Π½Π΅Π΅ 5% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, ΠΈ ΠΈΡ… оптимизация Π½Π΅ даст Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ³ΠΎ эффСкта.

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

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚ΠΎΠΉ, Π½ΠΎ Π½Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π’ΠΈΠΏΠ—Π½Ρ‡() ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Π”Π°Ρ‚Π°") Π’ΠΎΠ³Π΄Π°

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.ВрСмя() = 0 Π’ΠΎΠ³Π΄Π°

// Π­Ρ‚ΠΎ Π΄Π°Ρ‚Π° Π±Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Π˜Π½Π°Ρ‡Π΅

// Π­Ρ‚ΠΎ Π΄Π°Ρ‚Π° с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ

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

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π’ΠΈΠΏΠ—Π½Ρ‡(НСопрСдСлён) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡƒΡΡ‚ΡƒΡŽ строку, Π° Π½Π΅ "НСопрСдСлён"?

Π­Ρ‚ΠΎ историчСская ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. НСопрСдСлён Π½Π΅ являСтся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, Π° скорСС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠΌ отсутствия значСния. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = НСопрСдСлён Π’ΠΎΠ³Π΄Π°

// Π›ΠΎΠ³ΠΈΠΊΠ° для Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ значСния

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

Как ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Число ΠΎΡ‚ Число10,2?

Ѐункция Π’ΠΈΠΏΠ—Π½Ρ‡() Π²Π΅Ρ€Π½Ρ‘Ρ‚ "Число" для ΠΎΠ±ΠΎΠΈΡ… случаСв. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΡ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Число") Π’ΠΎΠ³Π΄Π°

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π¦Π΅Π»(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) Π’ΠΎΠ³Π΄Π°

// Π­Ρ‚ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число

Π˜Π½Π°Ρ‡Π΅

// Π­Ρ‚ΠΎ число с Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ

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

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

Для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ опрСдСлСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Число(10,2)) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅().ВипЧисла (Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎ ΠΈΠ· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°).

МоТно Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Ρ‰Ρ‘ Π½Π΅ создан?

Π”Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’ΠΈΠΏ() Π±Π΅Π· создания экзСмпляра:

ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉΠ’ΠΈΠΏ = Π’ΠΈΠΏ("Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠžΠ±ΡŠΠ΅ΠΊΡ‚.НомСнклатура");

Если ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ.Π­Ρ‚ΠΎΠ’ΠΈΠΏ(ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉΠ’ΠΈΠΏ) Π’ΠΎΠ³Π΄Π°

// ...

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

Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ конструкторов.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π°Ρ… ΠΈ Π‘ΠšΠ”?

Π’ БистСмС Компоновки Π”Π°Π½Π½Ρ‹Ρ… (Π‘ΠšΠ”) Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· схСму ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ:

Π‘Ρ…Π΅ΠΌΠ° = ΠžΡ‚Ρ‡Π΅Ρ‚.ΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠΠ°ΡΡ‚Ρ€ΠΎΠ΅ΠΊ.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Ρ…Π΅ΠΌΡƒΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ”Π°Π½Π½Ρ‹Ρ…();

Для КаТдого ПолС Из Π‘Ρ…Π΅ΠΌΠ°.НаборыДанных.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹[0].Поля Π¦ΠΈΠΊΠ»

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ПолС.Имя + ": " + ПолС.Π’ΠΈΠΏΠ—Π½Ρ‡);

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

Для динамичСского измСнСния Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠŸΡ€ΠΈΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.