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

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

1. ΠžΡ‚Π»Π°Π΄ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ:

  • πŸ”§ УстановитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ слСва ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° строки Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅).
  • πŸ–±οΈ ЗапуститС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (F5 ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° "ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ").
  • πŸ“ Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· интСрфСйса ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· консоль ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (Ctrl+Alt+O).
  • ⏩ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ клавиши F10 (шаг с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ) ΠΈ F11 (шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ) для пошагового выполнСния.

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ значСния всСх Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΎΠΊΠ½Π΅ Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΊΠΎΠ΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ β€” ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. НапримСр, Ссли функция содСрТит условиС Если Π’ΠΎΠ²Π°Ρ€.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ > 10 Π’ΠΎΠ³Π΄Π°, Π²Ρ‹ смоТСтС ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² эту Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

πŸ’‘

Если функция вызываСтся ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ эту Ρ„ΠΎΡ€ΠΌΡƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия β€” ΠΈΠ½Π°Ρ‡Π΅ Ρ‚ΠΎΡ‡ΠΊΠ° останова Π½Π΅ сработаСт.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ рСкурсивных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ сами сСбя) слСдитС Π·Π° Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² ΠΎΠΊΠ½Π΅ Π‘Ρ‚Π΅ΠΊ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². БСсконСчная рСкурсия ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ зависанию сСанса.

2. ВСстированиС Ρ‡Π΅Ρ€Π΅Π· консоль ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

Консоль ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (Ctrl+Alt+O) β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для быстрой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±Π΅Π· нСобходимости Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ сСанс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Она позволяСт:

  • πŸ§ͺ Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.
  • πŸ” ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • πŸ“‹ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько тСстов подряд для Ρ€Π°Π·Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ тСстирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ расчСта скидки:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ‘ΠΊΠΈΠ΄ΠΊΡƒ(1000, 15); // Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚); // Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² ΠΎΠΊΠ½ΠΎ сообщСний

Если функция Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Число, Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлСно ΠΈΠ»ΠΈ выбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, это сигнал ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ошибки. Консоль Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ экспортных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ Экспорт), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

πŸ“Š Какой инструмСнт Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² 1Π‘?
ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ
Консоль ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ
Π–ΡƒΡ€Π½Π°Π» рСгистрации
ВСстовыС сцСнарии
Π”Ρ€ΡƒΠ³ΠΎΠΉ
Π’ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для тСста
ΠŸΡ€ΠΎΡΡ‚Π°Ρ функция Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Консоль ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ’Π΅ΠΊΡƒΡ‰ΡƒΡŽΠ”Π°Ρ‚Ρƒ());
Ѐункция с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ + Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ”Π‘(1000, 20);
РСкурсивная функция ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ + стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»(5); // Π’Ρ‹Π·ΠΎΠ² с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹
Ѐункция Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π” Π–ΡƒΡ€Π½Π°Π» рСгистрации + SQL-ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€ Запрос = Новый Запрос("ВЫБРАВЬ...");

3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· ΠΆΡƒΡ€Π½Π°Π» рСгистрации

Π–ΡƒΡ€Π½Π°Π» рСгистрации (АдминистрированиС β†’ Π–ΡƒΡ€Π½Π°Π» рСгистрации) фиксируСт всС события Π² систСмС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ошибки ΠΈ прСдупрСТдСния. Π­Ρ‚ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΉ инструмСнт для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ:

  • πŸ•’ Π’Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄).
  • ❌ Ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ всСгда Π²ΠΈΠ΄Π½Ρ‹ Π² интСрфСйсС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ).
  • πŸ”„ ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² β€” ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π°Π½Π°Π»ΠΈΠ·Π° Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ зависимых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  1. ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» (ДСйствия β†’ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π»).
  2. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, которая Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.
  3. ΠžΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠΉΡ‚Π΅ записи ΠΏΠΎ Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ВрСмя ΠΈΠ»ΠΈ Π’ΠΈΠΏ события (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Ошибка").

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° записи с Ρ‚ΠΈΠΏΠΎΠΌ Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ β€” ΠΎΠ½ΠΈ часто содСрТат ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½ΠΎΠΌΠ΅Ρ€ строки Π² ΠΊΠΎΠ΄Π΅. НапримСр, Ссли функция обращаСтся ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΆΡƒΡ€Π½Π°Π» ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²ΠΈΠ΄Π°:

Ошибка ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° контСкста (Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ‘ΡƒΠΌΠΌΡƒ):

{ΠžΠ±Ρ‰ΠΈΠΉΠœΠΎΠ΄ΡƒΠ»ΡŒ.ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ Π°ΡΡ‡Π΅Ρ‚ΠΎΠ².ΠœΠΎΠ΄ΡƒΠ»ΡŒ(123)}: Ошибка ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ свойству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΠ΅ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½)

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… вСрсиях 1Π‘ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1Π‘:Π€Ρ€Π΅Ρˆ) доступ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΆΡƒΡ€Π½Π°Π»Ρƒ рСгистрации ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ»ΠΈ запроситС Π»ΠΎΠ³ΠΈ Ρƒ администратора.

4. Unit-тСстированиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Для систСматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, особСнно Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ unit-тСсты. Π’ 1Π‘ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

  • πŸ“ ВстроСнного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° тСстирования (доступСн Π² послСдних вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹).
  • πŸ› οΈ Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, xUnitFor1C ΠΈΠ»ΠΈ Vanessa-ADD).
  • πŸ“‚ Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ написанных тСстовых ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простого тСста для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ расчСта НДБ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ВСстРасчСтаНДБ()

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ”Π‘(1000, 20);

Если Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ <> 1200 Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ΠžΠ¨Π˜Π‘ΠšΠ: РасчСт НДБ Π½Π΅Π²Π΅Ρ€Π΅Π½! ОТидалось 1200, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ " + Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚);

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

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° unit-тСстов:

  • βœ… Автоматизация ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ послС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅.
  • βœ… Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄ΠΊΠΈΠ΅ сцСнарии (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, расчСт с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ суммой).
  • βœ… Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с систСмами Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ (CI/CD).

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для тСстов|ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…|ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹|ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ|Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ-->

Для слоТных систСм рСкомСндуСтся ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ тСстами хотя Π±Ρ‹ критичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, расчСт Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠΈ ΠΏΠΎ Π±ΡƒΡ…ΡƒΡ‡Π΅Ρ‚Ρƒ). Π­Ρ‚ΠΎ снизит риск рСгрСссий ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с внСшними зависимостями

НСкоторыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² 1Π‘ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с внСшними систСмами: Π²Π΅Π±-сСрвисами, ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (сканСры ΡˆΡ‚Ρ€ΠΈΡ…ΠΊΠΎΠ΄ΠΎΠ², Ρ„ΠΈΡΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ рСгистраторы) ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Для ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹:

Для HTTP-запросов:

  • 🌐 Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ инструмСнты Π²Ρ€ΠΎΠ΄Π΅ Postman ΠΈΠ»ΠΈ Fiddler для эмуляции ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² сСрвСра.
  • πŸ”Œ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок сСти (Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Π΅).

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ:

  • πŸ–¨οΈ ВСстируйтС Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ устройствС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΠΉΡ‚Π΅ тСстовый Ρ‡Π΅ΠΊ Π½Π° Ρ„ΠΈΡΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ рСгистраторС).
  • πŸ“‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ситуаций, ΠΊΠΎΠ³Π΄Π° устройство нСдоступно.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для тСстирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’Π΅ΡΡ‚ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠΈΠ”Π°Π½Π½Ρ‹Ρ…()

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

ΠžΡ‚Π²Π΅Ρ‚ = ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅ΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€("test_data");

Если ΠžΡ‚Π²Π΅Ρ‚.ΠšΠΎΠ΄Π‘Ρ‚Π°Ρ‚ΡƒΡΠ° <> 200 Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ΠžΠ¨Π˜Π‘ΠšΠ: Π‘Π΅Ρ€Π²Π΅Ρ€ Π²Π΅Ρ€Π½ΡƒΠ» ΠΊΠΎΠ΄ " + ΠžΡ‚Π²Π΅Ρ‚.ΠšΠΎΠ΄Π‘Ρ‚Π°Ρ‚ΡƒΡΠ°);

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

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

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ΠžΠ¨Π˜Π‘ΠšΠ: " + ОписаниСОшибки());

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ тСстировании ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ с 1Π‘:EDT ΠΈΠ»ΠΈ 1Π‘:Connect ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ настройки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ВсСгда свСряйтС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π°.

6. Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

МСдлСнная Ρ€Π°Π±ΠΎΡ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π°, Ρ‡Π΅ΠΌ ошибка. Для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

  • ⏱️ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€ 1Π‘ (БСрвис β†’ ΠŸΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅).
  • πŸ“Š ΠžΡ†Π΅Π½ΠΈΠ²Π°ΠΉΡ‚Π΅ врСмя выполнСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΠΎ большим массивам).
  • πŸ—ƒοΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ SQL-запросов Ρ‡Π΅Ρ€Π΅Π· План запроса.

ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΈ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:

  • 🐒 Ѐункция выполняСтся дольшС 1 сСкунды ΠΏΡ€ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ”„ Π’ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π΅ Π²ΠΈΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ запросов.
  • πŸ“ˆ ΠŸΠ°ΠΌΡΡ‚ΡŒ потрСбляСтся Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ 100 строк ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 1 Π“Π± ΠžΠ—Π£).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°:

// ΠŸΠ»ΠΎΡ…ΠΎ: ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅ Π² Ρ†ΠΈΠΊΠ»Π΅

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из Π’Π°Π±Π»ΠΈΡ†Π°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π¦ΠΈΠΊΠ»

Если Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π‘ΡƒΠΌΠΌΠ° > 1000 Π’ΠΎΠ³Π΄Π°

Запрос = Новый Запрос("ВЫБРАВЬ... Π“Π”Π• Бсылка = &Бсылка");

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Бсылка", Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Бсылка);

// ...

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

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

// Π₯ΠΎΡ€ΠΎΡˆΠΎ: ΠΎΠ΄Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ

Запрос = Новый Запрос("ВЫБРАВЬ... Π“Π”Π• Π‘ΡƒΠΌΠΌΠ° > 1000");

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

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

πŸ’‘

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ„ΠΎΠ½Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ задания) β€” ΠΈΡ… низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π΅Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΉ, Π½ΠΎ Π½Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ сСрвСр.

FAQ: ЧастыС вопросы ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² 1Π‘

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ссли ΠΎΠ½Π° вызываСтся ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ?

Для тСстирования Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ (ΠžΠ±Ρ‰ΠΈΠ΅ β†’ Π Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ задания).
  2. НайдитС Π½ΡƒΠΆΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сСйчас.
  3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ рСгистрации ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ (установитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ задания).

Если Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π€ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, слСдитС Π·Π° Π΅Π³ΠΎ статусом Π² спискС Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ (АдминистрированиС β†’ Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания).

МоТно Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±Π΅Π· запуска 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅?

Π”Π°, для этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚:

  • ВСстированиС Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вычисляСмыС поля) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ (ΠΎΡ‚Π»Π°Π΄ΠΊΠ°) Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ запуска.
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π° языкС 1Π‘: Ссли функция Π½Π΅ зависит ΠΎΡ‚ интСрфСйса, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΠ· внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· 1Π‘:EDT.

Однако Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ сСанса.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

  • Π–ΡƒΡ€Π½Π°Π» рСгистрации с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΏΠΎ событиям Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.
  • ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ: установитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π½Π° стартС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ просматривайтС стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (Ctrl+Alt+C).
  • ΠŸΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€: ΠΎΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

Для Π°Π½Π°Π»ΠΈΠ·Π° стандартных ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°) ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ План ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ План Π²ΠΈΠ΄ΠΎΠ² характСристик Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли функция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅, Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π±ΠΎΠ΅Π²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅?

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

  • ΠŸΡ€Π°Π²Π° доступа: Π² Π±ΠΎΠ΅Π²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ограничСния Ρ€ΠΎΠ»Π΅ΠΉ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ функция.
  • Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…: Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСансы ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π–ΡƒΡ€Π½Π°Π» рСгистрации для поиска ошибок Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.
  • Π Π°Π·Π½Ρ‹Π΅ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Ссли ΠΎΡ‚Π»Π°Π΄ΠΊΠ° вСдСтся Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ вСрсии 1Π‘, Ρ‡Π΅ΠΌ Π±ΠΎΠ΅Π²ΠΎΠΉ сСрвСр, ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ SQL-запросов.
  • ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: очиститС кэш ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (БСрвис β†’ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ кэш Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅).
Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая зависит ΠΎΡ‚ Π΄Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ?

Для тСстирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с привязкой ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

  1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ВСкущаяДата Π² ΠΊΠΎΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для эмуляции Ρ€Π°Π·Π½Ρ‹Ρ… Π΄Π°Ρ‚:
    ВСкущаяДата = '2023-12-31';
    

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠΊΡ†ΠΈΡŽ(ВСкущаяДата);

  2. Π’ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ² ВСкущаяДата() Π½Π° фиксированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
  3. Для Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ с Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°ΠΌΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ настройтС тСстовоС Π·Π°Π΄Π°Π½ΠΈΠ΅ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1 ΠΌΠΈΠ½ΡƒΡ‚Π°).

Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с НачалоДня() ΠΈΠ»ΠΈ ΠšΠΎΠ½Π΅Ρ†ΠœΠ΅ΡΡΡ†Π°() ΠΌΠΎΠ³ΡƒΡ‚ вСсти сСбя ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² зависимости ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄Π°Ρ‚Ρ‹ сСрвСра.