modul de divizare și rezultatul - blokirovatdlyaizmeneniya

modul de divizare și rezultatul - blokirovatdlyaizmeneniya

Bună ziua, prieteni! Astăzi vom vorbi despre „rezultatele modului de separare“, înregistrarea proprietății. Toată lumea a auzit că există, dar, în practică, foarte puțini oameni știu - ce fel de animal.

Deci, ca de obicei, există o problemă - o mulțime de timeout de blocare, de blocare eroare de expirare:

Acum am să-ți spun ce se întâmplă aici. Mai multe persoane scrie date simultan într-un singur registru de la un set de măsurători. Nici o problema - a crea mai multe înregistrări. Dar când scriu pentru a înregistra sistemul încearcă să actualizeze rezultatele din tabel, despre care am vorbit într-un articol anterior. În acest tabel, un set de măsurători doar un singur rând. Există un conflict - toată lumea așteaptă până când documentul sărbătorit al unui utilizator.

Și apoi ne întoarcem pe totaluri de registru modul de partajare. Punct de vedere tehnic, se pare ca acest lucru:

Sistemul adaugă o coloană din tabel «_Splitter» rezultatele sau delimitatorul. Acum, când mai multe persoane a scrie date simultan pe un singur set de măsurători, toate liniile se încadrează în rezultatele din tabel, dar cu valori diferite de divizare (0, 1, 2 ...).

Atunci când sistemul dorește să ia în considerare rezultatele măsurătorilor setului, aceasta adaugă valoare cu diferite separatoare și primește datele reale. Și când valorile convertite sunt însumate și rezultatele unui rând sunt rescrise.

De aceea, recomand să includă rezultatele modului de separare în registre. 1C este acum instalat în mod implicit atunci când vă creați un registru de verificare.

Dar fiecare decizie, există dezavantaje. Acum 1C „la modă“ pentru a controla rămășițele metodei de „post-mortem“ - mișcare scris mai întâi, și apoi citit rămășițele și să vedem dacă ne-am dus în negativ. Și aici ne așteptăm următoarea problemă:

modul de divizare și rezultatul - blokirovatdlyaizmeneniya

utilizatorii 2 au înregistrat cu succes a datelor înscrise în registrul în același timp, datorită regimului de separare a rezultatului, și apoi doriți să verificați soldurile. Și toată lumea încearcă să citească toate datele de pe un set de măsurători.

Ca urmare, primul utilizator este în așteptare pentru al doilea utilizator finalizează o tranzacție pentru a citi datele. Un al doilea utilizator așteaptă primul. Un caz tipic de impas. Un utilizator va vedea o eroare, iar tranzacția va fi anulată.

Pentru a preveni acest lucru, în acele locuri în care se utilizează metoda de „post-mortem“ set de înregistrări este necesar să se stabilească proprietatea „BlokirovatDlyaIzmeneniya“. Atunci când acest lucru este stabilit pe blocare registru controlat în funcție de măsurătorile noastre, precum și modul de utilizare nu este permisă rezultatul separării într-o situație dată. Acest lucru este logic, ne-ar dori să informeze sistemul - „nu pur și simplu scrie datele, și apoi doriți să verificați soldurile, iar alți utilizatori nu ar trebui să modifice aceste date până când am terminat“

Vă mulțumesc pentru atenție 🙂

modul de divizare și rezultatul - blokirovatdlyaizmeneniya