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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ синтаксичСская ошибка Π² 1Π‘ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ возникновСния:

  • πŸ“ ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… словах (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π•ΡΠ»Π˜ вмСсто Если ΠΈΠ»ΠΈ Π¦ΠΈΠΊΠ» вмСсто Для).
  • πŸ”„ НСсогласованныС скобки β€” лишниС ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ (, ), [, ], {, }.
  • πŸ”Ή НСвСрноС использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, = вмСсто = (присваиваниС vs сравнСниС).
  • πŸ“‹ Ошибки Π² Π²Ρ‹Π·ΠΎΠ²Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ β€” Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹.
  • πŸ”§ ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ вСрсий β€” ΠΊΠΎΠ΄, написанный для 1Π‘ 8.2, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² 1Π‘ 8.3 ΠΈΠ·-Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² синтаксисС.

ОсобСнно часто ошибки Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с:

  • πŸ“Š Запросами β€” Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ структура ВЫБРАВЬ, отсутствиС Π˜Π— ΠΈΠ»ΠΈ Π“Π”Π•.
  • πŸ”„ Π¦ΠΈΠΊΠ»Π°ΠΌΠΈ β€” ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ΅ ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ условиС Π² Пока.
  • πŸ“ Условными ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ β€” лишнСС Π˜Π½Π°Ρ‡Π΅Π•ΡΠ»ΠΈ Π±Π΅Π· ΠΏΠ°Ρ€Π½ΠΎΠ³ΠΎ Если.
πŸ“Š Π‘ ΠΊΠ°ΠΊΠΎΠΉ синтаксичСской ошибкой Π² 1Π‘ Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ Ρ‡Π°Ρ‰Π΅ всСго?
ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… словах
ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ скобки ΠΈΠ»ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ
Ошибки Π² запросах
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ/условиями
Π”Ρ€ΡƒΠ³ΠΎΠ΅

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ синтаксичСских ошибок Π² 1Π‘ ΠΈ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённыС ошибки с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° ΠΈ пояснСниями, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈΡ… Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚.

1. Ошибки Π² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… словах

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° ΠΊ рСгистру ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ написанию ΠΊΠΎΠΌΠ°Π½Π΄. НапримСр:

Π•ΡΠ»Π˜ УсловиС Π’ΠΎΠ³Π΄Π°  // Ошибка: "Π•ΡΠ»Π˜" вмСсто "Если"

// ΠΊΠΎΠ΄

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

Или классичСская ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΡ€ΠΈΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ()

ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ; // Ошибка: "ΠŸΠ΅Ρ€Π΅ΠΌ" вмСсто "ΠŸΠ΅Ρ€Π΅ΠΌ" (Ссли имСлось Π² Π²ΠΈΠ΄Ρƒ "ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ")

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

2. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со скобками ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ

Частая ошибка β€” Π½Π΅ΠΏΠ°Ρ€Π½Ρ‹Π΅ скобки ΠΈΠ»ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. НапримСр:

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!);  // Ошибка: Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ° послС "ΠΌΠΈΡ€!" отсутствуСт

Или лишняя скобка:

Если (УсловиС1) И (УсловиС2)) Π’ΠΎΠ³Π΄Π°  // Π›ΠΈΡˆΠ½ΡΡ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка послС УсловиС2

// ΠΊΠΎΠ΄

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

3. Ошибки Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния ΠΈΠ»ΠΈ присваивания:

А = 5;  // ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ (присваиваниС)

Если А = 5 Π’ΠΎΠ³Π΄Π° // Ошибка: Π½ΡƒΠΆΠ½ΠΎ "А = 5" для сравнСния, Π½ΠΎ Π² 1Π‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния β€” это просто "="

// ΠΊΠΎΠ΄

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

На самом Π΄Π΅Π»Π΅ Π² 1Π‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ = ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ для присваивания, ΠΈ для сравнСния β€” контСкст опрСдСляСтся автоматичСски. Но Ссли ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строку, ΠΎΠ½Π° выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ.

4. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€

НСвСрноС количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹:

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ВСкст", 123);  // Ошибка: функция "Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ" ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚

Или Π²Ρ‹Π·ΠΎΠ² Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

ΠœΠΎΠΉΠœΠ΅Ρ‚ΠΎΠ΄();  // Ошибка: Ссли ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° "ΠœΠΎΠΉΠœΠ΅Ρ‚ΠΎΠ΄" Π½Π΅ объявлСна
πŸ’‘

ВсСгда провСряйтС сигнатуру Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² синтакс-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ΅ (Ctrl+Shift+F1 Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅), Ссли Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² количСствС ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ°Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

5. Ошибки Π² запросах

Бинтаксис языка запросов 1Π‘ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки:

ВЫБРАВЬ

НомСнклатура.НаимСнованиС КАК НаимСнованиС

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

Π“Π”Π•

НомСнклатура.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ = Π˜ΡΡ‚ΠΈΠ½Π° // Ошибка: Π½ΡƒΠΆΠ½ΠΎ "= ИБВИНА" (Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ)

Π’ΠΈΠΏ ошибки ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Как ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ
ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ словС Π•ΡΠ»Π˜ УсловиС Π’ΠΎΠ³Π΄Π° Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° Если УсловиС Π’ΠΎΠ³Π΄Π°
НСпарная скобка Если (А = 5)) Π’ΠΎΠ³Π΄Π° Π£Π΄Π°Π»ΠΈΡ‚ΡŒ лишнюю скобку: Если (А = 5) Π’ΠΎΠ³Π΄Π°
НСвСрный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния Если А == 5 Π’ΠΎΠ³Π΄Π° Π’ 1Π‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния β€” =, Π° Π½Π΅ ==
Ошибка Π² запросС Π“Π”Π• ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ = "Π˜ΡΡ‚ΠΈΠ½Π°" Π£Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ: Π“Π”Π• ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ = ИБВИНА

Как Π½Π°ΠΉΡ‚ΠΈ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΊΠΎΠ΄Π΅ 1Π‘

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

  1. Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС. Оно часто содСрТит ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: "ОТидалось 'Π’ΠΎΠ³Π΄Π°'" ΠΈΠ»ΠΈ "НСоТиданный символ ';' ".
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ строку, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ошибкС, ΠΈ 2-3 строки Π²Ρ‹ΡˆΠ΅/Π½ΠΈΠΆΠ΅. БинтаксичСскиС ошибки ΠΈΠΌΠ΅ΡŽΡ‚ "эффСкт Π΄ΠΎΠΌΠΈΠ½ΠΎ" β€” ΠΎΠ΄Π½Π° ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΎΠΌΠ°Ρ‚ΡŒ нСсколько ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².
  3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ подсвСтку синтаксиса Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅. НСпарныС скобки ΠΈΠ»ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ.
  4. Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ слоТныС выраТСния Π½Π° части. Если ошибка Π² большом Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°, Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ части, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.
  5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ рСгистр. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π² 1Π‘ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ раскладкой ΠΈ рСгистром (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Если, Π° Π½Π΅ Ссли ΠΈΠ»ΠΈ Π•Π‘Π›Π˜).

β˜‘οΈ Поиск синтаксичСской ошибки Π² 1Π‘

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

Если ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² запросС, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ встроСнным конструктором запросов (F5 Π² ΠΎΠΊΠ½Π΅ рСдактирования тСкста запроса). Он автоматичСски провСряСт синтаксис ΠΈ подсказываСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ исправлСния.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ 1Π‘ 8.3.20+ появился ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ диагностики синтаксиса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ подсказываСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строку, Π½ΠΎ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡƒΡŽ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки. Если Ρƒ вас старая вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Π΅Ρ‘ β€” это сэкономит врСмя Π½Π° поиск Π±Π°Π³ΠΎΠ².

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для автоматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ синтаксиса

Π ΡƒΡ‡Π½Ρ‹ΠΉ поиск ошибок Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, особСнно Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… модулях. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π² 1Π‘ Π΅ΡΡ‚ΡŒ встроСнныС ΠΈ внСшниС инструмСнты для автоматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ:

1. ВстроСнная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅

НаТмитС F7 (ΠΈΠ»ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ВСкст β†’ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ) β€” ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° просканируСт ΠΊΠΎΠ΄ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ синтаксичСских ошибок ΠΈ выдаст список ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ строк. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для:

  • πŸ“„ ΠœΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², справочников ΠΈ Ρ‚.Π΄.)
  • πŸ“ ΠžΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
  • πŸ–₯️ ΠœΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄

2. Бинтакс-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ (Ctrl+Shift+F1)

Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Shift+F1 β€” откроСтся справка с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ синтаксисом. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, Ссли Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² написании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ»ΠΈ количСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

3. Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

Для ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты:

  • πŸ”§ 1Π‘:Бинтакс-ΠŸΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Visual Studio Code, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ подсвСчиваСт ошибки Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
  • πŸ“Š SonarQube для 1Π‘ β€” систСма статичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°, которая Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ синтаксичСскиС, Π½ΠΎ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ логичСскиС ошибки.
  • πŸ” Git-Ρ…ΡƒΠΊΠΈ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ синтаксиса β€” Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ для автоматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ.

Для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ рСкомСндуСтся ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ синтаксиса Π² процСсс CI/CD (Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ). Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π»ΠΎΠ²ΠΈΡ‚ΡŒ ошибки Π½Π° этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Π½Π΅ послС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠ΄Π° Π² ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ.

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ синтаксиса Π² Git

Для настройки ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ синтаксиса 1Π‘ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Π² Git Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

1. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ v8unpack для извлСчСния тСкстов ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² .cf.

2. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ скрипт Π½Π° PowerShell ΠΈΠ»ΠΈ Bash, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· 1cv8.exe /CheckModules.

3. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ pre-commit Ρ…ΡƒΠΊ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

4. ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для тСстовых ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ссли Π½ΡƒΠΆΠ½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ скрипта для pre-commit:

#!/bin/sh

ΠŸΡƒΡ‚ΡŒ ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘

PLATFORM_PATH="C:/Program Files/1cv8/8.3.20.1549/bin/1cv8.exe"

ΠŸΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

CONFIG_PATH="./src/Config.cf"

ИзвлСкаСм ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

v8unpack $CONFIG_PATH --files **/*.bsl --out ./temp_modules

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ синтаксис

$PLATFORM_PATH /CheckModules ./temp_modules/*.bsl

УдаляСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

rm -rf ./temp_modules

Как ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ: пошаговая инструкция

Когда ошибка Π½Π°ΠΉΠ΄Π΅Π½Π°, остаётся Π΅Ρ‘ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. Π’ΠΎΡ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

  1. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию модуля (Π€Π°ΠΉΠ» β†’ Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ...). Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ, Ссли исправлСниС ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Π½Π΅ ΠΏΠΎ ΠΏΠ»Π°Π½Ρƒ.
  2. ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС. НапримСр, Ссли написано "ОТидалось 'Π’ΠΎΠ³Π΄Π°'", Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Ρ‹ пропустили Π’ΠΎΠ³Π΄Π° послС условия Если.
  3. Π˜ΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ:
    • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ рСгистр ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов.
    • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС скобки ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΏΠ°Ρ€Π½Ρ‹Π΅.
    • Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, == Π½Π° =).
  4. Если ошибка Π² запросС, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ конструктором запросов (F5) β€” ΠΎΠ½ автоматичСски исправит ΠΌΠ½ΠΎΠ³ΠΈΠ΅ синтаксичСскиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.
  5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ контСкст. Иногда ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ пСрСмСнная ΠΈΠ»ΠΈ функция Π½Π΅ объявлСна Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ области видимости.
  6. ЗапуститС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ модуля ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ (F7).
  7. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ исправлСния Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ ошибки:

    Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ с ошибкой:

    ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ‘ΡƒΠΌΠΌΡƒ()
    

    ΠŸΠ΅Ρ€Π΅ΠΌ Π‘ΡƒΠΌΠΌΠ°;

    Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚) = Π’ΠΈΠΏ("Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализацияВоваровУслуг") Ρ‚ΠΎΠ³Π΄Π°

    Π‘ΡƒΠΌΠΌΠ° = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°;

    Π˜Π½Π°Ρ‡Π΅Π•ΡΠ»ΠΈ Π’ΠΈΠΏΠ—Π½Ρ‡(Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚) = Π’ΠΈΠΏ("Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.ΠŸΠΎΡΡ‚ΡƒΠΏΠ»Π΅Π½ΠΈΠ΅Π’ΠΎΠ²Π°Ρ€ΠΎΠ²") // Ошибка: ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° с запятой послС "Π˜Π½Π°Ρ‡Π΅Π•ΡΠ»ΠΈ"

    Π‘ΡƒΠΌΠΌΠ° = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π˜Ρ‚ΠΎΠ³("Π‘ΡƒΠΌΠΌΠ°");

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

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

    Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄:

    ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ‘ΡƒΠΌΠΌΡƒ()
    

    ΠŸΠ΅Ρ€Π΅ΠΌ Π‘ΡƒΠΌΠΌΠ°;

    Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚) = Π’ΠΈΠΏ("Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализацияВоваровУслуг") Π’ΠΎΠ³Π΄Π°

    Π‘ΡƒΠΌΠΌΠ° = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°;

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

    Π‘ΡƒΠΌΠΌΠ° = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π˜Ρ‚ΠΎΠ³("Π‘ΡƒΠΌΠΌΠ°");

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

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

    ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ПослС исправлСния ошибки всСгда тСстируйтС ΠΊΠΎΠ΄ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (F5), Π΄Π°ΠΆΠ΅ Ссли синтаксичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ скрытыС логичСскиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

    ЧастыС ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с запросами ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ

    Запросы Π² 1Π‘ β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ боль для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Бинтаксис языка запросов строгий, ΠΈ малСйшая ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС. Рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

    1. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ источников Π΄Π°Π½Π½Ρ‹Ρ…

    Ошибка:

    ВЫБРАВЬ
    

    Π’ΠΎΠ²Π°Ρ€.НаимСнованиС

    Π˜Π—

    Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК Π’ΠΎΠ²Π°Ρ€

    Π“Π”Π•

    Π’ΠΎΠ²Π°Ρ€.Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ = Π›ΠΎΠΆΡŒ // Ошибка: лишнСС "Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚"

    Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅: ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² запросС ΡƒΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½ псСвдоним Π’ΠΎΠ²Π°Ρ€.

    2. Ошибки Π² условиях (Π“Π”Π•)

    Часто ΠΏΡƒΡ‚Π°ΡŽΡ‚ И/Π˜Π›Π˜ ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°ΡΡΡ‚Π°Π²Π»ΡΡŽΡ‚ скобки:

    ВЫБРАВЬ
    

    ΠšΠ»ΠΈΠ΅Π½Ρ‚.НаимСнованиС

    Π˜Π—

    Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹ КАК ΠšΠ»ΠΈΠ΅Π½Ρ‚

    Π“Π”Π•

    ΠšΠ»ΠΈΠ΅Π½Ρ‚.Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ° = Π›ΠΎΠΆΡŒ И ΠšΠ»ΠΈΠ΅Π½Ρ‚.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ = Π›ΠΎΠΆΡŒ Π˜Π›Π˜ ΠšΠ»ΠΈΠ΅Π½Ρ‚.ДатаБоздания > &Π”Π°Ρ‚Π° // Ошибка: Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ порядок условий

    Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скобки для явного указания ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°:

    Π“Π”Π•
    

    ΠšΠ»ΠΈΠ΅Π½Ρ‚.Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ° = Π›ΠΎΠΆΡŒ

    И ΠšΠ»ΠΈΠ΅Π½Ρ‚.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ = Π›ΠΎΠΆΡŒ

    И (ΠšΠ»ΠΈΠ΅Π½Ρ‚.ДатаБоздания > &Π”Π°Ρ‚Π°)

    3. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

    ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² запросах ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ символом &, Π½ΠΎ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ:

    Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("ДатаНачала", НачалоДня(ВСкущаяДата()));
    

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

    "ВЫБРАВЬ

    | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π”Π°Ρ‚Π° КАК Π”Π°Ρ‚Π°

    |Π˜Π—

    | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализацияВоваровУслуг КАК Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

    |Π“Π”Π•

    | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π”Π°Ρ‚Π° >= &ДатаНачла"; // Ошибка: ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° (&ДатаНачла вмСсто &ДатаНачала)

    Для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с запросами:

    • πŸ”Ή Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ конструктор запросов (F5) β€” ΠΎΠ½ автоматичСски провСряСт синтаксис.
    • πŸ“‹ Для слоТных запросов Ρ€Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΈΡ… Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Π’Π’), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ.
    • πŸ” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ† β€” ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.
    πŸ’‘

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

    БинтаксичСскиС ошибки послС обновлСния 1Π‘: Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ

    ПослС обновлСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ синтаксичСскиС ошибки Π² Ρ€Π°Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠΎΠ΄Π΅. Π­Ρ‚ΠΎ связано с:

    • πŸ”„ ИзмСнСниями Π² языкС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² 1Π‘ 8.3.20 появились Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ со старыми ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…).
    • πŸ“‹ ОбновлСниСм стандартных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ β€” Ссли Π²Ρ‹ пСрСопрСдСляли ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
    • πŸ”§ ИзмСнСниями Π² API β€” Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²Π°ΡŽΡ‚ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ сигнатуру.

Алгоритм дСйствий:

  1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для вашСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (доступСн Π½Π° сайтС 1Π‘ ΠΈΠ»ΠΈ Π² справочной систСмС).
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сравнСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ (ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ β†’ Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ различия.
  3. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ совмСстимости, Ссли ΠΎΠ½ поддСрТиваСтся (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для 1Π‘ 8.2 Π² 1Π‘ 8.3).
  4. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ β€” ΠΎΠ½ΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ ΠΊΠΎΠ΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ ошибки послС обновлСния:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΡ€ΠΈΠ—Π°ΠΏΠΈΡΠΈ()

Если НЕ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚) Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("НС ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚!");

ΠžΡ‚ΠΊΠ°Π· = Π˜ΡΡ‚ΠΈΠ½Π°; // Π’ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ "ΠžΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΠ’ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ(Π˜ΡΡ‚ΠΈΠ½Π°);"

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если послС обновлСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ появились ошибки Π² стандартных ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² УправляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…), Π½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ВмСсто этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ тСстированиС ΠΈ исправлСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ β†’ ВСстированиС ΠΈ исправлСниС) ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€.

FAQ: ЧастыС вопросы ΠΎ синтаксичСских ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² 1Π‘

ΠŸΠΎΡ‡Π΅ΠΌΡƒ 1Π‘ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ "ОТидалось 'Π’ΠΎΠ³Π΄Π°'", Ссли я Π΅Π³ΠΎ ΡƒΠΊΠ°Π·Π°Π»?

Π­Ρ‚Π° ошибка часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли ΠΏΠ΅Ρ€Π΅Π΄ Π’ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка Π² условии. НапримСр:

Если (А = 5 И Π‘ = 10  // Π—Π΄Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка

Π’ΠΎΠ³Π΄Π°

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ баланс скобок Π² условии.

Как Π½Π°ΠΉΡ‚ΠΈ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° скобка Π² большом ΠΌΠΎΠ΄ΡƒΠ»Π΅?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ подсвСтку синтаксиса Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅: ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ курсор Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ скобку β€” ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ (ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚). Если подсвСтки Π½Π΅Ρ‚ β€” скобка ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π°. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΎΡ‡Π΅Ρ€Ρ‘Π΄Π½ΠΎΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ частСй ΠΊΠΎΠ΄Π° для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

МоТно Π»ΠΈ ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ синтаксичСскиС ошибки Π΄ΠΎ запуска ΠΊΠΎΠ΄Π°?

Π”Π°, для этого Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° ВСкст β†’ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (F7). Она просканируСт ΠΊΠΎΠ΄ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ синтаксичСских ошибок Π±Π΅Π· выполнСния. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π² Git ΠΈΠ»ΠΈ CI/CD.

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

Часто это связано с:

  • πŸ“‹ НСвидимыми символами (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Ρ‚ΠΈΡ€Π΅ ΠΈΠ· Word вмСсто стандартных).
  • πŸ”„ Π Π°Π·Π½Ρ‹ΠΌ рСгистром ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов.
  • πŸ“ Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ синтаксисом (ΠΊΠΎΠ΄ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ написан для старой вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹).

РСкомСндуСтся Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ (Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Notepad++ с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ для 1Π‘.

Как ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ "НСопрСдСлённый ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€"?

Π­Ρ‚Π° ошибка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π½Π΅ объявлСна Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ области видимости. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  • πŸ”Ή ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ написания ΠΈΠΌΠ΅Π½ΠΈ (рСгистр ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅!).
  • πŸ“‹ ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, пСрСмСнная объявлСна Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΈ Π½Π΅ экспортирована.
  • πŸ”§ НаличиС ΠŸΠ΅Ρ€Π΅ΠΌ ΠΈΠ»ΠΈ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм.

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

// Ошибка: пСрСмСнная "Π‘ΡƒΠΌΠΌΠ°" Π½Π΅ объявлСна

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ()

Π‘ΡƒΠΌΠΌΠ° = 100; // --> НуТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ "ΠŸΠ΅Ρ€Π΅ΠΌ Π‘ΡƒΠΌΠΌΠ°;" Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

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