Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ GUID (Globally Unique Identifier) ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅, обСспСчивая ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΡƒΡŽ привязку ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… сцСнариях. МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ администраторы ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с вопросом: сколько символов содСрТит GUID Π² 1Π‘ ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ? Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ раскроСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ, Π½ΠΎ ΠΈ практичСскиС Π½ΡŽΠ°Π½ΡΡ‹ использования GUID Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

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

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ "сырым" Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ GUID ΠΈ Π΅Π³ΠΎ строковыми прСдставлСниями β€” ΠΈΠΌΠ΅Π½Π½ΠΎ здСсь ΠΊΡ€ΠΎΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ. Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΊΠΎΠ΄Π΅ конструкции Π²Ρ€ΠΎΠ΄Π΅ {6F9619FF-8B86-D011-B42D-00C04FC964FF} ΠΈΠ»ΠΈ 6F9619FF8B86D011B42D00C04FC964FF ΠΈ задавались вопросом, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΈ выглядят ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ β€” ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Π½ΠΈΠΆΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GUID ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ Π² 1Π‘?

GUID (Globally Unique Identifier) β€” это стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ для:

  • πŸ”Ή ΠžΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (справочники, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, рСгистры ΠΈ Ρ‚.Π΄.)
  • πŸ”Ή ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡ цСлостности ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ
  • πŸ”Ή Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² распрСдСлённых ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах
  • πŸ”Ή Π Π°Π±ΠΎΡ‚Ρ‹ с COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ внСшними систСмами

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… числовых ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Бсылка.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€()), GUID гСнСрируСтся алгоритмичСски ΠΈ Π½Π΅ зависит ΠΎΡ‚ порядка создания записСй. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для:

  • πŸ“Œ Π Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΈΠ»ΠΈΠ°Π»Π°ΠΌΠΈ
  • πŸ“Œ ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями 1Π‘
  • πŸ“Œ Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними сСрвисами (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· REST API ΠΈΠ»ΠΈ web-сСрвисы)

Π’ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8 GUID Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ:

  • πŸ”§ Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (Π²ΠΈΠ΄Π½ΠΎ Π² свойствах ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²)
  • πŸ”§ ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
  • πŸ”§ Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для привязки ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ
πŸ“Š Π“Π΄Π΅ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с GUID Π² 1Π‘?
ΠŸΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅
ΠŸΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними систСмами
Π’ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ΄Π°
НС Ρ€Π°Π±ΠΎΡ‚Π°Π» с GUID

Бколько символов Π² GUID 1Π‘: Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ вопросу: сколько символов содСрТит GUID Π² тСкстовом прСдставлСнии? ΠžΡ‚Π²Π΅Ρ‚ зависит ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ прСдставлСн. Π’ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ основных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°:

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π”Π»ΠΈΠ½Π° (символов) ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² 1Π‘
Π‘ΠΊΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ (с дСфисами) {6F9619FF-8B86-D011-B42D-00C04FC964FF} 38 (36 Ρ†ΠΈΡ„Ρ€ΠΎΠ±ΡƒΠΊΠ² + 2 Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки) Π§Π°Ρ‰Π΅ всСго встрСчаСтся Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅, ΠΆΡƒΡ€Π½Π°Π»Π°Ρ… рСгистрации
Π‘Π΅Π· скобок (с дСфисами) 6F9619FF-8B86-D011-B42D-00C04FC964FF 36 Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… API
Бплошной (Π±Π΅Π· дСфисов) 6F9619FF8B86D011B42D00C04FC964FF 32 Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ (RAW) 16 Π±Π°ΠΉΡ‚ (128 Π±ΠΈΡ‚) 16 (Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅) Π₯ранится Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… SQL, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ "Π΄Π»ΠΈΠ½Π°" GUID всСгда 128 Π±ΠΈΡ‚ (16 Π±Π°ΠΉΡ‚) β€” это Π΅Π³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС. ВсС тСкстовыС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ β€” лишь способы отобраТСния этих Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅. Π’ 1Π‘ 8.3 Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространён скобочный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с дСфисами (38 символов), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½:

  • πŸ“Œ Π›Π΅Π³ΠΊΠΎ распознаётся Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ
  • πŸ“Œ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ инструмСнтов ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
  • πŸ“Œ МСнСС ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ошибкам ΠΏΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с web-сСрвисами ΠΈΠ»ΠΈ REST API ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ этими Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ. НапримСр, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ внСшниС систСмы ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ GUID Π±Π΅Π· скобок ΠΈ дСфисов (32 символа), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ 1Π‘ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ.

πŸ’‘

Π§Ρ‚ΠΎΠ±Ρ‹ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ GUID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² 1Π‘, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅.

Как 1Π‘ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ GUID?

Π’ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ гСнСрация GUID осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнных ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ стандарту UUID вСрсии 4 (random-based). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ формируСтся Π½Π° основС:

  • 🎲 Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Ρ… чисСл
  • πŸ•’ Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вСрсиях)
  • πŸ–₯️ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… характСристик оборудования (MAC-адрСс ΠΈ Π΄Ρ€.)

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° этапы:

  1. Запрос Π½Π° созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ GUID Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() ΠΈΠ»ΠΈ Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
  2. Π’Ρ‹Π·ΠΎΠ² систСмной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Windows CoCreateGuid() (для ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°) ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° 1Π‘ (для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ)
  3. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² тСкстовом Π²ΠΈΠ΄Π΅ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² скобочном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅)

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ GUID Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… зависит ΠΎΡ‚ Π‘Π£Π‘Π”:

  • πŸ—ƒοΈ Microsoft SQL Server: Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… uniqueidentifier (16 Π±Π°ΠΉΡ‚)
  • πŸ—ƒοΈ PostgreSQL: Ρ‚ΠΈΠΏ uuid
  • πŸ—ƒοΈ Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 1Π‘: Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС Π² Ρ„Π°ΠΉΠ»Π΅ Π±Π°Π·Ρ‹

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚: Π² 1Π‘ 7.7 GUID использовались ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎ, Π° ΠΈΡ… гСнСрация Π±Ρ‹Π»Π° ΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠΉ. Начиная с 1Π‘ 8.0, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° Π½Π° стандартныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Ρ‡Ρ‚ΠΎ обСспСчило ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с внСшними систСмами.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² старых конфигурациях 1Π‘ 7.7 ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ "ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅" GUID?

Π’ вСрсиях 7.7 ΠΈΠ½ΠΎΠ³Π΄Π° использовались 16-ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "000000001234ABCD"), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ стандарту UUID. Π­Ρ‚ΠΎ наслСдиС Ρ€Π°Π½Π½ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ нСсовмСстимы с соврСмСнными ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ ΠΎΠ±ΠΌΠ΅Π½Π°.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ GUID Π² 1Π‘: ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

Рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GUID Π½Π° языкС 1Π‘. Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ситуациях.

1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ GUID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…:

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ GUID справочника "НомСнклатура"

Π‘ΡΡ‹Π»ΠΊΠ°ΠΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚ = ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура;

Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉID = Π‘ΡΡ‹Π»ΠΊΠ°ΠΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€();

// Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ {6F9619FF-8B86-D011-B42D-00C04FC964FF}

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉID);

2. ГСнСрация Π½ΠΎΠ²ΠΎΠ³ΠΎ GUID:

// Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

НовыйGUID = Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€();

// МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ GUID

НовыйЭлСмСнт = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚();

НовыйЭлСмСнт.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€(НовыйGUID);

3. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² GUID:

// Π£Π±ΠΈΡ€Π°Π΅ΠΌ скобки ΠΈ дСфисы (38 β†’ 32 символа)

Ѐункция GUIDΠ²Π‘ΠΏΠ»ΠΎΡˆΠ½ΠΎΠΉΠ€ΠΎΡ€ΠΌΠ°Ρ‚(Π—Π½Π°Ρ‡ GUID38)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(GUID38, "{", ""), "}", "");

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

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

БплошнойGUID = GUIDΠ²Π‘ΠΏΠ»ΠΎΡˆΠ½ΠΎΠΉΠ€ΠΎΡ€ΠΌΠ°Ρ‚("{6F9619FF-8B86-D011-B42D-00C04FC964FF}");

// Π’Π΅Ρ€Π½Ρ‘Ρ‚: 6F9619FF-8B86-D011-B42D-00C04FC964FF (36 символов)

БплошнойGUID = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(БплошнойGUID, "-", "");

// Π’Π΅ΠΏΠ΅Ρ€ΡŒ: 6F9619FF8B86D011B42D00C04FC964FF (32 символа)

4. Π Π°Π±ΠΎΡ‚Π° с GUID Π² запросах:

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

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

"ВЫБРАВЬ

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() КАК GUID,

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НаимСнованиС

|Π˜Π—

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

|Π“Π”Π•

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() = &GUID";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("GUID", Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€("6F9619FF-8B86-D011-B42D-00C04FC964FF"));

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

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€() Π² запросах 1Π‘ автоматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строковоС прСдставлСниС GUID Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Однако Π»ΡƒΡ‡ΡˆΠ΅ всСгда ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок.

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ GUID ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅|ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок ΠΏΡ€ΠΈ нСобходимости|Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ прСобразования для совмСстимости|Π’Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° пустых ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… GUID-->

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с GUID Π² 1Π‘

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

1. ΠŸΡƒΡ‚Π°Π½ΠΈΡ†Π° с рСгистром символов:

GUID Π² 1Π‘ чувствитСлСн ΠΊ рСгистру! НапримСр, {6F9619FF-8B86-D011-B42D-00C04FC964FF} ΠΈ {6f9619ff-8b86-d011-b42d-00c04fc964ff} β€” это Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹. ВсСгда сохраняйтС ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ рСгистр.

2. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ сравнСниС GUID:

НСльзя ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ GUID ΠΊΠ°ΠΊ строки! Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

// ΠΠ•ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž:

Если Π‘Ρ‚Ρ€ΠΎΠΊΠ°GUID1 = Π‘Ρ‚Ρ€ΠΎΠΊΠ°GUID2 Π’ΠΎΠ³Π΄Π°

// ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠž:

Если Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€1.Π‘ΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ‚(Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€2) Π’ΠΎΠ³Π΄Π°

3. ΠŸΠΎΡ‚Π΅Ρ€Ρ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок:

МногиС внСшниС систСмы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, REST API) Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ GUID со скобками. Но Π²Π½ΡƒΡ‚Ρ€ΠΈ 1Π‘ ΠΎΠ½ΠΈ часто ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹. ВсСгда уточняйтС трСбования ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ!

4. ГСнСрация GUID Π² Ρ†ΠΈΠΊΠ»Π°Ρ…:

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ создания Π½ΠΎΠ²Ρ‹Ρ… GUID Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ†ΠΈΠΊΠ»Π°Ρ… β€” это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ коллизиям (хотя Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ°Π»Π°). Π›ΡƒΡ‡ΡˆΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π·Π°Ρ€Π°Π½Π΅Π΅.

5. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ GUID Π² Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…:

Π’ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… GUID Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… полях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, uniqueidentifier Π² SQL Server). Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² тСкстовом ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π±Π΅Π· прСобразования Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ.

πŸ’‘

ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ 1Π‘ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GUID (Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€(), Π‘ΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ‚()), Π° Π½Π΅ строковыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

GUID Π² ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ интСграциях

ΠŸΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ 1Π‘ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними систСмами GUID ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€ΠΎΠ»ΡŒ. Рассмотрим ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ сцСнарии:

1. ОбмСн Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ (EnterpriseData):

Π’ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ EnterpriseData (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π΅) GUID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° пСрСдаётся Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ ID ΠΈ выглядит Ρ‚Π°ΠΊ:

<ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ID="6F9619FF-8B86-D011-B42D-00C04FC964FF" ...>

...

</ΠšΠ°Ρ‚Π°Π»ΠΎΠ³>

2. Π Π°Π±ΠΎΡ‚Π° с web-сСрвисами:

ΠŸΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· SOAP ΠΈΠ»ΠΈ REST часто трСбуСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ GUID. НапримСр, для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² JSON ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π΅Π· скобок ΠΈ дСфисов (32 символа):

{

"objectId": "6F9619FF8B86D011B42D00C04FC964FF",

"name": "Π’ΠΎΠ²Π°Ρ€ 1"

}

3. Бинхронизация с 1Π‘:EDT:

Π’ 1Π‘:Enterprise Development Tools GUID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для привязки Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈ сравнСния вСрсий. Π—Π΄Π΅ΡΡŒ критичСски Π²Π°ΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ обновлСниях.

4. ОбмСн с ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ:

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² для 1Π‘ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° 1Π‘:Мобильная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°) GUID ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΈ Π² дСсктопной вСрсии, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ.

πŸ’‘

ΠŸΡ€ΠΈ настройкС ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ соотвСтствиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² GUID Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ. Частая ошибка β€” нСсовпадСниС рСгистра символов Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ….

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ GUID ΠΏΡ€ΠΈ слиянии Π±Π°Π·. Если Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Π°Π·Π°Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ GUID, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚:

  • ⚠️ Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ
  • ⚠️ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚
  • ⚠️ ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ с ошибкой

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ прСобразования ссылок Π² ΠΏΠ»Π°Π½Π°Ρ… ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ настройтС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… GUID для ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ GUID Π² 1Π‘?

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм GUID (особСнно Ссли ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΈΠ· внСшнСй систСмы) рСкомСндуСтся ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ. Π’ΠΎΡ‚ нСсколько способов ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ:

1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярного выраТСния:

Ѐункция ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΠ€ΠΎΡ€ΠΌΠ°Ρ‚GUID(Π—Π½Π°Ρ‡ Π‘Ρ‚Ρ€ΠΎΠΊΠ°GUID) Экспорт

// РСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}

РСгулярка = Новый РСгулярноСВыраТСниС(

"^\{?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\}?$");

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ РСгулярка.ВСст(Π‘Ρ‚Ρ€ΠΎΠΊΠ°GUID);

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

2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· конструктор Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€:

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

НовыйGUID = Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€(Π‘Ρ‚Ρ€ΠΎΠΊΠ°GUID);

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π˜ΡΡ‚ΠΈΠ½Π°;

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π›ΠΎΠΆΡŒ; // ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

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

3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Π±Π°Π·Π΅:

Ѐункция ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΠ£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒGUID(Π—Π½Π°Ρ‡ Π˜ΡΠΊΠΎΠΌΡ‹ΠΉGUID)

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

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

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

|Π˜Π—

| Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Π›ΡŽΠ±ΠΎΠΉΠ‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ КАК Π‘ΠΏΡ€

|Π“Π”Π•

| Π‘ΠΏΡ€.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() = &GUID";

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

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.ΠŸΡƒΡΡ‚ΠΎΠΉ(); // Если пустой - GUID ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½

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

Для массовой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ GUID (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ с ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ:

  1. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ всС GUID ΠΈΠ· источника Π² массив
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π° соотвСтствиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ
  3. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹
  4. Π‘Π²Π΅Ρ€ΠΈΡ‚ΡŒ с Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ
πŸ’‘

ВсСгда Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅ GUID, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников. Ошибки Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ сбоям Π² ΠΎΠ±ΠΌΠ΅Π½Π΅.

FAQ: ЧастыС вопросы ΠΎ GUID Π² 1Π‘

МоТно Π»ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ GUID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π² 1Π‘?

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

  • πŸ”Ή Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ссылки послС пСрСноса Π΄Π°Π½Π½Ρ‹Ρ…
  • πŸ”Ή Π’Ρ‹ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ΡΡŒ с систСмой, Π³Π΄Π΅ GUID Тёстко Π·Π°Π΄Π°Π½Ρ‹
  • πŸ”Ή Π’Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ тСсты с фиксированными ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ

Π’ΠΎ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… конфигурациях GUID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚?

Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ для Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1Π‘:БухгалтСрия ΠΈΠ»ΠΈ 1Π‘:Π£Π’). Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ 1Π‘ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ GUID для стандартных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, справочника "НомСнклатура" ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° "РСализацияВоваровУслуг"), Ρ‡Ρ‚ΠΎΠ±Ρ‹:

  • πŸ”Ή ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ обновлСниях
  • πŸ”Ή Π£ΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌΠΈ конфигурациями
  • πŸ”Ή ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ²

Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ GUID Π² этом случаС Π½Π΅ являСтся ошибкой.

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ GUID Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹?

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ (Π½Π΅ ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с GUID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²!) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ:

Π˜Π‘ = ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.Π­Ρ‚Π°Π‘Π°Π·Π°();

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π˜Π‘ = Π˜Π‘.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€();

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π˜Π‘);

Π­Ρ‚ΠΎΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ настройкС распрСдСлённых ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°Π·.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GUID вмСсто ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ наимСнования для поиска ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²?

ВСхничСски Π΄Π°, Π½ΠΎ это Π½Π΅ всСгда цСлСсообразно. Поиск ΠΏΠΎ GUID:

  • βœ… БыстрСС, Ρ‡Π΅ΠΌ ΠΏΠΎ строковым полям (ΠΊΠΎΠ΄, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅)
  • βœ… Π“Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
  • ❌ НСудобСн для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚)
  • ❌ ΠœΠΎΠΆΠ΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ

Π›ΡƒΡ‡ΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GUID для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² (ΠΎΠ±ΠΌΠ΅Π½, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ), Π° для интСрфСйса β€” ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΈ наимСнования.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎΠ·Π½ΠΈΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ GUID?

Алгоритм Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²:

  1. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² являСтся "Π³Π»Π°Π²Π½Ρ‹ΠΌ" (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ Π±Π°Π·Π΅)
  2. Для "второстСпСнного" ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° сгСнСрируйтС Π½ΠΎΠ²Ρ‹ΠΉ GUID с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
  3. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ всС ссылки Π½Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² исходной Π±Π°Π·Π΅
  4. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΎΠ±ΠΌΠ΅Π½

Π’ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π΅ 1Π‘ для этого прСдусмотрСн ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ "ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ссылок" Π² ΠΏΠ»Π°Π½Π°Ρ… ΠΎΠ±ΠΌΠ΅Π½Π°.