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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² 1Π‘ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ динамичСски, ΠΈΠΌΠ΅Ρ‚ΡŒ слоТныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ составныС Ρ‚ΠΈΠΏΡ‹) ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π² интСрфСйсС. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ Для КаТдого... Из здСсь Π½Π΅ всСгда ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹, поэтому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Колонки, Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Ρ€Π΅Ρ„Π»Π΅ΠΊΡΠΈΡŽ. ΠœΡ‹ рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с практичСскими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ нюансами.

1. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ…ΠΎΠ΄ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Колонки

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ способ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Колонки, которая доступна Ρƒ любой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ всС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… условий.

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

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

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

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

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

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

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Колонка.Имя +" (" + Колонка.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ +") - Π’ΠΈΠΏ:" + Колонка.ВипЗначСния.ОписаниСВипа);

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

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΈΡ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΠΌΡ‘Π½) ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Колонка.Имя ΠΈ Колонка.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ β€” это Ρ€Π°Π·Π½Ρ‹Π΅ свойства. Имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ доступа, Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ отобраТаСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π² интСрфСйсС.

  • βœ… ΠŸΠ»ΡŽΡΡ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: простой, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСх вСрсиях 1Π‘ 8.x.
  • ⚠️ ΠœΠΈΠ½ΡƒΡΡ‹: Π½Π΅ позволяСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ критСриям Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ.
  • πŸ”„ Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ: для простого ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π±Π΅Π· слоТных условий.
πŸ“Š Какой способ ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Колонки
ΠœΠ΅Ρ‚ΠΎΠ΄ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅
Цикл по индСксам
РСфлСксия

2. ΠžΠ±Ρ…ΠΎΠ΄ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

Часто трСбуСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всС числовыС поля для расчёта сумм ΠΈΠ»ΠΈ строковыС для форматирования. Π’ этом случаС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Π° нСдостаточно: Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ свойство ВипЗначСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для суммирования всСх числовых ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ:

Π‘ΡƒΠΌΠΌΠ° = 0;

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

Если Колонка.ВипЗначСния.Π’ΠΈΠΏ = Π’ΠΈΠΏ("Число") Π’ΠΎΠ³Π΄Π°

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

Если НС Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°[Колонка.Имя]) Π’ΠΎΠ³Π΄Π°

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ;

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

Π‘ΡƒΠΌΠΌΠ° = Π‘ΡƒΠΌΠΌΠ° + Π‘Ρ‚Ρ€ΠΎΠΊΠ°[Колонка.Имя];

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

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π‘ΡƒΠΌΠΌΠ° ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅" + Колонка.Имя +":" + Π‘ΡƒΠΌΠΌΠ°);

Π‘ΡƒΠΌΠΌΠ° = 0;

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

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

Π’Π°ΠΆΠ½ΠΎ: ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π’ΠΈΠΏ("Число") Π½Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС числовыС Ρ‚ΠΈΠΏΡ‹. НапримСр, для ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с Ρ‚ΠΈΠΏΠΎΠΌ Число(10, 2) потрСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΡƒ.

  • πŸ“Š Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ:
    • Π’ΠΈΠΏ("Π‘Ρ‚Ρ€ΠΎΠΊΠ°") β€” тСкстовыС поля;
    • Π’ΠΈΠΏ("Число") β€” числовыС (Π½ΠΎ Π½Π΅ всС ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΡ‹!);
    • Π’ΠΈΠΏ("Π”Π°Ρ‚Π°") β€” Π΄Π°Ρ‚Ρ‹;
    • Π’ΠΈΠΏ("Π‘ΡƒΠ»Π΅Π²ΠΎ") β€” логичСскиС значСния;
    • Π’ΠΈΠΏ("БправочникБсылка.НомСнклатура") β€” ссылки Π½Π° справочники.
  • ⚠️ Π›ΠΎΠ²ΡƒΡˆΠΊΠ°: Ссли ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ составной Ρ‚ΠΈΠΏ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Число), ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Колонка.ВипЗначСния.Π’ΠΈΠΏ Π²Π΅Ρ€Π½Ρ‘Ρ‚ НСопрСдСлён. Π’ этом случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Колонка.ВипЗначСния.ОписаниСВипа.
πŸ’‘

Для ускорСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сохраняйтС индСксы Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² массив, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ…. Π­Ρ‚ΠΎ сократит количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ.

3. ДинамичСский ΠΎΠ±Ρ…ΠΎΠ΄ с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΡ… порядок, Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свойства. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ просто ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π½ΠΎ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними систСмами.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ получСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ:

ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ = Π’Π°Π±Π»ΠΈΡ†Π°.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.Колонки;

Для КаТдого ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠ° Из ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ Π¦ΠΈΠΊΠ»

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Имя:" + ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠ°.Имя +

", ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ:" + ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠ°.ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ +

", Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ:" +?(ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠ°.Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ,"Видимая","Бкрытая"));

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π΅ сами ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ Π½Π΅ смоТСтС Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ значСния ячССк β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ структуру Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π—Π°Ρ‚ΠΎ этот способ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ для:

  • πŸ“‹ Π“Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ структурС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹;
  • πŸ”„ ДинамичСского создания интСрфСйсов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²);
  • πŸ” Поиска ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΠΎ части ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ критСриям.
Π§Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Колонки ΠΈ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.Колонки?

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Колонки прСдоставляСт доступ ΠΊ самим ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ ΠΊΠ°ΠΊ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ значСния. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.Колонки Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ описаниС структуры (ΠΈΠΌΠ΅Π½Π°, Ρ‚ΠΈΠΏΡ‹, ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ), Π½ΠΎ Π½Π΅ позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. НапримСр, Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° сущСствуСт, Π½ΠΎ Π½Π΅ смоТСтС ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ строкС.

4. ΠžΠ±Ρ…ΠΎΠ΄ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΠΎ индСксам для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Если Ρ‚Π°Π±Π»ΠΈΡ†Π° содСрТит сотни ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΠ»ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ строк, стандартный ΠΎΠ±Ρ…ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Для КаТдого ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях эффСктивнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ доступ ΠΏΠΎ индСксам β€” это ускоряСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° 20–40% Π·Π° счёт ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов Π½Π° ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

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

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠšΠΎΠ»ΠΎΠ½ΠΎΠΊ = Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ;

Для Инд = 0 По ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠšΠΎΠ»ΠΎΠ½ΠΎΠΊ - 1 Π¦ΠΈΠΊΠ»

Колонка = Π’Π°Π±Π»ΠΈΡ†Π°.Колонки[Инд];

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Колонка.Имя);

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

Для Π΅Ρ‰Ρ‘ большСго ускорСния ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ индСксам с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… свойств:

ИмСнаКолонок = Новый Массив;

Для Инд = 0 По Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ - 1 Π¦ΠΈΠΊΠ»

ИмСнаКолонок.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π’Π°Π±Π»ΠΈΡ†Π°.Колонки[Инд].Имя);

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

// Π”Π°Π»Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ массивом

Для КаТдого Имя Из ИмСнаКолонок Π¦ΠΈΠΊΠ»

// Π›ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ структуры Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ) Π²ΠΎ врСмя ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΏΠΎ индСксам Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ошибок доступа. ВсСгда фиксируйтС количСство ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ†ΠΈΠΊΠ»Π°.
Бпособ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
Для КаТдого... Из Колонки БрСдняя Высокая ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, нСбольшиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
ΠžΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ индСксам Высокая Низкая ΠšΡ€ΡƒΠΏΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ участки
ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.Колонки БрСдняя БрСдняя Анализ структуры, гСнСрация ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ²
РСфлСксия (Ρ‡Π΅Ρ€Π΅Π· Π’ΠΈΠΏΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡΠ§Π΅Ρ€Π΅Π·Π—Π°ΠΏΡΡ‚ΡƒΡŽ) Низкая ΠžΡ‡Π΅Π½ΡŒ высокая Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ динамичСскиС сцСнарии

5. Π Π°Π±ΠΎΡ‚Π° с динамичСски добавляСмыми ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сцСнариях ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ динамичСски β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· внСшнСго источника ΠΈΠ»ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния запроса. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π·Π°Ρ€Π°Π½Π΅Π΅ нСизвСстно, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, ΠΈ ΠΈΡ… ΠΎΠ±Ρ…ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с динамичСскими ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ:

// ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° заполняСтся Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· запроса

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

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

НомСнклатура,

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ,

Π¦Π΅Π½Π°,

Π‘ΡƒΠΌΠΌΠ° КАК Π˜Ρ‚ΠΎΠ³ΠΎΠ²Π°ΡΠ‘ΡƒΠΌΠΌΠ°

Π˜Π— Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализацияВоваровУслуг";

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Запрос.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ;

Π’Π°Π±Π»ΠΈΡ†Π° = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ;

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

Если НЕ Π’ΠΈΠΏΠ—Π½Ρ‡(Колонка.ВипЗначСния) = Π’ΠΈΠΏ("НСопрСдСлён") Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Колонка:" + Колонка.Имя +", Π’ΠΈΠΏ:" + Колонка.ВипЗначСния.ОписаниСВипа);

Π˜Π½Π°Ρ‡Π΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Колонка" + Колонка.Имя +" ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ!");

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

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

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ со составными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Число). Для ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ВипЗначСния.БоотвСтствиСВипу:

Если Колонка.ВипЗначСния.БоотвСтствиСВипу(Π’ΠΈΠΏ("Число")) Π’ΠΎΠ³Π΄Π°

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ динамичСском Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· Запрос.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,"Π˜Ρ‚ΠΎΠ³ΠΎΠ²Π°Ρ Π‘ΡƒΠΌΠΌΠ°"). ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки для доступа ΠΊ Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ: Π‘Ρ‚Ρ€ΠΎΠΊΠ°["Π˜Ρ‚ΠΎΠ³ΠΎΠ²Π°Ρ Π‘ΡƒΠΌΠΌΠ°"].

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки для ΠΈΠΌΡ‘Π½ с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ|ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· БоотвСтствиСВипу|ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для ускорСния|ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ…

-->

6. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ: рСфлСксия ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с описаниСм Ρ‚ΠΈΠΏΠΎΠ²

Для слоТных сцСнариСв, Π³Π΄Π΅ трСбуСтся Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ‚ΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для сСриализации ΠΈΠ»ΠΈ дСсСриализации Π΄Π°Π½Π½Ρ‹Ρ…), ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Ρ„Π»Π΅ΠΊΡΠΈΡŽ. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ…, составных Ρ‚ΠΈΠΏΠ°Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½ΡŽΠ°Π½ΡΠ°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Π½Π°Π»ΠΈΠ·Π° составного Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:

ОписаниСВипа = Колонка.ВипЗначСния.ОписаниСВипа;

Если ОписаниСВипа.ΠŸΠΎΠΌΠ΅Ρ‡Π΅Π½ΠšΠ°ΠΊΠ‘ΠΎΡΡ‚Π°Π²Π½ΠΎΠΉΠ’ΠΈΠΏ Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Колонка" + Колонка.Имя +" ΠΈΠΌΠ΅Π΅Ρ‚ составной Ρ‚ΠΈΠΏ:");

Для КаТдого Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉΠ’ΠΈΠΏ Из ОписаниСВипа.Π’ΠΈΠΏΡ‹ Π¦ΠΈΠΊΠ»

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(" -" + Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉΠ’ΠΈΠΏ.ОписаниСВипа);

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

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

РСфлСксия ΠΏΠΎΠ»Π΅Π·Π½Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… случаях:

  • πŸ” Анализ структуры Π΄Π°Π½Π½Ρ‹Ρ…: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ JSON-схСмы Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹;
  • πŸ”„ ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²: автоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ;
  • πŸ“€ Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с внСшними систСмами: ΠΊΠΎΠ³Π΄Π° трСбуСтся Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ описаниС структуры для API.

Однако Ρƒ рСфлСксии Π΅ΡΡ‚ΡŒ ΠΈ нСдостатки:

  • ⏳ Низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Π°Π½Π°Π»ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² 5–10 Ρ€Π°Π·;
  • 🧩 Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания систСмы Ρ‚ΠΈΠΏΠΎΠ² 1Π‘;
  • πŸ› Риск ошибок: нСвСрная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° составных Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ падСниям.
πŸ’‘

РСфлСксия β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Ρ‘ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π±Π΅Π· Π½Π΅Ρ‘ Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ. Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ Ρ…Π²Π°Ρ‚ΠΈΡ‚ стандартных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.

7. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: экспорт Π² Excel, валидация Π΄Π°Π½Π½Ρ‹Ρ…

Рассмотрим Π΄Π²Π°Ρ‡Π½Ρ‹Ρ… сцСнария, Π³Π΄Π΅ ΠΎΠ±Ρ…ΠΎΠ΄ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ: экспорт Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Excel ΠΈ валидация Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Экспорт Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Excel с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

Excel = Новый COMΠžΠ±ΡŠΠ΅ΠΊΡ‚("Excel.Application");

Книга = Excel.Workbooks.Add;

Лист = Книга.Worksheets(1);

// ЗаписываСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ

Для Инд = 0 По Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ - 1 Π¦ΠΈΠΊΠ»

Лист.Cells(1, Инд + 1).Value = Π’Π°Π±Π»ΠΈΡ†Π°.Колонки[Инд].Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ;

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

// ЗаписываСм Π΄Π°Π½Π½Ρ‹Π΅

Для Π˜Π½Π΄Π‘Ρ‚Ρ€ = 0 По Π’Π°Π±Π»ΠΈΡ†Π°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ - 1 Π¦ΠΈΠΊΠ»

Для ИндКол = 0 По Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ - 1 Π¦ΠΈΠΊΠ»

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π’Π°Π±Π»ΠΈΡ†Π°[Π˜Π½Π΄Π‘Ρ‚Ρ€][ИндКол];

Лист.Cells(Π˜Π½Π΄Π‘Ρ‚Ρ€ + 2, ИндКол + 1).Value = Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

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

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

Excel.Visible = Π˜ΡΡ‚ΠΈΠ½Π°;

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Валидация Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм

ΠŸΡ€ΠΎΡˆΠ»ΠΈΠ’Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ = Π˜ΡΡ‚ΠΈΠ½Π°;

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

Если Колонка.ВипЗначСния.БоотвСтствиСВипу(Π’ΠΈΠΏ("Π‘Ρ‚Ρ€ΠΎΠΊΠ°")) Π’ΠΎΠ³Π΄Π°

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

Если НЕ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°[Колонка.Имя]) Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка: пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅" + Колонка.Имя);

ΠŸΡ€ΠΎΡˆΠ»ΠΈΠ’Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ = Π›ΠΎΠΆΡŒ;

Π˜Π½Π°Ρ‡Π΅Π•ΡΠ»ΠΈ Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π‘Ρ‚Ρ€ΠΎΠΊΠ°[Колонка.Имя]) > 100 Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка: слишком Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅" + Колонка.Имя);

ΠŸΡ€ΠΎΡˆΠ»ΠΈΠ’Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ = Π›ΠΎΠΆΡŒ;

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

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

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

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

Если НЕ ΠŸΡ€ΠΎΡˆΠ»ΠΈΠ’Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ Π’ΠΎΠ³Π΄Π°

ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ;

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ экспортС Π² Excel ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ограничСния Π½Π° количСство строк (1 048 576 Π² Excel 2007+) ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (16 384). Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‡Π½ΡƒΡŽ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ»ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ (CSV).

8. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ логичСскими ошибками. Π’ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:

  • ⚑ ΠšΡΡˆΠΈΡ€ΡƒΠΉΡ‚Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ свойства:
    • БохраняйтС Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ;
    • ΠšΡΡˆΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Ссли ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ.
  • πŸ”„ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ²: Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΈ строки, ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π’Π°Π±Π»ΠΈΡ†Π°.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ для извлСчСния всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄.
  • 🚫 НС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²ΠΎ врСмя ΠΎΠ±Ρ…ΠΎΠ΄Π°: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ/строк Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкам.
  • πŸ“ Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: для Ρ‚Π°Π±Π»ΠΈΡ† с >10 000 строк ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сСрвСрныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания.

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

Ошибка ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° РСшСниС
Ошибка ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки: Π’Π°Π±Π»ΠΈΡ†Π°["Имя Колонки"]
Π’ΠΈΠΏ Π½Π΅ соотвСтствуСт Колонка ΠΈΠΌΠ΅Π΅Ρ‚ составной Ρ‚ΠΈΠΏ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· БоотвСтствиСВипу
ЗависаниС ΠΏΡ€ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π΅ Блишком ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ рСкурсия Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
НСвСрныС суммы ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ пустыС значСния Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ
πŸ’‘

ВсСгда тСстируйтС ΠΎΠ±Ρ…ΠΎΠ΄ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… с Ρ€Π°Π·Π½ΠΎΠΉ структурой: пустых, с составными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, с большим количСством Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ скрытыС ошибки.

FAQ: ЧастыС вопросы ΠΏΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ссли ΠΈΡ… ΠΈΠΌΠ΅Π½Π° Π·Π°Ρ€Π°Π½Π΅Π΅ нСизвСстны?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» Для КаТдого Колонка Из Π’Π°Π±Π»ΠΈΡ†Π°.Колонки. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ свойствам ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Колонка, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Ρ‘ имя (Колонка.Имя), Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ (Колонка.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ) ΠΈ Ρ‚ΠΈΠΏ (Колонка.ВипЗначСния).

МоТно Π»ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС?

Π”Π°, для этого ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ количСство ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈΡ… ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ индСксу:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ;

Для Инд = ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ - 1 По 0 Π£Π±Ρ‹Π² Π¦ΠΈΠΊΠ»

Колонка = Π’Π°Π±Π»ΠΈΡ†Π°.Колонки[Инд];

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

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

Как ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрытыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π΅?

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ свойство Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅:

ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ = Π’Π°Π±Π»ΠΈΡ†Π°.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.Колонки;

Для КаТдого ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠ° Из ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ Π¦ΠΈΠΊΠ»

Если ΠœΠ΅Ρ‚Π°ΠšΠΎΠ»ΠΎΠ½ΠΊΠ°.Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π’ΠΎΠ³Π΄Π°

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

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

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

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ значСния всСх ячССк ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ:

Π—Π½Π°Ρ‡Π΅Π½ΠΈΡΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ = Π’Π°Π±Π»ΠΈΡ†Π°.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ(ИмяКолонки);

Для КаТдого Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Из Π—Π½Π°Ρ‡Π΅Π½ΠΈΡΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ Π¦ΠΈΠΊΠ»

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

Π­Ρ‚ΠΎ Π² 3–5 Ρ€Π°Π· быстрСС, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄ строк с доступом ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйкС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка"ИндСкс Π²Π½Π΅ Π³Ρ€Π°Π½ΠΈΡ†"?

Ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΏΠΎ индСксу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ - 1. ВсСгда фиксируйтС количСство ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ измСняСтся Π»ΠΈ структура Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ) Π²ΠΎ врСмя ΠΎΠ±Ρ…ΠΎΠ΄Π°.