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

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

1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ измСнСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· встроСнный язык

Начнём с ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…: справочников, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΏΠ»Π°Π½ΠΎΠ² Π²ΠΈΠ΄ΠΎΠ² характСристик. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ подходят для Ρ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Π½Π΅ трСбуСтся высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ измСнСния:

  • πŸ“ ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() β€” сохраняСт измСнСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для справочников, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с интСрфСйсом записи.
  • πŸ”„ ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚().Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() β€” Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ синтаксис для получСния ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ.
  • πŸ—‘οΈ ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠΎΠΌΠ΅Ρ‚ΠΊΡƒΠ£Π΄Π°Π»Π΅Π½ΠΈΡ(Π˜ΡΡ‚ΠΈΠ½Π°) β€” программная ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠ° Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ (Π½Π΅ удаляСт физичСски!).
  • πŸ” ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ("НаимСнованиС", "Π’ΠΎΠ²Π°Ρ€1") β€” поиск ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для измСнСния наимСнования справочника НомСнклатура:

НомСнклатура = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ("Π‘Ρ‚Π°Ρ€ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅");

Если НомСнклатура.ΠŸΡƒΡΡ‚Π°Ρ() Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!");

Π˜Π½Π°Ρ‡Π΅

НомСнклатура.НаимСнованиС = "НовоС Π½Π°Π·Π²Π°Π½ΠΈΠ΅";

НомСнклатура.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() Π±Π΅Π· Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ измСнСния Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Если скрипт прСрвётся, Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Π² Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌ состоянии. Для ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ().
πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ массовым ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… сдСлайтС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² тСстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ (Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΠŸΡ€ΠΈΠ’ΠΈΠ΄Π΅ΠšΠ»ΠΈΠ΅Π½Ρ‚ = Π›ΠΎΠΆΡŒ).

2. МассовоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· запросы (UPDATE)

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

Бинтаксис запроса для обновлСния:

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

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

"ВЫБРАВЬ

| ВоварыБсылка КАК Бсылка

|Π˜Π—

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

|Π“Π”Π•

| Π’ΠΎΠ²Π°Ρ€Ρ‹.Артикул ΠΠΠ§Π˜ΠΠΠ•Π’Π‘Π― Π‘ ""ABC""

|

|ΠžΠ‘ΠΠžΠ’Π˜Π’Π¬ Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК Π’ΠΎΠ²Π°Ρ€Ρ‹ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅

|Π£Π‘Π’ΠΠΠžΠ’Π˜Π’Π¬ Π’ΠΎΠ²Π°Ρ€Ρ‹ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.Артикул = ""XYZ"" + ΠŸΠ ΠΠ’(Π’ΠΎΠ²Π°Ρ€Ρ‹ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.Артикул, 5)

|Π“Π”Π• Π’ΠΎΠ²Π°Ρ€Ρ‹ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.Бсылка Π’ (&БписокБсылок)";

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

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

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с запросами:

  • πŸ”— ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€) вмСсто ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ.
  • πŸ“Š Для слоТных условий сначала Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ВЫБРАВЬ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.
  • πŸ”’ Запросы ΠžΠ‘ΠΠžΠ’Π˜Π’Π¬ Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ события ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ), Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ.
ΠœΠ΅Ρ‚ΠΎΠ΄ измСнСния Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() Низкая Высокая (Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚) Π•Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹Π΅ измСнСния
Запрос ΠžΠ‘ΠΠžΠ’Π˜Π’Π¬ Высокая БрСдняя (Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ Π½Π΅ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚) ΠœΠ°ΡΡΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записСй БрСдняя Высокая Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ трансформации
πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для массовых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ?
ВстроСнный язык (ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ)
Запросы (UPDATE)
ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записСй
Π”Ρ€ΡƒΠ³ΠΎΠ΅

3. Π Π°Π±ΠΎΡ‚Π° с рСгистрами накоплСния ΠΈ свСдСний

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

Для рСгистров накоплСния (остатки ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ двиТСния "Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ"

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ = РСгистрыНакоплСния.ВоварыНаБкладах.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ();

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = ВСкущаяДата();

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.Π‘ΠΊΠ»Π°Π΄ = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.Π‘ΠΊΠ»Π°Π΄Ρ‹.Основной;

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.Π’ΠΎΠ²Π°Ρ€ = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ("Π’ΠΎΠ²Π°Ρ€1");

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 10;

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

Для рСгистров свСдСний (Ρ†Π΅Π½Ρ‹, курсы Π²Π°Π»ΡŽΡ‚):

// ОбновлСниС записи рСгистра свСдСний

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

Π—Π°ΠΏΠΈΡΡŒ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = ВСкущаяДата();

Π—Π°ΠΏΠΈΡΡŒ.НомСнклатура = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.Π’ΠΎΠ²Π°Ρ€1;

Π—Π°ΠΏΠΈΡΡŒ.Π¦Π΅Π½Π° = 1000;

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ создании Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π² рСгистрах накоплСния Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ баланс Π΄Π΅Π±Π΅Ρ‚/ΠΊΡ€Π΅Π΄ΠΈΡ‚. НапримСр, ΠΏΡ€ΠΈ списании Ρ‚ΠΎΠ²Π°Ρ€Π° со склада ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π° ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚-основаниС, ΠΈΠ½Π°Ρ‡Π΅ ΠΈΡ‚ΠΎΠ³ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹.
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ссли послС измСнСния рСгистра ΠΈΡ‚ΠΎΠ³ΠΈ Π½Π΅ сходятся?

Если послС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ измСнСния рСгистра накоплСния ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ расхоТдСниС ΠΈΡ‚ΠΎΠ³ΠΎΠ², Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠ² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ (Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ записСй с Π΄Π°Ρ‚ΠΎΠΉ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ).

2. ЗапуститС пСрСсчёт ΠΈΡ‚ΠΎΠ³ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· РСгистрыНакоплСния.Π˜ΠΌΡΠ Π΅Π³ΠΈΡΡ‚Ρ€Π°.ΠŸΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΈ().

3. Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сохраняСтся, восстановитС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ с ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ.

4. ИспользованиС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ для бСзопасности

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ для пСрСмСщСния Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ складами:

ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

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

// БписаниС со склада А

ДвиТСниСБписаниС = РСгистрыНакоплСния.ВоварыНаБкладах.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ();

ДвиТСниСБписаниС.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = ВСкущаяДата();

ДвиТСниСБписаниС.Π‘ΠΊΠ»Π°Π΄ = Π‘ΠΊΠ»Π°Π΄Ρ‹.БкладА;

ДвиТСниСБписаниС.Π’ΠΎΠ²Π°Ρ€ = НомСнклатура.Π’ΠΎΠ²Π°Ρ€1;

ДвиТСниСБписаниС.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = -5; // ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для списания

ДвиТСниСБписаниС.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

// ΠžΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° склад Π‘

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠžΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ = РСгистрыНакоплСния.ВоварыНаБкладах.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ();

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠžΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = ВСкущаяДата();

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠžΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.Π‘ΠΊΠ»Π°Π΄ = Π‘ΠΊΠ»Π°Π΄Ρ‹.Π‘ΠΊΠ»Π°Π΄Π‘;

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠžΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.Π’ΠΎΠ²Π°Ρ€ = НомСнклатура.Π’ΠΎΠ²Π°Ρ€1;

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠžΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 5;

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠžΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

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

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

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

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ: " + ОписаниСОшибки());

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

ΠŸΡ€Π°Π²ΠΈΠ»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с транзакциями:

  • πŸ”„ ВсСгда Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ() ΠΈ Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ() Π² Π±Π»ΠΎΠΊΠ΅ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.
  • ⏱️ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ (Π±ΠΎΠ»Π΅Π΅ 10 сСкунд), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • πŸ“‹ Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Вопрос()), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ.
πŸ’‘

Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅ Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‚ ΠΎΡ‚ логичСских ошибок (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ расчёта суммы). Они Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ сбоях.

5. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записСй для слоТных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² доступа, выполнСния Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записСй. Он прСдоставляСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с прямыми запросами.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° записСй для измСнСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° РСализацияВоваровУслуг:

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.РСализацияВоваровУслуг.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ();

// Находим Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.РСализацияВоваровУслуг.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.НомСр.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ("Π Π’-000123");

Если Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π’ΠΎΠ³Π΄Π°

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ.ΠžΠ±ΡŠΠ΅ΠΊΡ‚ = Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Бсылка;

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ.Π”Π°Ρ‚Π° = ВСкущаяДата() + 86400; // ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌ Π½Π° дСнь Π²ΠΏΠ΅Ρ€Ρ‘Π΄

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(РСТимЗаписиДокумСнта.Π—Π°ΠΏΠΈΡΡŒ);

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° записСй:

  • πŸ” Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°Π²Π° доступа Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • πŸ“‹ ВыполняСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ события ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ).
  • πŸ—‘οΈ ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

6. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

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

Π¨Π°Π³ΠΈ для создания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ (Π€Π°ΠΉΠ» β†’ Новый β†’ Π’Π½Π΅ΡˆΠ½ΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°).
  2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡƒ с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ "Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ" ΠΈ полями для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π°Ρ‚).
  3. Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  4. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .epf ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π€Π°ΠΉΠ» β†’ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ массового измСнСния Ρ†Π΅Π½:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(Команда)

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

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

"ВЫБРАВЬ

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

| ЦСныНомСнклатуры.Π¦Π΅Π½Π° КАК БтараяЦСна

|Π˜Π—

| РСгистрБвСдСний.ЦСныНомСнклатуры КАК ЦСныНомСнклатуры

|Π“Π”Π•

| ЦСныНомСнклатуры.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ ΠœΠ•Π–Π”Π£ &ΠΠ°Ρ‡Π°Π»ΠΎΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π° И &ΠšΠΎΠ½Π΅Ρ†ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°";

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

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

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

ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

Пока Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ»

НоваяЦСна = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.БтараяЦСна * 1.1; // ΠŸΠΎΠ²Ρ‹ΡˆΠ°Π΅ΠΌ Ρ†Π΅Π½Ρƒ Π½Π° 10%

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

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = ВСкущаяДата();

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ.НомСнклатура = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.НомСнклатура;

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ.Π¦Π΅Π½Π° = НоваяЦСна;

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

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

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

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π¦Π΅Π½Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ для " + Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π±Ρ€Π°Π½Π½ΠΎ() + " ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ");

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

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹|ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ|ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π°Π½Π½Ρ‹Ρ… (Π΄Π°Ρ‚Ρ‹, склады)|ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ‹|Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ошибок-->

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

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

Ошибка ΠŸΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΡ Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ
ИзмСнСниС Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ЧастичноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ сбоС ВсСгда ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ()/Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ()
Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π°Π² доступа Ошибки "ΠžΡ‚ΠΊΠ°Π·Π°Π½ΠΎ Π² доступС" Π² Π±ΠΎΠ΅Π²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записСй ΠΈΠ»ΠΈ провСряйтС ΠΏΡ€Π°Π²Π° Ρ‡Π΅Ρ€Π΅Π· ΠŸΡ€Π°Π²Π°Π”ΠΎΡΡ‚ΡƒΠΏΠ°.ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°()
НСучтённыС двиТСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² РасхоТдСниС ΠΈΡ‚ΠΎΠ³ΠΎΠ² Π² рСгистрах ΠŸΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ рСгистров провСряйтС связанныС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ДвиТСнияДокумСнта()
Π”Π»ΠΈΠ½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ† ЗависаниС Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ массовыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎ 100-500 записСй

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° критичная ошибка β€” ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°Ρ… Π±Π΅Π· ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². НапримСр, Ссли Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ мСняСтС сумму Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Π·Π° ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ мСсяц, это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ°Π·ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π½ΠΎΡΡ‚ΡŒ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях:

  1. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ").
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ для старых записСй ΠΈ создавайтС Π½ΠΎΠ²Ρ‹Π΅.
  3. ЀиксируйтС измСнСния Π² рСгистрС свСдСний "Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ".

8. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ массовых измСнСниях

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими ΠΎΠ±ΡŠΡ‘ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (дСсятки тысяч записСй) стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ слишком ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ для ускорСния:

  • ⚑ ΠŸΠ°ΠΊΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΏΠΎΡ€Ρ†ΠΈΠΈ ΠΏΠΎ 500-1000 записСй ΠΈ фиксируйтС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΡ€Ρ†ΠΈΠΈ.
  • πŸ—ƒοΈ Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹: Для слоТных трансформаций сначала Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.
  • πŸ”„ ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ²: Если Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ события ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прямыС запросы ΠžΠ‘ΠΠžΠ’Π˜Π’Π¬.
  • πŸ“‰ Π˜Π½Π΄Π΅ΠΊΡΡ‹: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ поля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² условиях Π“Π”Π•, проиндСксированы.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для массового обновлСния:

// Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ для обновлСния

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

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

"ВЫБРАВЬ

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

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

|ΠŸΠžΠœΠ•Π‘Π’Π˜Π’Π¬ Π’Π’_НомСнклатура

|Π˜Π—

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

|Π“Π”Π•

| НомСнклатура.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ = Π›ΠžΠ–Π¬";

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

// Π¨Π°Π³ 2: ОбновляСм Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ

Π Π°Π·ΠΌΠ΅Ρ€ΠŸΠ°ΠΊΠ΅Ρ‚ΠΎΠ² = 500;

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ = 0;

Пока Π˜ΡΡ‚ΠΈΠ½Π° Π¦ΠΈΠΊΠ»

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

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

"ВЫБРАВЬ ΠŸΠ•Π Π’Π«Π• " + Π Π°Π·ΠΌΠ΅Ρ€ΠŸΠ°ΠΊΠ΅Ρ‚ΠΎΠ² + " Π‘ΠœΠ•Π©Π•ΠΠ˜Π• " + Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ + "

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

|Π˜Π—

| Π’Π’_НомСнклатура КАК Π’Π’_НомСнклатура";

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

Если Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.ΠŸΡƒΡΡ‚ΠΎΠΉ() Π’ΠΎΠ³Π΄Π°

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

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

ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

Пока Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ»

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Бсылка.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚();

ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Артикул = "NEW_" + ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Артикул;

ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

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

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

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ = Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ + Π Π°Π·ΠΌΠ΅Ρ€ΠŸΠ°ΠΊΠ΅Ρ‚ΠΎΠ²;

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ ΠΆΠ΅Ρ€Ρ‚Π²ΡƒΠΉΡ‚Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ. НапримСр, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ остатков ΠΏΡ€ΠΈ списании). ВсСгда тСстируйтС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ скрипты Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ‹.
πŸ’‘

Для ускорСния массовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΎ сокращаСт врСмя выполнСния Π² 5-10 Ρ€Π°Π· ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с поэлСмСнтным ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ.

FAQ: ЧастыС вопросы ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ измСнСнию Π΄Π°Π½Π½Ρ‹Ρ… Π² 1Π‘

Как ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Ссли ΠΎΠ½ ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½?

Для измСнСния ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° сначала Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π·Π°Ρ‚Π΅ΠΌ внСсти измСнСния ΠΈ провСсти Π·Π°Π½ΠΎΠ²ΠΎ:

Π”ΠΎΠΊ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.РСализацияВоваровУслуг.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠΎΠΌΠ΅Ρ€Ρƒ("Π Π’-000123");

Если НЕ Π”ΠΎΠΊ.ΠŸΡƒΡΡ‚Π°Ρ() Π’ΠΎΠ³Π΄Π°

Π”ΠΎΠΊ.ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅();

Π”ΠΎΠΊ.Π”Π°Ρ‚Π° = ВСкущаяДата() + 86400; // ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌ Π½Π° дСнь Π²ΠΏΠ΅Ρ€Ρ‘Π΄

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

Π”ΠΎΠΊ.ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ();

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

Если Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π”ΠΎΠΊ.ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ(Π Π΅ΠΆΠΈΠΌΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ) для ускорСния.

МоТно Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ историчСскиС Π΄Π°Π½Π½Ρ‹Π΅ Π² рСгистрах?

Π”Π°, Π½ΠΎ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ остороТности. Для рСгистров накоплСния:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ" ΠΈΠ»ΠΈ "ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° рСгистров").
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ() с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ.
  3. ПослС измСнСния пСрСсчитайтС ΠΈΡ‚ΠΎΠ³ΠΈ: РСгистр.ΠŸΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΈ().

Для рСгистров свСдСний ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись с Π΄Π°Ρ‚ΠΎΠΉ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ссли Π΅ΡΡ‚ΡŒ зависимости ΠΎΡ‚ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°.

Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΈ массовых измСнСниях?

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ:

  • ВыполняйтС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π½Π΅Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя (Π½ΠΎΡ‡ΡŒΡŽ ΠΈΠ»ΠΈ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅).
  • Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° нСбольшиС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ (ΠΏΠΎ 100-500 записСй) с фиксациСй Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ РСТимУправлСнияБлокировкойДанных.АвтоматичСский для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.
  • Для Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ увСдомляйтС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ() ΠΈΠ»ΠΈ рассылку.
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли послС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ измСнСния Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΠ»ΠΈΡΡŒ?

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

  1. НСмСдлСнно ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΡ‚ Π±Π°Π·Ρ‹ (АдминистрированиС β†’ АктивныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ).
  2. ВосстановитС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию (Ссли измСнСния ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅).
  3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» рСгистрации (АдминистрированиС β†’ Π–ΡƒΡ€Π½Π°Π» рСгистрации) для Π°Π½Π°Π»ΠΈΠ·Π° ошибок.
  4. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ тСстовоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ воспроизвСсти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.
  5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ВСстированиС ΠΈ исправлСниС для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Π±Π°Π·Ρ‹.

Если Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π½Π΅Ρ‚, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ измСнСния Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ (Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ).

Как ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² распрСдСлённой Π±Π°Π·Π΅ 1Π‘?

Π’ распрСдСлённых Π±Π°Π·Π°Ρ… (Π Π˜Π‘) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ измСнСния Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ синхронизации. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°:

  • ВыполняйтС измСнСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΡƒΠ·Π»Π΅.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ПланОбмСна.ИмяПлана.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ() для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ синхронизации.
  • Для массовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠ±ΠΌΠ΅Π½ (ПланОбмСна.ИмяПлана.ΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠžΠ±ΠΌΠ΅Π½()), Π° послС измСнСния запуститС ΠΏΠΎΠ»Π½ΡƒΡŽ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ синхронизации:

ПланОбмСна = ΠŸΠ»Π°Π½Ρ‹ΠžΠ±ΠΌΠ΅Π½Π°.ОсновнойПланОбмСна;

ПланОбмСна.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ(Π˜ΡΡ‚ΠΈΠ½Π°); // ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ запись ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ПланОбмСна.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ(); // Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π°