Π Π°Π±ΠΎΡ‚Π° с Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² систСмах 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8 часто сталкиваСтся с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ нСстандартного отобраТСния ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½ΠΎΠΌΠ΅Ρ€ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ всСх настроСк Π½ΡƒΠΌΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°: ΠΊ прСфиксу (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Π‘Π§-" ΠΈΠ»ΠΈ "Π”ΠžΠ“-") ΠΈ порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ автоматичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Π½ΡƒΠ»ΠΈ для выравнивания разрядности. Однако ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними систСмами, Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π² XML/JSON ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ спСцифичСских ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ «чистый» Π½ΠΎΠΌΠ΅Ρ€ β€” ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… символов.

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

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

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° формирования Π½ΠΎΠΌΠ΅Ρ€Π° Π² 1Π‘

Π§Ρ‚ΠΎΠ±Ρ‹ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лишниС символы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ формируСтся ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ строковоС прСдставлСниС Π½ΠΎΠΌΠ΅Ρ€Π°. Π’ конфигурациях Π½Π° Π±Π°Π·Π΅ Π‘Π‘ΠŸ (Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° стандартных подсистСм) ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… Π·Π° этот процСсс ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «НумСратор» ΠΈΠ»ΠΈ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля `ΠžΠ±Ρ‰Π΅Π³ΠΎΠΠ°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ`. БистСма Π±Π΅Ρ€Π΅Ρ‚ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, дополняСт Π΅Π³ΠΎ нулями слСва Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π΅ΠΈΠ²Π°Π΅Ρ‚ прСфикс.

Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ числовоС прСдставлСниС Π½ΠΎΠΌΠ΅Ρ€Π° ΠΈ Π΅Π³ΠΎ строковоС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π’Π½ΡƒΡ‚Ρ€ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ часто хранится ΠΊΠ°ΠΊ число (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 5), Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ показываСтся ΠΊΠ°ΠΊ "00005" ΠΈΠ»ΠΈ "Π”ΠžΠ“-00005". ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° программист пытаСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со строкой, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ `.НомСр`, Π½Π΅ учитывая, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΡƒΠΆΠ΅ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π°.

БущСствуСт нСсколько сцСнариСв, ΠΊΠΎΠ³Π΄Π° трСбуСтся Β«Π³ΠΎΠ»Ρ‹ΠΉΒ» Π½ΠΎΠΌΠ΅Ρ€:

  • πŸ” Поиск ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ: внСшняя систСма ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ "123", Π° Π² Π±Π°Π·Π΅ ΠΎΠ½ хранится ΠΊΠ°ΠΊ "Π‘Π§-00000123".
  • πŸ“„ ΠŸΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹: Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Π±Π΅Π· Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² спСцифичСских Π³Ρ€Π°Ρ„Π°Ρ….
  • πŸ”„ Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ: ΠΎΠ±ΠΌΠ΅Π½ с сайтом ΠΈΠ»ΠΈ маркСтплСйсом, Π³Π΄Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½ΠΎΠΌΠ΅Ρ€Π° строго Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½.

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

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ получСния Π½ΠΎΠΌΠ΅Ρ€Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
ΠŸΡ€ΡΠΌΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
ΠœΠ΅Ρ‚ΠΎΠ΄ .НомСр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
Π§Π΅Ρ€Π΅Π· запрос ΠΊ рСгистру
НС знаю, Π±Π΅Ρ€Ρƒ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄: Ρ€Π°Π±ΠΎΡ‚Π° со строковыми функциями

Π‘Π°ΠΌΡ‹ΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ, Π½ΠΎ Π½Π΅ всСгда самый ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ β€” использованиС строковых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для очистки ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ значСния. Если Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ строка Π²ΠΈΠ΄Π° "АВ-00125", Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ рСгулярныС выраТСния, Ссли ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΡ… Π² вашСй вСрсии.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ всСх извСстных прСфиксов ΠΈ символов "-" ΠΈΠ»ΠΈ "/". Однако, Ссли прСфиксы динамичСскиС ΠΈΠ»ΠΈ ΠΈΡ… список Π²Π΅Π»ΠΈΠΊ, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ становится Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ. Π‘ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ†ΠΈΡ„Ρ€Ρƒ Π² строкС ΠΈ ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ всё, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π΄ΠΎ Π½Π΅Ρ‘, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ остаток Π² число, Ρ‡Ρ‚ΠΎΠ±Ρ‹ автоматичСски ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Π½ΡƒΠ»Π΅ΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° встроСнном языкС:

Ѐункция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ§ΠΈΡΡ‚Ρ‹ΠΉΠΠΎΠΌΠ΅Ρ€(ΠŸΠΎΠ»Π½Ρ‹ΠΉΠΠΎΠΌΠ΅Ρ€)

// УдаляСм всС Π½Π΅Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ символы, оставляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹

ЧистаяБтрока = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(ΠŸΠΎΠ»Π½Ρ‹ΠΉΠΠΎΠΌΠ΅Ρ€, "-", "");

ЧистаяБтрока = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(ЧистаяБтрока, "АВ", ""); // ΠŸΡ€ΠΈΠΌΠ΅Ρ€ статичСского прСфикса

// ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π² число ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² строку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠ»ΠΈ

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π‘Ρ‚Ρ€ΠΎΠΊΠ°(Число(ЧистаяБтрока));

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

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ дСмонстрируСт Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ: ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π² Ρ‚ΠΈΠΏ Число автоматичСски отбрасываСт Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Π½ΡƒΠ»ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ "005" ΠΈ "5" β€” это ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅.

Однако, Ссли Π½ΠΎΠΌΠ΅Ρ€ содСрТит Π±ΡƒΠΊΠ²Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ части (Ρ‡Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… спСцифичСских Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π°Ρ…), Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ сломаСт Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ со стандартным порядковым Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° 1Π‘.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ БтрНайти(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ символа, Ссли прСфикс ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ. Π­Ρ‚ΠΎ Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅, Ρ‡Π΅ΠΌ ТСсткоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ фиксированного количСства символов слСва.

ИспользованиС свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Бсылка

Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Π½Π΅ ΠΊ строковому ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ, Π° ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ссылки. Π’ 1Π‘ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ свойством, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π½ΠΎΠΌΠ΅Ρ€ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ прСфикса. Π’ старых вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… контСкстах это свойство ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Π½ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° Π΅Π΄ΠΈΠ½Π°.

Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ свойство, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ числовой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° ΠΈΠ»ΠΈ Π³ΠΎΠ΄Π°, игнорируя Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ этому свойству позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ². Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π³Π΄Π΅ каТдая лишняя опСрация со строкой сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Рассмотрим Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ сравнСния ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ДокумСнтБсылка:

ΠœΠ΅Ρ‚ΠΎΠ΄ доступа Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ НаличиС прСфикса НаличиС Π½ΡƒΠ»Π΅ΠΉ
Бсылка.НомСр Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π•ΡΡ‚ΡŒ Π•ΡΡ‚ΡŒ
Бсылка.Код (для справочников) Π‘Ρ‚Ρ€ΠΎΠΊΠ°/Число Зависит ΠΎΡ‚ настроСк Зависит ΠΎΡ‚ настроСк
Бсылка.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ UUID НСт НСт
Π§Π΅Ρ€Π΅Π· запрос (РСгистр Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ) Число НСт НСт

К соТалСнию, Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ДокумСнтБсылка Π½Π΅Ρ‚ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ свойства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚Π΄Π°Π²Π°Π»ΠΎ Π±Ρ‹ «чистоС» число Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π΅Π· использования запросов ΠΈΠ»ΠΈ хитростСй. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ часто приходится ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. НапримСр, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строку ΠΈ сразу привСсти Π΅Ρ‘ ΠΊ Ρ‚ΠΈΠΏΡƒ Число, Ссли извСстно, Ρ‡Ρ‚ΠΎ прСфикс ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° совмСстимости ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ВсСгда тСстируйтС ΠΊΠΎΠ΄ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Ρƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°.

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· запрос ΠΊ рСгистрам Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π‘Π°ΠΌΡ‹ΠΉ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΈ Β«ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉΒ» с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ 1Π‘ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Π±Π΅Π· прСфикса ΠΈ Π½ΡƒΠ»Π΅ΠΉ β€” ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· запрос. Π’ систСмС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ рСгистры свСдСний (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, РСгистрБвСдСний.НумСрацияДокумСнтов Π² Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… конфигурациях), Π³Π΄Π΅ хранятся числовыС значСния Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ².

ИспользованиС запроса позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Ρ‚ΠΈΠΏΠ° Число, Ρ‡Ρ‚ΠΎ автоматичСски Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Π½ΡƒΠ»Π΅ΠΉ. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ строки, достаточно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΈΠ· рСгистра ΠΏΠΎ ссылкС Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прСфиксы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² рСгистрС Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСфикс ΠΈ Π½ΠΎΠΌΠ΅Ρ€ часто хранятся Π² разнСсСнных полях ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ хранится Π² чистом Π²ΠΈΠ΄Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° запроса:

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

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

"ВЫБРАВЬ

| НумСрация.Бсылка КАК Бсылка,

| НумСрация.НомСр КАК ЧистыйНомСр

|Π˜Π—

| РСгистрБвСдСний.НумСрацияДокумСнтов КАК НумСрация

|Π“Π”Π•

| НумСрация.Бсылка = &БсылкаНаДокумСнт";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("БсылкаНаДокумСнт", БсылкаНаДок);

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

// Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.ЧистыйНомСр Π±ΡƒΠ΄Π΅Ρ‚ числом, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 15, Π° Π½Π΅ "00015"

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ систСма присвоила Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ, минуя всС ΡƒΡ€ΠΎΠ²Π½ΠΈ форматирования для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ запрос быстрСС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅?

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ списка Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ рСгистру Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ запрос Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° порядок быстрСС, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ свойства .НомСр Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ссылки, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сниТаСтся количСство мСТконтСкстных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прСфиксов ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ

Π’ слоТных конфигурациях прСфиксы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Π€ΠΈΠ»ΠΈΠ°Π»-Π‘ΠΊΠ»Π°Π΄-Π”ΠžΠš-001"). Π’ Ρ‚Π°ΠΊΠΈΡ… случаях простая Π·Π°ΠΌΠ΅Π½Π° Π½Π΅ сработаСт. НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π°Π·Π±ΠΎΡ€Π° строки. Часто прСфикс ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° дСфисом, ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ΠΈΠ»ΠΈ слэшСм.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ со строкой, эффСктивным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ являСтся Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ строки ΠΏΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŽ ΠΈ взятиС послСднСго элСмСнта массива. Ѐункция Π‘Ρ‚Ρ€Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ позволяСт Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ строку "АВ-005" Π½Π° массив ["АВ", "005"]. Π—Π°Ρ‚Π΅ΠΌ послСдний элСмСнт приводится ΠΊ числу. Π­Ρ‚ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ способ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π΄Π°ΠΆΠ΅ Ссли прСфиксы ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ.

Алгоритм дСйствий:

  • πŸ“ ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ (Ρ‡Π°Ρ‰Π΅ всСго это дСфис -).
  • βœ‚οΈ Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ строку Π½Π° части с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π‘Ρ‚Ρ€Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ.
  • πŸ”’ Π’Π·ΡΡ‚ΡŒ послСднюю Ρ‡Π°ΡΡ‚ΡŒ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π² Число.
  • βœ… ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² строку, Ссли трСбуСтся строковый Ρ‚ΠΈΠΏ Π±Π΅Π· Π½ΡƒΠ»Π΅ΠΉ.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ прСфикс сливаСтся с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "АВ123"). Π’ΠΎΠ³Π΄Π° потрСбуСтся использованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ поиск ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ Π±ΡƒΠΊΠ² ΠΊ Ρ†ΠΈΡ„Ρ€Π°ΠΌ. Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ строкС Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΈ Π½Π°ΠΉΡ‚ΠΈ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа, входящСго Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ "0"-"9".

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

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

ΠŸΡ€ΠΈ написании ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ очистки Π½ΠΎΠΌΠ΅Ρ€Π° стоит ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° сущСствованиС прСфикса. Если прСфикса Π½Π΅Ρ‚, Π° Π½ΠΎΠΌΠ΅Ρ€ сразу начинаСтся с Ρ†ΠΈΡ„Ρ€Ρ‹ (Π΄Π°ΠΆΠ΅ с нуля), Π»ΠΎΠ³ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ этот случай, просто убирая Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Π½ΡƒΠ»ΠΈ. ИспользованиС встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π€ΠΎΡ€ΠΌΠ°Ρ‚ с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΡƒΠ»ΠΈ, поэтому Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны.

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

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

Как ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠ»ΠΈ, Ссли Π½ΠΎΠΌΠ΅Ρ€ хранится ΠΊΠ°ΠΊ строка "0005"?

Π‘Π°ΠΌΡ‹ΠΉ простой способ β€” привСсти строку ΠΊ Ρ‚ΠΈΠΏΡƒ Число, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΊ Π‘Ρ‚Ρ€ΠΎΠΊΠ΅. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Π‘Ρ‚Ρ€ΠΎΠΊΠ°(Число("0005")) Π²Π΅Ρ€Π½Π΅Ρ‚ "5". Π­Ρ‚ΠΎ стандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ встроСнного языка 1Π‘.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ настройки Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΡƒΠ»ΠΈ Π½Π΅ добавлялись?

Π’ стандартном интСрфСйсС настройки Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ 1Π‘ Π½Π΅Ρ‚ ΠΎΠΏΡ†ΠΈΠΈ "Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Π½ΡƒΠ»ΠΈ". Π Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° задаСтся ТСстко. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹), Π° Π½Π΅ настройки ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π² XML Π½ΠΎΠΌΠ΅Ρ€ дублируСтся с нулями?

ΠŸΡ€ΠΈ сСриализации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° 1Π‘ Π² XML ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ строковоС прСдставлСниС поля НомСр, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, Π½ΡƒΠΆΠ½ΠΎ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² схСмС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ΄Π΅ формирования XML, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅ (числовоС ΠΈΠ»ΠΈ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½ΠΎΠ΅) Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ.

Как Π½Π°ΠΉΡ‚ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Π±Π΅Π· прСфикса?

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

πŸ’‘

НаиболСС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ являСтся ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· рСгистра Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· запрос, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ошибки парсинга строк ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.