Este de tip multipla.
Se pot crea N gestiuni.
Simpla achizitionare a unui produs nu il introduce in gestiune.
NIR-ul este documentul ce introduce in gestiune. La crearea unui NIR prosusul intra in prima gestiune creata avand posibilitatea ulterioara de mutare in alta gestiune.
Cantitatea si pretul se tin in stock_batch pentru facturile de achizitie si in stock_batch_transaction pentru facturile de vanzare.
O factura de vanzare poate genera N tranzactii
Documentele de gestiune primesc numere automat.
1.NIR
Documentul ce introduce produsele in gestiune este NIR-ul. Acesta se stocheaza in tabela document avand TYPE=1 cu itemii in document_item.
Fiecare document item din nir genereaza, la creare, un stock_batch, produsele fiind alocate pe gestiunea de intrare (prima de tip marfaa in ordine cronologica).
Daca nu s-a inceput vanzarea din acel batch sau contabilizarea mutarii in alta gestiune (vezi mutarea in gestiuni), se permite update si delete pe itemul ce l-a generat.
La edit stergem toate batchurile cu acelasi documentItemId si cream unul nou exact ca la create. Deoarece nu putem sti ce cantitati merg pe ce gestiune, totul va merge pe gestiunea de intrare urmand ca utilizatorul sa decida din nou mutarile.
2.MUTAREA IN GESTIUNI
Daca se muta cantitati dintr-un lot in gestiuni diferite se creaza un nou stock batch pentru fiecare gestiune pastrandu-se documentItemId. Suma batchurilor cu acelasi documentItemId si type=1 reprezinta batchul initial.
Operatiunea se poate contabiliza. Mutarea in gestiuni contabilizata blocheaza editarea si stergerea loturilor implicate (nir si invoice).
3PV DIFERENTA STOCK
In interfata “Inventar” vom avea posibilitatea de a alege unul sau mai multe produse, in functie de rezultatul inventarierii.
La selectarea unui produs, vor aparea date referitoare la: cantitatea scriptica din Max de la data selectata, valoarea unitara per produs, valoare totala stoc produs respectiv.
In continuarea datelor anterioare apare un camp completabil valoric denumit “stoc faptic”.
In continuarea campului “stoc faptic” va aparea un camp denumit “Diferente” care se va calcula ca suma intre “Cantitate scriptica” si “Stoc faptic” generand rezultate pozitive sau negative
In dreptul fiecarei linii de produs, vom avea un checkbox intitulat “Ajusteaza taxa” si un al doilea checkbox intitulat “Imputabil”
Sub informatiile de mai sus va exista un camp text pentru explicatii.
| 0.Produs | 1.Cantitate Max | 2.Pret unitar/produs | 3.Valoare stoc | 4.Stoc faptic | 5.Diferente | 6.Stoc Final | Checkbox “Ajustare TVA” | Checkbox “Imputabil” |
| Din baza | Din baza | Din baza | Din baza (1×2) | Manual | 1-4 | 1+5 | Activ doar daca 5.<0 | Activ doar daca 5.<0 |
| Inactiv daca bifat “Imputabil” | Inactiv daca bifat” Ajustare TVA” | |||||||
| 3xx(cont stoc)=7588 | Valoare=5.Diferente x 2.pret unitar/produs | |||||||
| 6xx=3xx | Valoare=5.Diferente x 2.pret unitar/produs | |||||||
| 6xx=3xx | X.Valoare=5.Diferente x 2.pret unitar/produs | |||||||
| 635=4427 | Valoare=X.Valoare x [cota de TVA de la data intrarii in stoc a produsului] | |||||||
| 6xx=3xx | Y.Valoare=5.Diferente x 2.pret unitar/produs | |||||||
| 461=7581 | Valoare=Y.Valoare | |||||||
| 461=4427 | Valoare=Y.Valoare x [cota de TVA de la data intrarii in stoc a produsului] |
Conturile in selectoare se actualizeaza cu Js si se salveaza in tmpData. Mecanismul de salvare si incarcare a conturilor este identic cu cel de la factura.
Contabilizarea se face pe toti itemii nu individual.
Se permite decontabilizare, edit si delete.
decontabilizarea se face prin stergerea tuturor notelor contabile generate de document. ATENTIE!!! Selectul se face dupa sourceId care este documentItemId si type.
Permitem stergerea daca remaining dupa stergere este >=0.
5CASARE
Obiectele de inventar care nu sunt si nu pot deveni mijloace fixe se dau in consum cu o nota contabila (603=303) si un document (vezi atasament).
Casarea unui astfel de obiect se face cu o nota contabila speciala unde avem doar cont creditor.
daca se pastreaza piese din acel obiect (ex: casam masina, pastram cauciucuri)
facem o nota contabila speparata 30XX=7588 cu valoare introdusa manual dar mai mica decat valoarea initiala a obiectului de inventar.
Ciclu de viata a unui obiect de inventar:
factura 303=401
dare in folosinta 603=303
casare 8035
Mijloacele fixe se caseaza sau se scot din gestiune vezi documente atasate (cele scrise de mana)
6 MUTAREA IN GESTIUNE
Este executata de handleBatchMove() din StockStorageMove.php
Incepem sa mutam cantitatea iterand prin fiecare lot (stock_batch).
Verificam cantitatea ramasa (R) a fiecarui lot astfel:
– daca R >= delta (Δ), update pe lotul respectiv Q=Q-Δ, R=R-Δ.
– daca R < delta (Δ), update pe lotul respectiv Q=Q-R, R=0, Δ=Δ-R(initial)
Facem asta pana descarcam toata cantitatea apoi oprim iterarea prin loturi.