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

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ просто ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис β€” ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (8.3 ΠΈ 9.0), Π³Π΄Π΅ ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ (Π² модулях ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠ±Ρ‰ΠΈΡ… модулях ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ…), ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с контСкстом выполнСния. А Π΅Ρ‰Ρ‘ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΡ‰Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ вмСсто Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ ΠΊΠ°ΠΊ это влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ функция Π² 1Π‘ ΠΈ Ρ‡Π΅ΠΌ ΠΎΠ½Π° отличаСтся ΠΎΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. Но ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΅ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅:

  • πŸ“Œ ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° выполняСт дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сохраняСт Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ обновляСт справочник), Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.
  • πŸ”„ Ѐункция Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ выполняСт ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π’ΠΎΠ·Π²Ρ€Π°Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ скидку для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π»ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ β€” ΠΎΠ½Π° Π²Π΅Ρ€Π½Ρ‘Ρ‚ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΡƒΡŽ сумму. А Ссли трСбуСтся просто ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ email-ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² 1Π‘ 8.3 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ:

  • πŸ“ Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ β€” ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ).
  • 🌍 Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ β€” Π² ΠΎΠ±Ρ‰ΠΈΡ… модулях (доступны ΠΈΠ· любого мСста ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ).
  • πŸ“„ ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌΠΈ β€” Π² модулях ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° РСализацияВоваровУслуг).
πŸ“Š Π“Π΄Π΅ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго создаётС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² 1Π‘?
Π’ ΠΎΠ±Ρ‰ΠΈΡ… модулях
Π’ модулях ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
Π’ модулях Ρ„ΠΎΡ€ΠΌ
Π’ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ…

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² 1Π‘ выглядит Ρ‚Π°ΠΊ:

Ѐункция Π˜ΠΌΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2) Экспорт

// Π’Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

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

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

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΏΠΎ частям:

  • πŸ”Ή Ѐункция β€” ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ для объявлСния.
  • πŸ”Ή Π˜ΠΌΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ имя (рСгистр Π½Π΅ Π²Π°ΠΆΠ΅Π½, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ CamelCase ΠΈΠ»ΠΈ PascalCase).
  • πŸ”Ή (ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2) β€” список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым).
  • πŸ”Ή Экспорт β€” Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π΄Π΅Π»Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ доступной для Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.
  • πŸ”Ή Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (Π±Π΅Π· Π½Π΅Π³ΠΎ функция Π²Π΅Ρ€Π½Ρ‘Ρ‚ НСопрСдСлСно).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ НДБ:

Ѐункция Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ”Π‘(Π‘ΡƒΠΌΠΌΠ°, Π‘Ρ‚Π°Π²ΠΊΠ° = 20) Экспорт

Если Π‘Ρ‚Π°Π²ΠΊΠ° = 0 Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ 0;

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π‘ΡƒΠΌΠΌΠ° * Π‘Ρ‚Π°Π²ΠΊΠ° / 100;

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ мСста, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

НДБ = Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ”Π‘(1000, 10); // Π’Π΅Ρ€Π½Ρ‘Ρ‚ 100
πŸ’‘

Если функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события Ρ„ΠΎΡ€ΠΌΡ‹), объявлСниС Π΅Ρ‘ ΠΊΠ°ΠΊ Экспорт создаст Π½Π΅Π½ΡƒΠΆΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° глобальноС пространство ΠΈΠΌΡ‘Π½.

Π“Π΄Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ vs ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π’Ρ‹Π±ΠΎΡ€ мСста для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ зависит ΠΎΡ‚ Π΅Ρ‘ назначСния. Рассмотрим основныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:

Π’ΠΈΠΏ модуля Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΡ€ΠΈΠΌΠ΅Ρ€
ΠžΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²ΠΎ всСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Ρ‚Π°ΠΌΠΈ, Π²Π°Π»ΡŽΡ‚Π°ΠΌΠΈ, ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ расчёты). Ѐункция прСобразования строки Π² число с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок.
ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π›ΠΎΠ³ΠΈΠΊΠ°, привязанная ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ, справочнику). Ѐункция ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ заполнСнности Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ.
ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для взаимодСйствия с элСмСнтами Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, динамичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ видимости ΠΏΠΎΠ»Π΅ΠΉ). Ѐункция подсвСтки строк Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Ρ„ΠΎΡ€ΠΌΡ‹.
Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ функция Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ расчёты, Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅. Ѐункция форматирования числа Π²Π½ΡƒΡ‚Ρ€ΠΈ большой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ размСщСния Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅:

// Π’ ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ "Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹"

Ѐункция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ€ΠΈΠ»ΠΈΠ°Π»() Экспорт

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ().Π€ΠΈΠ»ΠΈΠ°Π»;

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

А Ρ‚Π°ΠΊ β€” Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°:

// Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° "РСализацияВоваровУслуг"

Ѐункция ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽΠ‘ΡƒΠΌΠΌΡƒ()

Если Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°() < 1000 Π’ΠΎΠ³Π΄Π°

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

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

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

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

πŸ’‘

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΎΠ±Ρ‰ΠΈΡ… модулях с Ρ„Π»Π°Π³ΠΎΠΌ Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ доступны Π΄Π°ΠΆΠ΅ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, Π½ΠΎ Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ "спагСтти-ΠΊΠΎΠ΄Ρƒ" β€” ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π·ΠΌΠ°Π·Π°Π½Π° ΠΏΠΎ всСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: значСния, ссылки ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Π’ 1Π‘ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ:

  • πŸ“¦ По Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (копия Π΄Π°Π½Π½Ρ‹Ρ…) β€” измСнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.
  • πŸ”— По ссылкС (с использованиСм ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ΠŸΠ΅Ρ€Π΅ΠΌ) β€” функция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ссылкС:

Ѐункция Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒΠΠ°10(ΠŸΠ΅Ρ€Π΅ΠΌ Число)

Число = Число + 10;

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

// Π’Ρ‹Π·ΠΎΠ²:

А = 5;

Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒΠΠ°10(А);

// Π’Π΅ΠΏΠ΅Ρ€ΡŒ А = 15

Π’Π°ΠΊΠΆΠ΅ Π² 1Π‘ 8.3+ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Ѐункция ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅(Имя = "Π“ΠΎΡΡ‚ΡŒ", Π―Π·Ρ‹ΠΊ = "Русский")

Если Π―Π·Ρ‹ΠΊ = "Русский" Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, " + Имя + "!";

Π˜Π½Π°Ρ‡Π΅

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ "Hello, " + Имя + "!";

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

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

// Π’Ρ‹Π·ΠΎΠ² Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ = ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅(); // "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π“ΠΎΡΡ‚ΡŒ!"

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π’ΠΎΠ·Π²Ρ€Π°Ρ‚?

Ѐункция Π²Π΅Ρ€Π½Ρ‘Ρ‚ НСопрСдСлСно, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, особСнно Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² условиях ΠΈΠ»ΠΈ матСматичСских опСрациях.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с функциями ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Π’ΠΎΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частыС:

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если функция объявлСна с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Экспорт, Π½ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² список экспортируСмых ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля (Π² свойствах модуля), ΠΎΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½Π° ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… мСст ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  • 🚫 Π—Π°Π±Ρ‹Ρ‚Ρ‹ΠΉ Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ β€” функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлСно, Ρ‡Ρ‚ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ.
  • πŸ”„ РСкурсия Π±Π΅Π· условия Π²Ρ‹Ρ…ΠΎΠ΄Π° β€” ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ стСка (ошибка "ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΎ максимальноС число Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²").
  • πŸ“Œ ИспользованиС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ становятся зависимыми ΠΎΡ‚ контСкста, Ρ‡Ρ‚ΠΎ услоТняСт тСстированиС.
  • πŸ” Π”Π»ΠΈΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” Ссли функция Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 30-40 строк, Π΅Ρ‘ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° нСсколько smaller.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΉ рСкурсии:

Ѐункция БСсконСчныйВызов()

БСсконСчныйВызов(); // НСт условия Π²Ρ‹Ρ…ΠΎΠ΄Π°!

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

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

Ѐункция Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»(Число)

Если Число = 1 Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ 1;

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Число * Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»(Число - 1);

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

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм

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

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°

ΠŸΠ»ΠΎΡ…ΠΎ написанныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ 1Π‘, особСнно Π² Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ΄:

  1. πŸ›  ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² β€” Ссли функция часто вызываСтся с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, сохраняйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
Ѐункция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠšΡƒΡ€ΡΠ’Π°Π»ΡŽΡ‚Ρ‹(Π’Π°Π»ΡŽΡ‚Π°, Π”Π°Ρ‚Π°)

БтатичСская Кэш;

Если Кэш = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Кэш = Новый БоотвСтствиС;

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

ΠšΠ»ΡŽΡ‡ = Π’Π°Π»ΡŽΡ‚Π°.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() + "|" + Π€ΠΎΡ€ΠΌΠ°Ρ‚(Π”Π°Ρ‚Π°, "Π”Π›Π€=DT");

Если Кэш.Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ΠšΠ»ΡŽΡ‡(ΠšΠ»ΡŽΡ‡) Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Кэш[ΠšΠ»ΡŽΡ‡];

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

ΠšΡƒΡ€Ρ = ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠšΡƒΡ€ΡΠ˜Π·Π‘Π°Π·Ρ‹(Π’Π°Π»ΡŽΡ‚Π°, Π”Π°Ρ‚Π°); // Π’Π°ΡˆΠ° Π»ΠΎΠ³ΠΈΠΊΠ°

Кэш.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ(ΠšΠ»ΡŽΡ‡, ΠšΡƒΡ€Ρ);

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠšΡƒΡ€Ρ;

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

  1. πŸ“Š Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ β€” ΠΎΠ΄Π½Π° функция Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ дСйствиС. НапримСр, вмСсто:
Ѐункция ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠ—Π°ΠΊΠ°Π·(Π—Π°ΠΊΠ°Π·)

// 1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

// 2. Расчёт суммы

// 3. Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Π±Π°Π·Ρƒ

// 4. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° email

...

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

Π›ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° 4 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

  1. ⚑ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ тяТСлых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ β€” Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ запросы ΠΊ Π±Π°Π·Π΅, Ссли ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ вынСсти Π½Π°Ρ€ΡƒΠΆΡƒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.
πŸ’‘

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ (мСню БСрвис β†’ ΠŸΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€). Он ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ тормозят систСму.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: функция для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с JSON Π² 1Π‘

Рассмотрим Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ случай β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² JSON-строку. Π­Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ с Π²Π΅Π±-сСрвисами.

Ѐункция Π’Π°Π±Π»ΠΈΡ†Π°Π’JSON(Π’Π°Π±Π»ΠΈΡ†Π°) Экспорт

Π—Π°ΠΏΠΈΡΡŒJSON = Новый Π—Π°ΠΏΠΈΡΡŒJSON;

Π—Π°ΠΏΠΈΡΡŒJSON.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ();

Π—Π°ΠΏΠΈΡΡŒJSON.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠΠ°Ρ‡Π°Π»ΠΎΠœΠ°ΡΡΠΈΠ²Π°();

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

Π—Π°ΠΏΠΈΡΡŒJSON.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠΠ°Ρ‡Π°Π»ΠΎΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°();

Для КаТдого Колонка Из Π’Π°Π±Π»ΠΈΡ†Π°.Колонки Π¦ΠΈΠΊΠ»

Π—Π°ΠΏΠΈΡΡŒJSON.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ˜ΠΌΡΠ‘Π²ΠΎΠΉΡΡ‚Π²Π°(Колонка.Имя);

Π—Π°ΠΏΠΈΡΡŒJSON.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅(Π‘Ρ‚Ρ€ΠΎΠΊΠ°[Колонка.Имя]);

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

Π—Π°ΠΏΠΈΡΡŒJSON.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠšΠΎΠ½Π΅Ρ†ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°();

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

Π—Π°ΠΏΠΈΡΡŒJSON.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠšΠΎΠ½Π΅Ρ†ΠœΠ°ΡΡΠΈΠ²Π°();

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π—Π°ΠΏΠΈΡΡŒJSON.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

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

Π’Ρ‹Π·ΠΎΠ²:

Π’Π— = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НаимСнованиС");

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π¦Π΅Π½Π°");

Π’Π—.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

Π’Π—[0].НаимСнованиС = "Π’ΠΎΠ²Π°Ρ€ 1";

Π’Π—[0].Π¦Π΅Π½Π° = 100;

JSONΠ‘Ρ‚Ρ€ΠΎΠΊΠ° = Π’Π°Π±Π»ΠΈΡ†Π°Π’JSON(Π’Π—);

// Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: [{"НаимСнованиС":"Π’ΠΎΠ²Π°Ρ€ 1","Π¦Π΅Π½Π°":100}]

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ (>10 000 строк) такая функция ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ. Π’ этом случаС Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ запись ΠΈΠ»ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° части.

FAQ: ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° частыС вопросы ΠΎ функциях Π² 1Π‘

МоТно Π»ΠΈ Π² 1Π‘ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ числом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²?

НСт, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языков (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, JavaScript), Π² 1Π‘ нСльзя ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ количСством Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Однако ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Массив ΠΈΠ»ΠΈ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€:

Ѐункция БуммаЧисСл(Числа)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = 0;

Для КаТдого Число Из Числа Π¦ΠΈΠΊΠ»

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ + Число;

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

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

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

// Π’Ρ‹Π·ΠΎΠ²:

Π‘ΡƒΠΌΠΌΠ° = БуммаЧисСл(Новый Массив(1, 2, 3, 4));

Как Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Ѐункция Π² 1Π‘ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΠ»ΠΈ БоотвСтствиС:

Ѐункция Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒΠ€Π˜Πž(ЀИО)

Π”Π°Π½Π½Ρ‹Π΅ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°;

Части = Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ.Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(ЀИО, " ");

Π”Π°Π½Π½Ρ‹Π΅.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Ѐамилия", Части[0]);

Π”Π°Π½Π½Ρ‹Π΅.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Имя", Части[1]);

Π”Π°Π½Π½Ρ‹Π΅.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ΠžΡ‚Ρ‡Π΅ΡΡ‚Π²ΠΎ", Части[2]);

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π”Π°Π½Π½Ρ‹Π΅;

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

Π§Π΅ΠΌ отличаСтся Экспорт ΠΎΡ‚ ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Π°Ρ Π² 1Π‘ 9.0?

Π’ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 9.0 появился ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Π°Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ доступным для Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… систСм (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· OData ΠΈΠ»ΠΈ HTTP-сСрвисы). Экспорт ΠΆΠ΅ просто позволяСт Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ моя функция Π½Π΅ Π²ΠΈΠ΄Π½Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, хотя стоит Экспорт?

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  1. Π’ свойствах ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля (Ссли функция Ρ‚Π°ΠΌ) Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Ρ„Π»Π°Π³ Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ.
  2. Ѐункция Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² список экспортируСмых ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (Π²ΠΊΠ»Π°Π΄ΠΊΠ° ЭкспортируСмыС Π² свойствах модуля).
  3. НСт ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅.
  4. ΠœΠΎΠ΄ΡƒΠ»ΡŒ, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° Π½Π° доступ ΠΊ Ρ†Π΅Π»Π΅Π²ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ (Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°).
Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ "ΠΏΠΎ ссылкС", Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅?

Π’ 1Π‘ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ слоТныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚, Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠžΠ±ΡŠΠ΅ΠΊΡ‚) всСгда ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ссылкС. ИзмСнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ отразятся Π½Π° исходном ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Π°Π±Π»ΠΈΡ†Ρƒ(Π’Π—)

Π’Π—.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

Π’Π—[Π’Π—.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1].НаимСнованиС = "Новая строка";

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

// Π’Ρ‹Π·ΠΎΠ²:

Π’Π°Π±Π»ΠΈΡ†Π° = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НаимСнованиС");

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Π°Π±Π»ΠΈΡ†Ρƒ(Π’Π°Π±Π»ΠΈΡ†Π°);

// Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² Π’Π°Π±Π»ΠΈΡ†Π° Π΅ΡΡ‚ΡŒ новая строка