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

Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ нСявного присваивания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ½ΠΎΠ³Π΄Π° НСопрСдСлСно Π²Π΅Π΄Ρ‘Ρ‚ сСбя Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ ошибкам Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Число ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π±Π΅Π· явного прСобразования. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ для всСх соврСмСнных Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ послСдниС обновлСния 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3.23.

1. ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π² 1Π‘: ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ

ВстроСнный язык 1Π‘ относится ΠΊ языкам с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Π½ΠΎ это Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски опрСдСляСт Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ присваиании, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΈΡ‚ риски:

  • πŸ”Ή НСявныС прСобразования: ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠ»Ρ‡Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Число Π² Π‘Ρ‚Ρ€ΠΎΠΊΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ логичСским ошибкам.
  • πŸ”Ή ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: динамичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² Π½Π° этапС исполнСния замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠΎΠ΄Π°.
  • πŸ”Ή Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ: явноС ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ понятнСС для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: Ссли пСрСмСнная Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "1000" (строка), Ρ‚ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° + 200 ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ, Π° Π½Π΅ слоТСнию. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ "1000200" вмСсто ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Ρ… 1200.

πŸ“Š Как часто Π²Ρ‹ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² 1Π‘?
ВсСгда
Волько для ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
Рядом никогда
Зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ

Π’ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 сущСствуСт Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡŽ Ρ‚ΠΈΠΏΠΎΠ²:

  1. НСявноС присваиваниС β€” Ρ‚ΠΈΠΏ опрСдСляСтся автоматичСски ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ присваивании значСния.
  2. Π―Π²Π½ΠΎΠ΅ присваиваниС β€” Ρ‚ΠΈΠΏ указываСтся ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ΠŸΠ΅Ρ€Π΅ΠΌ.

2. НСявноС присваиваниС Ρ‚ΠΈΠΏΠ°: ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

Когда Π²Ρ‹ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π±Π΅Π· указания Ρ‚ΠΈΠΏΠ°, 1Π‘ присваиваСт Π΅ΠΉ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ присвоСнного значСния. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для простых сцСнариСв, Π½ΠΎ Ρ‡Ρ€Π΅Π²Π°Ρ‚ΠΎ ошибками Π² слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ нСявного присваивания:

// Π’ΠΈΠΏ станСт "Число"

ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ;

ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ = 100;

// Π’ΠΈΠΏ станСт "Π‘Ρ‚Ρ€ΠΎΠΊΠ°"

ΠŸΠ΅Ρ€Π΅ΠΌ Π”Ρ€ΡƒΠ³Π°ΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ;

Π”Ρ€ΡƒΠ³Π°ΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚";

// Π’ΠΈΠΏ станСт "Π”Π°Ρ‚Π°"

ΠŸΠ΅Ρ€Π΅ΠΌ ДатаБоздания;

ДатаБоздания = ВСкущаяДата();

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ нСявного присваивания:

  • πŸ”Έ Π’ΠΈΠΏ фиксируСтся послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ присваивания ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½.
  • πŸ”Έ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ с Ρ‚ΠΈΠΏΠΎΠΌ НСопрСдСлСно остаётся Π±Π΅Π· Ρ‚ΠΈΠΏΠ° Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ присваивания.
  • πŸ”Έ ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ NULL Π½Π΅ мСняСт Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Ссли ΠΎΠ½ ΡƒΠΆΠ΅ Π±Ρ‹Π» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½).
πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ нСявноС присваиваниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² простых ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ…. Для Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ всСгда ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ явно.

ΠžΠΏΠ°ΡΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΠ΅Ρ€Π΅ΠΌ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚;

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = 10; // Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚ΠΈΠΏ - Число

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = "Ошибка"; // ΠžΠ¨Π˜Π‘ΠšΠ! НСльзя ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ строку ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° Число

3. Π―Π²Π½ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°: синтаксис ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°

Для явного присваивания Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

ΠŸΠ΅Ρ€Π΅ΠΌ Π˜ΠΌΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ВипЗначСния;

ДопустимыС значСния для ВипЗначСния:

Π’ΠΈΠΏΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΡΠŸΡ€ΠΈΠΌΠ΅Ρ€ значСния
Π§ΠΈΡΠ»ΠΎΠŸΠ΅Ρ€Π΅ΠΌ Π¦Π΅Π½Π° Число;1999.99
Π‘Ρ‚Ρ€ΠΎΠΊΠ°ΠŸΠ΅Ρ€Π΅ΠΌ ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π‘Ρ‚Ρ€ΠΎΠΊΠ°;"Π£Ρ†Π΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΎΠ²Π°Ρ€"
Π”Π°Ρ‚Π°ΠŸΠ΅Ρ€Π΅ΠΌ Π”Π°Ρ‚Π°ΠŸΠΎΡΡ‚ΡƒΠΏΠ»Π΅Π½ΠΈΡ Π”Π°Ρ‚Π°;'2026-12-31'
Π‘ΡƒΠ»Π΅Π²ΠΎΠŸΠ΅Ρ€Π΅ΠΌ ЭтоАкция Π‘ΡƒΠ»Π΅Π²ΠΎ;Π˜ΡΡ‚ΠΈΠ½Π°
БправочникБсылка.ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π°ΠŸΠ΅Ρ€Π΅ΠΌ Π’ΠΎΠ²Π°Ρ€ БправочникБсылка.НомСнклатура;Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ("ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€")

Для слоТных Ρ‚ΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя Ρ‚ΠΈΠΏΠ°:

ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΠΉΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ДокумСнтБсылка.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ;

ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΡΠ’Π°Π±Π»ΠΈΡ†Π° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ?

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции "НСопрСдСлённый Ρ‚ΠΈΠΏ" Π΅Ρ‰Ρ‘ Π΄ΠΎ выполнСния ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· прСимущСств явной Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ - ошибки Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π° Ρ€Π°Π½Π½Π΅ΠΌ этапС.

Π’Π°ΠΆΠ½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: нСльзя ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с явным Ρ‚ΠΈΠΏΠΎΠΌ:

ΠŸΠ΅Ρ€Π΅ΠΌ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Число;

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 10; // ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = "10"; // ΠžΠ¨Π˜Π‘ΠšΠ! НСльзя ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ строку ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° Число

4. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²: ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ

Иногда трСбуСтся явно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ привСдСния:

  • πŸ”Ή Число() β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку Π² число
  • πŸ”Ή Π‘Ρ‚Ρ€ΠΎΠΊΠ°() β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ число/Π΄Π°Ρ‚Ρƒ Π² строку
  • πŸ”Ή Π”Π°Ρ‚Π°() β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку Π² Π΄Π°Ρ‚Ρƒ
  • πŸ”Ή Π‘ΡƒΠ»Π΅Π²ΠΎ() β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π˜ΡΡ‚ΠΈΠ½Π°/Π›ΠΎΠΆΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ привСдСния:

ΠŸΠ΅Ρ€Π΅ΠΌ Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π¦Π΅Π½Ρ‹ Π‘Ρ‚Ρ€ΠΎΠΊΠ°;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π¦Π΅Π½Ρ‹ = "1999.99";

// ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ строку Π² число

ΠŸΠ΅Ρ€Π΅ΠΌ Π¦Π΅Π½Π° Число;

Π¦Π΅Π½Π° = Число(Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π¦Π΅Π½Ρ‹); // Π¦Π΅Π½Π° = 1999.99

// ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ число ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² строку с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ

ΠŸΠ΅Ρ€Π΅ΠΌ ЀорматированнаяБтрока Π‘Ρ‚Ρ€ΠΎΠΊΠ°;

ЀорматированнаяБтрока = Π€ΠΎΡ€ΠΌΠ°Ρ‚(Π¦Π΅Π½Π°, "Π§Π”Π¦=2"); // "1 999,99"

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ пустоС|ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строка числа Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹)|ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°/Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅|Π£Ρ‡Π΅ΡΡ‚ΡŒ Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ настройки (Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части)

-->

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ошибка Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²: функция Число() Π²Π΅Ρ€Π½Ρ‘Ρ‚ 0 для любой нСчисловой строки Π±Π΅Π· прСдупрСТдСния. НапримСр, Число("abc") даст 0, Π° Π½Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ. ВсСгда провСряйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Если НЕ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(Число(ΠœΠΎΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°)) Π’ΠΎΠ³Π΄Π°

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибки прСобразования

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

5. Π Π°Π±ΠΎΡ‚Π° с динамичСскими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΈ НСопрСдСлСно

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Π΅Π· явного Ρ‚ΠΈΠΏΠ° ΠΈ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно. Π­Ρ‚ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ:

  • πŸ”Έ НСопрСдСлСно Π½Π΅ Ρ€Π°Π²Π½ΠΎ NULL (хотя Π²Π΅Π΄Ρ‘Ρ‚ сСбя ΠΏΠΎΡ…ΠΎΠΆΠ΅)
  • πŸ”Έ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° НСопрСдСлСно выполняСтся Ρ‡Π΅Ρ€Π΅Π· Π’ΠΈΠΏΠ—Π½Ρ‡() ΠΈΠ»ΠΈ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ()
  • πŸ”Έ ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ НСопрСдСлСно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с явным Ρ‚ΠΈΠΏΠΎΠΌ сбросит Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ сохранит Ρ‚ΠΈΠΏ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с НСопрСдСлСно:

ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ;

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Ρ‚ΠΎ пСрСмСнная Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°

Если Π’ΠΈΠΏΠ—Π½Ρ‡(ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ) = Π’ΠΈΠΏ("НСопрСдСлСно") Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°!");

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

// ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ НСопрСдСлСно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с Ρ‚ΠΈΠΏΠΎΠΌ

ΠŸΠ΅Ρ€Π΅ΠΌ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Число;

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = НСопрСдСлСно; // Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = НСопрСдСлСно, Π½ΠΎ Ρ‚ΠΈΠΏ остаётся Число

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π’ΠΈΠΏΠ—Π½Ρ‡(ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ)); // "НСопрСдСлСно"

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π’ΠΈΠΏΠ—Π½Ρ‡(ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ, "Число")); // "Число"

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π’ΠΈΠΏΠ—Π½Ρ‡(ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, "Π–Π΅Π»Π°Π΅ΠΌΡ‹ΠΉΠ’ΠΈΠΏ") Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π΅Ρ‘ объявлСнного Ρ‚ΠΈΠΏΠ°, Π΄Π°ΠΆΠ΅ Ссли Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ - НСопрСдСлСно.

ΠžΠΏΠ°ΡΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: Ссли пСрСмСнная объявлСна Π±Π΅Π· Ρ‚ΠΈΠΏΠ° ΠΈ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π² выраТСниях ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС:

ΠŸΠ΅Ρ€Π΅ΠΌ ΠΠ΅Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°ΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ;

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠΠ΅Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°ΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ + 10; // ΠžΠ¨Π˜Π‘ΠšΠ! НСопрСдСлСно нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ΅

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

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

  1. ΠŸΡƒΡ‚Π°Π½ΠΈΡ†Π° с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ссылок: ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠžΠ±ΡŠΠ΅ΠΊΡ‚.НомСнклатура ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° БправочникБсылка.НомСнклатура.
  2. НСявныС прСобразования Π² строках: ΠΊΠΎΠ³Π΄Π° "10" + 5 Π΄Π°Ρ‘Ρ‚ "105" вмСсто 15.
  3. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… настроСк: строка "1,5" Π½Π΅ прСобразуСтся Π² число Π² Π»ΠΎΠΊΠ°Π»ΠΈ Π³Π΄Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ - Ρ‚ΠΎΡ‡ΠΊΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ошибки с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ссылок:

ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΡΠ‘ΡΡ‹Π»ΠΊΠ° БправочникБсылка.НомСнклатура;

ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΠΉΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠžΠ±ΡŠΠ΅ΠΊΡ‚.НомСнклатура;

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

ΠœΠΎΠΉΠžΠ±ΡŠΠ΅ΠΊΡ‚.НаимСнованиС = "Новый Ρ‚ΠΎΠ²Π°Ρ€";

// ΠžΠ¨Π˜Π‘ΠšΠ! НСльзя ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ссылкС

ΠœΠΎΡΠ‘ΡΡ‹Π»ΠΊΠ° = ΠœΠΎΠΉΠžΠ±ΡŠΠ΅ΠΊΡ‚;

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ошибок:

  • πŸ”§ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ() для прСобразования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ссылку
  • πŸ”§ ВсСгда провСряйтС Ρ‚ΠΈΠΏΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π’ΠΈΠΏΠ—Π½Ρ‡() ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌΠΈ опСрациями
  • πŸ”§ Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π² настройках ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° ΠΎΠΏΡ†ΠΈΡŽ "ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²"
πŸ’‘

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ВывСстиВип(ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ) Π² ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ - ΠΎΠ½ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ значСния, ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

7. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ: строгая типизация ΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ

Начиная с вСрсии 8.3.15, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π² стилС:

// &НаБСрвСрС

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠœΠΎΡΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2) Экспорт

// Аннотации Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

&ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1 - Число

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2 - Π‘Ρ‚Ρ€ΠΎΠΊΠ°

// ... Ρ‚Π΅Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ:

  • πŸ“Œ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² Π½Π° этапС компиляции (Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ)
  • πŸ“Œ АвтодополнСниС Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅
  • πŸ“Œ ГСнСрация Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

Для ΠΏΠΎΠ»Π½ΠΎΠΉ строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ компиляции:

#Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠ³ΡƒΡŽΠ’ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° БтрогоВипизированная(Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠΉΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Число, Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π‘Ρ‚Ρ€ΠΎΠΊΠ°)

// Π’Π΅Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Бтрогая типизация ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя компиляции ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π΅Ρ‘ для Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹Ρ… сборок Ссли Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

8. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

БоблюдСниС этих ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ 90% ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ:

  1. ВсСгда ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΈΠΏΡ‹ для:
    • πŸ“‹ Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
    • πŸ“‹ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
    • πŸ“‹ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² с явной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ:
    ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°
    

    МоСЧисло = Число(ΠœΠΎΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°);

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

    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка прСобразования: " + ОписаниСОшибки());

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

  • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ слоТныС Ρ‚ΠΈΠΏΡ‹ Π² коммСнтариях:
    // @Π’ΠΈΠΏ: Массив[Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°["Код"->Π‘Ρ‚Ρ€ΠΎΠΊΠ°, "НаимСнованиС"->Π‘Ρ‚Ρ€ΠΎΠΊΠ°]]
    

    ΠŸΠ΅Ρ€Π΅ΠΌ БписокВоваров;

  • Для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ настройтС Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅:

    1. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ "ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎ нСсоотвСтствии Ρ‚ΠΈΠΏΠΎΠ²"
    2. АктивируйтС "ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…"
    3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄Π° с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ
    ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (особСнно Π΄ΠΎ 8.3.18) ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с динамичСскими коллСкциями (Массив, Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°, БоотвСтствиС). ВсСгда тСстируйтС ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

    FAQ: ЧастыС вопросы ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² 1Π‘

    МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ послС объявлСния?

    НСт, Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ фиксируСтся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ присваивании (для нСявной Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ) ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ объявлСнии (для явной). ЕдинствСнный способ "ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ" Ρ‚ΠΈΠΏ - ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

    Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: Ссли пСрСмСнная ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ НСопрСдСлСно, Π΅Ρ‘ Ρ‚ΠΈΠΏ Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ присваиваниСм.

    Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΠΎ врСмя выполнСния?

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

    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π’ΠΈΠΏΠ—Π½Ρ‡(ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ));  // Π’Π΅Ρ€Π½Ρ‘Ρ‚ строку с Ρ‚ΠΈΠΏΠΎΠΌ

    Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°:

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

    // ...

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

    Π§Π΅ΠΌ отличаСтся НСопрСдСлСно ΠΎΡ‚ NULL?

    НСопрСдСлСно - это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ Ρ‡Ρ‚ΠΎ пСрСмСнная Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°. NULL - это SQL-понятиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с запросами.

    Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΠ½ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(NULL) ΠΈ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(НСопрСдСлСно) Π²Π΅Ρ€Π½ΡƒΡ‚ Π›ΠΎΠΆΡŒ), Π½ΠΎ это Ρ€Π°Π·Π½Ρ‹Π΅ сущности.

    Как ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏ "Π›ΡŽΠ±ΠΎΠΉ"?

    Π’ 1Π‘ Π½Π΅Ρ‚ Ρ‚ΠΈΠΏΠ° "Π›ΡŽΠ±ΠΎΠΉ" ΠΊΠ°ΠΊ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. Однако ΠΌΠΎΠΆΠ½ΠΎ:

    1. НС ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈ объявлСнии (Π±ΡƒΠ΄Π΅Ρ‚ динамичСская типизация)
    2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с OLE-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ
    3. Для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ с нСсколькими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ:
      &ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
      

      Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ - Число | Π‘Ρ‚Ρ€ΠΎΠΊΠ° | Π”Π°Ρ‚Π°

    ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ присваивании Π΄Π°Ρ‚Ρ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка?

    Частая ошибка: ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ строковоС прСдставлСниС Π΄Π°Ρ‚Ρ‹ Π±Π΅Π· прСобразования:

    ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΡΠ”Π°Ρ‚Π° Π”Π°Ρ‚Π°;
    

    ΠœΠΎΡΠ”Π°Ρ‚Π° = "01.01.2026"; // ΠžΠ¨Π˜Π‘ΠšΠ!

    Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚:

    ΠœΠΎΡΠ”Π°Ρ‚Π° = Π”Π°Ρ‚Π°(2026, 1, 1);  // ΠΈΠ»ΠΈ
    

    ΠœΠΎΡΠ”Π°Ρ‚Π° = '2026-01-01'; // Π»ΠΈΡ‚Π΅Ρ€Π°Π» Π΄Π°Ρ‚Ρ‹

    Для прСобразования строки Π² Π΄Π°Ρ‚Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π”Π°Ρ‚Π°() с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°.