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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ всС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ способы добавлСния строк Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1Π‘ β€” ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() Π΄ΠΎ массового заполнСния Ρ‡Π΅Ρ€Π΅Π· Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ() ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСскими списками. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ ошибкам (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСсовпадСнию Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈ нюансам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ экономят врСмя ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с сообщСниСм "ПолС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ" ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку β€” здСсь Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

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

πŸ“Š Какой способ добавлСния строк Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1Π‘ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠœΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ()
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· массива
Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ»
ДинамичСский список
НС знаю, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Ρ‚ΡŒ

1. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄: Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

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

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

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ", Новый ОписаниСВипов("Число"));

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

НоваяБтрока.НаимСнованиС = "Π’ΠΎΠ²Π°Ρ€ 1";

НоваяБтрока.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 10;

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

  • πŸ”Ή ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° β€” Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ”Ή Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ β€” ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² любом порядкС.
  • πŸ”Ή ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для управляСмых Ρ„ΠΎΡ€ΠΌ, Π³Π΄Π΅ Π΄Π°Π½Π½Ρ‹Π΅ вводятся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ заполнСния.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π·Π°Ρ€Π°Π½Π΅Π΅ (Ρ‡Π΅Ρ€Π΅Π· ОписаниСВипов), 1Π‘ автоматичСски присвоит Ρ‚ΠΈΠΏ НСопрСдСлён. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам ΠΏΡ€ΠΈ сортировкС ΠΈΠ»ΠΈ экспортС Π΄Π°Π½Π½Ρ‹Ρ….

Частая ошибка Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅. НапримСр, Ссли Π²Ρ‹ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚Π°Π»ΠΈΡΡŒ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (НоваяБтрока.НаимСнованиС вмСсто НоваяБтрока.НаимСнованиС), ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, Π° Π½Π΅ Π½Π° этапС компиляции. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ конструктор Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ β€” ΠΎΠ½ автоматичСски провСряСт ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.

πŸ’‘

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ() с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ 0 (индСкс ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки). НапримСр: Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ(0).

2. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строки с immediate Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ

ΠœΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ значСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ нСпосрСдствСнно ΠΏΡ€ΠΈ создании строки. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ извСстны Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Бинтаксис выглядит Ρ‚Π°ΠΊ:

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π—Π½Π°Ρ‡Π΅Π½ΠΈΡΠšΠΎΠ»ΠΎΠ½ΠΎΠΊ);

Π³Π΄Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΡΠšΠΎΠ»ΠΎΠ½ΠΎΠΊ β€” это массив ΠΈΠ»ΠΈ структура с ΠΏΠ°Ρ€Π°ΠΌΠΈ "ИмяКолонки-Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅".

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с использованиСм структуры:

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

НоваяБтрока.Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡ(

Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НаимСнованиС, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ", "Π’ΠΎΠ²Π°Ρ€ 2", 5)

);

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (порядок Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с порядком ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅):

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Новый Массив("Π’ΠΎΠ²Π°Ρ€ 3", 15));

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот способ:

  • πŸ“Œ Π”Π°Π½Π½Ρ‹Π΅ для строки ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ Π·Π°Ρ€Π°Π½Π΅Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΈΠ· запроса ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π°).
  • πŸ“Œ НуТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько строк с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ структурой.
  • πŸ“Œ Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с динамичСскими списками, Π³Π΄Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ порциями.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ с порядком ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. НапримСр, Ссли Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ сначала ΠΈΠ΄Ρ‘Ρ‚ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ НаимСнованиС, Π½ΠΎ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС, значСния "ΠΏΠ΅Ρ€Π΅Π΅Π΄ΡƒΡ‚" Π² Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π±Π΅Π· ошибки! ВсСгда провСряйтС соотвСтствиС.

Для массового добавлСния строк (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Excel ΠΈΠ»ΠΈ JSON) этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠ΅Π½Π΅Π΅ эффСктивСн, Ρ‡Π΅ΠΌ спСциализированныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ€ΠΎΠ΄Π΅ Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ(). Однако ΠΎΠ½ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ 1–2 строки с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ написано Π±Π΅Π· ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… соотвСтствуСт описанию ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ограничСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π»ΠΈΠ½Π° строки)

Π‘Ρ‚Ρ€ΠΎΠΊΠ° добавляСтся Π² Π½ΡƒΠΆΠ½ΠΎΠ΅ мСсто (ΠΊΠΎΠ½Π΅Ρ†/Π½Π°Ρ‡Π°Π»ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹)-->

3. МассовоС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строк: Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈ оптимизация

Когда трСбуСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ дСсятки ΠΈΠ»ΠΈ сотни строк, использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько способов ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:

  1. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹. Если Ρ‚Π°Π±Π»ΠΈΡ†Π° привязана ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΏΠ΅Ρ€Π΅Π΄ массовым Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ привязку:
    Π’Π°Π±Π»ΠΈΡ†Π°Π€ΠΎΡ€ΠΌΡ‹.ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹(Π˜ΡΡ‚ΠΈΠ½Π°);
    

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

    Π’Π°Π±Π»ΠΈΡ†Π°Π€ΠΎΡ€ΠΌΡ‹.Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹(Π˜ΡΡ‚ΠΈΠ½Π°);

  2. ИспользованиС ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅() ΠΈ Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅(). Π­Ρ‚ΠΎ ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ с большими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ:
    Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅();
    

    Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из ΠœΠ°ΡΡΠΈΠ²Π”Π°Π½Π½Ρ‹Ρ… Π¦ΠΈΠΊΠ»

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

    НоваяБтрока.НаимСнованиС = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.НаимСнованиС;

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

    Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅();

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ скорости ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (тСст Π½Π° 10 000 строк):

ΠœΠ΅Ρ‚ΠΎΠ΄ ВрСмя выполнСния (мс) ΠŸΠ°ΠΌΡΡ‚ΡŒ (Кб)
ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Ρ†ΠΈΠΊΠ» с Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() 1200 4500
Π¦ΠΈΠΊΠ» с ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅() 450 3200
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· массива структур 380 3000

Для ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° справочников ΠΈΠ· Ρ„Π°ΠΉΠ»Π°) рСкомСндуСтся ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: сначала Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² массив, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ. Π­Ρ‚ΠΎ сокращаСт количСство ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ массовоС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚?

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выполняСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ², обновляСт индСксы ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΈΡ‚ΡŒ события Ρ„ΠΎΡ€ΠΌΡ‹ (Ссли Ρ‚Π°Π±Π»ΠΈΡ†Π° привязана ΠΊ интСрфСйсу). ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅() ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

4. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· массива ΠΈΠ»ΠΈ запроса

Если Π΄Π°Π½Π½Ρ‹Π΅ для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Π²ΠΈΠ΄Π΅ массива, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° запроса ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π½Π΅ прибСгая ΠΊ поэлСмСнтному добавлСнию. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

  • πŸ”„ Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ() β€” для заполнСния ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ массивом Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • πŸ“₯ Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ() β€” для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ источника (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π—Π°ΠΏΡ€ΠΎΡΠ°).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° запроса:

Запрос = Новый Запрос;

Запрос.ВСкст = "ВЫБРАВЬ

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

Π‘ΡƒΠΌΠΌΠ°ΠžΡΡ‚Π°Ρ‚ΠΊΠ° КАК ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ

Π˜Π—

РСгистрНакоплСния.ΠžΡΡ‚Π°Ρ‚ΠΊΠΈΠ’ΠΎΠ²Π°Ρ€ΠΎΠ².ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ КАК Π‘ΡƒΠΌΠΌΠ°ΠžΡΡ‚Π°Ρ‚ΠΊΠ°

Π“Π”Π•

Π‘ΠΊΠ»Π°Π΄ = &Π‘ΠΊΠ»Π°Π΄";

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π—Π°ΠΏΡ€ΠΎΡΠ° = Запрос.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("Π‘ΠΊΠ»Π°Π΄", Π‘ΠΊΠ»Π°Π΄));

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ(Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π—Π°ΠΏΡ€ΠΎΡΠ°);

ΠΡŽΠ°Π½ΡΡ‹:

  • πŸ”Ή ИмСна ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² источникС ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ (с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ рСгистра!).
  • πŸ”Ή Если Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² запросС Число(10,2), Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Число(15,3)), 1Π‘ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ нСявно привСсти значСния. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ точности.
  • πŸ”Ή Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… (10 000+ строк) Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ—Π°ΠΏΡ€ΠΎΡΠ° с ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠœΠ΅Ρ‚ΠΎΠ΄ Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ() ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ пСрСзаписываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Если Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строки ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ().

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ· JSON ΠΈΠ»ΠΈ XML ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² массив структур с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π§Ρ‚Π΅Π½ΠΈΠ΅JSON ΠΈΠ»ΠΈ Π§Ρ‚Π΅Π½ΠΈΠ΅XML. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π”Π°Π½Π½Ρ‹Π΅JSON = Новый Π§Ρ‚Π΅Π½ΠΈΠ΅JSON;

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

ΠœΠ°ΡΡΠΈΠ²Π”Π°Π½Π½Ρ‹Ρ… = Π”Π°Π½Π½Ρ‹Π΅JSON.ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ();

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

Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из ΠœΠ°ΡΡΠΈΠ²Π”Π°Π½Π½Ρ‹Ρ… Π¦ΠΈΠΊΠ»

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

НоваяБтрока.Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚);

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

5. Π Π°Π±ΠΎΡ‚Π° с динамичСскими списками

Π’ управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ часто ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊ динамичСским спискам. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строк Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΈΠΌΠ΅Π΅Ρ‚ особСнности:

  • πŸ”Ή ИзмСнСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ автоматичСски ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с Ρ„ΠΎΡ€ΠΌΠΎΠΉ.
  • πŸ”Ή Для добавлСния строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ДинамичСскийБписок.
  • πŸ”Ή ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с иСрархичСскими списками (Π΄Π΅Ρ€Π΅Π²ΠΎ) ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ строку Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для управляСмой Ρ„ΠΎΡ€ΠΌΡ‹:

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(Команда)

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

НоваяБтрока.НаимСнованиС = "Новый элСмСнт";

НоваяБтрока.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 0;

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

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки:

  • 🚫 ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку Π½Π° сСрвСрС, ΠΊΠΎΠ³Π΄Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° привязана ΠΊ клиСнтской Ρ„ΠΎΡ€ΠΌΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅.
  • 🚫 Π—Π°Π±Ρ‹Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() послС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ строки Π² динамичСском спискС.
  • 🚫 ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΈΠΌΡ‘Π½ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π‘ΡƒΠΌΠΌΠ° ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ Π‘ΡƒΠΌΠΌΠ°).

Для слоТных сцСнариСв (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строк с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ) Π»ΡƒΡ‡ΡˆΠ΅ вынСсти Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π½Π° сСрвСрС ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Ρ‘ асинхронно:

&НаБСрвСрС

Ѐункция Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅(Π”Π°Π½Π½Ρ‹Π΅)

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, валидация

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π”Π°Π½Π½Ρ‹Π΅);

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

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(Команда)

Π”Π°Π½Π½Ρ‹Π΅ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НаимСнованиС,ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ", "Π’ΠΎΠ²Π°Ρ€ X", 1);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅(Π”Π°Π½Π½Ρ‹Π΅);

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

πŸ’‘

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с динамичСскими списками всСгда провСряйтС, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ (ΠΊΠ»ΠΈΠ΅Π½Ρ‚/сСрвСр) выполняСтся ΠΊΠΎΠ΄. НСсоотвСтствиС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС "ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½".

6. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹: ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк, объСдинСниС Ρ‚Π°Π±Π»ΠΈΡ†

Иногда трСбуСтся Π½Π΅ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ строку, Π° ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ с измСнСниями ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ:

  1. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки. ΠœΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() создаёт Ρ‚ΠΎΡ‡Π½ΡƒΡŽ копию строки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:
    Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π”Π»ΡΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ[0]; // ΠŸΠ΅Ρ€Π²Π°Ρ строка
    

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

    НоваяБтрока.Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π”Π»ΡΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ);

    НоваяБтрока.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = НоваяБтрока.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ * 2;

  2. ОбъСдинСниС Ρ‚Π°Π±Π»ΠΈΡ†. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ() добавляСт строки ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ:
    Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ1.ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ(Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ2, Π›ΠΎΠΆΡŒ); // Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ - ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈ
  3. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ. ΠŸΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅:
    Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π£Π±Ρ‹Π²");
    

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

    Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ(ΠžΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅);

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строк с условиСм

Допустим, Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строки ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅, Π³Π΄Π΅ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ > 0:

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

Если Π‘Ρ‚Ρ€ΠΎΠΊΠ°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ > 0 Π’ΠΎΠ³Π΄Π°

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

НоваяБтрока.Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°);

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

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

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с иСрархичСскими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ строки:

Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠ°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ° = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.НайтиБтроку(Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НаимСнованиС", "ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ 1"));

НоваяБтрока = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠ°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°);

НоваяБтрока.НаимСнованиС = "ΠŸΠΎΠ΄ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ 1.1";

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ строк ссылочныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, БправочникБсылка.НомСнклатура) ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ссылкС, Π° Π½Π΅ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Если исходная строка измСнится, измСнСния отразятся ΠΈ Π² ΠΊΠΎΠΏΠΈΠΈ! Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚() для создания нСзависимой ΠΊΠΎΠΏΠΈΠΈ.

7. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°

Π”Π°ΠΆΠ΅ Π² простом дСйствии ΠΏΠΎ добавлСнию строки ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ошибки. Рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии ΠΈ способы ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

Ошибка ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° РСшСниС
ПолС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ (НаимСнованиС) ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π½Π΅ создана ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ рСгистр ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Колонки.Найти()
Π’ΠΈΠΏ Π½Π΅ совпадаСт с Ρ‚ΠΈΠΏΠΎΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку Π² Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Число() ΠΈΠ»ΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΠ°() для привСдСния Ρ‚ΠΈΠΏΠΎΠ²
ИндСкс Π²Π½Π΅ Π³Ρ€Π°Π½ΠΈΡ† ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ строкС ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() ΠΏΠ΅Ρ€Π΅Π΄ доступом
ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ (ДинамичСскийБписок) Код выполняСтся Π½Π΅ Π½Π° Ρ‚ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ (ΠΊΠ»ΠΈΠ΅Π½Ρ‚/сСрвСр) Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈΠ»ΠΈ &НаБСрвСрС

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

  • πŸ› οΈ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ() β€” Π²Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠΊΠ½ΠΎ сообщСний.
  • πŸ› οΈ Π’ΠΎΡ‡ΠΊΠ° останова (F9 Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅) β€” пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
  • πŸ› οΈ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π›ΠΎΠ³() β€” Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ошибок Π² Ρ„Π°ΠΉΠ».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ:

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

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

НоваяБтрока.НаимСнованиС = НСопрСдСлённоСЗначСниС; // ΠŸΡ€ΠΎΠ²ΠΎΠΊΠ°Ρ†ΠΈΡ ошибки

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

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ строки: " + ОписаниСОшибки());

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

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

Для слоТных сцСнариСв (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· внСшнСго источника) рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ:

ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

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

// Код добавлСния строк

Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

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

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

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

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

Как ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строк Π² динамичСском спискС?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ДинамичСскийБписок.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π—Π°Ρ‚Π΅ΠΌ сравнитС Π΅Ρ‘ с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅.

FAQ: ЧастыС вопросы ΠΏΠΎ добавлСнию строк Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1Π‘

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° управляСмой Ρ„ΠΎΡ€ΠΌΠ΅?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() Ρƒ элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π΅ Ρƒ самой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ!). ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠšΠΎΠΌΠ°Π½Π΄Π°Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Команда)

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

НоваяБтрока.НаимСнованиС = "Новая строка";

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

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅.

МоТно Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±Π΅Π· указания ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ?

Π”Π°, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. Π‘Π°ΠΌΠ° строка добавится, Π½ΠΎ Π΅Ρ‘ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ пустыми. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

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

НоваяБтрока = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(); // Колонка "НаимСнованиС" Π±ΡƒΠ΄Π΅Ρ‚ пустой

Если ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка.

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ 10 000 строк?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

  1. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹: Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹(Π˜ΡΡ‚ΠΈΠ½Π°).
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅() ΠΈ Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅().
  3. Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ().

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

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅();

Для Инд = 1 По 10000 Π¦ΠΈΠΊΠ»

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Новый Массив("Π’ΠΎΠ²Π°Ρ€" + Инд, Инд * 10));

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

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅();

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС добавлСния строки ΠΎΠ½Π° Π½Π΅ отобраТаСтся Π² Ρ„ΠΎΡ€ΠΌΠ΅?

ВСроятныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

  • Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π° сСрвСрС, Π° Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅).
  • НС Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() для динамичСского списка.
  • Π€ΠΈΠ»ΡŒΡ‚Ρ€ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ скрываСт Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡƒΡŽ строку.

РСшСниС: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ выполнСния ΠΊΠΎΠ΄Π° ΠΈ обновляйтС Ρ„ΠΎΡ€ΠΌΡƒ явно:

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ€ΠΎΡ€ΠΌΡƒ()

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ();

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

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Ρ‚ΠΈΠΏΠ° Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ Число (для Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°). ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ID", Новый ОписаниСВипов("Число"));

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

ПослСднийID = 0;

Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ”Π°Π½Π½Ρ‹Ρ… Π¦ΠΈΠΊΠ»

ПослСднийID = ПослСднийID + 1;

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

НоваяБтрока.ID = ПослСднийID;

НоваяБтрока.НаимСнованиС = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.НаимСнованиС;

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

Для GUID ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€().