ΠΠ΄ΡΠ°Π²ΠΎ, ΠΏΡΠ°Π²ΠΈΠΌ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π·Π° ΠΠΠΠ‘
ΠΡΠ΅ΡΠΈΡΠΈ ΡΠ½Π°Π³Ρ! (... ΡΠ°ΠΊΠΎΡΠ΅ ΡΠΆΠΈΠ²Π°ΡΡΠ΅ Ρ Π½Π°ΡΡΡΠΏΡ)
Π‘Π²Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ ΡΠΈΠ½ΠΈ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» Π°ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΌ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ° Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΎΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ΅ΠΌ ΠΊΠΎΡΠ΅ ΡΠ°Π΄Π΅ ΡΠ° Π±Π°Π·Π°ΠΌΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. Π£ ΡΠ°ΠΊΠ²ΠΈΠΌ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΠΌΠ° ΡΠ΅ΡΡΠΎ ΠΏΠΎΡΡΠΎΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π° Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΎΠΌ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°.
ΠΠ°ΠΎ ΡΡΠΎ ΡΠ΅ Π³ΠΎΡΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡΠΎ, Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» ΠΈΠΌΠ° ΡΠ³ΡΠ°ΡΠ΅Π½Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅Π³ΠΎΠ²ΠΎΠ³ ΡΠ°Π΄Π° ΡΠ΅ Π΄Π° ΡΠ·Π°ΡΡΠΎΠΏΠ½ΠΎ ΠΈΠ·Π²ΡΡΠ°Π²Π° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠ° ΡΠ²Π΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠ°Π΄ΡΠΆΠ°Π½Π΅ Ρ Π³Π»Π°Π²Π½ΠΎΠΌ Π΄Π½Π΅Π²Π½ΠΈΠΊΡ (ΠΠΠ). ΠΠ±ΠΈΡΠ½ΠΎ ΡΠ°ΠΊΠ²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° (Π΄Π°ΡΠ΅ ΡΠ΅ΠΌΠΎ ΡΠ΅ Π½Π°Π·Π²Π°ΡΠΈ Π½ΠΈΠ·Π°ΠΊ Π½ΠΈΠ²ΠΎ) ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π΄Π° Π±ΠΈ ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠ»Π° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠΈΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΈ/ΠΈΠ»ΠΈ Π·Π° ΡΠ°ΡΠΏΠΎΠ΄Π΅Π»Ρ ΠΎΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ° ΡΠΈΡΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ ΡΠ²ΠΎΡΠΎΠ²Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
ΠΠΈΡΠΈΠ½Π°Ρ. 1. Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ½ΡΡΠ°Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
ΠΡΠΈΠΌΠ΅Ρ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ ΡΡΠ΅Π½Π°ΡΠΈΡΠ° Π±ΠΈ Π±ΠΈΠΎ ΠΏΡΠ΅Π½ΠΎΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈΡ Ρ ΡΠ΅Π΄Π½ΠΎΡ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ Π΄ΡΡΠ³Ρ Π±Π°Π·Ρ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΡΠ°Π΄ΠΈ ΠΎΠ±ΡΠ°Π΄Π΅/Π½Π°Π΄Π³Π»Π΅Π΄Π°ΡΠ°. Π£ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°ΡΡ, ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ΅ΡΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π° Π²ΠΈΡΠΎΠΊ Π½ΠΈΠ²ΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° β ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π½Π° Π½ΠΈΠ²ΠΎΡ ΠΏΠΎΡΠ»ΠΎΠ²Π½Π΅ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅. ΠΠ½Π΅. ΠΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠΎ Π³ΠΎΡΠΎΠ²ΠΎ ΡΠ΅ΡΠ΅ΡΠ΅ ΡΠ³ΡΠ°ΡΠ΅Π½ΠΎ Ρ ΠΠΠΠ‘, Π²Π΅Ρ ΡΠ°ΠΌΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ Ρ ΠΎΠΊΠ²ΠΈΡΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΡ ΡΠ°Π·Π²ΠΈΡΠ°ΠΌΠΎ. ΠΠ²Π°Ρ ΠΏΡΠΈΡΡΡΠΏ ΠΈΠΌΠ° ΠΈ ΠΏΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ΅. Π₯Π°ΡΠ΄Π΅ Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΠΌΠΎ ΠΏΡΠ΅Π΄Π½ΠΎΡΡΠΈ.
1. Π£ΡΡΠ΅Π΄Π΅ Ρ ΡΠ°ΠΎΠ±ΡΠ°ΡΠ°ΡΡ:
- ΠΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠΈ ΡΠ²Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅, Π²Π΅Ρ ΡΠ°ΠΌΠΎ ΡΠΈΡ ΠΎΠ² Π΄Π΅ΠΎ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠΈ ΡΠ°ΠΌΠΎ Π½Π΅ΠΊΠ΅ ΡΠ°Π±Π΅Π»Π΅, Π½Π΅ΠΊΠ΅ ΡΠΈΡ ΠΎΠ²Π΅ ΠΊΠΎΠ»ΠΎΠ½Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ΅ ΠΊΠΎΡΠΈ ΠΈΡΠΏΡΡΠ°Π²Π°ΡΡ ΠΎΠ΄ΡΠ΅ΡΠ΅Π½ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡΡΠΌ);
- ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΡ ΠΎΠ΄ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π½ΠΈΡΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ°, ΠΊΠΎΡΠ° ΡΠ΅ ΠΎΠ±Π°Π²ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½ΠΎ Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΎΠΌ (ΠΏΡΠΈΠΌΠ΅ΡΠ΅Π½ΠΎΠΌ Ρ ΡΡΠ΅Π½ΡΡΠ½ΠΎΡ Π²Π΅ΡΠ·ΠΈΡΠΈ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ»-Π° - 1.10) ΠΈΠ»ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΎΠΌ (ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠΈ Ρ Π½Π°ΡΠ΅Π΄Π½ΠΈΠΌ Π²Π΅ΡΠ·ΠΈΡΠ°ΠΌΠ° Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ»-Π°) ΡΠ΅ΠΆΠΈΠΌΡ, ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π²ΠΈΡΠΎΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΠΎΠ΄ΠΈ Ρ ΡΠ΅ΡΠΈΡΠ°ΠΌΠ° (ΡΡ. Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΡΠ²ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΡΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ - ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΠΎ ΡΠ΅ΡΠΈΡΠΈ ΡΠ°Π·ΠΌΠ΅Π½Π΅, Π·Π°ΡΠΈΠΌ ΡΠ»Π΅Π΄ΠΈ ΠΏΠ°ΡΠ·Π° Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΈ, Π½Π°ΠΊΠΎΠ½ ΡΠ΅Π³Π° Π΄ΠΎΠ»Π°Π·ΠΈ Π΄ΠΎ ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½Π΅ ΠΈΡΠ΄.);
- Π°ΠΊΠΎ ΡΠ΅ Π·Π°ΠΏΠΈΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΎ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΡΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠΈ ΡΠ°ΠΌΠΎ ΡΠ΅Π³ΠΎΠ²Ρ Π½Π°ΡΠ½ΠΎΠ²ΠΈΡΡ Π²Π΅ΡΠ·ΠΈΡΡ (Π·Π° ΡΠ°Π·Π»ΠΈΠΊΡ ΠΎΠ΄ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π½ΠΈΡΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ°, Ρ ΠΊΠΎΡΠΎΡ ΡΠ΅ ΡΠ΅ ΡΠ²Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅ Π½Π°ΠΏΡΠ°Π²ΡΠ΅Π½Π΅ Π½Π° ΠΌΠ°ΡΡΠ΅ΡΡ ΡΠ΅ΠΏΡΠΎΠ΄ΡΠΊΠΎΠ²Π°ΡΠΈ ΡΠ·Π°ΡΡΠΎΠΏΠ½ΠΎ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠ°).
2. ΠΠ΅ΠΌΠ° ΠΏΠΎΡΠ΅ΡΠΊΠΎΡΠ° ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΎΠΌ Π₯Π’Π’Π ΡΠ°Π·ΠΌΠ΅Π½Π΅, ΠΊΠΎΡΠ° Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° Π΄Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΡΡΠ΅ΡΠ΅ ΡΠ΄Π°ΡΠ΅Π½Π΅ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°.
ΠΠΈΡΠΈΠ½Π°Ρ. 2. Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΡΠ΅ΠΊΠΎ Π₯Π’Π’Π-Π°
3. Π‘ΡΡΡΠΊΡΡΡΠ΅ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈΠ·ΠΌΠ΅ΡΡ ΠΊΠΎΡΠΈΡ ΡΠ΅ ΠΏΡΠ΅Π½ΠΎΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΈ Π½Π΅ ΠΌΠΎΡΠ°ΡΡ Π΄Π° Π±ΡΠ΄Ρ ΠΈΡΡΠ΅ (ΡΡΠ°Π²ΠΈΡΠ΅, Ρ ΠΎΠΏΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ ΡΠ°ΠΊ ΠΌΠΎΠ³ΡΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ ΠΠΠΠ‘, ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠ΅ ΡΠ΅Π·ΠΈΠΊΠ΅, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΈΡΠ΄.).
ΠΠΈΡΠΈΠ½Π°Ρ. 3. Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Ρ Ρ
Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ°
ΠΠΎΡΠ° ΡΡΡΠ°Π½Π° ΡΠ΅ Ρ ΡΠΎΠΌΠ΅ ΡΡΠΎ ΡΠ΅, Ρ ΠΏΡΠΎΡΠ΅ΠΊΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΡΠ΅ΠΆΠ΅/ΡΠΊΡΠΏΡΠ΅ ΠΎΠ΄ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ°, ΠΈ ΡΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ»Π°Π³ΠΎΡΠ°Π²Π°ΡΠ° ΡΠ³ΡΠ°ΡΠ΅Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠΈ, ΠΌΠΎΡΠ°ΡΠ΅ΡΠ΅ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠΎΠΏΡΡΠ²Π΅Π½Ρ.
ΠΠΊΠΎ ΡΡ Ρ Π²Π°ΡΠΎΡ ΡΠΈΡΡΠ°ΡΠΈΡΠΈ Π³ΠΎΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½Π΅ ΠΏΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΊΡΡΡΠ½Π΅ (ΠΈΠ»ΠΈ ΡΡ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π°Π½ ΡΡΠ»ΠΎΠ²), ΠΎΠ½Π΄Π° ΠΈΠΌΠ° ΡΠΌΠΈΡΠ»Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ Π²ΠΈΡΠΎΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ°. Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π°ΠΌΠΎ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π½Π°ΡΠΈΠ½Π° Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π²ΠΈΡΠΎΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ° Ρ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» ΠΠΠΠ‘.
ΠΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° ΡΠ°ΠΎΠ±ΡΠ°ΡΠ°ΡΠ°
ΠΠ°ΠΊΠ»Π΅, ΡΠ΅Π΄Π½Π° ΠΎΠ΄ ΠΏΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎΠΌ Π½ΠΈΠ²ΠΎΡ ΡΠ΅ ΡΡΡΠ΅Π΄Π° ΡΠ°ΠΎΠ±ΡΠ°ΡΠ°ΡΠ°. ΠΠ° Π±ΠΈ ΠΎΠ²Π° ΠΏΡΠ΅Π΄Π½ΠΎΡΡ Π±ΠΈΠ»Π° Ρ ΠΏΠΎΡΠΏΡΠ½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠΈ ΠΊΠΎΠ»ΠΈΡΠΈΠ½Ρ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΊΠΎΡΠΈ ΡΠ΅ ΠΏΡΠ΅Π½ΠΎΡΠ΅ ΡΠΎΠΊΠΎΠΌ ΡΠ²Π°ΠΊΠ΅ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½Π΅. ΠΠ°ΡΠ°Π²Π½ΠΎ, Π½Π΅ ΡΡΠ΅Π±Π° Π·Π°Π±ΠΎΡΠ°Π²ΠΈΡΠΈ Π΄Π° Π½Π° ΠΊΡΠ°ΡΡ ΡΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΈΡΠ΅ΠΌΠ½ΠΈΠΊ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΌΠΎΡΠ° Π±ΠΈΡΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ° ΠΈΠ·Π²ΠΎΡΠΎΠΌ (Π±Π°Ρ Π·Π° ΠΎΠ½Π°Ρ Π΄Π΅ΠΎ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠΊΡΡΡΠ΅Π½ Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ).
ΠΠ°ΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠΈ ΠΊΠΎΠ»ΠΈΡΠΈΠ½Ρ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π½Π΅ΡΠΈΡ
ΡΠΎΠΊΠΎΠΌ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π²ΠΈΡΠΎΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ°? ΠΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ΅ΡΠ΅ΡΠ΅ Π±ΠΈ ΠΌΠΎΠ³Π»ΠΎ Π±ΠΈΡΠΈ ΠΎΠ΄Π°Π±ΠΈΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΡΠ΅ΠΌΠ° Π΄Π°ΡΡΠΌΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Ρ. ΠΠ° Π±ΠΈΡΡΠ΅ ΡΠΎ ΡΡΠ°Π΄ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΏΠΎΡΠ΅ Π΄Π°ΡΡΠΌ-Π²ΡΠ΅ΠΌΠ΅ ΠΊΠΎΡΠ΅ Π²Π΅Ρ ΠΏΠΎΡΡΠΎΡΠΈ Ρ ΡΠ°Π±Π΅Π»ΠΈ (Π°ΠΊΠΎ ΠΏΠΎΡΡΠΎΡΠΈ). ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ βΠΏΠΎΡΡΡΠ±ΠΈΠ½Π°β ΠΌΠΎΠΆΠ΅ ΠΈΠΌΠ°ΡΠΈ ΠΏΠΎΡΠ΅ βΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ·Π²ΡΡΠ΅ΡΠ° Π½Π°Π»ΠΎΠ³Π°β - delivery_time
. ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΠ° ΠΎΠ²ΠΈΠΌ ΡΠ΅ΡΠ΅ΡΠ΅ΠΌ ΡΠ΅ ΡΡΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Ρ ΠΎΠ²ΠΎΠΌ ΠΏΠΎΡΡ Π½Π΅ ΠΌΠΎΡΠ°ΡΡ Π΄Π° Π±ΡΠ΄Ρ Ρ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄Ρ ΠΊΠΎΡΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° ΠΊΡΠ΅ΠΈΡΠ°ΡΡ Π½Π°Π»ΠΎΠ³Π°. ΠΠ°ΠΊΠ»Π΅, Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈΠΌΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΏΠΎΡΠ° delivery_time
, ΠΏΡΠ΅Π½Π΅Ρ ΡΠΎΠΊΠΎΠΌ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½Π΅ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½Π΅, Π° ΡΠΎΠΊΠΎΠΌ ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½Π΅ ΠΈΠ·Π°Π±Π΅ΡΠΈΡΠ΅ ΡΠ²Π΅ Π·Π°ΠΏΠΈΡΠ΅ ΡΠ° Π²ΠΈΡΠΎΠΌ Π²ΡΠ΅Π΄Π½ΠΎΡΡΡ ΠΏΠΎΡΠ° delivery_time
. ΠΠ°ΠΏΠΈΡΠΈ ΡΠ° Π½ΠΈΠΆΠΎΠΌ Π²ΡΠ΅Π΄Π½ΠΎΡΡΡ ΠΏΠΎΡΠ° ΠΌΠΎΠΆΠ΄Π° ΡΡ Π΄ΠΎΠ΄Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅ΡΡ ΡΠ΅ΡΠΈΡΠ° ΡΠ°Π·ΠΌΠ΅Π½Π΅ delivery_time
. Π’Π°ΠΊΠΎΡΠ΅, ΠΏΠΎΡΠ΅Π΄Π°ΠΊ ΡΠ΅ ΠΌΠΎΠ³Π°ΠΎ Π΄Π° ΠΏΡΠ΅ΡΡΠΏΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅, ΠΊΠΎΡΠ΅ ΠΈΠΏΠ°ΠΊ Π½ΠΈΡΡ ΡΡΠΈΡΠ°Π»Π΅ Π½Π° ΡΠ΅ΡΠ΅Π½ delivery_time
. Π£ ΠΎΠ±Π° ΡΠ»ΡΡΠ°ΡΠ°, ΠΏΡΠΎΠΌΠ΅Π½Π΅ ΡΠ΅ Π½Π΅ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠΈ ΡΠ° ΠΈΠ·Π²ΠΎΡΠ° Π½Π° ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΡΠ΅. ΠΠ° Π±ΠΈΡΠΌΠΎ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΠ²Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΠΌΠΎΡΠ°ΡΠ΅ΠΌΠΎ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΠ΅ΠΌΠΎ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΠΊΠΎΡΠΈ ΡΠ΅ "ΠΏΡΠ΅ΠΊΠ»Π°ΠΏΠ°ΡΡ". ΠΠ½Π΅. Ρ ΡΠ²Π°ΠΊΠΎΡ ΡΠ΅ΡΠΈΡΠΈ ΡΠ°Π·ΠΌΠ΅Π½Π΅ ΠΏΡΠ΅Π½ΠΎΡΠΈΡΠ΅ΠΌΠΎ ΡΠ²Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡΡ ΠΏΠΎΡΠ° delivery_time
, ΠΏΡΠ΅Π»Π°Π·Π΅ΡΠΈ Π½Π΅ΠΊΡ ΡΠ°ΡΠΊΡ Ρ ΠΏΡΠΎΡΠ»ΠΎΡΡΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π ΡΠ°ΡΠΈ ΠΎΠ΄ ΡΡΠ΅Π½ΡΡΠ½ΠΎΠ³ ΡΡΠ΅Π½ΡΡΠΊΠ°). ΠΠ΅ΡΡΡΠΈΠΌ, ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π° Π²Π΅Π»ΠΈΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΠ²Π°Ρ ΠΏΡΠΈΡΡΡΠΏ Π²Π΅ΠΎΠΌΠ° ΡΡΠ²ΠΈΡΠ°Π½ ΠΈ ΠΌΠΎΠΆΠ΅ ΡΠΌΠ°ΡΠΈΡΠΈ ΡΡΡΠ΅Π΄Π΅ Ρ ΡΠ°ΠΎΠ±ΡΠ°ΡΠ°ΡΡ ΠΊΠΎΡΠΈΠΌΠ° ΡΠ΅ΠΆΠΈΠΌΠΎ Π½Π° Π½ΠΈΡΡΠ°. ΠΠΎΡΠ΅Π΄ ΡΠΎΠ³Π°, ΡΠ°Π±Π΅Π»Π° ΠΊΠΎΡΠ° ΡΠ΅ ΠΏΡΠ΅Π½ΠΎΡΠΈ ΠΌΠΎΠΆΠ΄Π° Π½Π΅ΠΌΠ° ΠΏΠΎΡΠ΅ ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΎ ΡΠ° Π΄Π°ΡΡΠΌΠΎΠΌ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΎΠΌ.
ΠΡΡΠ³ΠΎ ΡΠ΅ΡΠ΅ΡΠ΅, ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ Ρ ΡΠΌΠΈΡΠ»Ρ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅, ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ΄Π° ΠΏΡΠΈΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ, ΡΠΎΠΊΠΎΠΌ ΡΠ²Π°ΠΊΠ΅ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½Π΅, ΠΏΡΠ΅Π½ΠΎΡΠ΅ ΡΠ΅ ΡΠ²ΠΈ ΠΏΠΎΠ΄Π°ΡΠΈ, ΡΠΈΡΠΈ ΠΏΡΠΈΡΠ΅ΠΌ Π½ΠΈΡΠ΅ ΠΏΠΎΡΠ²ΡΠ΄ΠΈΠΎ ΠΏΡΠΈΠΌΠ°Π»Π°Ρ. ΠΠ° Π±ΠΈΡΡΠ΅ ΠΎΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ, ΠΌΠΎΡΠ°ΡΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΡΠ»ΠΎΠ²Ρ ΠΊΠΎΠ»ΠΎΠ½Ρ Ρ ΠΈΠ·Π²ΠΎΡΠ½Ρ ΡΠ°Π±Π΅Π»Ρ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, is_transferred
). ΠΠΊΠΎ ΠΏΡΠΈΠΌΠ°Π»Π°Ρ ΠΏΠΎΡΠ²ΡΠ΄ΠΈ ΠΏΡΠΈΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°, ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠ΅ ΠΏΠΎΡΠ΅ ΡΠ·ΠΈΠΌΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ true
, Π½Π°ΠΊΠΎΠ½ ΡΠ΅Π³Π° ΡΠ½ΠΎΡ Π²ΠΈΡΠ΅ Π½ΠΈΡΠ΅ ΡΠΊΡΡΡΠ΅Π½ Ρ ΡΠ°Π·ΠΌΠ΅Π½Π΅. ΠΠ²Π° ΠΎΠΏΡΠΈΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΠΈΠΌΠ° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ΅. ΠΡΠ²ΠΎ, Π·Π° ΡΠ²Π°ΠΊΠΈ ΠΏΡΠ΅Π½Π΅ΡΠΈ Π·Π°ΠΏΠΈΡ, ΠΌΠΎΡΠ° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠΈ ΠΈ ΠΏΠΎΡΠ»Π°ΡΠΈ ΠΏΠΎΡΠ²ΡΠ΄Π°. ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΠ΅ΡΠΈ, ΠΎΠ²ΠΎ Π±ΠΈ ΡΠ΅ ΠΌΠΎΠ³Π»ΠΎ ΡΠΏΠΎΡΠ΅Π΄ΠΈΡΠΈ ΡΠ° ΡΠ΄Π²ΠΎΡΡΡΡΡΠ°Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π΅ ΠΏΡΠ΅Π½Π΅ΡΠΈΡ
ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈ Π΄ΠΎΠ²Π΅ΡΡΠΈ Π΄ΠΎ ΡΠ΄Π²ΠΎΡΡΡΡΡΠ°Π²Π°ΡΠ° Π±ΡΠΎΡΠ° ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΈΡ
ΠΏΡΡΠΎΠ²Π°ΡΠ°. ΠΡΡΠ³ΠΎ, Π½Π΅ ΠΏΠΎΡΡΠΎΡΠΈ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΡΠ»Π°ΡΠ° ΠΈΡΡΠΎΠ³ Π·Π°ΠΏΠΈΡΠ° Π½Π° Π²ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ°Π»Π°ΡΠ° (ΠΏΡΠ²ΠΈ ΠΏΡΠΈΠΌΠ°Π»Π°Ρ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ΄ΠΈΡΠΈ ΠΏΡΠΈΡΠ΅ΠΌ Π·Π° ΡΠ΅Π±Π΅ ΠΈ Π·Π° ΡΠ²Π΅ ΠΎΡΡΠ°Π»Π΅).
ΠΠ΅ΡΠΎΠ΄Π° ΠΊΠΎΡΠ° Π½Π΅ΠΌΠ° Π³ΠΎΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ΅ ΡΠ΅ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ΠΎΡ ΡΠ°Π±Π΅Π»ΠΈ Π΄Π° Π±ΠΈ ΡΠ΅ ΠΏΡΠ°ΡΠΈΠ»Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅ Ρ ΡΠ΅Π½ΠΈΠΌ ΡΠ΅Π΄ΠΎΠ²ΠΈΠΌΠ°. Π’Π°ΠΊΠ²Π° ΠΊΠΎΠ»ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΡΠΈΠΏΠ° Π΄Π°ΡΡΠΌ-Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΅ΡΠΈ/Π°ΠΆΡΡΠΈΡΠ° Π½Π° ΡΡΠ΅Π½ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ²Π°ΠΊΠΈ ΠΏΡΡ ΠΊΠ°Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΠ΄Π°ΡΡ/ΠΏΡΠΎΠΌΠ΅Π½Π΅ (Π°ΡΠΎΠΌΡΠΊΠΈ ΡΠ° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ΠΌ/ΠΏΡΠΎΠΌΠ΅Π½ΠΎΠΌ). ΠΠ°ΠΎ ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π·ΠΎΠ²ΠΈΠΌΠΎ ΠΊΠΎΠ»ΠΎΠ½Ρ update_time
. Π§ΡΠ²Π°ΡΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΏΠΎΡΠ° ΠΎΠ²Π΅ ΠΊΠΎΠ»ΠΎΠ½Π΅ Π·Π° ΠΏΡΠ΅Π½Π΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π·Π°ΠΏΠΎΡΠ΅ΡΠΈ ΡΠ»Π΅Π΄Π΅ΡΡ ΡΠ΅ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Π½Π΅ ΡΠ° ΠΎΠ²ΠΎΠΌ Π²ΡΠ΅Π΄Π½ΠΎΡΡΡ (ΠΈΠ·Π°Π±Π΅ΡΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ΅ ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡΡ ΠΏΠΎΡΠ° update_time
, ΠΏΡΠ΅ΠΌΠ°ΡΡΡΠ΅ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΡΠ²Π°Π½Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ). ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΡΠΈΠΌ ΠΏΡΠΈΡΡΡΠΏΠΎΠΌ ΡΠ΅ Ρ ΡΠΎΠΌΠ΅ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΌΠΎΠ³Ρ Π΄Π΅ΡΠΈΡΠΈ Ρ Π³ΡΡΠΏΠ°ΠΌΠ°. ΠΠ°ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΏΠΎΡΠ° Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΈ update_time
ΠΌΠΎΠΆΠ΄Π° Π½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½. ΠΠ°ΠΊΠ»Π΅, ΠΎΠ²Π° ΠΊΠΎΠ»ΠΎΠ½Π° ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π·Π° ΠΏΠΎΡΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ (ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΡ) ΠΈΠ·Π»Π°Π· ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. ΠΠ° Π±ΠΈΡΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·Π°Π»ΠΈ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΌΠΎΡΠ°ΡΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΡΠ΅ Π΄ΠΎΠ΄Π°ΡΠ½Π΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ ΠΊΠΎΡΠΈ ΡΠ΅ Π½Π°ΡΠ²Π΅ΡΠΎΠ²Π°ΡΠ½ΠΈΡΠ΅ ΠΈΠΌΠ°ΡΠΈ Π²Π΅ΠΎΠΌΠ° Π½ΠΈΡΠΊΡ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΡΠ·ΠΈΠΌΠ°ΡΠ΅ ΠΈΠ· Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΡΠ²ΠΈΡ
Π·Π°ΠΏΠΈΡΠ° ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡΡ update_time
Π²Π΅ΡΠΈ ΠΎΠ΄ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈΡ
ΠΈ ΠΈΠ·Π»Π°Π·Π΅ ΠΎΠ΄ΡΠ΅ΡΠ΅Π½ΠΈ Π±ΡΠΎΡ Π·Π°ΠΏΠΈΡΠ°, ΠΏΠΎΡΠ΅Π²ΡΠΈ ΠΎΠ΄ ΠΎΠ΄ΡΠ΅ΡΠ΅Π½ΠΎΠ³ ΠΏΠΎΠΌΠ°ΠΊΠ° ΠΎΠ΄ ΠΏΠΎΡΠ΅ΡΠΊΠ° ΡΠ·ΠΎΡΠΊΠ°).
ΠΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡ ΠΏΡΠ΅Π½ΠΎΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠΈ Π±Π»Π°Π³ΠΈΠΌ ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ΅ΠΌ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ ΠΏΡΠΈΡΡΡΠΏΠ°. ΠΠ° Π±ΠΈΡΠΌΠΎ ΡΠΎ ΡΡΠ°Π΄ΠΈΠ»ΠΈ, ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ΠΌΠΎ ΡΠΈΠΏ ΡΠ΅Π»ΠΎΠ³ Π±ΡΠΎΡΠ° (Π΄ΡΠ³ΠΈ ΡΠ΅ΠΎ Π±ΡΠΎΡ) ΠΊΠ°ΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΏΠΎΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π΅ Π·Π° ΠΏΡΠ°ΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π°. ΠΠ°Π·ΠΎΠ²ΠΈΠΌΠΎ ΠΊΠΎΠ»ΠΎΠ½Ρ row_ver
. ΠΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΠΎΡΠ° ΠΎΠ²Π΅ ΠΊΠΎΠ»ΠΎΠ½Π΅ ΠΈ Π΄Π°ΡΠ΅ ΠΌΠΎΡΠ° Π±ΠΈΡΠΈ ΠΏΠΎΠ΄Π΅ΡΠ΅Π½Π°/Π°ΠΆΡΡΠΈΡΠ°Π½Π° ΡΠ²Π°ΠΊΠΈ ΠΏΡΡ ΠΊΠ°Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΈΡ ΠΊΡΠ΅ΠΈΡΠ°/ΠΌΠΎΠ΄ΠΈ. ΠΠ»ΠΈ Ρ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΡΡ Π½Π΅ΡΠ΅ Π±ΠΈΡΠΈ Π΄ΠΎΠ΄Π΅ΡΠ΅Π½ ΡΡΠ΅Π½ΡΡΠ½ΠΈ Π΄Π°ΡΡΠΌ-Π²ΡΠ΅ΠΌΠ΅, Π²Π΅Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π½Π΅ΠΊΠΎΠ³ Π±ΡΠΎΡΠ°ΡΠ°, ΡΠ²Π΅ΡΠ°Π½Π° Π·Π° ΡΠ΅Π΄Π°Π½. ΠΠ°ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠΎΠ³Π°, ΠΊΠΎΠ»ΠΎΠ½Π° row_ver
ΡΠ΅ ΡΠ°Π΄ΡΠΆΠ°ΡΠΈ ΡΠ΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΈΠΊΠ°Π· βΠ΄Π΅Π»ΡΠ°β ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° (ΠΏΠΎΠ΄Π°ΡΠΈ Π΄ΠΎΠ΄Π°ΡΠΈ/ΠΏΡΠΎΠΌΠ΅ΡΠ΅Π½ΠΈ ΠΎΠ΄ ΠΊΡΠ°ΡΠ° ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½Π΅ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½Π΅), Π²Π΅Ρ ΠΈ Π΄Π° ΠΈΡ
ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΈ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ ΡΠ°Π·Π΄Π²ΠΎΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅.
ΠΠΎΡΠ»Π΅Π΄ΡΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π½Π΅ΡΠΈΡ Ρ ΠΎΠΊΠ²ΠΈΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π²ΠΈΡΠΎΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ° ΠΌΠΈ ΡΠ΅ ΡΠΈΠ½ΠΈ Π½Π°ΡΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈΡΠΈΠΌ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΠ·Π°Π»Π½ΠΈΠΌ. ΠΠΎΠ³Π»Π΅Π΄Π°ΡΠΌΠΎ ΡΠΎ Π΄Π΅ΡΠ°ΡΠ½ΠΈΡΠ΅.
ΠΡΠ΅Π½ΠΎΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΠΎΠΌΠΎΡΡ Π±ΡΠΎΡΠ°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° ΡΠ΅Π΄Π°
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΡΠ΅ΡΠ²Π΅ΡΡΠΊΠΎΠ³/ΠΌΠ°ΡΡΠ΅Ρ Π΄Π΅Π»Π°
Π£ ΠΠ‘ Π‘ΠΠ Π‘Π΅ΡΠ²Π΅ΡΡ ΠΏΠΎΡΡΠΎΡΠΈ ΠΏΠΎΡΠ΅Π±Π°Π½ ΡΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½Π΅ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΎΠ²ΠΎΠ³ ΠΏΡΠΈΡΡΡΠΏΠ° - rowversion
. Π‘Π²Π°ΠΊΠ° Π±Π°Π·Π° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈΠΌΠ° Π±ΡΠΎΡΠ°Ρ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ°Π²Π° Π·Π° ΡΠ΅Π΄Π°Π½ ΡΠ²Π°ΠΊΠΈ ΠΏΡΡ ΠΊΠ°Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΈΡ Π΄ΠΎΠ΄Π°/ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Ρ ΡΠ°Π±Π΅Π»ΠΈ ΠΊΠΎΡΠ° ΠΈΠΌΠ° ΠΊΠΎΠ»ΠΎΠ½Ρ ΠΏΠΎΠΏΡΡ rowversion
. ΠΡΠ΅Π΄Π½ΠΎΡΡ ΠΎΠ²ΠΎΠ³ Π±ΡΠΎΡΠ°ΡΠ° ΡΠ΅ Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π΄ΠΎΠ΄Π΅ΡΡΡΠ΅ ΠΏΠΎΡΡ ΠΎΠ²Π΅ ΠΊΠΎΠ»ΠΎΠ½Π΅ Ρ Π΄ΠΎΠ΄Π°ΡΠΎΠΌ/ΠΏΡΠΎΠΌΠ΅ΡΠ΅Π½ΠΎΠΌ Π·Π°ΠΏΠΈΡΡ. Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» ΠΠΠΠ‘ Π½Π΅ΠΌΠ° ΡΠ»ΠΈΡΠ°Π½ ΡΠ³ΡΠ°ΡΠ΅Π½ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·Π°ΠΌ. ΠΠ΅ΡΡΡΠΈΠΌ, Ρ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ»Ρ Π½ΠΈΡΠ΅ ΡΠ΅ΡΠΊΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠΈ Π³Π° ΡΡΡΠ½ΠΎ. ΠΠΎΠ³Π»Π΅Π΄Π°ΡΠΌΠΎ ΠΊΠ°ΠΊΠΎ ΡΠ΅ ΡΠΎ ΡΠ°Π΄ΠΈ.
ΠΡΠ²ΠΎ, ΠΌΠ°Π»ΠΎ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅: ΡΠ°Π±Π΅Π»Π΅ Ρ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ»Ρ ΡΠ΅ Π·ΠΎΠ²Ρ ΡΠ°Π·ΠΌΠ°ΡΠΈ, Π° Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ Π·ΠΎΠ²Ρ ΡΠΎΡΠΊΠ΅. Π£ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ»-Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°ΡΠΈ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠ΅. Π‘Π΅ΠΊΠ²Π΅Π½ΡΠ΅ Π½ΠΈΡΡ Π½ΠΈΡΡΠ° Π΄ΡΡΠ³ΠΎ Π΄ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΈ ΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΠ±ΡΠΎΡΠ½ΠΈΡ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΠ½Π΅. ΡΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²ΠΎ ΠΎΠ½ΠΎ ΡΡΠΎ Π½Π°ΠΌ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π·Π° Π½Π°ΡΠ΅ ΡΠ²ΡΡ Π΅. Π£ Π½Π°ΡΡΠ°Π²ΠΊΡ ΡΠ΅ΠΌΠΎ ΠΊΡΠ΅ΠΈΡΠ°ΡΠΈ ΡΠ°ΠΊΠ°Π² Π½ΠΈΠ·.
ΠΡΠ΅ Π½Π΅Π³ΠΎ ΡΡΠΎ ΠΈΠ·Π²ΡΡΠΈΡΠ΅ Π±ΠΈΠ»ΠΎ ΠΊΠΎΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ»-Ρ, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ Π΄Π° ΠΏΠΎΠΊΡΠ΅Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
box.cfg{}
ΠΠ°ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠΎΠ³Π°, Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ Π΄Π° ΠΏΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠ΅ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈ Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° Ρ ΡΡΠ΅Π½ΡΡΠ½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ.
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ ΡΠ΅ΠΊΠ²Π΅Π½ΡΡ row_version
:
box.schema.sequence.create('row_version',
{ if_not_exists = true })
ΠΠΏΡΠΈΡΠ° if_not_exists
Π΄ΠΎΠ·Π²ΠΎΡΠ°Π²Π° Π΄Π° ΡΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΈΠ·Π²ΡΡΠ°Π²Π° Π²ΠΈΡΠ΅ ΠΏΡΡΠ°: Π°ΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΠ°Ρ ΠΏΠΎΡΡΠΎΡΠΈ, Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» Π½Π΅ΡΠ΅ ΠΏΠΎΠΊΡΡΠ°ΡΠΈ Π΄Π° Π³Π° ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΊΡΠ΅ΠΈΡΠ°. ΠΠ²Π° ΠΎΠΏΡΠΈΡΠ° ΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Ρ ΡΠ²ΠΈΠΌ Π½Π°ΡΠ΅Π΄Π½ΠΈΠΌ ΠΠΠ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠ°.
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎΡ ΠΊΠ°ΠΎ ΠΏΡΠΈΠΌΠ΅Ρ.
box.schema.space.create('goods', {
format = {
{
name = 'id',
type = 'unsigned'
},
{
name = 'name',
type = 'string'
},
{
name = 'code',
type = 'unsigned'
},
{
name = 'row_ver',
type = 'unsigned'
}
},
if_not_exists = true
})
ΠΠ²Π΄Π΅ ΠΏΠΎΡΡΠ°Π²ΡΠ°ΠΌΠΎ ΠΈΠΌΠ΅ ΠΏΡΠΎΡΡΠΎΡΠ° (goods
), Π½Π°Π·ΠΈΠ²ΠΈ ΠΏΠΎΡΠ° ΠΈ ΡΠΈΡ
ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ.
ΠΠΎΡΠ° ΡΠ° Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈΠΌ ΠΏΠΎΠ²Π΅ΡΠ°ΡΠ΅ΠΌ Ρ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ»-Ρ ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈ. Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΠΌΠΎ ΠΏΡΠΈΠΌΠ°ΡΠ½ΠΈ ΠΊΡΡΡ ΠΊΠΎΡΠΈ ΡΠ΅ Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΏΠΎΠ²Π΅ΡΠ°Π²Π° ΠΏΠΎ ΠΏΠΎΡΡ id
:
box.schema.sequence.create('goods_id',
{ if_not_exists = true })
box.space.goods:create_index('primary', {
parts = { 'id' },
sequence = 'goods_id',
unique = true,
type = 'HASH',
if_not_exists = true
})
Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΡΠΈΠΏΠΎΠ²Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΠ°ΡΡΠ΅ΡΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΡΡ ΡΠΈΠΏΠΎΠ²ΠΈ Π’Π ΠΠ ΠΈ Π₯ΠΠ‘Π₯, ΠΊΠΎΡΠΈ ΡΠ΅ Π·Π°ΡΠ½ΠΈΠ²Π°ΡΡ Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠ° ΠΊΠΎΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Ρ. Π’Π ΠΠ ΡΠ΅ Π½Π°ΡΡΠ²Π΅ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠΈΠΏ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΠΌΠΎΠ³ΡΡΠ°Π²Π° Π²Π°ΠΌ Π΄Π° ΠΏΡΠΈΠΊΡΠΏΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Π½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π°ΡΠΈΠ½. ΠΠ»ΠΈ Π·Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΡΡ ΡΠ΅Π΄Π½Π°ΠΊΠΎΡΡΠΈ, Π₯ΠΠ‘Π₯ ΡΠ΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈΡΠΈ. Π‘Ρ ΠΎΠ΄Π½ΠΎ ΡΠΎΠΌΠ΅, ΠΏΡΠ΅ΠΏΠΎΡΡΡΡΠΈΠ²ΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π₯ΠΠ‘Π₯ Π·Π° ΠΏΡΠΈΠΌΠ°ΡΠ½ΠΈ ΠΊΡΡΡ (ΡΡΠΎ ΡΠΌΠΎ ΠΈ ΡΡΠ°Π΄ΠΈΠ»ΠΈ).
ΠΠ° Π±ΠΈΡΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½Ρ row_ver
Π΄Π° Π±ΠΈΡΡΠ΅ ΠΏΡΠ΅Π½Π΅Π»ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ Π΄Π° ΠΏΠΎΠ²Π΅ΠΆΠ΅ΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠ΅ Π·Π° ΠΏΠΎΡΠ° ΠΎΠ²Π΅ ΠΊΠΎΠ»ΠΎΠ½Π΅ row_ver
. ΠΠ»ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΡ ΠΎΠ΄ ΠΏΡΠΈΠΌΠ°ΡΠ½ΠΎΠ³ ΠΊΡΡΡΠ°, Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΠΎΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π΅ row_ver
ΡΡΠ΅Π±Π° ΠΏΠΎΠ²Π΅ΡΠ°ΡΠΈ Π·Π° ΡΠ΅Π΄Π°Π½ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ Π΄ΠΎΠ΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΠΈΡ
Π·Π°ΠΏΠΈΡΠ°, Π²Π΅Ρ ΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΡΠΎΡΠ΅ΡΠΈΡ
. ΠΠ° ΠΎΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΎΠΊΠΈΠ΄Π°ΡΠ΅. Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» ΠΈΠΌΠ° Π΄Π²Π΅ Π²ΡΡΡΠ΅ ΠΎΠΊΠΈΠ΄Π°ΡΠ° ΠΏΡΠΎΡΡΠΎΡΠ°: before_replace
ΠΈ on_replace
. ΠΠΊΠΈΠ΄Π°ΡΠΈ ΡΠ΅ ΠΏΠΎΠΊΡΠ΅ΡΡ ΠΊΠ°Π΄ Π³ΠΎΠ΄ ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΈ Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΡΠΎΠΌΠ΅Π½Π΅ (Π·Π° ΡΠ²Π°ΠΊΠΈ ΡΡΠΏΠ»Π΅ Π½Π° ΠΊΠΎΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅ ΡΡΠΈΡΡ, ΠΏΠΎΠΊΡΠ΅ΡΠ΅ ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΎΠΊΠΈΠ΄Π°ΡΠ°). Π·Π° ΡΠ°Π·Π»ΠΈΠΊΡ ΠΎΠ΄ on_replace
, before_replace
-ΠΎΠΊΠΈΠ΄Π°ΡΠΈ Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π°ΡΡ Π΄Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΡΠΎΡΠΊΠ΅ Π·Π° ΠΊΠΎΡΡ ΡΠ΅ ΠΎΠΊΠΈΠ΄Π°Ρ ΠΈΠ·Π²ΡΡΠ°Π²Π°. Π‘Ρ
ΠΎΠ΄Π½ΠΎ ΡΠΎΠΌΠ΅, ΠΏΠΎΡΠ»Π΅Π΄ΡΠ° Π²ΡΡΡΠ° ΠΎΠΊΠΈΠ΄Π°ΡΠ° Π½Π°ΠΌ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°.
box.space.goods:before_replace(function(old, new)
return box.tuple.new({new[1], new[2], new[3],
box.sequence.row_version:next()})
end)
ΠΠ°ΡΠΈ ΠΎΠΊΠΈΠ΄Π°Ρ Π·Π°ΠΌΠ΅ΡΡΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΠΎΡΠ° row_ver
ΡΠ°ΡΡΠ²Π°Π½ΠΈ ΡΡΠΏΠ»Π΅ Π΄ΠΎ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π½ΠΈΠ·Π° row_version
.
ΠΠ° Π±ΠΈ ΠΌΠΎΠ³Π°ΠΎ Π΄Π° ΠΈΠ·Π²ΡΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΠΈΠ· ΡΠ²Π΅ΠΌΠΈΡΠ° goods
ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ row_ver
, Ρ
Π°ΡΠ΄Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ:
box.space.goods:create_index('row_ver', {
parts = { 'row_ver' },
unique = true,
type = 'TREE',
if_not_exists = true
})
Π’ΠΈΠΏ ΠΈΠ½Π΄Π΅ΠΊΡΠ° - ΡΡΠ°Π±Π»ΠΎ (TREE
), ΡΠ΅Ρ ΠΌΠΎΡΠ°ΡΠ΅ΠΌΠΎ Π΄Π° ΠΈΠ·Π΄Π²ΠΎΡΠΈΠΌΠΎ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Ρ ΡΠ°ΡΡΡΡΠ΅ΠΌ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΈ row_ver
.
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π΄ΠΎΠ΄Π°ΠΌΠΎ Π½Π΅ΠΊΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Ρ ΠΏΡΠΎΡΡΠΎΡ:
box.space.goods:insert{nil, 'pen', 123}
box.space.goods:insert{nil, 'pencil', 321}
box.space.goods:insert{nil, 'brush', 100}
box.space.goods:insert{nil, 'watercolour', 456}
box.space.goods:insert{nil, 'album', 101}
box.space.goods:insert{nil, 'notebook', 800}
box.space.goods:insert{nil, 'rubber', 531}
box.space.goods:insert{nil, 'ruler', 135}
ΠΠ΅Ρ ΠΡΠ²ΠΎ ΠΏΠΎΡΠ΅ ΡΠ΅ Π±ΡΠΎΡΠ°Ρ ΠΊΠΎΡΠΈ ΡΠ΅ Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΏΠΎΠ²Π΅ΡΠ°Π²Π°; ΡΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³Π° ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΎ Π½ΡΠ»Ρ. Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» ΡΠ΅ Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΠΈ ΡΠ»Π΅Π΄Π΅ΡΡ Π²ΡΠ΅Π΄Π½ΠΎΡΡ. Π‘Π»ΠΈΡΠ½ΠΎ, ΠΊΠ°ΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΠΎΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π΅ row_ver
ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΠΈ Π½ΠΈΠ» - ΠΈΠ»ΠΈ ΡΠΎΠΏΡΡΠ΅ Π½Π΅ Π½Π°Π²Π΅ΡΡΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡ, ΡΠ΅Ρ ΠΎΠ²Π° ΠΊΠΎΠ»ΠΎΠ½Π° Π·Π°ΡΠ·ΠΈΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡΡ Ρ ΠΏΡΠΎΡΡΠΎΡΡ.
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠΌΠ΅ΡΠ°ΡΠ°:
tarantool> box.space.goods:select()
---
- - [1, 'pen', 123, 1]
- [2, 'pencil', 321, 2]
- [3, 'brush', 100, 3]
- [4, 'watercolour', 456, 4]
- [5, 'album', 101, 5]
- [6, 'notebook', 800, 6]
- [7, 'rubber', 531, 7]
- [8, 'ruler', 135, 8]
...
ΠΠ°ΠΎ ΡΡΠΎ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΏΡΠ²ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅ ΠΏΠΎΡΠ΅ ΡΠ΅ ΠΏΠΎΠΏΡΡΠ°Π²Π°ΡΡ Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ. Π‘Π°Π΄Π° ΡΠ΅ Π±ΠΈΡΠΈ Π»Π°ΠΊΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΡΡ Π·Π° ΡΡΠΈΡΠ°Π²Π°ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅ ΠΏΡΠΎΡΡΠΎΡΠ° ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΡ goods
:
local page_size = 5
local function get_goods(row_ver)
local index = box.space.goods.index.row_ver
local goods = {}
local counter = 0
for _, tuple in index:pairs(row_ver, {
iterator = 'GT' }) do
local obj = tuple:tomap({ names_only = true })
table.insert(goods, obj)
counter = counter + 1
if counter >= page_size then
break
end
end
return goods
end
Π€ΡΠ½ΠΊΡΠΈΡΠ° ΡΠ·ΠΈΠΌΠ° ΠΊΠ°ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ row_ver
, ΠΏΠΎΡΠ΅Π²ΡΠΈ ΠΎΠ΄ ΡΠ΅Π³Π° ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΡΠΏΡΠ°Π·Π½Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅, ΠΈ Π²ΡΠ°ΡΠ° Π΄Π΅ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°.
Π£Π·ΠΎΡΠΊΠΎΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ»-Ρ ΡΠ΅ Π²ΡΡΠΈ ΠΏΡΠ΅ΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. Π€ΡΠ½ΠΊΡΠΈΡΠ° get_goods
ΠΊΠΎΡΠΈΡΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ row_ver
Π΄Π° ΠΏΡΠΈΠΌΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅. Π’ΠΈΠΏ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ΅ ΠΠ’ (ΠΡΠ΅Π°ΡΠ΅Ρ Π’Ρ
Π°Π½, Π»Π°ΡΠ³Π΅Ρ ΡΡ
Π°Π½). Π’ΠΎ Π·Π½Π°ΡΠΈ Π΄Π° ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΡΠ·Π°ΡΡΠΎΠΏΠ½ΠΎ ΠΏΡΠ΅Π»Π°Π·ΠΈΡΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠΎΡΠ΅Π²ΡΠΈ ΠΎΠ΄ ΠΏΡΠΎΡΠ»Π΅ΡΠ΅Π½ΠΎΠ³ ΠΊΡΡΡΠ° (Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΠΎΡΠ° row_ver
).
ΠΡΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ°ΡΠ° ΡΡΠΏΠ»Π΅. ΠΠ° Π±ΠΈ ΡΠ΅ Π½Π°ΠΊΠ½Π°Π΄Π½ΠΎ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠ΅Π½ΠΎΡΠΈΡΠΈ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΏΡΡΠ΅ΠΌ Π₯Π’Π’Π-Π°, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΎΠ²Π°ΡΠΈ ΡΠΎΡΠΊΠ΅ Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠΎΠ³ΠΎΠ΄Π½Ρ Π·Π° Π½Π°ΠΊΠ½Π°Π΄Π½Ρ ΡΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡ. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΡΠΈΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡΡ Π·Π° ΠΎΠ²ΠΎ tomap
. Π£ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° tomap
ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΠΈ ΡΠΎΠΏΡΡΠ²Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΡΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΄Π° Π±ΠΈΡΠΌΠΎ ΠΆΠ΅Π»Π΅Π»ΠΈ Π΄Π° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΡΠ΅ΠΌΠΎ ΠΏΠΎΡΠ΅ name
, Π½Π΅ ΠΏΡΠΎΠ»Π°Π·Π΅ ΠΏΠΎΡΠ΅ code
ΠΈ Π΄ΠΎΠ΄Π°ΡΡΠ΅ ΠΏΠΎΡΠ΅ comment
:
local function unflatten_goods(tuple)
local obj = {}
obj.id = tuple.id
obj.goods_name = tuple.name
obj.comment = 'some comment'
obj.row_ver = tuple.row_ver
return obj
end
ΠΠ΅Π»ΠΈΡΠΈΠ½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·Π»Π°Π·Π½ΠΈΡ
ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° (Π±ΡΠΎΡ Π·Π°ΠΏΠΈΡΠ° Ρ ΡΠ΅Π΄Π½ΠΎΠΌ Π΄Π΅Π»Ρ) ΠΎΠ΄ΡΠ΅ΡΠ΅Π½Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΎΠΌ page_size
. Π£ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΡΠ΅Π΄Π½ΠΎΡΡ page_size
ΡΠ΅ 5. Π£ ΠΏΡΠ°Π²ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ, Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΡΠ½ΠΎ Π²Π°ΠΆΠ½ΠΈΡΠ°. ΠΠ°Π²ΠΈΡΠΈ ΠΎΠ΄ ΠΏΡΠΎΡΠ΅ΡΠ½Π΅ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΠΏΡΠΎΡΡΠΎΡΠ½ΠΎΠ³ ΡΡΠΏΠ»Π΅-Π°. ΠΠΏΡΠΈΠΌΠ°Π»Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΠΈ Π΅ΠΌΠΏΠΈΡΠΈΡΡΠΊΠΈ ΠΌΠ΅ΡΠ΅ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π° ΠΏΡΠ΅Π½ΠΎΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. Π¨ΡΠΎ ΡΠ΅ Π²Π΅ΡΠ° Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΌΠ°ΡΠΈ ΡΠ΅ Π±ΡΠΎΡ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΈΡ
ΠΏΡΡΠΎΠ²Π°ΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ ΡΡΡΠ°Π½Π΅ ΠΊΠΎΡΠ° ΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ°ΠΎΡΠ°. ΠΠ° ΠΎΠ²Π°Ρ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠ°ΡΠΈΡΠΈ ΡΠΊΡΠΏΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΏΡΠ΅ΡΠ·ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π°. ΠΠ΅ΡΡΡΠΈΠΌ, Π°ΠΊΠΎ ΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π²Π΅Π»ΠΈΠΊΠ°, ΠΏΡΠ΅Π΄ΡΠ³ΠΎ ΡΠ΅ΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ Π·Π° ΡΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡ ΡΠ·ΠΎΡΠΊΠ°. ΠΠ°ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠΎΠ³Π°, ΠΌΠΎΠΆΠ΅ Π΄ΠΎΡΠΈ Π΄ΠΎ ΠΊΠ°ΡΡΠ΅ΡΠ° Ρ ΠΎΠ±ΡΠ°Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π·Π°Ρ
ΡΠ΅Π²Π° ΠΊΠΎΡΠΈ Π΄ΠΎΠ»Π°Π·Π΅ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ page_size
ΠΌΠΎΠΆΠ΅ ΡΠ΅ ΡΡΠΈΡΠ°ΡΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅. ΠΠ° ΡΠ²Π°ΠΊΠΈ ΠΏΡΠ΅Π½Π΅Ρ ΠΏΡΠΎΡΡΠΎΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠΈ ΡΠΎΠΏΡΡΠ²Π΅Π½Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ. ΠΠ΅ΡΡΡΠΈΠΌ, Π·Π° Π²Π΅ΡΠΈΠ½Ρ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, 100) ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½Π°.
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΈΠ·Π²ΡΡΠΈΠΌΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ get_goods
:
tarantool> get_goods(0)
---
- - row_ver: 1
code: 123
name: pen
id: 1
- row_ver: 2
code: 321
name: pencil
id: 2
- row_ver: 3
code: 100
name: brush
id: 3
- row_ver: 4
code: 456
name: watercolour
id: 4
- row_ver: 5
code: 101
name: album
id: 5
...
Π£Π·ΠΌΠΈΠΌΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΠΎΡΠ° row_ver
ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅Π³ ΡΠ΅Π΄Π° ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡ:
tarantool> get_goods(5)
---
- - row_ver: 6
code: 800
name: notebook
id: 6
- row_ver: 7
code: 531
name: rubber
id: 7
- row_ver: 8
code: 135
name: ruler
id: 8
...
ΠΠΎΠ½ΠΎΠ²ΠΎ:
tarantool> get_goods(8)
---
- []
...
ΠΠ°ΠΎ ΡΡΠΎ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π° ΠΎΠ²Π°Ρ Π½Π°ΡΠΈΠ½, ΡΡΠ½ΠΊΡΠΈΡΠ° Π²ΡΠ°ΡΠ° ΡΠ²Π΅ Π·Π°ΠΏΠΈΡΠ΅ ΠΎ ΠΏΡΠΎΡΡΠΎΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΡ goods
. ΠΠΎΡΠ»Π΅Π΄ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠ°ΡΠΈ ΠΏΡΠ°Π·Π°Π½ ΠΈΠ·Π±ΠΎΡ.
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎΡ:
box.space.goods:update(4, {{'=', 6, 'copybook'}})
box.space.goods:insert{nil, 'clip', 234}
box.space.goods:insert{nil, 'folder', 432}
ΠΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠΌΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΠΎΡΠ° name
Π·Π° ΡΠ΅Π΄Π°Π½ ΡΠ½ΠΎΡ ΠΈ Π΄ΠΎΠ΄Π°ΠΎ Π΄Π²Π° Π½ΠΎΠ²Π° ΡΠ½ΠΎΡΠ°.
ΠΠΎΠ½ΠΎΠ²ΠΈΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡΠΈ ΠΏΠΎΠ·ΠΈΠ² ΡΡΠ½ΠΊΡΠΈΡΠ΅:
tarantool> get_goods(8)
---
- - row_ver: 9
code: 800
name: copybook
id: 6
- row_ver: 10
code: 234
name: clip
id: 9
- row_ver: 11
code: 432
name: folder
id: 10
...
Π€ΡΠ½ΠΊΡΠΈΡΠ° ΡΠ΅ Π²ΡΠ°ΡΠΈΠ»Π° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½Π΅ ΠΈ Π΄ΠΎΠ΄Π°ΡΠ΅ Π·Π°ΠΏΠΈΡΠ΅. ΠΠ°ΠΊΠ»Π΅, ΡΡΠ½ΠΊΡΠΈΡΠ° get_goods
ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° Π²Π°ΠΌ Π΄Π° ΠΏΡΠΈΠΌΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΠΊΠΎΡΠΈ ΡΡ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠ΄ ΡΠ΅Π³ΠΎΠ²ΠΎΠ³ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅Π³ ΠΏΠΎΠ·ΠΈΠ²Π°, ΡΡΠΎ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ°Π·ΠΌΠ°ΡΡΠ°.
ΠΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΏΡΡΠ΅ΠΌ Π₯Π’Π’Π-Π° Ρ ΠΎΠ±Π»ΠΈΠΊΡ ΠΠ‘ΠΠ-Π° ΠΎΡΡΠ°Π²ΠΈΡΠ΅ΠΌΠΎ Π²Π°Π½ ΠΎΠΊΠ²ΠΈΡΠ° ΠΎΠ²ΠΎΠ³ ΡΠ»Π°Π½ΠΊΠ°. Π ΠΎΠ²ΠΎΠΌΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΠΈ ΠΎΠ²Π΄Π΅:
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΊΠ»ΠΈΡΠ΅Π½Ρ/ΡΠ»Π°Π²Π΅ Π΄Π΅ΠΎ
ΠΠΎΠ³Π»Π΅Π΄Π°ΡΠΌΠΎ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈ ΠΊΠΎΡΠ° ΠΏΡΠΈΠΌΠ°. Π₯Π°ΡΠ΄Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎΡ Π½Π° ΡΡΡΠ°Π½ΠΈ ΠΏΡΠΈΠΌΠ°ΠΎΡΠ° Π·Π° ΡΡΠ²Π°ΡΠ΅ ΠΏΡΠ΅ΡΠ·Π΅ΡΠΈΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°:
box.schema.space.create('goods', {
format = {
{
name = 'id',
type = 'unsigned'
},
{
name = 'name',
type = 'string'
},
{
name = 'code',
type = 'unsigned'
}
},
if_not_exists = true
})
box.space.goods:create_index('primary', {
parts = { 'id' },
sequence = 'goods_id',
unique = true,
type = 'HASH',
if_not_exists = true
})
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΡΡΠΎΡΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΡΡΠΎΡΠ° Ρ ΠΈΠ·Π²ΠΎΡΡ. ΠΠ»ΠΈ ΠΏΠΎΡΡΠΎ ΠΏΡΠΈΠΌΡΠ΅Π½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Π½Π΅ΡΠ΅ΠΌΠΎ ΠΏΡΠ΅Π½ΠΎΡΠΈΡΠΈ Π½ΠΈΠ³Π΄Π΅ Π΄ΡΡΠ³Π΄Π΅, ΠΊΠΎΠ»ΠΎΠ½Π° row_ver
Π½ΠΈΡΠ΅ Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΡΠΈΠΌΠ°ΠΎΡΠ°. Π£ ΠΏΠΎΡΡ id
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ ΠΈΠ·Π²ΠΎΡΠ° ΡΠ΅ Π±ΠΈΡΠΈ Π·Π°Π±Π΅Π»Π΅ΠΆΠ΅Π½ΠΈ. Π‘ΡΠΎΠ³Π°, Π½Π° ΡΡΡΠ°Π½ΠΈ ΠΏΡΠΈΡΠ΅ΠΌΠ½ΠΈΠΊΠ° Π½Π΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π΅ Π΄Π° ΡΠ΅ Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΏΠΎΠ²Π΅ΡΠ°Π²Π°.
ΠΠΎΡΠ΅Π΄ ΡΠΎΠ³Π°, ΠΏΠΎΡΡΠ΅Π±Π°Π½ Π½Π°ΠΌ ΡΠ΅ ΠΏΡΠΎΡΡΠΎΡ Π·Π° ΡΡΠ²Π°ΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ row_ver
:
box.schema.space.create('row_ver', {
format = {
{
name = 'space_name',
type = 'string'
},
{
name = 'value',
type = 'string'
}
},
if_not_exists = true
})
box.space.row_ver:create_index('primary', {
parts = { 'space_name' },
unique = true,
type = 'HASH',
if_not_exists = true
})
ΠΠ° ΡΠ²Π°ΠΊΠΈ ΡΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΡΡΠΎΡ (ΠΏΠΎΡΠ΅ space_name
) ΠΎΠ²Π΄Π΅ ΡΠ΅ΠΌΠΎ ΡΠ°ΡΡΠ²Π°ΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡ ΡΡΠΈΡΠ°Π½Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ row_ver
(ΠΏΠΎΡΠ΅ value
). ΠΠΎΠ»ΠΎΠ½Π° ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΠΎ ΠΏΡΠΈΠΌΠ°ΡΠ½ΠΈ ΠΊΡΡΡ space_name
.
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ Π·Π° ΡΡΠΈΡΠ°Π²Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΎ ΠΏΡΠΎΡΡΠΎΡΡ goods
ΠΏΡΠ΅ΠΊΠΎ Π₯Π’Π’Π-Π°. ΠΠ° Π±ΠΈΡΠΌΠΎ ΡΠΎ ΡΡΠ°Π΄ΠΈΠ»ΠΈ, ΠΏΠΎΡΡΠ΅Π±Π½Π° Π½Π°ΠΌ ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π₯Π’Π’Π ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ°. Π‘Π»Π΅Π΄Π΅ΡΠΈ ΡΠ΅Π΄ ΡΡΠΈΡΠ°Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΠ° Π₯Π’Π’Π ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ°:
local http_client = require('http.client').new()
Π’Π°ΠΊΠΎΡΠ΅ Π½Π°ΠΌ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° ΡΡΠΎΠ½ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡ:
local json = require('json')
ΠΠ²ΠΎ ΡΠ΅ Π΄ΠΎΠ²ΠΎΡΠ½ΠΎ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΡΡΠΈΡΠ°Π²Π°ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°:
local function load_data(url, row_ver)
local url = ('%s?rowVer=%s'):format(url,
tostring(row_ver))
local body = nil
local data = http_client:request('GET', url, body, {
keepalive_idle = 1,
keepalive_interval = 1
})
return json.decode(data.body)
end
Π€ΡΠ½ΠΊΡΠΈΡΠ° ΠΈΠ·Π²ΡΡΠ°Π²Π° Π₯Π’Π’Π Π·Π°Ρ
ΡΠ΅Π² Π½Π° ΡΡΠ» Π°Π΄ΡΠ΅ΡΡ ΠΈ ΡΠ°ΡΠ΅ Π³Π° row_ver
ΠΊΠ°ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ ΠΈ Π²ΡΠ°ΡΠ° Π΄Π΅ΡΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π·Π°Ρ
ΡΠ΅Π²Π°.
Π€ΡΠ½ΠΊΡΠΈΡΠ° Π·Π° ΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΈΠΌΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΎΠ²Π°ΠΊΠΎ:
local function save_goods(goods)
local n = #goods
box.atomic(function()
for i = 1, n do
local obj = goods[i]
box.space.goods:put(
obj.id, obj.name, obj.code)
end
end)
end
Π¦ΠΈΠΊΠ»ΡΡ ΡΡΠ²Π°ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ ΠΏΡΠΎΡΡΠΎΡΡ goods
ΡΡΠ°Π²ΡΠ΅Π½ Ρ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΡ (ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΎΠ²ΠΎ box.atomic
) Π·Π° ΡΠΌΠ°ΡΠ΅ΡΠ΅ Π±ΡΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π½Π° Π΄ΠΈΡΠΊΡ.
ΠΠΎΠ½Π°ΡΠ½ΠΎ, ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎΠ³ ΠΏΡΠΎΡΡΠΎΡΠ° goods
ΡΠ° ΠΈΠ·Π²ΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π³Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠΈ ΠΎΠ²Π°ΠΊΠΎ:
local function sync_goods()
local tuple = box.space.row_ver:get('goods')
local row_ver = tuple and tuple.value or 0
ββ set your url here:
local url = 'http://127.0.0.1:81/test/goods/list'
while true do
local goods = load_goods(url, row_ver)
local count = #goods
if count == 0 then
return
end
save_goods(goods)
row_ver = goods[count].rowVer
box.space.row_ver:put({'goods', row_ver})
end
end
ΠΡΠ²ΠΎ ΡΠΈΡΠ°ΠΌΠΎ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΡΠ²Π°Π½Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ row_ver
Π·Π° ΠΏΡΠΎΡΡΠΎΡ goods
. ΠΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠ΅ (ΠΏΡΠ²Π° ΡΠ΅ΡΠΈΡΠ° ΡΠ°Π·ΠΌΠ΅Π½Π΅), ΠΎΠ½Π΄Π° ΡΠΎ ΡΠ·ΠΈΠΌΠ°ΠΌΠΎ ΠΊΠ°ΠΎ row_ver
Π½ΡΠ»Π°. Π‘Π»Π΅Π΄Π΅ΡΠ΅ Ρ ΡΠΈΠΊΠ»ΡΡΡ Π²ΡΡΠΈΠΌΠΎ ΠΏΡΠ΅ΡΠ·ΠΈΠΌΠ°ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΎΠ΄ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΄ΠΎ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ° ΠΈΠ·Π²ΠΎΡΠ° Π½Π° Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠΌ Π£Π Π-Ρ. ΠΠ° ΡΠ²Π°ΠΊΠΎΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡΠΈ ΠΏΡΠΈΠΌΡΠ΅Π½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΡΡΠ²Π°ΠΌΠΎ Ρ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡΠΎΡΡΠΎΡ ΠΈ Π°ΠΆΡΡΠΈΡΠ°ΠΌΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡ row_ver
(Ρ ΡΠ²Π΅ΠΌΠΈΡΡ row_ver
Π° Ρ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΎΡ row_ver
) - ΡΠ·ΠΌΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡ row_ver
ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅ Π»ΠΈΠ½ΠΈΡΠ΅ ΡΡΠΈΡΠ°Π½ΠΈΡ
ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°.
ΠΠ° Π·Π°ΡΡΠΈΡΡ ΠΎΠ΄ ΡΠ»ΡΡΠ°ΡΠ½ΠΎΠ³ ΠΏΠ΅ΡΡΠ΅ (Ρ ΡΠ»ΡΡΠ°ΡΡ Π³ΡΠ΅ΡΠΊΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ), ΠΏΠ΅ΡΡΠ° while
ΠΌΠΎΠΆΠ΅ ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΠΈ ΡΠ° for
:
for _ = 1, max_req do ...
ΠΠ°ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΈΠ·Π²ΡΡΠ°Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ΅ sync_goods
ΠΏΡΠΎΡΡΠΎΡ goods
ΠΏΡΠΈΡΠ΅ΠΌΠ½ΠΈΠΊ ΡΠ΅ ΡΠ°Π΄ΡΠΆΠ°ΡΠΈ Π½Π°ΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΡΠ΅ ΡΠ²ΠΈΡ
ΡΠ²Π΅ΠΌΠΈΡΡΠΊΠΈΡ
Π·Π°ΠΏΠΈΡΠ° goods
Ρ ΠΈΠ·Π²ΠΎΡΡ.
ΠΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ, Π±ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΅ΠΌΠΈΡΠΎΠ²Π°ΡΠΈ Π½Π° ΠΎΠ²Π°Ρ Π½Π°ΡΠΈΠ½. ΠΠΊΠΎ ΠΏΠΎΡΡΠΎΡΠΈ ΡΠ°ΠΊΠ²Π° ΠΏΠΎΡΡΠ΅Π±Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΎΠ·Π½Π°ΠΊΡ Π·Π° Π±ΡΠΈΡΠ°ΡΠ΅. ΠΠΎΠ΄Π°ΡΡΠ΅ Ρ ΠΏΡΠΎΡΡΠΎΡ goods
Π»ΠΎΠ³ΠΈΡΠΊΠΎ ΠΏΠΎΡΠ΅ is_deleted
Π° ΡΠΌΠ΅ΡΡΠΎ ΡΠΈΠ·ΠΈΡΠΊΠΎΠ³ Π±ΡΠΈΡΠ°ΡΠ° Π·Π°ΠΏΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠΎ Π»ΠΎΠ³ΠΈΡΠΊΠΎ Π±ΡΠΈΡΠ°ΡΠ΅ β ΠΏΠΎΡΡΠ°Π²ΡΠ°ΠΌΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΠΎΡΠ° is_deleted
Ρ ΡΠΌΠΈΡΠ°ΠΎ true
. ΠΠΎΠ½Π΅ΠΊΠ°Π΄ ΡΠΌΠ΅ΡΡΠΎ Π»ΠΎΠ³ΠΈΡΠΊΠΎΠ³ ΠΏΠΎΡΠ° is_deleted
ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΏΠΎΡΠ΅ deleted
, ΠΊΠΎΡΠΈ ΡΡΠ²Π° Π΄Π°ΡΡΠΌ ΠΈ Π²ΡΠ΅ΠΌΠ΅ Π»ΠΎΠ³ΠΈΡΠΊΠΎΠ³ Π±ΡΠΈΡΠ°ΡΠ° Π·Π°ΠΏΠΈΡΠ°. ΠΠ°ΠΊΠΎΠ½ ΠΈΠ·Π²ΡΡΠ΅ΡΠ° Π»ΠΎΠ³ΠΈΡΠΊΠΎΠ³ Π±ΡΠΈΡΠ°ΡΠ°, Π·Π°ΠΏΠΈΡ ΠΎΠ·Π½Π°ΡΠ΅Π½ Π·Π° Π±ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ Π±ΠΈΡΠΈ ΠΏΡΠ΅Π½Π΅Ρ ΡΠ° ΠΈΠ·Π²ΠΎΡΠ° Π½Π° ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΡΠ΅ (ΠΏΡΠ΅ΠΌΠ° Π³ΠΎΡΠ΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΡ Π»ΠΎΠ³ΠΈΡΠΈ).
Π‘Π΅ΠΊΠ²Π΅Π½ΡΠ° row_ver
ΠΌΠΎΠΆΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π·Π° ΠΏΡΠ΅Π½ΠΎΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΡΡΠΎΡΠ°: Π½Π΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π΅ Π΄Π° ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ° ΠΏΠΎΡΠ΅Π±Π½Π° ΡΠ΅ΠΊΠ²Π΅Π½ΡΠ° Π·Π° ΡΠ²Π°ΠΊΠΈ ΠΏΡΠ΅Π½Π΅Ρ ΠΏΡΠΎΡΡΠΎΡ.
Π Π°Π·ΠΌΠΎΡΡΠΈΠ»ΠΈ ΡΠΌΠΎ Π΅ΡΠΈΠΊΠ°ΡΠ°Π½ Π½Π°ΡΠΈΠ½ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π²ΠΈΡΠΎΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ° Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΠΌΠ° ΠΊΠΎΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» ΠΠΠΠ‘.
ΠΠ°Π»Π°Π·ΠΈ
- Π’Π°ΡΠ°Π½ΡΠΎΠΎΠ» ΠΠΠΠ‘ ΡΠ΅ Π°ΡΡΠ°ΠΊΡΠΈΠ²Π°Π½, ΠΎΠ±Π΅ΡΠ°Π²Π°ΡΡΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ° Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΎΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ΅ΠΌ.
- Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π²ΠΈΡΠΎΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ° ΠΈΠΌΠ° Π±ΡΠΎΡΠ½Π΅ ΠΏΡΠ΅Π΄Π½ΠΎΡΡΠΈ Ρ ΠΎΠ΄Π½ΠΎΡΡ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ Π½ΠΈΡΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ°.
- ΠΠ΅ΡΠΎΠ΄Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π²ΠΈΡΠΎΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ° ΠΎ ΠΊΠΎΡΠΎΡ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ Ρ ΡΠ»Π°Π½ΠΊΡ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° Π²Π°ΠΌ Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠΈΠ½Ρ ΠΏΡΠ΅Π½Π΅ΡΠΈΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π½ΠΎΡΠΎΠΌ ΡΠ°ΠΌΠΎ ΠΎΠ½ΠΈΡ Π·Π°ΠΏΠΈΡΠ° ΠΊΠΎΡΠΈ ΡΡ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½Π΅.
ΠΠ·Π²ΠΎΡ: Π²Π²Π².Ρ Π°Π±Ρ.ΡΠΎΠΌ