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

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

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ способ: ΠΌΠ΅Ρ‚ΠΎΠ΄ Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ()

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈ распространСнный способ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(). Он ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для статичСского создания структуры Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° этапС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Рассмотрим синтаксис ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (Ρ‚ΠΈΠΏ Π‘Ρ‚Ρ€ΠΎΠΊΠ°), ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅: ВипЗначСния, Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π¨ΠΈΡ€ΠΈΠ½Π°. Если Ρ‚ΠΈΠΏ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ НСопрСдСлСно, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам ΠΏΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

  • πŸ“Œ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ минимального добавлСния:
    Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НоваяКолонка");

    Колонка Π±ΡƒΠ΄Π΅Ρ‚ создана с Ρ‚ΠΈΠΏΠΎΠΌ НСопрСдСлСно ΠΈ стандартной ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ.

  • 🎯 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°:
    Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π¦Π΅Π½Π°", Новый ОписаниСВипов("Число", Новый ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹Π§ΠΈΡΠ»Π°(10, 2)), "Π¦Π΅Π½Π°, Ρ€ΡƒΠ±.");

    Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ явно Π·Π°Π΄Π°Π΅ΠΌ Ρ‚ΠΈΠΏ Число с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ 2 Π·Π½Π°ΠΊΠ° послС запятой.

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

πŸ’‘

Если Π²Ρ‹ часто Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, создайтС Π² глобальном ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ для добавлСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с Ρ‚ΠΈΠΏΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π­Ρ‚ΠΎ сократит ΠΊΠΎΠ΄ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ

Когда трСбуСтся Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π½Π΅ Π² ΠΊΠΎΠ½Π΅Ρ†, Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ() ΠΈ Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(). Алгоритм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ стандартным способом
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Колонки.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ() для пСрСмСщСния Π΅Π΅ Π½Π° Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для вставки ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ "Π‘ΠΊΠΈΠ΄ΠΊΠ°" ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ "Π¦Π΅Π½Π°" ΠΈ "Π‘ΡƒΠΌΠΌΠ°":

// 1. ДобавляСм ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² ΠΊΠΎΠ½Π΅Ρ†

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

// 2. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ индСкс ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ "Π‘ΡƒΠΌΠΌΠ°"

Π˜Π½Π΄Π΅ΠΊΡΠ‘ΡƒΠΌΠΌΡ‹ = Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Найти("Π‘ΡƒΠΌΠΌΠ°");

// 3. ВставляСм ΠΏΠ΅Ρ€Π΅Π΄ "Π‘ΡƒΠΌΠΌΠΎΠΉ"

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ(Π˜Π½Π΄Π΅ΠΊΡΠ‘ΡƒΠΌΠΌΡ‹, "Π‘ΠΊΠΈΠ΄ΠΊΠ°");

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ индСкс (нумСрация с 0), Π° Π½Π΅ порядковый Π½ΠΎΠΌΠ΅Ρ€. Если ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ индСкс, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка выполнСния.

πŸ“Š Как часто Π²Ρ‹ добавляСтС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?
Π•ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ
НСсколько Ρ€Π°Π· Π² нСдСлю
Π Π΅Π΄ΠΊΠΎ, ΠΏΠΎ нСобходимости
Никогда Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» с этим

ДинамичСскоС созданиС ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ

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

Если Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.Имя = "Администратор" Π’ΠΎΠ³Π΄Π°

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

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

Π‘ΠΎΠ»Π΅Π΅ слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² зависимости ΠΎΡ‚ содСрТимого Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:

Если Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Найти("Π’ΠΈΠΏΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°") <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹",

Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°", Новый ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹Π‘Ρ‚Ρ€ΠΎΠΊΠΈ(100)));

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

ΠŸΡ€ΠΈ динамичСском создании ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Π΄Π²ΡƒΡ… Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ…:

  • ⚑ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ЧастоС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π›ΡƒΡ‡ΡˆΠ΅ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
  • πŸ”„ Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ: Если Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСстах ΠΊΠΎΠ΄Π°, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ появлСниС Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ?

ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΆΠ΅ сущСствуСт Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, систСма выбросит ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ с тСкстом "Колонка с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт". Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· самых распространСнных ошибок ΠΏΡ€ΠΈ динамичСском создании структуры. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, всСгда провСряйтС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Найти() ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.

Π Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам ΠΏΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, сортировкС ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ 1Π‘ доступны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС Ρ‚ΠΈΠΏΡ‹:

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания
Число Для хранСния числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ
Новый ОписаниСВипов("Число",
Новый ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹Π§ΠΈΡΠ»Π°(15, 3))
Π‘Ρ‚Ρ€ΠΎΠΊΠ° ВСкстовыС Π΄Π°Π½Π½Ρ‹Π΅. МоТно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ
Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°",
Новый ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹Π‘Ρ‚Ρ€ΠΎΠΊΠΈ(50))
Π”Π°Ρ‚Π° Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π±Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
Новый ОписаниСВипов("Π”Π°Ρ‚Π°")
Π‘ΡƒΠ»Π΅Π²ΠΎ ЛогичСский Ρ‚ΠΈΠΏ (Π˜ΡΡ‚ΠΈΠ½Π°/Π›ΠΎΠΆΡŒ)
Новый ОписаниСВипов("Π‘ΡƒΠ»Π΅Π²ΠΎ")
БправочникБсылка.<Имя> Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ справочника
Новый ОписаниСВипов("БправочникБсылка.НомСнклатура")

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ: Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ явно, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ НСопрСдСлСно, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ нСсовмСстимых Ρ‚ΠΈΠΏΠΎΠ². НапримСр, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ число Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π±Π΅Π· Ρ‚ΠΈΠΏΠ° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Для слоТных Ρ‚ΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ссылки Π½Π° справочники) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя Ρ‚ΠΈΠΏΠ°:

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠŸΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊ",

Новый ОписаниСВипов("БправочникБсылка.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹"));

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ соотвСтствуСт Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ|

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ограничСния (Π΄Π»ΠΈΠ½Π° строки, Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ числа)|

Π£Ρ‡Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ сортировки ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅|

ΠŸΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ отобраТСния (для Π΄Π°Ρ‚, чисСл)-->

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с тысячами строк Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. НСсколько практичСских совСтов:

  • ⚑ ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ созданиС: Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ структуру Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΠΎ заполнСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² ΠΏΡƒΡΡ‚ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС.
  • πŸ”„ ΠŸΠ°ΠΊΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: ΠŸΡ€ΠΈ массовом Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅() ΠΈ Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅():
Π’Π°Π±Π»ΠΈΡ†Π°.ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅();

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

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Колонка1", Π’ΠΈΠΏ1);

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Колонка2", Π’ΠΈΠΏ2);

// ... Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

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

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

Π’Ρ‹Π·Π²Π°Ρ‚ΡŒΠ˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅;

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

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

  • πŸ“Š ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ описаний Ρ‚ΠΈΠΏΠΎΠ²: Если Π²Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· добавляСтС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π·Π°Ρ€Π°Π½Π΅Π΅ создайтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с описаниСм Ρ‚ΠΈΠΏΠ°:
ВипЧисло = Новый ОписаниСВипов("Число", Новый ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹Π§ΠΈΡΠ»Π°(10, 2));

Π’Π°Π±Π»ΠΈΡ†Π°1.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π‘ΡƒΠΌΠΌΠ°", ВипЧисло);

Π’Π°Π±Π»ΠΈΡ†Π°2.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π˜Ρ‚ΠΎΠ³", ВипЧисло);

Для Ρ‚Π°Π±Π»ΠΈΡ† с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 10 000 строк рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…Π’Π°Π±Π»ΠΈΡ† ΠΈΠ»ΠΈ SQL-запросов вмСсто Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

πŸ’‘

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² большиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс. Для ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания ΠΈΠ»ΠΈ раздСляйтС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° части.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ динамичСском создании ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… конфигурациях, всСгда провСряйтС сущСствованиС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· Найти(). Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΠ°ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ссли структура Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ измСнилась.
  • 🚨 "Колонка с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт":

    ΠŸΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ провСряйтС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:

    Если Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Найти("НоваяКолонка") = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°
    

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

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

  • πŸ’₯ Ошибка привСдСния Ρ‚ΠΈΠΏΠΎΠ²:

    Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ совмСстим с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π² Π½Π΅Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅. НапримСр, нСльзя Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Ρ‚ΠΈΠΏΠ° Число.

  • πŸ” НСвидимыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ…:

    Если ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π½Π΅ отобраТаСтся Π² ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свойство Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСно 0).

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” потСря Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ структуры Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Если Π²Ρ‹ добавляСтС ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, которая ΡƒΠΆΠ΅ содСрТит Π΄Π°Π½Π½Ρ‹Π΅, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ значСния Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ΡΡ. Однако ΠΏΡ€ΠΈ пСрСсоздании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ всС Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ утСряны.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… измСнСния структуры (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ) Π½Π΅ всСгда сразу ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² интСрфСйсС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ() для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ обновлСния отобраТСния.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Рассмотрим нСсколько Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… сцСнариСв, Π³Π΄Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ практичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ:

  • πŸ“ˆ Аналитика ΠΏΡ€ΠΎΠ΄Π°ΠΆ:

    Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ "ΠœΠ°Ρ€ΠΆΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ" для расчСта ΠΏΡ€ΠΈΠ±Ρ‹Π»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°:

    Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠœΠ°Ρ€ΠΆΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ",
    

    Новый ОписаниСВипов("Число", Новый ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹Π§ΠΈΡΠ»Π°(5, 2)));

    // Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

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

    Π‘Ρ‚Ρ€ΠΎΠΊΠ°.ΠœΠ°Ρ€ΠΆΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ = (Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π΅Π½Π° - Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π‘Π΅Π±Π΅ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ) / Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π΅Π½Π° * 100;

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

  • πŸ”„ Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с внСшними систСмами:

    Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ слуТСбных ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для хранСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ· внСшнСй Π±Π°Π·Ρ‹:

    Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ExternalID", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°", Новый ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹Π‘Ρ‚Ρ€ΠΎΠΊΠΈ(36)));
  • πŸ“Š ДинамичСскиС ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹:

    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π° основС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… настроСк:

    Для КаТдого ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Из ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π¦ΠΈΠΊΠ»
    

    Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.Π’ΠΈΠΏΠ”Π°Π½Π½Ρ‹Ρ…);

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

Π’ слоТных ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… часто трСбуСтся Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ вычисляСмыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависят ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Для этого ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹:

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π˜Ρ‚ΠΎΠ³Π‘ΠΠ”Π‘");

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

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π˜Ρ‚ΠΎΠ³Π‘ΠΠ”Π‘ = Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π‘ΡƒΠΌΠΌΠ° * 1.2; // +20% НДБ

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

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

МоТно Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с составным Ρ‚ΠΈΠΏΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, число ΠΈΠ»ΠΈ строка)?

НСт, Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1Π‘ каТдая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

  • ΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ Ρ‚ΠΈΠΏΠ° Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ
  • НСсколько ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΈ Ρ„Π»Π°Π³ΠΎΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ какая Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π°
  • Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON (для вСрсий 8.3.14+) Π² строковой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅
Как ΡƒΠ·Π½Π°Ρ‚ΡŒ индСкс Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ИндСкс():

ИндСксКолонки = Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ИндСкс(Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Найти("ИмяКолонки"));

Или сразу ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ:

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

ИндСкс = Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1;

МоТно Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ?

ΠŸΡ€ΡΠΌΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° задания значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅Ρ‚. Но Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

  1. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ
  2. ΠŸΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм строкам ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Бтатус", Новый ОписаниСВипов("Π‘ΡƒΠ»Π΅Π²ΠΎ"));

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

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Бтатус = Π›ΠΎΠΆΡŒ; // Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

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

Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ:

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

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

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

Для копирования вмСстС с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ().

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС добавлСния ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΎΠ½Π° Π½Π΅ отобраТаСтся Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹?

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ:

  • НС Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ() для Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ поля
  • Π¨ΠΈΡ€ΠΈΠ½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ установлСна Π² 0
  • Бвойство Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ установлСно Π² Π›ΠΎΠΆΡŒ
  • Π’ настройках Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ поля ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎΠΊΠ°Π· Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

РСшСниС:

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

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Найти("ИмяКолонки").Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ = Π˜ΡΡ‚ΠΈΠ½Π°;