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

ΠœΡ‹ рассмотрим всС доступныС способы β€” ΠΎΡ‚ встроСнных Ρ‚ΠΈΠΏΠΎΠ² Массив ΠΈ БписокЗначСний Π΄ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ систСму Π² дСсятки Ρ€Π°Π·. ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ для Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 ΠΈ совмСстимы с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.

1. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… для мноТСствСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ прСдоставляСт Ρ‚Ρ€ΠΈ основных Ρ‚ΠΈΠΏΠ° для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: Массив, БписокЗначСний ΠΈ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния.

Массив β€” самый простой ΠΈ лСгковСсный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для хранСния ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (чисСл, строк, ссылок), ΠΊΠΎΠ³Π΄Π° порядок элСмСнтов Π²Π°ΠΆΠ΅Π½, Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свойства Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. НапримСр, список ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΎΠ² Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹. ОсновноС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: отсутствиС ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² поиска.

  • βœ… ΠŸΠ»ΡŽΡΡ‹: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы, высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ доступа ΠΏΠΎ индСксу
  • ❌ ΠœΠΈΠ½ΡƒΡΡ‹: Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² поиска, слоТно ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (трСбуСтся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ массив)
  • πŸ”Ή ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠœΠ°ΡΡΠΈΠ²Π’ΠΎΠ²Π°Ρ€ΠΎΠ² = Новый Массив; ΠœΠ°ΡΡΠΈΠ²Π’ΠΎΠ²Π°Ρ€ΠΎΠ².Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(БсылкаНаВовар1);

БписокЗначСний Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности массива, добавляя свойства Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска ΠΈ сортировки. ИдСалСн для Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… списков Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ осмыслСнныС названия, Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. НапримСр, список ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½.

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” самый ΠΌΠΎΡ‰Π½Ρ‹ΠΉ встроСнный инструмСнт, фактичСски ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ структурированныС Π΄Π°Π½Π½Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ‚ΠΎΠ²Π°Ρ€Π° с полями "НомСнклатура", "ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ", "Π¦Π΅Π½Π°"), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сортировку, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠœΠΈΠ½ΡƒΡ β€” высокая Ρ€Π΅ΡΡƒΡ€ΡΠΎΠ΅ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

πŸ“Š Какой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?
Массив
БписокЗначСний
Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

2. Π Π°Π±ΠΎΡ‚Π° с массивами: ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² 1Π‘ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ динамичСски ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ элСмСнты любого Ρ‚ΠΈΠΏΠ°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ массивы (ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ структуры). ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  • πŸ“Œ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() β€” добавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ†
  • πŸ” Найти() β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс элСмСнта (ΠΈΠ»ΠΈ -1)
  • πŸ—‘οΈ Π£Π΄Π°Π»ΠΈΡ‚ΡŒ() β€” удаляСт элСмСнт ΠΏΠΎ индСксу
  • πŸ”„ Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ() β€” вставляСт элСмСнт ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ индСксу

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания ΠΈ заполнСния массива с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π½Π° Π΄ΡƒΠ±Π»ΠΈ:

МассивКодов = Новый Массив;

МассивКодов.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("001");

МассивКодов.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("002");

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° сущСствованиС элСмСнта

Если МассивКодов.Найти("001") <> -1 Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Код ΡƒΠΆΠ΅ сущСствуСт!");

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

Π’Π°ΠΆΠ½Ρ‹ΠΉ нюанс: массивы Π² 1Π‘ Π½Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ β€” ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ строки, числа ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ Ρ‡Ρ€Π΅Π²Π°Ρ‚ΠΎ ошибками. НапримСр, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ строку с числом ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ. ВсСгда провСряйтС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ опСрациями.

πŸ’‘

Для ускорСния поиска Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивах (1000+ элСмСнтов) ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отсортируйтС Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ(), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск Ρ‡Π΅Ρ€Π΅Π· ΠΠ°ΠΉΡ‚ΠΈΠ‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠŸΠΎΠΈΡΠΊΠΎΠΌ().

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ сСриализации массивов Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒJSON()) тСряСтся информация ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Число 123 послС чтСния ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ строкой "123". ВсСгда провСряйтС Ρ‚ΠΈΠΏΡ‹ послС дСсСриализации.

3. БписокЗначСний: ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½Ρ‹ "чСловСчСскиС" названия

БписокЗначСний идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для интСрфСйсных элСмСнтов, Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ осмыслСнныС названия, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Π³Π΄Π΅ отобраТаСтся ΠΏΠΎΠ»Π½ΠΎΠ΅ имя, Π° выбираСтся ссылка Π½Π° элСмСнт справочника.

БозданиС и заполнСниС списка:

Π‘ΠΏΠΈΡΠΎΠΊΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² = Новый БписокЗначСний;

Π‘ΠΏΠΈΡΠΎΠΊΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ².Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅);

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с ссылкой Π½Π° справочник

Π‘ΠΏΠΈΡΠΎΠΊΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ².Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ("ООО Ромашка"),

"ООО Ромашка (основной поставщик)"

);

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

ΠœΠ΅Ρ‚ΠΎΠ΄ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠŸΡ€ΠΈΠΌΠ΅Ρ€
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ()Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнт ΠΏΠΎ индСксуЭлСмСнт = Бписок.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(0)
ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡŽ()Π˜Ρ‰Π΅Ρ‚ элСмСнт ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ совпадСниС)ИндСкс = Бписок.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡŽ(Бсылка)
Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠŸΠΎΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ()Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΏΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΌ названиямБписок.Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠŸΠΎΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ()
Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡ()МассовоС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· массиваБписок.Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡ(ΠœΠ°ΡΡΠΈΠ²Π‘ΡΡ‹Π»ΠΎΠΊ)

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ БпискаЗначСний: ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡ элСмСнта автоматичСски обновляСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎ всСх связанных Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для динамичСского интСрфСйса, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими списками (1000+ элСмСнтов).

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ со БпискомЗначСний Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ…?

Для списков Π±ΠΎΠ»Π΅Π΅ 500 элСмСнтов ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свойство Ρ„ΠΎΡ€ΠΌΡ‹ ΠΠ²Ρ‚ΠΎΠŸΠΎΠ΄Π±ΠΎΡ€Π’Ρ‹ΡΠΎΡ‚Ρ‹ ΠΈ установитС Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ высоту. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅() Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… элСмСнтов, Π° Π½Π΅ для всСго списка.

4. Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: структурированноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” самый ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Ρ€Π°Π·Π½ΠΎΠΉ структурой. ЀактичСски это динамичСская Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π³Π΄Π΅ каТдая строка ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования:

  • πŸ“‹ БпСцификация Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° (Ρ‚ΠΎΠ²Π°Ρ€Ρ‹, количСства, Ρ†Π΅Π½Ρ‹)
  • πŸ“Š Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° (Π΄Π°Ρ‚Π°, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, староС/Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)
  • πŸ”§ Набор ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² настройки (имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, описаниС)

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ:

Π’Π°Π±Π»ΠΈΡ†Π°ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π°Π±Π»ΠΈΡ†Π°ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π˜ΠΌΡΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°"));

Π’Π°Π±Π»ΠΈΡ†Π°ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅");

Π’Π°Π±Π»ΠΈΡ†Π°ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ОписаниС", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°",,,,"М"));

// Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строки

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

НоваяБтрока.Π˜ΠΌΡΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° = "Π¦Π²Π΅Ρ‚";

НоваяБтрока.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = "ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ";

НоваяБтрока.ОписаниС = "Основной Ρ†Π²Π΅Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ";

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ:

  • πŸ”’ Колонки ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ динамичСски Π²ΠΎ врСмя выполнСния
  • πŸ” ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ НайтиБтроки(), Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ(), Π˜Ρ‚ΠΎΠ³ΠΈ()
  • πŸ“Ž МоТно ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊ элСмСнтам управлСния Ρ„ΠΎΡ€ΠΌΡ‹ (ΠΏΠΎΠ»Π΅ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°)
  • ⚑ Для ускорСния поиска ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ индСксы: Π’Π°Π±Π»ΠΈΡ†Π°.Π˜Π½Π΄Π΅ΠΊΡΡ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π˜Π½Π΄Π΅ΠΊΡΠŸΠΎΠšΠΎΠ΄Ρƒ", Новый ИндСксКолонок("Код"))
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅) происходит полная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° всСх Π΄Π°Π½Π½Ρ‹Ρ…. Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† (1000+ строк) это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ строк ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сСрвСрныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

5. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹: Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ внСшниС систСмы

Когда встроСнных Ρ‚ΠΈΠΏΠΎΠ² нСдостаточно (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ слоТныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ»ΠΈ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…), Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ приходят Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

Π₯ранилищСЗначСния позволяСт ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹) Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΡ… Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠ° Π₯ранилищСЗначСния. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для:

  • πŸ“¦ БохранСния состояния Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ сСансами
  • πŸ”„ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ слоТных структур ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·ΠΎΠΉ ΠΈ внСшними систСмами
  • πŸ’Ύ Архивирования Π΄Π°Π½Π½Ρ‹Ρ… с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ восстановлСния

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ:

// Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

ДанныСДляБохранСния = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2", 123, "ВСст");

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния(ДанныСДляБохранСния, Новый Π‘ΠΆΠ°Ρ‚ΠΈΠ΅Π”Π°Π½Π½Ρ‹Ρ…);

ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅;

// Π§Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

ВосстановлСнныСДанныС = (ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅).ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ();

Для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними систСмами ΠΈΠ»ΠΈ хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π»ΠΎΠ³ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

  • πŸ—ƒοΈ Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°: Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° дискС, SQL-Π±Π°Π·Ρ‹, MongoDB
  • ☁️ ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы: 1Π‘:Π›ΠΈΠ½ΠΊ, Yandex Object Storage
  • πŸ”— Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²" ΠΎΡ‚ 1Π‘-Битрикс

Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ:

Π—Π°Π΄Π°Ρ‡Π°Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ
Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ списка ссылок (Π΄ΠΎ 1000 элСмСнтов)Π‘ΠΏΠΈΡΠΎΠΊΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉΠœΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ поиск Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списках
Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅)ВаблицаЗначСнийВысокоС ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти
Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ состояния ΠΌΠ΅ΠΆΠ΄Ρƒ сСансамиΠ₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΡΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ (зависит ΠΎΡ‚ Π‘Π£Π‘Π”)
Архив ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (10 000+ записСй)Π’Π½Π΅ΡˆΠ½ΡΡ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ
πŸ’‘

Для хранСния Π±ΠΎΠ»Π΅Π΅ 10 000 элСмСнтов Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ внСшниС систСмы (SQL, Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΠ±Π»Π°ΠΊΠ°). ВстроСнныС Ρ‚ΠΈΠΏΡ‹ 1Π‘ Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для Ρ‚Π°ΠΊΠΈΡ… объСмов ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ зависаниС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

6. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с мноТСствСнными значСниями

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² с нСсколькими значСниями β€” частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ² Π² 1Π‘. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:

1. Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…:

  • πŸš€ Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списков (Π΄ΠΎ 100 элСмСнтов) β€” Массив ΠΈΠ»ΠΈ БписокЗначСний
  • πŸ“Š Для структурированных Π΄Π°Π½Π½Ρ‹Ρ… (100–1000 строк) β€” Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с индСксами
  • πŸ—ƒοΈ Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов (1000+ строк) β€” внСшниС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°

2. Π Π°Π±ΠΎΡ‚Π° с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ:

  • πŸ”„ ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΠ²Ρ‚ΠΎΠžΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ = Π›ΠΎΠΆΡŒ)
  • πŸ“± Для мобильного ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ количСство ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…
  • πŸ” Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сСрвСрныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списков

3. БСриализация ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ…:

  • πŸ“¦ Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π₯ранилищСЗначСния со сТатиСм
  • πŸ”— ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Π΅Π±-сСрвисами ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ порциями (пагинация)
  • πŸ—œοΈ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ†Π΅Π»Ρ‹Ρ… Π’Π°Π±Π»ΠΈΡ†Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ строки

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ:

// ΠŸΠ»ΠΎΡ…ΠΎ: ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° всСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚

Π€ΠΎΡ€ΠΌΠ°.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π’Π°Π±Π»ΠΈΡ†Π°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = ΠŸΠΎΠ»Π½Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²;

// Π₯ΠΎΡ€ΠΎΡˆΠΎ: ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… строк с ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ

ВСкущаяБтраница = Π€ΠΎΡ€ΠΌΠ°.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π’Π°Π±Π»ΠΈΡ†Π°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².ВСкущаяБтраница;

Π€ΠΎΡ€ΠΌΠ°.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π’Π°Π±Π»ΠΈΡ†Π°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ =

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€Π°Π½ΠΈΡ†ΡƒΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²(ВСкущаяБтраница, Π Π°Π·ΠΌΠ΅Ρ€Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹);

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ конфигурациях с управляСмыми Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π’Π°Π±Π»ΠΈΡ†Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°Ρ… Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° состояния Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹. ВмСсто этого Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ порциями ΠΏΠΎ запросу ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

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

ΠžΠΏΡ‹Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ 80% ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ, хранящими нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, связаны с Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ ошибками проСктирования. Рассмотрим самыС распространСнныС:

1. ИспользованиС строки вмСсто спСциализированного Ρ‚ΠΈΠΏΠ°

Частая ошибка Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1;Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2;Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅3"). Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ:

  • πŸ” БлоТности поиска ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов
  • 🐞 Ошибкам ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ раздСлитСля Π² самих значСниях
  • πŸ“ˆ НСконтролируСмому росту Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°

2. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°Ρ…

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² (PDF, изобраТСния) прямо Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°Ρ… Ρ‚ΠΈΠΏΠ° Π₯ранилищСЗначСния Ρ€Π°Π·Π΄ΡƒΠ²Π°Π΅Ρ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ замСдляСт Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄:

  • πŸ—ƒοΈ Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π²ΠΎ внСшнСм Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (файловая систСма, S3)
  • πŸ”— Π’ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылку (ΠΏΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ URL)

3. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ контроля Ρ‚ΠΈΠΏΠΎΠ² Π² массивах

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ массивы Π² 1Π‘ Π½Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² массив строк число ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. РСшСниС:

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ

Если Π’ΠΈΠΏΠ—Π½Ρ‡(НовоСЗначСниС) = Π’ΠΈΠΏ("Π‘Ρ‚Ρ€ΠΎΠΊΠ°") Π’ΠΎΠ³Π΄Π°

ΠœΠ°ΡΡΠΈΠ²Π‘Ρ‚Ρ€ΠΎΠΊ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(НовоСЗначСниС);

Π˜Π½Π°Ρ‡Π΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка: оТидалась строка!");

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

4. Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Π°Ρ дСнормализация Π΄Π°Π½Π½Ρ‹Ρ…

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· справочника Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ:

  • πŸ”„ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ…
  • πŸ“ˆ Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π°Π·Ρ‹
  • πŸ”§ УслоТнСнию ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ вмСсто дублирования Π΄Π°Π½Π½Ρ‹Ρ…, Π° для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ примСняйтС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠŸΠ»Π°Π½Ρ‹ΠžΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ РСгистрыБвСдСний.

8. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

Рассмотрим Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ: Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Ρ‚Ρ‹, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ старого/Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Π°Π±Π»ΠΈΡ†ΡƒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Π¨Π°Π³ 1. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ создаСм Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ‘ΡƒΠΌΠΌΡ‹ Ρ‚ΠΈΠΏΠ° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ:

  • πŸ“… Π”Π°Ρ‚Π°Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π’ΠΈΠΏ: Π”Π°Ρ‚Π°)
  • πŸ‘€ ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (Π’ΠΈΠΏ: Бсылка Π½Π° Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ)
  • πŸ’° БтараяБумма (Π’ΠΈΠΏ: Число)
  • πŸ’΅ НоваяБумма (Π’ΠΈΠΏ: Число)

Π¨Π°Π³ 2. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ истории ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° добавляСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ():

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ(ΠžΡ‚ΠΊΠ°Π·, РСТимЗаписи)

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°) И Π­Ρ‚ΠΎΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅() Π’ΠΎΠ³Π΄Π°

Если НЕ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ‘ΡƒΠΌΠΌΡ‹) Π’ΠΎΠ³Π΄Π°

Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ‘ΡƒΠΌΠΌΡ‹ = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

// Настройка ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (см. Π¨Π°Π³ 1)

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

НоваяБтрока = Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ‘ΡƒΠΌΠΌΡ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

НоваяБтрока.Π”Π°Ρ‚Π°Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ = ВСкущаяДата();

НоваяБтрока.ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ = Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ();

НоваяБтрока.БтараяБумма = БтараяБумма; // Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

НоваяБтрока.НоваяБумма = Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°;

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

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

Π¨Π°Π³ 3. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истории Π² Ρ„ΠΎΡ€ΠΌΠ΅

Π’ Ρ„ΠΎΡ€ΠΌΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° добавляСм Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, привязанноС ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ‘ΡƒΠΌΠΌΡ‹. Для удобства ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ", которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ с Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠ˜ΡΡ‚ΠΎΡ€ΠΈΡŽ(Команда)

Π€ΠΎΡ€ΠΌΠ°Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ€ΠΎΡ€ΠΌΡƒ("Π€ΠΎΡ€ΠΌΠ°Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ");

Π€ΠΎΡ€ΠΌΠ°Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ.Π’Π°Π±Π»ΠΈΡ†Π°Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ‘ΡƒΠΌΠΌΡ‹;

Π€ΠΎΡ€ΠΌΠ°Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ.ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ();

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

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ|НастроСны ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (Π”Π°Ρ‚Π°, ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, БтараяБумма, НоваяБумма)|Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ()|Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² Ρ„ΠΎΡ€ΠΌΡƒ|ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½Π° очистка истории ΠΏΡ€ΠΈ нСобходимости-->

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

FAQ: ЧастыС вопросы ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ

МоТно Π»ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ?

Π”Π°, Π½ΠΎ с ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ:

  • Массив ΠΈ БписокЗначСний ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ элСмСнты Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (строка, число, ссылка). Однако это услоТняСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам.
  • Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ указания Ρ‚ΠΈΠΏΠ° для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, поэтому Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ всС значСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.
  • Для хранСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… структур Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π₯ранилищСЗначСния с сСриализациСй Π² JSON ΠΈΠ»ΠΈ XML.

РСкомСндация: ΠΏΠΎ возмоТности ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Как ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ количСство элСмСнтов Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅?

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π½Π΅ прСдоставляСт встроСнных срСдств для ограничСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ², Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ:

  1. Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ() провСряйтС Ρ€Π°Π·ΠΌΠ΅Ρ€ массива/списка/Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
  2. ΠŸΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Π»ΠΈΠΌΠΈΡ‚Π° удаляйтС самыС старыС элСмСнты ΠΈΠ»ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΠΉΡ‚Π΅ запись с сообщСниСм ΠΎΠ± ошибкС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

Если Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ‘ΡƒΠΌΠΌΡ‹.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() > 10 Π’ΠΎΠ³Π΄Π°

Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ‘ΡƒΠΌΠΌΡ‹.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠ‘ΡƒΠΌΠΌΡ‹[0]); // УдаляСм ΡΠ°ΠΌΡƒΡŽ ΡΡ‚Π°Ρ€ΡƒΡŽ запись

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

КакиС Π΅ΡΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π’Π°Π±Π»ΠΈΡ†Π΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…?

Если Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 10 000 строк, рассмотритС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:

  • РСгистр свСдСний: создайтС рСгистр с ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ "Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚" ΠΈ рСсурсами для хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Плюс β€” индСксация ΠΈ быстрый поиск.
  • Π’Π½Π΅ΡˆΠ½ΡΡ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…: SQLite, PostgreSQL ΠΈΠ»ΠΈ MongoDB Ρ‡Π΅Ρ€Π΅Π· HTTP-БСрвисы ΠΈΠ»ΠΈ COM-соСдинСниС.
  • Π€Π°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅: сохранСниС Π΄Π°Π½Π½Ρ‹Ρ… Π² JSON/XML-Ρ„Π°ΠΉΠ»Π°Ρ… Π½Π° дискС с ссылкой Π½Π° Ρ„Π°ΠΉΠ» Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.
  • 1Π‘:Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΎΠ±ΠΎΡ€ΠΎΡ‚: Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ вСрсиирования.

Для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними систСмами ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ REST API ΠΈΠ»ΠΈ RabbitMQ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² с нСсколькими значСниями?

Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π₯ранилищСЗначСния ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ вмСстС с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΡ€ΠΈ стандартных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… рСзСрвирования (Ρ‡Π΅Ρ€Π΅Π· Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅() ΠΈΠ»ΠΈ 1Π‘:АдминистрированиС). Однако для надСТности рСкомСндуСтся:

  • πŸ“€ РСгулярно ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² JSON/XML Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.
  • πŸ—ƒοΈ Для Π₯ранилищСЗначСния ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠΏΠΈΠΈ Π²ΠΎ внСшниС Ρ„Π°ΠΉΠ»Ρ‹.
  • πŸ”„ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠ»Π°Π½Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° для Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ экспорта Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² JSON:

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

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

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒJSON(Π—Π°ΠΏΠΈΡΡŒJSON);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π—Π°ΠΏΠΈΡΡŒJSON.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ€Π°ΠΉΠ»("C:\Backup\Ρ‚Π°Π±Π»ΠΈΡ†Π°.json", Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚);

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ…?

Π”Π°, Π½ΠΎ с ограничСниями:

  • Массив ΠΈ БписокЗначСний ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ тСкстовоС прСдставлСниС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· БтрокаБпискаЗначСний()).
  • Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ источником Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, Ссли ΠΎΠ½Π° привязана ΠΊ полю Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.
  • Для слоТных ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘Ρ…Π΅ΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘ΠšΠ”) с запросами ΠΊ рСгистрам ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° БпискаЗначСний Π² ΠΎΡ‚Ρ‡Π΅Ρ‚:

Π’Π΅ΠΊΡΡ‚ΠžΡ‚Ρ‡Π΅Ρ‚Π° = "";

Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из БписокВоваров Π¦ΠΈΠΊΠ»

Π’Π΅ΠΊΡΡ‚ΠžΡ‚Ρ‡Π΅Ρ‚Π° = Π’Π΅ΠΊΡΡ‚ΠžΡ‚Ρ‡Π΅Ρ‚Π° + Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ + Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ;

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