Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†?

ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ Π² Slack я наткнулся Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Π°ΠΊΡ€ΠΎΠ½ΠΈΠΌ для ΠΌΠΎΠ΅Π³ΠΎ глоссария Π°ΠΊΡ€ΠΎΠ½ΠΈΠΌΠΎΠ² C++: β€œVTT.” Godbolt:

β€œVTT” Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«Ρ‚Π°Π±Π»ΠΈΡ†Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Β» (virtual table table). Π­Ρ‚ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ структура Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ (Π² Itanium C++ ABI) ΠΏΡ€ΠΈ создании Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сами унаслСдованы ΠΎΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов. VTT ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ размСщСния, Ρ‡Ρ‚ΠΎ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (vtable) ΠΈ информация ΠΎ Ρ‚ΠΈΠΏΠ΅ (typeinfo), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто мыслСнно ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Β«vtableΒ» вмСсто Β«VTTΒ», ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ. (Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π²Ρ‹ оставили Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ класса). Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ VTT, ΠΈΠ»ΠΈ аналогичная структура, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°, Π½Π°Ρ‡Π½Ρ‘ΠΌ с основ.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ конструирования для Π½Π΅Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ наслСдования

Когда Ρƒ нас Π΅ΡΡ‚ΡŒ иСрархия наслСдования, Π±Π°Π·ΠΎΠ²Ρ‹Π΅ классы ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΡƒΡŽΡ‚ΡΡ, начиная с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Charlie, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ классы MrsBucket ΠΈ MrBucket, рСкурсивно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ MrBucket, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ классы GrandmaJosephine ΠΈ GrandpaJoe.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ конструирования для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов

Но Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ наслСдованиС ΠΏΡƒΡ‚Π°Π΅Ρ‚ всС ΠΊΠ°Ρ€Ρ‚Ρ‹! ΠŸΡ€ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ наслСдовании, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€ΠΎΠΌΠ±ΠΎΠ²ΠΈΠ΄Π½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… класса ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΊΠ°.

Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ конструктор ΠΎΡ‚Π²Π΅Ρ‡Π°Π» Π·Π° Π²Ρ‹Π·ΠΎΠ² конструктора своСго Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса. Но сСйчас Ρƒ нас Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ наслСдованиС, ΠΈ конструкторы M ΠΈ F Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ G, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΠ±Ρ‰ΠΈΠΉ. Если Π±Ρ‹ M ΠΈ F Π±Ρ‹Π»ΠΈ отвСтствСнныС Π·Π° конструированиС Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² этом случаС, ΠΎΠ±Ρ‰ΠΈΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Ρ‹Π» Π±Ρ‹ сконструирован Π΄Π²Π°ΠΆΠ΄Ρ‹, Π° это Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ наслСдования, Itanium C++ ABI раздСляСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ конструктор Π½Π° Π΄Π²Π΅ части: конструктор Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΈ конструктор ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° конструированиС всСх ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ наслСдования (ΠΈ ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈ установку ΠΈΡ… vptr Π½Π° ΠΈΡ… vtable, ΠΈ запуск ΠΊΠΎΠ΄Π° Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках Π² ΠΊΠΎΠ΄Π΅ C++). ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создаётС ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ C++, ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° конструированиС всСх ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ наслСдования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π΄Π΅Π»Π°Π΅Ρ‚ всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅.

Рассмотрим Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ нашим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ A B C D E ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ:

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π• сначала Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ конструкторы Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² A ΠΈ C; Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ конструкторы Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ наслСдования B ΠΈ D. B ΠΈ D Π½Π΅ нСсут большС ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° конструированиС A ΠΈ C соотвСтствСнно.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† vtable

ΠŸΡƒΡΡ‚ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ класс с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΎΠΉ (Godbolt):

Когда ΠΌΡ‹ конструируСм Lion, ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с конструирования Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Cat. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Cat Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ poke(). Π’ этой Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Cat β€” ΠΌΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅-Ρ‡Π»Π΅Π½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Lion. Если конструктор Cat Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Lion::poke(), ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‡Π»Π΅Π½ std::string roar ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ UB. Π˜Ρ‚Π°ΠΊ, стандарт Π‘++ обязываСт нас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² конструкторС Cat, Π²Ρ‹Π·ΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° poke() Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Cat::poke(), Π½Π΅ Lion::poke()!

Π’ этом Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ просто заставляСт Cat::Cat() (ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ для Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°) Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с установки vptr ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ vtable ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Cat. Lion::Lion() Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Cat::Cat(), ΠΈ Π·Π°Ρ‚Π΅ΠΌ сбросит vptr Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ vtable для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Cat Π²Π½ΡƒΡ‚Ρ€ΠΈ Lion, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках. Π‘Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ!

БмСщСния ΠΏΡ€ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ наслСдовании

ΠŸΡƒΡΡ‚ΡŒ Cat Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ наслСдуСтся ΠΎΡ‚ Animal. Π’ΠΎΠ³Π΄Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° vtable для Cat Ρ…Ρ€Π°Π½ΠΈΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ-Ρ‡Π»Π΅Π½ΠΎΠ² Cat, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ смСщСниС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Animal Π²Π½ΡƒΡ‚Ρ€ΠΈ Cat. (Godbolt.)

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Cat Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρ‡Π»Π΅Π½ Animal::data. Если этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Cat являСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Nermal, Ρ‚ΠΎ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅-Ρ‡Π»Π΅Π½Ρ‹ находятся ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 8, прямо Π·Π° vptr. Но Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Cat являСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Garfield, Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅-Ρ‡Π»Π΅Π½Ρ‹ находятся ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 16, Π·Π° vptr ΠΈ Garfield::padding. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ситуациСй, Itanium ABI сохраняСт смСщСния Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ vtable ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Cat. Π’Π°Π±Π»ΠΈΡ†Π° vtable для Cat-Π²-Nermal сохраняСт Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Animal, Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Cat, сохранён ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 8; Ρ‚Π°Π±Π»ΠΈΡ†Π° vtable для Cat-Π²-Garfield сохраняСт Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Animal, Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Cat, сохранён ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 16.

БСйчас объСдиним это с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Cat::Cat() (ΠΊΠ°ΠΊ вСрсия Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‚Π°ΠΊ ΠΈ вСрсия ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°) начинаСтся с установки vptr Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ vtable для Cat-Π²-Nermal ΠΈΠ»ΠΈ Π½Π° vtable для Cat-Π²-Garfield, Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°! Но ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ vtable ΠΎΠ½ Ρ…ΠΎΡ‡Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ссылался vptr Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ конструирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈ Π·Π°Ρ‚Π΅ΠΌ конструктор ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²Π½ΠΈΠ·, Π² конструктор Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠ°ΠΊ скрытый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€! ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° сгСнСрированный ΠΊΠΎΠ΄ для Cat::Cat() (Godbolt):

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этот скрытый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² %rdi, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ скрытый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ VTT Π² %rsi! ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ адрСс ΠΈΠ· (%rsi) ΠΈ сохраняСт адрСс Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ vtable ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Cat.

ΠšΡ‚ΠΎ Π±Ρ‹ Π½ΠΈ Π²Ρ‹Π·Π²Π°Π» конструктор Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Cat, ΠΎΠ½ отвСтствСнСн Π·Π° прСдвычислСниС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ адрСс Cat::Cat() Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ записан Π² vptr ΠΈ Π·Π° установку указатСля Π² (%rsi) Π½Π° этот адрСс.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ индирСктности?

Рассмотрим конструктор ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Nermal.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ _ZTC6Nermal0_3Cat+24 Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π² сСкции data ΠΈ Π΅Π³ΠΎ адрСс пСрСдаётся Π² %rsi, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ просто ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ _ZTC6Nermal0_3Cat+24 Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ?

Π’Π°ΠΊ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρƒ нас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ наслСдования! На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ наслСдования конструктор Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ vptr ΠΈ Π·Π°Ρ‚Π΅ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ дальшС ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅, ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ конструктору, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ vptrs Π² ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ список Π»ΠΈΠ±ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° vtable.

Π’ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (Godbolt):

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ конструктора Grandparent Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свой vptr Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Grandparent-Π²-Ρ‡Ρ‘ΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, Ρ‡Ρ‚ΠΎ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ классом. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Parent Π΄ΠΎΠ»ΠΆΠ΅Π½ сначала Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Grandparent::Grandparent() с подходящим %rsi, ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ vptr Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Parent-Π²-Ρ‡Ρ‘ΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, Ρ‡Ρ‚ΠΎ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ классом. Бпособ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого для Gretel:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Godbolt, Ρ‡Ρ‚ΠΎ конструктор Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса Parent сначала Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Grandparent::Grandparent() с %rsi+8, Π·Π°Ρ‚Π΅ΠΌ устанавливаСт собствСнный vptr Π² (%rsi). Π˜Ρ‚Π°ΠΊ, здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Π°ΠΊΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π“Ρ€Π΅Ρ‚Π΅Π»ΡŒ, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ»ΠΎΠΆΠΈΠ»Π° Ρ‚Ρ€ΠΎΠΏΡƒ ΠΈΠ· Ρ…Π»Π΅Π±Π½Ρ‹Ρ… ΠΊΡ€ΠΎΡˆΠ΅ΠΊ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ шли всС Π΅Ρ‘ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ классы ΠΏΡ€ΠΈ конструировании.

Π’Π° ΠΆΠ΅ VTT ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² дСструкторС (Godbolt). Насколько я знаю, нулСвая строка Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ VTT Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Gretel Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ vtable для Gretel+24 Π² vptr, Π½ΠΎ ΠΎΠ½ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ этот адрСс статичСский, Π΅Π³ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΠ· VTT. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ нулСвая строка Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»Π°ΡΡŒ просто ΠΏΠΎ историчСским ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. (И ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, компилятор Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ просто Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π΅Ρ‘, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ Itanium ABI ΠΈ станСт Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ° со старым ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ придСрТиваСтся Itanium-ABI).

Π’ΠΎΡ‚ ΠΈ всё, ΠΌΡ‹ рассмотрСли Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†, ΠΈΠ»ΠΈ VTT.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ информация

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ VTT Π² этих мСстах:

НаконСц, я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ VTT, это ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Itanium C++ ABI, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Linux, OSX, ΠΈ Ρ‚.ΠΏ. MSVC ABI, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ Π² Windows, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ VTT, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ наслСдования. Π― (ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ) практичСски Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ знаю ΠΎ MSVC ABI, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹, я всё Π²Ρ‹ΡΡΠ½ΡŽ ΠΈ Π½Π°ΠΏΠΈΡˆΡƒ ΠΎΠ± этом пост!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ запросов 1Π‘ β€” ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

Π£Ρ€ΠΎΠΊ 6. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ ΠΈΡ… использованиС Π² конструкторС запросов

Π—Π°Π΄Π°Ρ‡Π° 1: ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ остатки Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ складС Π½Π° ΠΊΠΎΠ½Π΅Ρ† мСсяца.

Π—Π°Π΄Π°Ρ‡Π° 2: ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ†Π΅Π½Ρƒ Π½Π° ΠΊΠΎΠ½Π΅Ρ† мСсяца ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π΅ ΠΈ Ρ‚ΠΈΠΏΡƒ Ρ†Π΅Π½.

НовыС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹: Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†.

ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠΊΠ° β„–6

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

Рассмотрим основныС Π²ΠΈΠ΄Ρ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† 1с для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…:

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ запросов позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ рСгистров. Если Ρƒ рСгистра Π΅ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ находится Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π’Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ поля послС основной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ рСгистра.

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

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

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π‘Ρ€Π΅Π·ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΡ… ΠΈ Π‘Ρ€Π΅Π·ΠŸΠ΅Ρ€Π²Ρ‹Ρ…

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ Π² рСгистрС накоплСния

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ Π² рСгистрС Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния запроса, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠ² Π½Π΅Π½ΡƒΠΆΠ½ΡƒΡŽ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ. Π‘ΡƒΠ±ΠΊΠΎΠ½Ρ‚ΠΎ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±ΡƒΠ΄ΡƒΡ‚ доступны Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ стоят Π² массивС. Если Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ мСньшС Π²ΠΈΠ΄ΠΎΠ² субконто, Ρ‡Π΅ΠΌ сущСствуСт Π½Π° счСтС, Ρ‚ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ субконто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСльзя. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Ссли ΠΎΠ½ Π½Π΅ Π·Π°Π΄Π°Π½, Ρ‚ΠΎ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ всС доступныС субконто.

ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ Π² рСгистрС накоплСния

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ Π² рСгистрС Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ Π² рСгистрС накоплСния

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ Π² рСгистрС Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Ρ‹Π»ΠΈ описаны Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ….

ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ Π”Π΅Π±Π΅Ρ‚ ΠšΡ€Π΅Π΄ΠΈΡ‚

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ДвиТСния с субконто

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠΊΠ° β„–6

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π½Π°ΠΌ прСдстоит Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄Π²Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅.

Π—Π°Π΄Π°Ρ‡Π° 1

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ остатки Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ складС Π½Π° ΠΊΠΎΠ½Π΅Ρ† мСсяца.

Для простоты ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ вСсь ΡƒΡ‡Π΅Ρ‚ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π½Π° складах ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ 41 счСту бухгалтСрского ΡƒΡ‡Π΅Ρ‚Π°.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρƒ нас получится запрос со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ тСкстом:

Π—Π°Π΄Π°Ρ‡Π° 2

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ†Π΅Π½Ρƒ Π½Π° ΠΊΠΎΠ½Π΅Ρ† мСсяца ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π΅ ΠΈ Ρ‚ΠΈΠΏΡƒ Ρ†Π΅Π½.

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρƒ нас получится запрос со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ тСкстом:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РСгистры накоплСния. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π§Π°ΡΡ‚ΡŒ β„–1: ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹

О рСгистрах накоплСния

Π’ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… прСдставлСны основныС свСдСния ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ устройствС рСгистров накоплСния, ΠΎ SQL-запросах ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌΠΈ ΠΈ ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² зависимости ΠΎΡ‚ настроСк рСгистра. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описана Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ рСгистров (остатков ΠΈ накоплСния), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΠ².

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ созданы Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 8.2, поэтому Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΆΠ΅ Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π½ΠΎ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ сайт Π±Ρ‹Π» Π·Π°ΠΊΡ€Ρ‹Ρ‚. НСкоторыС ΠΈΠ· Π΅Π³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π΅Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° Π˜Π½Ρ„ΠΎΡΡ‚Π°Ρ€Ρ‚.

ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹» рСгистров накоплСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π½Π° GitHub.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

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

БСгодня Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ SQL-запросы, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ рСгистра. Напомню, Ρ‡Ρ‚ΠΎ Ρƒ рСгистров накоплСния сущСствуСт всСго Ρ‚Ρ€ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈΠšΠ°ΠΊ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, ΠΊΡ€ΠΎΠΌΠ΅ физичСской Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… создаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π°, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ВсСго ΠΈΡ… Ρ‚Ρ€ΠΈ:

ПослСдниС Π΄Π²Π΅ становятся доступными Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²ΠΈΠ΄ рСгистра установлСн ΠΊΠ°ΠΊ «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ».

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΎΡ‚ физичСских: Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ хранятся нСпосрСдствСнно Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запрос Π² зависимости ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ записи ΠΈΠ· Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚Π°Π±Π»ΠΈΡ† для формирования ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π”Π°Π»Π΅Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ SQL-запросы ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.2 ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ. ΠŸΡ€ΠΈ этом Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запросы ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… комбинациях ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π° Π‘Π£Π‘Π”

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ таблицамиНачнСм Π°Π½Π°Π»ΠΈΠ· с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° присутствуСт Π²Π½Π΅ зависимости ΠΎΡ‚ Π²ΠΈΠ΄Π° рСгистра.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹»

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹» Π΅ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρƒ рСгистра накоплСния с Π²ΠΈΠ΄ΠΎΠΌ «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹», Ρ‚Π°ΠΊ ΠΈ с Π²ΠΈΠ΄ΠΎΠΌ «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ». Рассмотрим ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. НачнСм с послСднСго.

Π’ΠΈΠ΄ рСгистра «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ»

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ состав ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ рСгистра «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹».Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π’ Π½Π΅ΠΌ содСрТатся поля ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ поля «ΠŸΡ€ΠΈΡ…ΠΎΠ΄», «Π Π°ΡΡ…ΠΎΠ΄» ΠΈ «ΠžΠ±ΠΎΡ€ΠΎΡ‚» для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· рСсурсов Π² рСгистрС. Π’ нашСм случаС Ρƒ нас Π΄Π²Π° измСрСния («ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π°» ΠΈ «Π‘ΠΊΠ»Π°Π΄»), Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€ΠΈ поля «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠŸΡ€ΠΈΡ…ΠΎΠ΄», «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚воРасход» ΠΈ «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚ΠΎΠžΠ±ΠΎΡ€ΠΎΡ‚».

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈΠ’ зависимости ΠΎΡ‚ установлСнного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° «ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ» Π² состав доступных ΠΏΠΎΠ»Π΅ΠΉ Π²ΠΈΡ€Ρ‚. Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ («ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π”Π΅Π½ΡŒ», «ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠœΠ΅ΡΡΡ†» ΠΈ Ρ‚.Π΄.).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ напишСм простой запрос для получСния ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ² ΠΏΠΎ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π΅ Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ установим поля «ΠΠ°Ρ‡Π°Π»ΠΎΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°» ΠΈ «ΠšΠΎΠ½Π΅Ρ†ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°», Π° Π² условия Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠΎ складу «Π‘ΠΊΠ»Π°Π΄ β„–1». ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° сформируСт Π΄Π²Π° SQL-запроса ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ запрос ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ настройки рСгистра накоплСния:

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эти настройки, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ SQL-запрос нСпосрСдствСнно Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ². Π’ΠΎΡ‚ Ρ‚Π°ΠΊ выглядит SQL-запрос ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для получСния ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ²:

Бтарался ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ вСсь запрос. Если Π±ΡƒΠ΄ΡƒΡ‚ нСпонятныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, Ρ‚ΠΎ ΠΏΡ€ΠΎΡˆΡƒ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст запроса Π½Π° языкС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ случаС, Ссли для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ устанавливаСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «ΠœΠ΅ΡΡΡ†», Ρ‚ΠΎ SQL-запрос Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ видоизмСнится:

Если Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ установлСна «ΠΠ²Ρ‚ΠΎ», Ρ‚ΠΎ Π² SQL-запросС Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ поля ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠΉ Π² запросС пСриодичности («Π”Π΅Π½ΡŒ», «ΠœΠ΅ΡΡΡ†», «Π“ΠΎΠ΄» ΠΈ Ρ‚.Π΄.). ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ…Ρ€Π°Π½ΠΈΡ‚ значСния ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ части Π΄Π°Ρ‚Ρ‹ «Π“ΠΎΠ΄» Π½Π° 2000 Π»Π΅Ρ‚ ΠΌΠ½Π΅ Π½Π΅ извСстна. Если ΠΊΡ‚ΠΎ ΠΈΠ· Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ подскаТСт, Π±ΡƒΠ΄Ρƒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½.

ΠœΡ‹ с Π’Π°ΠΌΠΈ рассмотрСли SQL-запросы ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹» рСгистра накоплСния с Π²ΠΈΠ΄ΠΎΠΌ «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ». Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹» Π² этом случаС Π±Π΅Ρ€Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ рСгистра. Π”Π°ΠΆΠ΅, Ссли ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ Π² запросС ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π·Π° нСсколько мСсяцСв, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· использования ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ сохранСнных Ρ€Π°Π½Π΅Π΅ ΠΈΡ‚ΠΎΠ³ΠΎΠ². И это понятно, рСгистр накоплСния с Π²ΠΈΠ΄ΠΎΠΌ «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΡƒΡ‡Π΅Ρ‚Π° остатков, Π° Π½Π΅ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ². Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΡƒΡ‡Π΅Ρ‚Π° ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ² Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄ рСгистра накоплСния.

Π’ΠΈΠ΄ рСгистра «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹»

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя поля для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ рСгистра, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ полю Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ рСсурс. Для ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π½ΠΎΠ³ΠΎ рСгистра «Π”Π²ΠΈΠΆΠ΅Π½ΠΈΡΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹» ΠΈΠ· тСстовой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ состав ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈΠšΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ случаС, Π² зависимости ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° «ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ» Π² составС доступных ΠΏΠΎΠ»Π΅ΠΉ появятся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹.

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈΠ˜ Ρ‚Π°ΠΊ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ нСсколько запросов ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹» ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ SQL-запросы ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ запрос Π½Π° языкС запросов ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹:

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ настройки рСгистра накоплСния, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ выполняСтся запрос. Запрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ рассматриваСмому Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠΎΠΉΠ΄Π΅ΠΌ дальшС. Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ SQL-запрос Ρ‚ΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ:

К коммСнтариям Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ тСкстС добавлю, Ρ‡Ρ‚ΠΎ Π²Π½Π΅ зависимости ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² «ΠΠ°Ρ‡Π°Π»ΠΎΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°» ΠΈ «ΠšΠΎΠ½Π΅Ρ†ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°» запрос пытаСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΠ· ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†, ΠΈ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ рСгистра.

Если Π² запросС Π½Π° языкС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ использованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° «ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, поставим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «ΠœΠ΅ΡΡΡ†»), Ρ‚ΠΎ SQL-запрос ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ измСнится Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ рассмотрСнному ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ для рСгистра накоплСния с Π²ΠΈΠ΄ΠΎΠΌ остатки. Π‘ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ поля Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠ² («ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π”Π΅Π½ΡŒ», «ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠœΠ΅ΡΡΡ†» ΠΈ Ρ‚.Π΄.) Π² сСкции запроса «SELECT» ΠΈ «GROUP BY». Для нашСго ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° это мСсяц. Поля ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ для всСх Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… запросов ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, выраТСния Π² ΠΏΠΎΠ»Π΅ запроса для получСния ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ:

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ получСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π±Ρ‹Π» описан Π²Ρ‹ΡˆΠ΅ для рСгистра с Π²ΠΈΠ΄ΠΎΠΌ «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹».

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Если ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ дСйствия SQL-запросов схСматично, Ρ‚ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈΠŸΠΎ схСмС Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹» для рСгистра накоплСния с Π²ΠΈΠ΄ΠΎΠΌ «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ рассчитанных ΠΈΡ‚ΠΎΠ³ΠΈ ΠΏΠΎ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°ΠΌ Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ мСсяцСв. И лишь Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° рассчитанных ΠΈΡ‚ΠΎΠ³ΠΎΠ² для ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π½Π΅Ρ‚, Ρ‚ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ. Для рСгистра Π²ΠΈΠ΄Π° «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ» всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π²Π½Π΅ зависимости ΠΎΡ‚ настроСк хранСния ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Ρ… записСй. ИмСнно поэтому слСдуСт Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π½Π΅ΡΡ‚ΠΈΡΡŒ ΠΊ настройкС Π²ΠΈΠ΄Π° рСгистра накоплСния ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ структуры ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ΅Π½ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Ссли для рСгистра накоплСния ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ использованиС ΠΈΡ‚ΠΎΠ³ΠΎΠ², Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° запрос ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ» станСт Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ. Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ такая ошибка:

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈΠŸΡ€ΠΈΡ‡Π΅ΠΌ, данная ошибка Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ смотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° «ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹» для рСгистра накоплСния с Π²ΠΈΠ΄ΠΎΠΌ «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ.

Π§Ρ‚ΠΎ дальшС

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ» ΠΈ «ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹». Π’Π°ΠΊΠΆΠ΅ коснСмся Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΠ² рСгистра накоплСния.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Запросы, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

7.1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ свСдСния ΠΎ запросах

Запросы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ. НапримСр, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π²ΡƒΡ‡Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ: «Π£Π·Π½Π°Ρ‚ΡŒ количСство ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², числящихся Π·Π° Π˜Π²Π°Π½ΠΎΠ²Ρ‹ΠΌ И.И.». ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ†Π΅Π»ΡŒ запроса сформулирована, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ шаги, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для запросов

НаписаниС тСкста запроса

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запроса ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запроса

7.2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ—Π°ΠΏΡ€ΠΎΡΠΎΠ²

Π’ΠΎΠΉΠ΄Π΅ΠΌ Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π€Π°ΠΉΠ» > Новый > Π’Π½Π΅ΡˆΠ½ΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, рис. 7.1.

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π’Π²Π΅Π΄Π΅ΠΌ Π² ΠΏΠΎΠ»Π΅ имя ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ—Π°ΠΏΡ€ΠΎΡΠΎΠ², для Π½Π°Ρ‡Π°Π»Π° рСдактирования Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π΅ Основная Ρ„ΠΎΡ€ΠΌΠ° внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ ΠΎΠΊΠ½ΠΎ ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, оставим Π² Π½Π΅ΠΌ всС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π½Π°ΠΆΠΌΠ΅ΠΌ Π“ΠΎΡ‚ΠΎΠ²ΠΎ.

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. Для этого ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ ΠΎΠΊΠ½ΠΎ свойств ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π½Π°ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π΅ ДСйствиС. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Поясним Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Они, Π² основном, связаны с Π½ΠΎΠ²Ρ‹ΠΌ для вас ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Запрос.

ЗаписываСм Π² свойство запроса ВСкст Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π² ΠΏΠΎΠ»Π΅ тСкстового Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Благодаря этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π² ΠΏΠΎΠ»Π΅ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡΠ—Π°ΠΏΡ€ΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΅Π³ΠΎ содСрТимоС, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ пустым.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ созданиС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ, сохраним Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π€Π°ΠΉΠ» > Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.

Π€Π°ΠΉΠ»Ρ‹ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ *.EPF, рис. 7.4.

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *