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

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

1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ списков Π²Ρ‹Π±ΠΎΡ€Π° Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, с ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ элСмСнтом Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π’ 1Π‘ 8.3 сущСствуСт нСсколько Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ "список Π²Ρ‹Π±ΠΎΡ€Π°", Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ заполнСния:

  • πŸ“‹ ПолС Π²Π²ΠΎΠ΄Π° с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ (ΠŸΠΎΠ»Π΅Π’Π²ΠΎΠ΄Π°Π‘Π’Ρ‹Π±ΠΎΡ€ΠΎΠΌ) β€” классичСский Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… статичСских Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ” ПолС Π²Ρ‹Π±ΠΎΡ€Π° (ΠŸΠΎΠ»Π΅Π’Ρ‹Π±ΠΎΡ€Π°) β€” спСциализированный элСмСнт для Π²Ρ‹Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· справочников ΠΈΠ»ΠΈ пСрСчислСний. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ поиск ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ.
  • πŸ“Š Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ β€” ΠΊΠΎΠ³Π΄Π° список встраиваСтся Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π²Ρ‹Π±ΠΎΡ€Π° Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅).
  • βœ… Π€Π»Π°ΠΆΠΊΠΈ/ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ β€” для Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· фиксированного Π½Π°Π±ΠΎΡ€Π° ΠΎΠΏΡ†ΠΈΠΉ (часто Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π“Ρ€ΡƒΠΏΠΏΠ°ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ).

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ своСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ заполнСнию. НапримСр, для ΠŸΠΎΠ»Π΅Π’Ρ‹Π±ΠΎΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ’Ρ‹Π±ΠΎΡ€(), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ для ΠŸΠΎΠ»Π΅Π’Π²ΠΎΠ΄Π°Π‘Π’Ρ‹Π±ΠΎΡ€ΠΎΠΌ придётся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Ошибка Π² Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ список ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

πŸ“Š Какой Ρ‚ΠΈΠΏ списка Π²Ρ‹Π±ΠΎΡ€Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ПолС Π²Π²ΠΎΠ΄Π° с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ
ПолС Π²Ρ‹Π±ΠΎΡ€Π°
Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Π”Ρ€ΡƒΠ³ΠΎΠΉ

2. БтатичСскоС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ способы

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ фиксированный Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, список статусов Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ), ΠΏΡ€ΠΎΡ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ статичСскоС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рассмотрим Π΄Π²Π° основных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

  1. Π§Π΅Ρ€Π΅Π· свойство БписокВыбора:
    &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅
    

    ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ‘ΠΏΠΈΡΠΎΠΊΠ‘Ρ‚Π°Ρ‚ΡƒΡΠΎΠ²(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

    Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

    Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Новый", "Новый");

    Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("На согласовании", "НаБогласовании");

    Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½", "Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½");

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

    Π—Π΄Π΅ΡΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() β€” это ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС (ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ).

  2. Π§Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ЗначСниСБписка:
    &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅
    

    ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ‘ΠΏΠΈΡΠΎΠΊΠ’ΠΈΠΏΠΎΠ²ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

    Бписок = Новый БписокЗначСний();

    Бписок.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠŸΡ€ΠΈΡ…ΠΎΠ΄", "ΠŸΡ€ΠΈΡ…ΠΎΠ΄");

    Бписок.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Расход", "Расход");

    Бписок.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅", "ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅");

    Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора = Бписок;

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

    Π­Ρ‚ΠΎΡ‚ способ ΡƒΠ΄ΠΎΠ±Π΅Π½, Ссли список формируСтся динамичСски Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС ΠΊΠΎΠ΄Π°.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ статичСском Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² памяти Ρ„ΠΎΡ€ΠΌΡ‹. Если список большой (Π±ΠΎΠ»Π΅Π΅ 100 элСмСнтов), это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ интСрфСйса. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ динамичСскоС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ дальшС.

πŸ’‘

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

3. ДинамичСскоС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· справочников ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ список Π²Ρ‹Π±ΠΎΡ€Π° формируСтся Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· справочников, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ рСгистров. НапримСр, Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°, Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ склада. Для Ρ‚Π°ΠΊΠΈΡ… случаСв Π² 1Π‘ прСдусмотрСны спСциализированныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ динамичСского заполнСния:

  • πŸ”„ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· источника (запрос, Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· справочника).
  • πŸ“₯ ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, понятный элСмСнту Ρ„ΠΎΡ€ΠΌΡ‹.
  • πŸ–₯️ Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² список Π²Ρ‹Π±ΠΎΡ€Π° с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² ΠΈ ΠΏΡ€Π°Π² доступа.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ заполнСния списка Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ остатков:

&НаБСрвСрС

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ‘ΠΏΠΈΡΠΎΠΊΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

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

Запрос.ВСкст =

"ВЫБРАВЬ

| НомСнклатура.Бсылка КАК Бсылка,

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

|Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

|Π“Π”Π•

| НЕ НомСнклатура.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ

| И НомСнклатура.Π­Ρ‚ΠΎΡ‚Π“ΠΎΠ΄ = &Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ“ΠΎΠ΄

|Π£ΠŸΠžΠ Π―Π”ΠžΠ§Π˜Π’Π¬ ПО

| НаимСнованиС";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ“ΠΎΠ΄", Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ“ΠΎΠ΄());

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

Бписок = Новый БписокЗначСний();

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

Пока Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ»

Бписок.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.НаимСнованиС, Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Бсылка);

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Бписок;

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

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ‘ΠΏΠΈΡΠΎΠΊΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

Бписок = Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ‘ΠΏΠΈΡΠΎΠΊΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚);

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора = Бписок;

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

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

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли Π½Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² запросС?

Π‘Π΅Π· Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π² список Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ элСмСнты, ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ записи ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅Ρ‚ ΠΏΡ€Π°Π². Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ ΠΈ создаёт риски бСзопасности. НапримСр, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅.

4. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими списками

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° РСшСниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°
Долгая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° списка ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° (ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ) Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½Π°ΡΠ—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° = Π˜ΡΡ‚ΠΈΠ½Π°;
Π’ΠΎΡ€ΠΌΠΎΠ·Π° ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ списка ΠŸΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‡Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠŸΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΉΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ = Π˜ΡΡ‚ΠΈΠ½Π°;
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ‘Ρ‚Ρ€ΠΎΠΊΠΠ°Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π΅ = 50;
Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² памяти ИспользованиС ДинамичСскийБписок Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора = Новый ДинамичСскийБписок("Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура");
Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Если НС Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(КэшБписков.НомСнклатура) Π’ΠΎΠ³Π΄Π°...

Особого внимания заслуТиваСт ДинамичСскийБписок β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ порциями ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. Π•Π³ΠΎ использованиС сокращаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора = Новый ДинамичСскийБписок("Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹");

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ = ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Π‘ΠΏΠΈΡΠΊΠ°.Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ; // Если Π½ΡƒΠΆΠ΅Π½ иСрархичСский просмотр

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ эффСктивный ΠΏΡ€ΠΈΡ‘ΠΌ β€” ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π½Π° сСрвСрС. НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹, Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ Π² список всС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ справочника.

πŸ’‘

ИспользованиС динамичСских списков ΠΈ постраничной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ с большими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² 5-10 Ρ€Π°Π·, особСнно Π½Π° слабых клиСнтских ΠΌΠ°ΡˆΠΈΠ½Π°Ρ….

5. Π Π°Π±ΠΎΡ‚Π° с иСрархичСскими списками ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ заполнСния иСрархичСского списка ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ²:

&НаБСрвСрС

Ѐункция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠ‘ΠΏΠΈΡΠΎΠΊΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ²()

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

Запрос.ВСкст =

"ВЫБРАВЬ

| ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.Бсылка КАК Бсылка,

| ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.НаимСнованиС КАК НаимСнованиС,

| ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.Π­Ρ‚ΠΎΡ‚Π£Π·Π΅Π» КАК Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ°

|Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹ КАК ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹

|Π£ΠŸΠžΠ Π―Π”ΠžΠ§Π˜Π’Π¬ ПО

| ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.ПолноСНаимСнованиС";

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

Бписок = Новый ДинамичСскийБписок;

Бписок.Π˜ΠΌΡΠŸΠΎΠ»ΡΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡ = "Бсылка";

Бписок.Π˜ΠΌΡΠŸΠΎΠ»ΡΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ = "НаимСнованиС";

Бписок.Π˜ΠΌΡΠŸΠΎΠ»ΡΠ“Ρ€ΡƒΠΏΠΏΡ‹ = "Π­Ρ‚ΠΎΡ‚Π£Π·Π΅Π»";

Бписок.Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ”Π°Π½Π½Ρ‹Ρ… = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚;

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Бписок;

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

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для иСрархичСских списков: Π˜ΠΌΡΠŸΠΎΠ»ΡΠ“Ρ€ΡƒΠΏΠΏΡ‹ β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ опрСдСляСт, являСтся Π»ΠΈ элСмСнт Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ β€” Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ установлСно Π² ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Π‘ΠΏΠΈΡΠΊΠ°.Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ. Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ β€” Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ отобраТСния ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΠ’ΡΠ΅Π“Ρ€ΡƒΠΏΠΏΡ‹() ΠΈΠ»ΠΈ Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΠ’ΡΠ΅Π“Ρ€ΡƒΠΏΠΏΡ‹() для управлСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора.Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΠ’ΡΠ΅Π“Ρ€ΡƒΠΏΠΏΡ‹();

Π£ΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΠ»Π΅-Π³Ρ€ΡƒΠΏΠΏΠ° Π² динамичСском спискС|УстановлСно иСрархичСскоС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅|Π”Π°Π½Π½Ρ‹Π΅ отсортированы ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ наимСнованию|ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ ΠΏΡ€Π°Π²Π° доступа ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ

-->

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

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

  • ❌ Бписок Π½Π΅ обновляСтся послС измСнСния Π΄Π°Π½Π½Ρ‹Ρ…
    πŸ”Ή ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ отсутствиС привязки ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ обновлСния.
    πŸ”Ή РСшСниС: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ событиС ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠŸΡ€ΠΈΠΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ для пСрСзаполнСния списка. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ кэш: Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора = НСопрСдСлСно;
  • ❌ Π’ спискС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ элСмСнты
    πŸ”Ή ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Π’ запросС Π½Π΅ ΡƒΡ‡Ρ‚Π΅Π½Π° ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠ° удалСния.
    πŸ”Ή РСшСниС: Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ условиС НЕ ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ Π² запрос.
  • ❌ МСдлСнная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ значСния
    πŸ”Ή ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ индСкс ΠΏΠΎ полю поиска ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ всС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ справочника.
    πŸ”Ή РСшСниС: ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ запрос, выбирая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ поля, ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ индСксы Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….
  • ❌ НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ поиск ΠΏΠΎ списку
    πŸ”Ή ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: НС ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΠ»Π΅ для отобраТСния Π² динамичСском спискС.
    πŸ”Ή РСшСниС: УстановитС свойство Π˜ΠΌΡΠŸΠΎΠ»ΡΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ.

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” нСсоотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Ссли Π² список Π²Ρ‹Π±ΠΎΡ€Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ссылки Π½Π° справочник, Π° Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΈΡ… со строковыми значСниями. ВсСгда провСряйтС Ρ‚ΠΈΠΏΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’ΠΈΠΏΠ—Π½Ρ‡():

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) <> Π’ΠΈΠΏ("БправочникБсылка.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹") Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("НСкоррСктный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…!");

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

πŸ’‘

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ со списками Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ()) β€” это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈΡΡŒ Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅.

7. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности: Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΈ поиск

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ интСрфСйсы 1Π‘ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ статичСскоС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ. НапримСр, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹, ΠΈ список автоматичСски суТаСтся. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами:

Бпособ 1: ИспользованиС события ΠŸΡ€ΠΈΠ’Π²ΠΎΠ΄Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘ΠΏΠΈΡΠΎΠΊΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ΠŸΡ€ΠΈΠ’Π²ΠΎΠ΄Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚, ВСкст, Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Π°ΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°)

Если Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(ВСкст) >= 3 Π’ΠΎΠ³Π΄Π°

Π€ΠΈΠ»ΡŒΡ‚Ρ€ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НаимСнованиС", "%" + ВСкст + "%");

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора.ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠŸΠΎΠΈΡΠΊΠ° = Π€ΠΈΠ»ΡŒΡ‚Ρ€;

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

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

Бпособ 2: ДинамичСский запрос с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ

&НаБСрвСрС

Ѐункция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉΠ‘ΠΏΠΈΡΠΎΠΊ(Π€ΠΈΠ»ΡŒΡ‚Ρ€)

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

Запрос.ВСкст =

"ВЫБРАВЬ

| НомСнклатура.Бсылка КАК Бсылка,

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

|Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

|Π“Π”Π•

| НомСнклатура.НаимСнованиС ΠŸΠžΠ”ΠžΠ‘ΠΠž &Π€ΠΈΠ»ΡŒΡ‚Ρ€";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Π€ΠΈΠ»ΡŒΡ‚Ρ€", Π€ΠΈΠ»ΡŒΡ‚Ρ€);

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ();

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

Для удобства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ горячиС клавиши для быстрого Π²Ρ‹Π±ΠΎΡ€Π°:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Подсказка = "Для поиска Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π²Π²ΠΎΠ΄ названия. Enter β€” Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, Esc β€” ΠΎΡ‚ΠΌΠ΅Π½Π°";

Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ автоматичСскоС Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ списка ΠΏΡ€ΠΈ фокусировкС:

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘ΠΏΠΈΡΠΎΠΊΠŸΡ€ΠΈΠΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΠ’Ρ‹Π±ΠΎΡ€();

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

8. Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€Π°Π²Π° доступа

ΠŸΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ списков Π²Ρ‹Π±ΠΎΡ€Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎ ΠΏΡ€Π°Π²Π°Ρ… доступа. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ Ρ€ΠΎΠ»Π΅Π²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’ 1Π‘ это рСализуСтся Ρ‡Π΅Ρ€Π΅Π·:

  • πŸ” Π ΠΎΠ»ΠΈ ΠΈ ΠΏΡ€Π°Π²Π° β€” настройка Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ›‘οΈ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сСанса β€” Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ.
  • πŸ” Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π±ΠΎΡ€Ρ‹ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π² запросах.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бСзопасного заполнСния списка с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΏΡ€Π°Π²:

&НаБСрвСрС

Ѐункция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ”ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹Π΅Π‘ΠΊΠ»Π°Π΄Ρ‹()

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

Запрос.ВСкст =

"ВЫБРАВЬ РАЗРЕШЕННЫЕ

| Π‘ΠΊΠ»Π°Π΄Ρ‹.Бсылка КАК Бсылка,

| Π‘ΠΊΠ»Π°Π΄Ρ‹.НаимСнованиС КАК НаимСнованиС

|Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Π‘ΠΊΠ»Π°Π΄Ρ‹ КАК Π‘ΠΊΠ»Π°Π΄Ρ‹

|Π“Π”Π•

| Π‘ΠΊΠ»Π°Π΄Ρ‹.ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π’ (&ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ)";

ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡΠ’Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ();

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ", ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ);

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ();

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

Π’Π°ΠΆΠ½ΠΎ: Ссли Π² вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€ΠΎΠ»Π΅Π²Ρ‹Π΅ ограничСния, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ запросам. Иногда ΠΈΠ·-Π·Π° ошибок Π² настройках ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

πŸ’‘

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² доступа Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚.ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΠŸΡ€Π°Π²Π°("Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура", "Π§Ρ‚Π΅Π½ΠΈΠ΅").

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

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

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ список Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ?

Для очистки списка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ():

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

Если список привязан ΠΊ динамичСскому источнику, достаточно ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ НСопрСдСлСно:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.БписокВыбора = НСопрСдСлСно;
МоТно Π»ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ список Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… справочников?

Π”Π°, для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ объСдинСниС запросов ΠΈΠ»ΠΈ создайтС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Запрос.ВСкст =

"ВЫБРАВЬ

| Π’ΠΈΠ΄.НаимСнованиС КАК Π’ΠΈΠ΄,

| ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Бсылка КАК Бсылка,

| ΠžΠ±ΡŠΠ΅ΠΊΡ‚.НаимСнованиС КАК НаимСнованиС

|Π˜Π—

| (ВЫБРАВЬ

| ""НомСнклатура"" КАК Π’ΠΈΠ΄,

| НомСнклатура.Бсылка,

| НомСнклатура.НаимСнованиС

| Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

| ΠžΠ‘ΠͺΠ•Π”Π˜ΠΠ˜Π’Π¬ Π’Π‘Π•

| ВЫБРАВЬ

| ""ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹"",

| ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.Бсылка,

| ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.НаимСнованиС

| Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹ КАК ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹) КАК ΠžΠ±ΡŠΠ΅ΠΊΡ‚";

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ значСния Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ½ΠΎ Π½Π΅ сохраняСтся?

Π§Π°Ρ‰Π΅ всСго это связано с нСсовпадСниСм Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  1. Π’ΠΈΠΏ значСния, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ· списка (Π’ΠΈΠΏΠ—Π½Ρ‡(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)).
  2. Π’ΠΈΠΏ поля Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΡƒΠ΄Π° сохраняСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
  3. НаличиС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° остаётся, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄:

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: " + Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ + " (Π’ΠΈΠΏ: " + Π’ΠΈΠΏΠ—Π½Ρ‡(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) + ")");

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

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ зависимыС списки Π²Ρ‹Π±ΠΎΡ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π΅Π³ΠΈΠΎΠ½ β†’ Π³ΠΎΡ€ΠΎΠ΄)?

Для зависимых списков ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ событиС ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка для заполнСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π Π΅Π³ΠΈΠΎΠ½ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

Если Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π“ΠΎΡ€ΠΎΠ΄Π° = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ“ΠΎΡ€ΠΎΠ΄Π°ΠŸΠΎΠ Π΅Π³ΠΈΠΎΠ½ΡƒΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅);

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π“ΠΎΡ€ΠΎΠ΄.БписокВыбора = Π“ΠΎΡ€ΠΎΠ΄Π°;

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π“ΠΎΡ€ΠΎΠ΄.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = НСопрСдСлСно;

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

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

&НаБСрвСрС

Ѐункция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ“ΠΎΡ€ΠΎΠ΄Π°ΠŸΠΎΠ Π΅Π³ΠΈΠΎΠ½ΡƒΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅(Π Π΅Π³ΠΈΠΎΠ½)

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

Запрос.ВСкст =

"ВЫБРАВЬ

| Π“ΠΎΡ€ΠΎΠ΄Π°.Бсылка КАК Бсылка,

| Π“ΠΎΡ€ΠΎΠ΄Π°.НаимСнованиС КАК НаимСнованиС

|Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Π“ΠΎΡ€ΠΎΠ΄Π° КАК Π“ΠΎΡ€ΠΎΠ΄Π°

|Π“Π”Π•

| Π“ΠΎΡ€ΠΎΠ΄Π°.Π Π΅Π³ΠΈΠΎΠ½ = &Π Π΅Π³ΠΈΠΎΠ½";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Π Π΅Π³ΠΈΠΎΠ½", Π Π΅Π³ΠΈΠΎΠ½);

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

Бписок = Новый БписокЗначСний();

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

Пока Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ»

Бписок.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.НаимСнованиС, Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Бсылка);

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Бписок;

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

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ списка с большим количСством элСмСнтов (10 000+)?

Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списков:

  1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ДинамичСскийБписок с постраничной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ.
  2. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ автоматичСскоС Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏ: Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠΠ²Ρ‚ΠΎΠ Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΠ“Ρ€ΡƒΠΏΠΏΡ‹ = Π›ΠΎΠΆΡŒ;
  3. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΡŒΡ‚Π΅ количСство ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² запросС (Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Бсылка ΠΈ НаимСнованиС).
  4. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ индСксы Π½Π° поля, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄Ρ‘Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ запроса:

Запрос.ВСкст =

"ВЫБРАВЬ ΠŸΠ•Π Π’Π«Π• 1000

| НомСнклатура.Бсылка,

| НомСнклатура.НаимСнованиС

|Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

|Π˜ΠΠ”Π•ΠšΠ‘Π˜Π ΠžΠ’ΠΠ’Π¬ ПО

| НаимСнованиС

|Π“Π”Π•

| НомСнклатура.Π­Ρ‚ΠΎΡ‚Π“ΠΎΠ΄ = &Π“ΠΎΠ΄

| И НомСнклатура.НаимСнованиС ΠŸΠžΠ”ΠžΠ‘ΠΠž &Π€ΠΈΠ»ΡŒΡ‚Ρ€";