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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ 5 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов копирования записСй рСгистра свСдСний, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² памяти, прямыС SQL-запросы (для управляСмых Ρ„ΠΎΡ€ΠΌ), использованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ спСциализированныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ ошибкам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΊ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ связСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с тысячами записСй.

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

1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр свСдСний ΠΈ ΠΊΠΎΠ³Π΄Π° трСбуСтся Π΅Π³ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ записСй рСгистра свСдСний ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… сцСнариях:

  • πŸ“ ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ объСдинСнии Π΄Π²ΡƒΡ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈΠ»ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ)
  • πŸ”„ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… настроСк ΠΏΠ΅Ρ€Π΅Π΄ массовыми обновлСниями
  • πŸ§ͺ ВСстированиС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β€” ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы Π½Π° ΠΊΠΎΠΏΠΈΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
  • πŸ”— Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ с сохранСниСм структуры Π΄Π°Π½Π½Ρ‹Ρ…
  • πŸ“Š Аналитика β€” созданиС "снимков" состояния рСгистра Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ для ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ рСгистры свСдСний Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ²: нСзависимыС (хранят Π΄Π°Π½Π½Ρ‹Π΅ сами ΠΏΠΎ сСбС) ΠΈ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ (связаны с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, справочниками). Π­Ρ‚ΠΎ влияСт Π½Π° Π»ΠΎΠ³ΠΈΠΊΡƒ копирования: для ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… рСгистров Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π’Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΏΡ€ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… записСй.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ записСй рСгистра свСдСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ связи с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° "БправочникБсылка"), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ сущСствованиС этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π±Π°Π·Π΅. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ошибки ссылочной цСлостности.

2. Бпособ 1: ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ "Π—Π°ΠΏΠΈΡΡŒΠ Π΅Π³ΠΈΡΡ‚Ρ€Π°Π‘Π²Π΅Π΄Π΅Π½ΠΈΠΉ"

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈ наглядный ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” Ρ€Π°Π±ΠΎΡ‚Π° с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π—Π°ΠΏΠΈΡΡŒΠ Π΅Π³ΠΈΡΡ‚Ρ€Π°Π‘Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π² памяти. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… (Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сотСн записСй) ΠΈ позволяСт Π³ΠΈΠ±ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ процСссом копирования.

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

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ записи рСгистра
  2. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· исходной записи
  3. Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π±Π°Π·Ρƒ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для копирования ΠΎΠ΄Π½ΠΎΠΉ записи рСгистра свСдСний "ЦСныНомСнклатуры":

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ—Π°ΠΏΠΈΡΡŒΠ Π΅Π³ΠΈΡΡ‚Ρ€Π°(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ, Π¦Π΅Π»Π΅Π²ΠΎΠΉΠŸΠ΅Ρ€ΠΈΠΎΠ΄)

Π—Π°ΠΏΠΈΡΡŒ = РСгистрыБвСдСний.ЦСныНомСнклатуры.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ—Π°ΠΏΠΈΡΡŒ();

Π—Π°ΠΏΠΈΡΡŒ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = Π¦Π΅Π»Π΅Π²ΠΎΠΉΠŸΠ΅Ρ€ΠΈΠΎΠ΄;

Π—Π°ΠΏΠΈΡΡŒ.НомСнклатура = Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура;

Π—Π°ΠΏΠΈΡΡŒ.Π¦Π΅Π½Π° = Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.Π¦Π΅Π½Π°;

Π—Π°ΠΏΠΈΡΡŒ.Π’Π°Π»ΡŽΡ‚Π° = Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.Π’Π°Π»ΡŽΡ‚Π°;

Π—Π°ΠΏΠΈΡΡŒ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

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

Для массового копирования ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅:

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = РСгистрыБвСдСний.ЦСныНомСнклатуры.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

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

Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ—Π°ΠΏΠΈΡΡŒΠ Π΅Π³ΠΈΡΡ‚Ρ€Π°(Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°, ВСкущаяДата() + 365); // ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π½Π° Π³ΠΎΠ΄ Π²ΠΏΠ΅Ρ€Π΅Π΄

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ записСй с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ "НомСнклатура + ΠŸΠ΅Ρ€ΠΈΠΎΠ΄") Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΊΠ»ΡŽΡ‡Π°, ΠΈΠ½Π°Ρ‡Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка дублирования.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ рСгистрС|ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ сущСствованиС всСх связанных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²|ΠžΡ†Π΅Π½ΠΈΡ‚ΡŒ объСм Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ|Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ восстановлСния Π±Π°Π·Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ массовыми опСрациями-->

3. Бпособ 2: ИспользованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • ⚑ Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ
  • πŸ”„ Минимальная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
  • πŸ›  Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ β€” Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с использованиСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

// 1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с структурой рСгистра

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

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

Π’Π°Π±Π»ΠΈΡ†Π°ΠšΠΎΠΏΠΈΠΈ.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НомСнклатура", Новый ОписаниСВипов("БправочникБсылка.НомСнклатура"));

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

// 2. ЗаполняСм Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· исходного рСгистра

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = РСгистрыБвСдСний.ЦСныНомСнклатуры.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

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

НоваяБтрока = Π’Π°Π±Π»ΠΈΡ†Π°ΠšΠΎΠΏΠΈΠΈ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

НоваяБтрока.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ + 365; // Π‘Π΄Π²ΠΈΠ³Π°Π΅ΠΌ Π½Π° Π³ΠΎΠ΄

НоваяБтрока.НомСнклатура = Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.НомСнклатура;

НоваяБтрока.Π¦Π΅Π½Π° = Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π¦Π΅Π½Π°;

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

// 3. ЗаписываСм ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ

РСгистрыБвСдСний.ЦСныНомСнклатуры.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(Π’Π°Π±Π»ΠΈΡ†Π°ΠšΠΎΠΏΠΈΠΈ);

Для ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… (дСсятки тысяч записСй) рСкомСндуСтся Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎ 1000-5000 строк:

Π Π°Π·ΠΌΠ΅Ρ€ΠŸΠ°ΠΊΠ΅Ρ‚Π° = 1000;

ВсСгоЗаписСй = Π’Π°Π±Π»ΠΈΡ†Π°ΠšΠΎΠΏΠΈΠΈ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ();

Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ = 0;

Пока Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ < ВсСгоЗаписСй Π¦ΠΈΠΊΠ»

ΠŸΠ°ΠΊΠ΅Ρ‚ = Π’Π°Π±Π»ΠΈΡ†Π°ΠšΠΎΠΏΠΈΠΈ.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ(Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ, Π Π°Π·ΠΌΠ΅Ρ€ΠŸΠ°ΠΊΠ΅Ρ‚Π°);

РСгистрыБвСдСний.ЦСныНомСнклатуры.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(ΠŸΠ°ΠΊΠ΅Ρ‚);

Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ = Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ + Π Π°Π·ΠΌΠ΅Ρ€ΠŸΠ°ΠΊΠ΅Ρ‚Π°;

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€Π¨Π°Π±Π»ΠΎΠ½("ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ %1 ΠΈΠ· %2 записСй", Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ, ВсСгоЗаписСй));

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

πŸ’‘

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΡ‡Π΅Π½ΡŒ большими рСгистрами (Π±ΠΎΠ»Π΅Π΅ 100 000 записСй) ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΡ€Π°Π² ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° РСТимЗаписиРСгистров.ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒΠŸΡ€Π°Π² β€” это ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс Π² 2-3 Ρ€Π°Π·Π°.

4. Бпособ 3: ΠŸΡ€ΡΠΌΡ‹Π΅ SQL-запросы для управляСмых Ρ„ΠΎΡ€ΠΌ

Π’ конфигурациях с управляСмыми Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ (Ρ‚ΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прямыС SQL-запросы для копирования Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ обСспСчиваСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ понимания структуры Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

  • πŸ”§ Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ управляСмого прилоТСния
  • πŸ“Š Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ знания Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ‚Π°Π±Π»ΠΈΡ† Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
  • ⚠️ ОпасСн ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании β€” ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…
  • πŸš€ Π’ 5-10 Ρ€Π°Π· быстрСС стандартных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ SQL-запроса для копирования записСй рСгистра "ΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ":

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

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

"ВЫБРАВЬ

| Π Π΅Π·Π΅Ρ€Π²ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ КАК ΠŸΠ΅Ρ€ΠΈΠΎΠ΄,

| Π Π΅Π·Π΅Ρ€Π²ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ КАК ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ,

| Π Π΅Π·Π΅Ρ€Π²ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.Настройка КАК Настройка,

| Π Π΅Π·Π΅Ρ€Π²ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ КАК Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

|Π˜Π—

| РСгистрБвСдСний.ΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ КАК Π Π΅Π·Π΅Ρ€Π²ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

|Π“Π”Π•

| Π Π΅Π·Π΅Ρ€Π²ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ ΠœΠ•Π–Π”Π£ &ΠΠ°Ρ‡Π°Π»ΠΎΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π° И &ΠšΠΎΠ½Π΅Ρ†ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("ΠΠ°Ρ‡Π°Π»ΠΎΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°", НачалоГода(ВСкущаяДата()));

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("ΠšΠΎΠ½Π΅Ρ†ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°", ΠšΠΎΠ½Π΅Ρ†Π“ΠΎΠ΄Π°(ВСкущаяДата()));

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

Π’Π°Π±Π»ΠΈΡ†Π°Π”Π°Π½Π½Ρ‹Ρ… = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ();

Для записи скопированных Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² рСгистр ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΠ»ΠΈ нСпосрСдствСнно SQL-вставку:

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

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

"Π’Π‘Π’ΠΠ’Π˜Π’Π¬ Π’ РСгистрБвСдСний.ΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

| (ΠŸΠ΅Ρ€ΠΈΠΎΠ΄, ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Настройка, Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)

|Π—ΠΠΠ§Π•ΠΠ˜Π―

| (&ΠŸΠ΅Ρ€ΠΈΠΎΠ΄, &ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, &Настройка, &Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)";

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

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

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

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Настройка", Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Настройка);

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

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΡΠΌΡ‹Π΅ SQL-запросы обходят ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² доступа 1Π‘. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ срСдС ΠΈΠ»ΠΈ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ ΠΏΡ€Π°Π² Π² ΠΊΠΎΠ΄Π΅.

Π§Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π—Π°ΠΏΠΈΡΡŒΠ Π΅Π³ΠΈΡΡ‚Ρ€Π°Π‘Π²Π΅Π΄Π΅Π½ΠΈΠΉ|Π‘ использованиСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†|ΠŸΡ€ΡΠΌΡ‹Π΅ SQL-запросы|Π”Ρ€ΡƒΠ³ΠΈΠ΅ способы-->

5. Бпособ 4: ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…

Часто ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ трСбуСтся Π½Π΅ просто Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ записи, Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. НапримСр, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π°Π»ΡŽΡ‚Ρƒ Ρ†Π΅Π½, ΡΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ. Для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий ΠΈΠ»ΠΈ спСциализированныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии прСобразования:

  • πŸ’° ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ Π²Π°Π»ΡŽΡ‚ β€” пСрСсчСт Ρ†Π΅Π½ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π°Π»ΡŽΡ‚Ρƒ ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ курсу
  • πŸ“… Π‘Π΄Π²ΠΈΠ³ Π΄Π°Ρ‚ β€” пСрСнос всСх ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠ² Π½Π° фиксированный ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»
  • πŸ”— Π—Π°ΠΌΠ΅Π½Π° ссылок β€” привязка ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ справочникам ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ
  • πŸ“Š АгрСгация Π΄Π°Π½Π½Ρ‹Ρ… β€” объСдинСниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… записСй Π² ΠΎΠ΄Π½Ρƒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π°Π»ΡŽΡ‚:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ‘ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ, Π¦Π΅Π»Π΅Π²Π°ΡΠ’Π°Π»ΡŽΡ‚Π°, ΠšΡƒΡ€Ρ)

Π—Π°ΠΏΠΈΡΡŒ = РСгистрыБвСдСний.ЦСныНомСнклатуры.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ—Π°ΠΏΠΈΡΡŒ();

Π—Π°ΠΏΠΈΡΡŒ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄;

Π—Π°ΠΏΠΈΡΡŒ.НомСнклатура = Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура;

Π—Π°ΠΏΠΈΡΡŒ.Π¦Π΅Π½Π° = Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.Π¦Π΅Π½Π° * ΠšΡƒΡ€Ρ; // ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ

Π—Π°ΠΏΠΈΡΡŒ.Π’Π°Π»ΡŽΡ‚Π° = Π¦Π΅Π»Π΅Π²Π°ΡΠ’Π°Π»ΡŽΡ‚Π°;

Π—Π°ΠΏΠΈΡΡŒ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

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

Для массовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ расчСтом Π½ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

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

// ... Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (см. Бпособ 2)

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

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

// РассчитываСм Π½ΠΎΠ²Ρ‹Π΅ Ρ†Π΅Π½Ρ‹

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

ΠšΡƒΡ€Ρ = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠšΡƒΡ€ΡΠ’Π°Π»ΡŽΡ‚(Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π’Π°Π»ΡŽΡ‚Π°, Π¦Π΅Π»Π΅Π²Π°ΡΠ’Π°Π»ΡŽΡ‚Π°, Π‘Ρ‚Ρ€ΠΎΠΊΠ°.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄);

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.НоваяЦСна = Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π΅Π½Π° * ΠšΡƒΡ€Ρ;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π’Π°Π»ΡŽΡ‚Π° = Π¦Π΅Π»Π΅Π²Π°ΡΠ’Π°Π»ΡŽΡ‚Π°;

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

Для слоТных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ вынСсти Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Ѐункция ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒΠ—Π°ΠΏΠΈΡΡŒ(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°();

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ΠŸΠ΅Ρ€ΠΈΠΎΠ΄", ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒΠ”Π°Ρ‚Ρƒ(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.Π‘Π΄Π²ΠΈΠ³Π”Π°Ρ‚));

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("НомСнклатура", Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.ЗамСныБсылок));

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Π¦Π΅Π½Π°", Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠΎΠ²ΡƒΡŽΠ¦Π΅Π½Ρƒ(Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹));

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚;

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

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…?

Для ускорСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ рСкомСндуСтся:

1. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ справочники (Π²Π°Π»ΡŽΡ‚, Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹) Π² памяти Π² Π²ΠΈΠ΄Π΅ соотвСствий

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ для нСзависимых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π² 1Π‘ 8.3.14+)

3. ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ часто ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ расчСтов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, курсы Π²Π°Π»ΡŽΡ‚)

4. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ индСксы Π½Π° врСмя массовой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π² администратора)

6. Бпособ 5: ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ

ΠŸΡ€ΠΈ пСрСносС Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ 1Π‘ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· тСстовой Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΈΠ»ΠΈΠ°Π»Π°ΠΌΠΈ) трСбуСтся ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ особСнности ссылочной цСлостности. Π—Π΄Π΅ΡΡŒ нСльзя просто ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ записи β€” Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ сущСствованиС всСх связанных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π±Π°Π·Π΅.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΌΠ΅ΠΆΠ±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ:

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° НСдостатки Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ°/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° XML БохраняСт всС связи, унивСрсалСн МСдлСнно для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ слоТных структур с мноТСством связСй
ΠŸΡ€ΡΠΌΠΎΠΉ ΠΎΠ±ΠΌΠ΅Π½ Ρ‡Π΅Ρ€Π΅Π· COM Быстро, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ настройки ΠΏΡ€Π°Π² доступа РСгулярный ΠΎΠ±ΠΌΠ΅Π½ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΈΠ»ΠΈΠ°Π»Π°ΠΌΠΈ
Π§Π΅Ρ€Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ доступа ΠΊ Π±Π°Π·Π°ΠΌ НуТно ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ… Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ обновлСниями
ИспользованиС web-сСрвисов Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎ Π‘Π»ΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ОбмСн ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² XML:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ Π΅Π³ΠΈΡΡ‚Ρ€Π’XML(ИмяЀайла)

Π—Π°ΠΏΠΈΡΡŒXML = Новый Π—Π°ΠΏΠΈΡΡŒXML;

Π—Π°ΠΏΠΈΡΡŒXML.ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΠ€Π°ΠΉΠ»(ИмяЀайла);

Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠžΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅XML();

Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠΠ°Ρ‡Π°Π»ΠΎΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°("ЦСныНомСнклатуры");

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = РСгистрыБвСдСний.ЦСныНомСнклатуры.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

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

Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠΠ°Ρ‡Π°Π»ΠΎΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°("Π—Π°ΠΏΠΈΡΡŒ");

Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠΡ‚Ρ€ΠΈΠ±ΡƒΡ‚("ΠŸΠ΅Ρ€ΠΈΠΎΠ΄", Π€ΠΎΡ€ΠΌΠ°Ρ‚(Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄, "Π”Π›Π€=DT"));

Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠΡ‚Ρ€ΠΈΠ±ΡƒΡ‚("НомСнклатура", Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.НомСнклатура.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€());

Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠΡ‚Ρ€ΠΈΠ±ΡƒΡ‚("Π¦Π΅Π½Π°", Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π¦Π΅Π½Π°);

Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠšΠΎΠ½Π΅Ρ†Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°(); // Π—Π°ΠΏΠΈΡΡŒ

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

Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠšΠΎΠ½Π΅Ρ†Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°(); // ЦСныНомСнклатуры

Π—Π°ΠΏΠΈΡΡŒXML.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

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

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π±Π°Π·Ρƒ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ Π΅Π³ΠΈΡΡ‚Ρ€Π˜Π·XML(ИмяЀайла)

Π§Ρ‚Π΅Π½ΠΈΠ΅XML = Новый Π§Ρ‚Π΅Π½ΠΈΠ΅XML;

Π§Ρ‚Π΅Π½ΠΈΠ΅XML.ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΠ€Π°ΠΉΠ»(ИмяЀайла);

Пока Π§Ρ‚Π΅Π½ΠΈΠ΅XML.ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ() Π¦ΠΈΠΊΠ»

Если Π§Ρ‚Π΅Π½ΠΈΠ΅XML.Π’ΠΈΠΏΠ£Π·Π»Π° = Π’ΠΈΠΏΠ£Π·Π»Π°XML.НачалоЭлСмСнта Π’ΠΎΠ³Π΄Π°

Если Π§Ρ‚Π΅Π½ΠΈΠ΅XML.Имя = "Π—Π°ΠΏΠΈΡΡŒ" Π’ΠΎΠ³Π΄Π°

Π—Π°ΠΏΠΈΡΡŒ = РСгистрыБвСдСний.ЦСныНомСнклатуры.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ—Π°ΠΏΠΈΡΡŒ();

Π—Π°ΠΏΠΈΡΡŒ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = Π§Ρ‚Π΅Π½ΠΈΠ΅XML.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΡ‚Ρ€ΠΈΠ±ΡƒΡ‚("ΠŸΠ΅Ρ€ΠΈΠΎΠ΄");

Π—Π°ΠΏΠΈΡΡŒ.НомСнклатура = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ(Π§Ρ‚Π΅Π½ΠΈΠ΅XML.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΡ‚Ρ€ΠΈΠ±ΡƒΡ‚("НомСнклатура"));

Π—Π°ΠΏΠΈΡΡŒ.Π¦Π΅Π½Π° = Π§Ρ‚Π΅Π½ΠΈΠ΅XML.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΡ‚Ρ€ΠΈΠ±ΡƒΡ‚("Π¦Π΅Π½Π°");

Π—Π°ΠΏΠΈΡΡŒ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

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

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

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

Π§Ρ‚Π΅Π½ΠΈΠ΅XML.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΌΠ΅ΠΆΠ±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ провСряйтС соотвСтствиС вСрсий ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ. Π Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ структуры рСгистров свСдСний, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкам ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅.
πŸ’‘

Для ΠΌΠ΅ΠΆΠ±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΌΠ΅Ρ‚ΠΎΠ΄ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€()), Π° Π½Π΅ ссылки β€” это Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ привязку Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ID Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Π°Π·Π°Ρ….

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

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ записСй рСгистра свСдСний Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы. Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС ошибки ΠΈ способы ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ.

Ошибка 1: Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

Π‘ΠΈΠΌΠΏΡ‚ΠΎΠΌΡ‹: Ошибка ΠΏΡ€ΠΈ записи с тСкстом "ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для индСкса..."

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ запись с Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ, которая ΡƒΠΆΠ΅ сущСствуСт.

РСшСниС:

  • πŸ”‘ ВсСгда провСряйтС сущСствованиС записи ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ
  • πŸ“… Π˜Π·ΠΌΠ΅Π½ΡΠΉΡ‚Π΅ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сдвигайтС ΠΏΠ΅Ρ€ΠΈΠΎΠ΄)
  • πŸ”„ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠŸΠΎΡΠ»Π΅Π΄Π½ΡŽΡŽΠ’Π΅Ρ€ΡΠΈΡŽ() для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Ошибка 2: ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ссылочной цСлостности

Π‘ΠΈΠΌΠΏΡ‚ΠΎΠΌΡ‹: Ошибки Π²ΠΈΠ΄Π° "НС Π½Π°ΠΉΠ΄Π΅Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ссылки" ΠΈΠ»ΠΈ "НСдопустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅"

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Π’ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π±Π°Π·Π΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ записи.

РСшСниС:

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сущСствования Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹

Если НЕ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ(Π˜ΠΌΡΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹)) Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("НомСнклатура Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°: " + Π˜ΠΌΡΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹);

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

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

Ошибка 3: ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с транзакциями

Π‘ΠΈΠΌΠΏΡ‚ΠΎΠΌΡ‹: Π”Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ Π±Π°Π·Π° "зависаСт" ΠΏΡ€ΠΈ массовых опСрациях.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Блишком большиС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ отсутствиС контроля Π½Π°Π΄ Π½ΠΈΠΌΠΈ.

РСшСниС:

  • πŸ“¦ Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎ 100-1000 записСй
  • πŸ”„ Π―Π²Π½ΠΎ управляйтС транзакциями:
ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

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

// ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

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

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ОписаниСОшибки());

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

Ошибка 4: ΠŸΠΎΡ‚Π΅Ρ€Ρ пСриодичности

Π‘ΠΈΠΌΠΏΡ‚ΠΎΠΌΡ‹: Π’ рСгистрС ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ записи с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ пропусками.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Ρ‚ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

РСшСниС:

  • πŸ“… ВсСгда явно устанавливайтС ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π½ΠΎΠ²ΠΎΠΉ записи
  • πŸ” Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ() для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ коррСктности Π΄Π°Ρ‚
  • πŸ“Š Для историчСских Π΄Π°Π½Π½Ρ‹Ρ… сохраняйтС ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹

Ошибка 5: ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа

Π‘ΠΈΠΌΠΏΡ‚ΠΎΠΌΡ‹: Ошибки Π²ΠΈΠ΄Π° "НСдостаточно ΠΏΡ€Π°Π² для записи Π² рСгистр..."

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π² Π½Π° запись Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ рСгистр.

РСшСниС:

  • πŸ” ВыполняйтС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ
  • πŸ›‘ Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΡ€Π°Π² (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для администраторов!):
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π—Π°ΠΏΠΈΡΠΈ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒΠŸΡ€Π°Π², РСТимЗаписиРСгистров", Π˜ΡΡ‚ΠΈΠ½Π°, РСТимЗаписиРСгистров.ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒΠŸΡ€Π°Π²);

РСгистрыБвСдСний.ЦСныНомСнклатуры.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(Π’Π°Π±Π»ΠΈΡ†Π°Π”Π°Π½Π½Ρ‹Ρ…, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π—Π°ΠΏΠΈΡΠΈ);

8. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

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

1. ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² способС 2, Ρ€Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎ 1000-5000 записСй. Π­Ρ‚ΠΎ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ΠΈ ускоряСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

2. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ

Для массовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π—Π°ΠΏΠΈΡΠΈ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°;

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π—Π°ΠΏΠΈΡΠΈ.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒΠ—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅", Π›ΠΎΠΆΡŒ);

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π—Π°ΠΏΠΈΡΠΈ.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒΠ£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ", Π›ΠΎΠΆΡŒ);

РСгистр.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(Π”Π°Π½Π½Ρ‹Π΅, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π—Π°ΠΏΠΈΡΠΈ);

3. ИспользованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†

Для слоТных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΡ…, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ записывайтС Π² рСгистр.

4. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ запросов

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… для копирования:

  • 🎯 Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ индСксированныС поля Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°
  • πŸ“Š Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ
  • πŸ”„ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… запросов

5. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

Π’ вСрсиях 1Π‘ 8.3.14+ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ для нСзависимых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ = Новый Массив();

Для ΠΠΎΠΌΠ΅Ρ€Π°ΠŸΠ°ΠΊΠ΅Ρ‚Π° = 1 По ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠŸΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π¦ΠΈΠΊΠ»

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Новый ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°("ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠŸΠ°ΠΊΠ΅Ρ‚Π°", ΠΠΎΠΌΠ΅Ρ€Π°ΠŸΠ°ΠΊΠ΅Ρ‚Π°));

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

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ = ΠΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½Ρ‹Π΅ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ(ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, 4); // 4 ΠΏΠΎΡ‚ΠΎΠΊΠ°

6. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ прогрСсса

Для Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ прогрСсса:

ВсСгоЗаписСй = Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ();

Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ = 0;

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

Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ = Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ + 1;

Если Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ % 100 = 0 Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€Π¨Π°Π±Π»ΠΎΠ½("ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ %1 ΠΈΠ· %2 (%3%)",

Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ, ВсСгоЗаписСй, ΠšΡ€ΡƒΠ³(Π’Π΅ΠΊΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ/ВсСгоЗаписСй*100)));

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

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

7. ВСстированиС Π½Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ…

ΠŸΠ΅Ρ€Π΅Π΄ массовым ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ всСгда тСстируйтС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π½Π° нСбольшой Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… (10-100 записСй), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² коррСктности Π»ΠΎΠ³ΠΈΠΊΠΈ.

πŸ’‘

Для рСгистров с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 100 000 записСй рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π²Π½Π΅ΡˆΠ½ΠΈΡ… инструмСнтов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1C:EDT ΠΈΠ»ΠΈ спСциализированныС ETL-Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ) вмСсто встроСнных ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² 1Π‘.

FAQ: ЧастыС вопросы ΠΏΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ рСгистров свСдСний

Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ записи рСгистра?

Для копирования Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… записСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠŸΠΎΡΠ»Π΅Π΄Π½ΡŽΡŽΠ’Π΅Ρ€ΡΠΈΡŽ() ΠΈΠ»ΠΈ ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠΎ Π΄Π°Ρ‚Π΅ Π² запросС:

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = РСгистрыБвСдСний.ЦСныНомСнклатуры.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.ΠžΡ‚Π±ΠΎΡ€.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ(ВСкущаяДата());

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

// ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… записСй

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

Или Ρ‡Π΅Ρ€Π΅Π· запрос:

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

| ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΡ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ КАК ΠŸΠ΅Ρ€ΠΈΠΎΠ΄,

| ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΡ.НомСнклатура КАК НомСнклатура

|Π˜Π—

| РСгистрБвСдСний.ЦСныНомСнклатуры.ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΡ(&Π”Π°Ρ‚Π°ΠžΡ‚Π±ΠΎΡ€Π°) КАК ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΡ";

МоТно Π»ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рСгистр ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ конфигурациями?

Π”Π°, Π½ΠΎ с ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ:

  1. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ рСгистров Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ (Ρ‚Π΅ ΠΆΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΈ измСрСния)