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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ способы копирования Π΄Π΅Ρ€Π΅Π²Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² 1Π‘, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€ΡƒΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° встроСнном языкС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ…. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ ошибкам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ сцСнариям для Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (8.3.20+).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

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

  • πŸ“Š ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡ слоТных ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π½ΠΎ-сальдовая Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ)
  • πŸ“¦ ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… (Π΄Π΅Ρ€Π΅Π²ΠΎ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹, структуры ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ)
  • πŸ”„ ОбмСна Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами (Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ°/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° иСрархичСских справочников)
  • πŸ› οΈ Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов (Π΄Π΅Ρ€Π΅Π²ΡŒΡ Π²Ρ‹Π±ΠΎΡ€Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ…)

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²Π° трСбуСтся Π² случаях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

  1. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ "снимок" Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ для сравнСния.
  2. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ структуру ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ.
  3. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ шаблон для ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ использования (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, структура ΠΎΡ‚Ρ‡Π΅Ρ‚Π°).
  4. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами (ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ части Π΄Π΅Ρ€Π΅Π²Π°).

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ простоС присваиваниС Π”Π΅Ρ€Π΅Π²ΠΎ2 = Π”Π΅Ρ€Π΅Π²ΠΎ1 Π² 1Π‘ Π½Π΅ создаСт копию β€” ΠΎΠ±Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти. Π›ΡŽΠ±Ρ‹Π΅ измСнСния Π² Π”Π΅Ρ€Π΅Π²ΠΎ2 отразятся Π½Π° Π”Π΅Ρ€Π΅Π²ΠΎ1, Ρ‡Ρ‚ΠΎ часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡƒΠ»ΠΎΠ²ΠΈΠΌΡ‹ΠΌ Π±Π°Π³Π°ΠΌ.

πŸ“Š Как часто Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² 1Π‘?
Π•ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ
НСсколько Ρ€Π°Π· Π² нСдСлю
Π Π΅Π΄Π΅Π΅ Ρ‡Π΅ΠΌ Ρ€Π°Π· Π² мСсяц
Никогда нС использовал

Бпособ 1: Π ΡƒΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ (для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π²)

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ, содСрТащими Π΄ΠΎ 1000 строк. Он Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ написания ΠΊΠΎΠ΄Π° ΠΈ выполняСтся прямо Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅.

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

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ просмотра (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ).
  2. НаТмитС ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄Π΅Ρ€Π΅Π²Π° ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ горячиС клавиши Ctrl+C).
  3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ структурой ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· конструктор ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ).
  4. Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½ΠΎΠ²ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ (Ctrl+V).

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • ❌ НС сохраняСтся иСрархия (Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΡƒΠ·Π»Ρ‹ становятся строками Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня).
  • ❌ Колонки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Ρ‚ΠΈΠΏΡƒ.
  • ❌ ΠŸΡ€ΠΈ большом объСмС Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ зависания интСрфСйса.
πŸ’‘

Если ΠΏΡ€ΠΈ вставкС появляСтся ошибка "Π’ΠΈΠΏΡ‹ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚", ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ порядок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² исходном ΠΈ Ρ†Π΅Π»Π΅Π²ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅. Иногда ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ явноС ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°: НовоСДСрСво.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НаимСнованиС", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°")).

Бпособ 2: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с сохранСниСм ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ

Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ копирования Π΄Π΅Ρ€Π΅Π²Π° со всСми уровнями влоТСнности Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный язык 1Π‘. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ выглядит Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ”Π΅Ρ€Π΅Π²ΠΎ(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ, ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ)

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

Для КаТдого Колонка Из Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.Колонки Π¦ΠΈΠΊΠ»

ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Колонка.Имя, Колонка.ВипЗначСния);

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

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ строки с сохранСниСм ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ, ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ, НСопрСдСлСно);

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ, ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ, Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ)

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Π¦ΠΈΠΊΠ»

НоваяБтрока = ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

Если Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

НоваяБтрока.Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ = Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ;

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

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ значСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

Для КаТдого Колонка Из Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.Колонки Π¦ΠΈΠΊΠ»

НоваяБтрока[Колонка.Имя] = Π‘Ρ‚Ρ€ΠΎΠΊΠ°[Колонка.Имя];

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

// РСкурсивноС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов

Если Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π•ΡΡ‚ΡŒΠ”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅() Π’ΠΎΠ³Π΄Π°

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ, НоваяБтрока);

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

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

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • βœ… БохраняСтся полная структура ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ.
  • βœ… Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π»ΡŽΠ±Ρ‹ΠΌ количСством ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ влоТСнности.
  • ⚠️ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ рСкурсивного Π²Ρ‹Π·ΠΎΠ²Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка ΠΏΡ€ΠΈ Π³Π»ΡƒΠ±ΠΈΠ½Π΅ влоТСнности > 1000 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ.
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ссли Π΄Π΅Ρ€Π΅Π²ΠΎ слишком большоС?

Для Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² с Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ влоТСнности Π±ΠΎΠ»Π΅Π΅ 1000 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вмСсто рСкурсивного. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ рСкурсивный Π²Ρ‹Π·ΠΎΠ² ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· стСк (массив), ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΡƒΠ·Π»Ρ‹ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Бпособ 3: ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ (XML/JSON)

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для слоТных случаСв, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ, Π½ΠΎ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²ΠΎ внСшний Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠΎ сСти. Алгоритм Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ этапа:

  1. БСриализация исходного Π΄Π΅Ρ€Π΅Π²Π° Π² XML/JSON.
  2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°.
  3. ДСсСриализация Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½ΠΎΠ²ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для XML:

// БСриализация

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

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

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒXML(Π—Π°ΠΏΠΈΡΡŒXML);

Π‘Ρ‚Ρ€ΠΎΠΊΠ°XML = Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

// ДСсСриализация

Π§Ρ‚Π΅Π½ΠΈΠ΅XML = Новый Π§Ρ‚Π΅Π½ΠΈΠ΅XML;

Π§Ρ‚Π΅Π½ΠΈΠ΅XML.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°XML);

ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ.ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒXML(Π§Ρ‚Π΅Π½ΠΈΠ΅XML);

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • πŸ”„ ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ сСансами ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π±Π°Π·Π°ΠΌΠΈ.
  • πŸ“„ МоТно ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π°Ρ….
  • πŸ” Π›Π΅Π³ΠΊΠΎ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ структуру Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· просмотр XML.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании XML-сСриализации Π² 1Π‘ 8.3.20+ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ записи ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсий. Для совмСстимости ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΡΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°: Π—Π°ΠΏΠΈΡΡŒXML.ВСрсияЀормата = ВСрсияЀорматаXML.ВСрсия2_01.

Бпособ 4: ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· конструктор (1Π‘ 8.3.18+)

Начиная с вСрсии 8.3.18, Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ появился ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт ΠΏΠΎΠ»Π½ΡƒΡŽ копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Π΅Ρ€Π΅Π²ΡŒΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

ΠšΠΎΠΏΠΈΡΠ”Π΅Ρ€Π΅Π²Π° = Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ();

Π­Ρ‚ΠΎ самый простой ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ, Π½ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ ограничСния:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ βœ… Π”Π°
Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ βœ… Π”Π°
Π Π°Π±ΠΎΡ‚Π° с большими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (>100ΠΊ строк) ⚠️ Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ
Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с 8.2 ❌ НСт
ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ динамичСских списков ❌ НСт (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ)

Для вСрсий 1Π‘ Π½ΠΈΠΆΠ΅ 8.3.18 этот ΠΌΠ΅Ρ‚ΠΎΠ΄ нСдоступСн. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ способы, описанныС Π²Ρ‹ΡˆΠ΅.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с 8.3.18+)

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π΄Π°Π½Π½Ρ‹Ρ… (особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ)

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ достаточно ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с совмСстимыми Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ "ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ" Π½Π° врСмя копирования (Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ)-->

Бпособ 5: ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π²

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘Ρ‹ΡΡ‚Ρ€ΠΎΠ΅ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ, ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ)

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅

Для КаТдого Колонка Из Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.Колонки Π¦ΠΈΠΊΠ»

ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Колонка.Имя, Колонка.ВипЗначСния);

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

// Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ массив для хранСния Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ссылок

БоотвСтствиСБтрок = Новый БоотвСтствиС;

ΠœΠ°ΡΡΠΈΠ²Π‘Ρ‚Ρ€ΠΎΠΊ = Новый Массив;

// ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄: ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ всС строки Π±Π΅Π· ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Π¦ΠΈΠΊΠ»

НоваяБтрока = ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

БоотвСтствиСБтрок.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, НоваяБтрока);

ΠœΠ°ΡΡΠΈΠ²Π‘Ρ‚Ρ€ΠΎΠΊ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(НоваяБтрока);

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ значСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

Для КаТдого Колонка Из Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.Колонки Π¦ΠΈΠΊΠ»

НоваяБтрока[Колонка.Имя] = Π‘Ρ‚Ρ€ΠΎΠΊΠ°[Колонка.Имя];

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

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

// Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄: восстанавливаСм ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ

Для i = 0 По Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1 Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(i);

Если Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

ΠœΠ°ΡΡΠΈΠ²Π‘Ρ‚Ρ€ΠΎΠΊ[i].Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ = БоотвСтствиСБтрок.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ);

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

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

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

  • ⚑ Π’ 3-5 Ρ€Π°Π· быстрСС рСкурсивного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² > 10 000 строк.
  • 🧩 Π˜Π·Π±Π΅Π³Π°Π΅Ρ‚ пСрСполнСния стСка ΠΏΡ€ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ влоТСнности.
  • πŸ”„ ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ части Π΄Π΅Ρ€Π΅Π²Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ).
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² (Π±ΠΎΠ»Π΅Π΅ 50 000 строк) Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ автоматичСскоС сохранСниС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² Π±Π°Π·Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ: ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ(); ... Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();.

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

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

Ошибка ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° РСшСниС
НС ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΡƒΠ·Π»Ρ‹ Использован нСрСкурсивный ΠΌΠ΅Ρ‚ΠΎΠ΄ копирования Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ рСкурсивный Π²Ρ‹Π·ΠΎΠ² для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… строк
"Π’ΠΈΠΏ Π½Π΅ совпадаСт" ΠΏΡ€ΠΈ вставкС Π Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² исходном ΠΈ Ρ†Π΅Π»Π΅Π²ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ Π―Π²Π½ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΈ создании ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ: Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Колонка", Новый ОписаниСВипов("Число"))
ЗависаниС ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Блишком глубокая рСкурсия (>1000 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ) Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ Π½Π° ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ со стСком
ΠŸΠΎΡ‚Π΅Ρ€Ρ форматирования НС скопированы Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ строк (Ρ†Π²Π΅Ρ‚, ΡˆΡ€ΠΈΡ„Ρ‚) Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ свойств: НоваяБтрока.Π¦Π²Π΅Ρ‚Π€ΠΎΠ½Π° = Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π²Π΅Ρ‚Π€ΠΎΠ½Π°
Ошибка "ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½" ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ созданиС Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°: Если ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°...

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ динамичСских списков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ внСшнС ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Π΄Π΅Ρ€Π΅Π²ΡŒΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Для Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ() ΠΈ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅() вмСсто прямого копирования.

πŸ’‘

ВсСгда провСряйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ копирования Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ строкам с нСстандартными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‚ΠΈΠΏΠ° "Π₯ранилищСЗначСния" ΠΈΠ»ΠΈ "Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅").

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

МоТно Π»ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ 1Π‘?

Π”Π°, для этого Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² XML/JSON (способ 3). Π‘Π½Π°Ρ‡Π°Π»Π° Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π² строку, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ эту строку Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π±Π°Π·Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сСрвис ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ») ΠΈ восстановитС Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒXML().

ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². Для 1Π‘ 8.2 β†’ 8.3 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ конвСртация Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²Π° (Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ строки)?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠ· способа 5, Π½ΠΎ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки ΠΈΠ· массива Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… элСмСнтов:

Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ = Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ;

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π¦ΠΈΠΊΠ»

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ строки ΠΈ ΠΈΡ… Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ, НСопрСдСлСно);

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

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ… Ρ‚ΠΈΠΏΠ° "Π₯ранилищСЗначСния"?

Колонки Ρ‚ΠΈΠΏΠ° Π₯ранилищСЗначСния Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²:

НоваяБтрока["ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°"] = Новый Π₯ранилищСЗначСния(Π‘Ρ‚Ρ€ΠΎΠΊΠ°["ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°"]);

Если ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ хранятся ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΈΡ… Π½Π°Π»ΠΈΡ‡ΠΈΠ΅: Если НС Π‘Ρ‚Ρ€ΠΎΠΊΠ°["ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°"] = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°....

Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π±Π΅Π· ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ)?

Для прСобразования Π΄Π΅Ρ€Π΅Π²Π° Π² ΠΏΠ»ΠΎΡΠΊΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ рСкурсивный ΠΎΠ±Ρ…ΠΎΠ΄ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ уровня влоТСнности ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π”Π΅Ρ€Π΅Π²ΠΎΠ’Π’Π°Π±Π»ΠΈΡ†Ρƒ(Π”Π΅Ρ€Π΅Π²ΠΎ, Π’Π°Π±Π»ΠΈΡ†Π°, Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ = 0)

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

НоваяБтрока = Π’Π°Π±Π»ΠΈΡ†Π°.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

НоваяБтрока.Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ = Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ;

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ значСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

Для КаТдого Колонка Из Π”Π΅Ρ€Π΅Π²ΠΎ.Колонки Π¦ΠΈΠΊΠ»

НоваяБтрока[Колонка.Имя] = Π‘Ρ‚Ρ€ΠΎΠΊΠ°[Колонка.Имя];

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

// РСкурсия для Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов

Если Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π•ΡΡ‚ΡŒΠ”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅() Π’ΠΎΠ³Π΄Π°

Π”Π΅Ρ€Π΅Π²ΠΎΠ’Π’Π°Π±Π»ΠΈΡ†Ρƒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, Π’Π°Π±Π»ΠΈΡ†Π°, Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ + 1);

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

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

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

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΈ толстом ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅?

Π”Π°, Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСкурсивныС) ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈΠ·-Π·Π° особСнностСй ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром. Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² (>5000 строк) рСкомСндуСтся:

  • Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° сСрвСрС Ρ‡Π΅Ρ€Π΅Π· сСрвСрныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ (ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ частями ΠΏΠΎ 1000 строк).
  • ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌ Π½Π° врСмя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π’ толстом ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ограничСния ΠΌΠ΅Π½Π΅Π΅ строгиС, Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ слСдитС Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ памяти ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.