Controlul stocului și disponibilitatea¶
eYssen livrează un set de module Stoc mici și specializate, care întăresc modul în care transferurile și cantitățile disponibile sunt protejate și raportate: un indicator de suspendare și o resetare a rezervării pe transferul însuși, o oprire fermă a stocului negativ, o defalcare pe depozit a cantităților disponibile, libere și prognozate, precalculată pentru vizualizări rapide de tip listă, kanban și comandă de vânzare, precum și un set de atribute fizice de dimensiune și încărcare pentru locațiile de depozitare. Fiecare este opțional și se activează independent din ecranul de setări eYssen.
Suspendarea unui transfer și golirea cantităților¶
eyssen_stock este stratul comun eYssen Stoc pe care se bazează celelalte module din această pagină. Singur, adaugă trei comenzi care modifică modul în care se comportă un transfer.
Suspendare¶
Un comutator Suspendă pe formularul transferului marchează un transfer ca nefiind de procesat. Suspendarea unui transfer eliberează rezervarea acestuia, astfel încât stocul devine din nou disponibil pentru alte comenzi; ridicarea suspendării îl rezervă la loc. O panglică roșie În așteptare marchează un transfer suspendat, iar un câmp doar pentru citire Motiv suspendare explică motivul — completat automat de ceea ce a pus transferul în suspendare. Ambele câmpuri sunt urmărite în chatter.
Comutatorul este disponibil și ca o coloană în lista Transferuri, iar bara de căutare primește filtrele În așteptare și Reia. Un transfer care este Efectuat sau Anulat nu mai poate fi suspendat.
- menu
- Inventory ‣ Transfers ‣ (a ready transfer)
- shows
- A transfer form with the "Hold" toggle enabled, the read-only "Hold Reason" next to it and the red "On Hold" ribbon in the top-right corner.
- highlight
- The "Hold" toggle and the "On Hold" ribbon (red frames).
- data
- Delivery WH/OUT/00003 held with the reason "Waiting for payment".
- module
- eyssen_stock
- notes
- English UI, light theme, 1440px width, crop to the header and the ribbon.
Setarea cantităților la zero¶
Un buton Setează cantitățile la zero deasupra liniilor de operațiune golește dintr-un clic cantitățile rezervate ale unui transfer Pregătit, ceea ce este cea mai rapidă modalitate de a relua o ridicare. Necesar este păstrată, deci transferul poate fi pur și simplu rezervat din nou; liniile care se află deja într-un pachet rămân neatinse. Butonul este disponibil doar cât timp transferul este Pregătit — în orice altă stare, raportează că cantitățile pot fi golite doar când transferul este gata.
- menu
- Inventory ‣ Transfers ‣ (a ready transfer) ‣ Operations tab
- shows
- A ready transfer with the "Set Quantities to Zero" button above the operation lines, whose quantities are still filled in.
- highlight
- The "Set Quantities to Zero" button (red frame).
- data
- Delivery WH/OUT/00004 with three reserved lines.
- module
- eyssen_stock
- notes
- English UI, light theme, 1440px width, crop to the button and the lines.
Rezervarea din pachete¶
O opțiune Împiedică rezervarea din pachete pe tipul de operație (), activată implicit, ține rezervarea automată departe de stocul care se află deja într-un pachet: se rezervă doar stocul neambalat. Mișcările pentru care a fost ales explicit un pachet nu sunt afectate. Dezactivați opțiunea pe tipurile de operații la care se așteaptă desfacerea pachetelor.
- menu
- Inventory ‣ Configuration ‣ Operations Types ‣ (an operation type)
- shows
- An operation type form showing the "Prevent Reservation from Packages" checkbox next to "Show Entire Packs".
- highlight
- The "Prevent Reservation from Packages" checkbox (red frame).
- data
- Operation type "YourCompany: Delivery Orders", option enabled.
- module
- eyssen_stock
- notes
- English UI, light theme, 1440px width, crop to the packages options.
Notă
Modulul mărește, de asemenea, limita de lungime a Nume scurt al unui depozit la 32 de caractere și afișează cantitatea prognozată împreună cu unitatea de măsură pe insigna de stoc disponibil din vizualizările kanban și listă ale produselor.
Prevenirea stocului negativ¶
Implicit, Odoo permite ca o cuantă de stoc să devină negativă — util pentru unele fluxuri de lucru, dar adesea un semn al unei greșeli de introducere a datelor sau al unei rezervări omise. Modulul eyssen_stock_disallow_negative_stock adaugă o protecție de validare fermă: orice mișcare de stoc sau ajustare care ar lăsa o cuantă cu o cantitate negativă într-o locație internă sau de tranzit este respinsă pe loc, cu excepția cazului în care a fost activată o derogare explicită pentru acel produs, pentru categoria sa de produse sau pentru locația însăși.
- menu
- Settings ‣ eYssen ERP ‣ Stock
- shows
- The "Stock" block of the eYssen ERP settings page, with the "Disallow Negative Stock" setting row and its help text ("If you turn it on, the system will not allow the stock to go negative by default. Negative stock can be allowed on by stock location or by product.").
- highlight
- The "Disallow Negative Stock" setting row (red frame).
- data
- Demo company "YourCompany HU"; the setting enabled.
- module
- eyssen_base, eyssen_stock_disallow_negative_stock
- notes
- English UI, light theme, 1440px width, crop to the setting row.
Protecția se aplică doar produselor stocabile de tip Bunuri (type = 'consu' cu is_storable setat) — serviciile și produsele consumabile nestocabile nu sunt verificate niciodată.
Derogări¶
O casetă Permite stoc negativ este adăugată în trei locuri, iar activarea oricăreia dintre ele este suficientă pentru a permite stocul negativ pentru acea combinație:
fila Stoc a produsului (vizibilă doar pentru bunurile stocabile);
grupul Logistică al categoriei de produse; și
formularul locației de stoc.
- menu
- Inventory ‣ Products ‣ Products ‣ (a storable product) ‣ Inventory tab
- shows
- The "Allow Negative Stock" checkbox on a storable product's Inventory tab, next to the other logistics fields.
- highlight
- The "Allow Negative Stock" checkbox (red frame).
- data
- A storable product of type Goods; the checkbox left unticked.
- module
- eyssen_stock_disallow_negative_stock
- notes
- English UI, light theme, 1440px width, crop to the field group. The checkbox is only shown for storable goods.
Dacă niciuna dintre cele trei derogări nu este activată și o operațiune ar împinge cantitatea sub zero, Odoo blochează operațiunea cu o eroare de validare care indică produsul, referința sa internă și locația.
- menu
- Inventory ‣ Delivery Orders ‣ (a delivery) ‣ Validate
- shows
- The validation error raised when an operation would push a quant negative: "You cannot validate this stock operation because the stock of the <product> (<reference>) at <location> would go negative!"
- highlight
- The error text (red frame).
- data
- A product with no override enabled, delivering more than the quantity on hand at WH/Stock.
- module
- eyssen_stock_disallow_negative_stock
- notes
- English UI, light theme, 1440px width, crop to the error dialog.
Notă
Verificarea ia în considerare doar utilizările de locație internal și transit. Locațiile de client, furnizor, pierdere de inventar și producție nu sunt acoperite de această protecție.
Date de stoc pe depozit (Advanced Stock)¶
Modulul eyssen_stock_advanced_stock precalculează, pentru fiecare variantă de produs, cantitatea disponibilă, liberă și prognozată în fiecare depozit activat și stochează rezultatul într-un model dedicat product.stock.data (un rând pentru fiecare combinație produs/depozit/tip de cantitate), în loc să o recalculeze la fiecare încărcare de pagină. Aceasta menține rapide vizualizările de tip listă, kanban și comandă de vânzare ale produselor chiar și în cataloage mari, reflectând în același timp automat modificările de stoc.
- menu
- Settings ‣ eYssen ERP ‣ Stock
- shows
- The "Advanced Stock" setting row, with the "Use Background Jobs (queue_job)" checkbox and the "Recompute All" button that appear underneath it once it is enabled.
- highlight
- The "Use Background Jobs (queue_job)" checkbox and the "Recompute All" button (red frames).
- data
- Advanced Stock enabled; queue_job installed.
- module
- eyssen_stock_advanced_stock
- notes
- English UI, light theme, 1440px width, crop to the setting rows.
Activarea pe depozit¶
Datele de stoc sunt calculate doar pentru depozitele activate explicit. Pe fila Configurație depozit a fiecărui depozit, un grup Stoc expune două comutatoare:
Calculează stocul depozitului pe produs — activează calculul pe depozit pentru acel depozit; și
Stoc depozit vizibil pe produs — expune suplimentar cifrele acelui depozit ca coloane opționale dinamice și filtre de căutare în vizualizările de listă și de căutare ale produselor (disponibil doar după activarea calculului).
- menu
- Inventory ‣ Configuration ‣ Warehouses ‣ (a warehouse) ‣ Warehouse Configuration tab
- shows
- The "Stock" group of the Warehouse Configuration tab with the "Calculate WH Stock on Product" and "Visible WH Stock on Product" checkboxes, and the red banner with the "Update All" button shown after a switch was toggled.
- highlight
- The two checkboxes and the "Update All" button (red frames).
- data
- Warehouse "YourCompany HU" with calculation just enabled, so the banner is visible.
- module
- eyssen_stock_advanced_stock
- notes
- English UI, light theme, 1440px width, crop to the Stock group and the banner.
Comutarea oricăruia dintre comutatoare creează sau elimină, pentru fiecare depozit, trei câmpuri tehnice doar pentru citire atât pe product.template, cât și pe product.product — x_eyssen_wh_pt_<warehouse_id>_onhand / _free / _forecasted (și echivalentele _pp_ pe variantă) — și regenerează extensiile de vizualizare listă/căutare care le expun ca coloane opționale și ca filtre de căutare <quantity kind> in <Warehouse>. Deoarece modificarea configurației nu completează retroactiv aceste câmpuri, un banner roșu de avertizare apare pe formularul depozitului până când se utilizează butonul Actualizează tot pentru a recalcula totul.
Vizualizarea datelor¶
Pe formularul produsului, un widget doar pentru citire Date stoc din fila Informații generale listează cantitățile disponibile, libere și prognozate pentru fiecare depozit activat, cu un mic buton de reîmprospătare lângă el pentru a forța o recalculare imediată pentru acel produs. Același widget este afișat în vizualizările kanban și listă ale produselor (ca o coloană opțională).
- menu
- Inventory ‣ Products ‣ Products ‣ (a product) ‣ General Information tab
- shows
- The read-only "Stock Data" widget on a product form, with one line per enabled warehouse showing the On Hand, Free and Forecasted quantity, and the small refresh icon next to it.
- highlight
- The "Stock Data" widget and its refresh icon (red frames).
- data
- Two warehouses opted in, both holding stock of the product.
- module
- eyssen_stock_advanced_stock
- notes
- English UI, light theme, 1440px width, crop to the widget.
- menu
- Inventory ‣ Products ‣ Products
- shows
- The products list with two per-warehouse columns enabled (e.g. "<Warehouse> On Hand" and "<Warehouse> Free"), and the optional-column drop-down open showing the available per-warehouse columns.
- highlight
- The open optional-column drop-down (red frame).
- data
- Two warehouses with "Visible WH Stock on Product" enabled; five or six products.
- module
- eyssen_stock_advanced_stock
- notes
- English UI, light theme, 1440px width, full list view with the drop-down open.
Pe o comandă de vânzare, deschiderea ferestrei Qty at Date a unei linii confirmate afișează un tabel suplimentar Toate depozitele cu aceeași defalcare disponibil/liber/prognozat, pe lângă widgetul de stoc la nivel de linie.
- menu
- Sales ‣ Orders ‣ Orders ‣ (a confirmed order)
- shows
- The "Qty at Date" popover of a confirmed sales order line, extended at the bottom with the "All Warehouses" table listing the on-hand, free and forecasted quantity per warehouse.
- highlight
- The "All Warehouses" table (red frame).
- data
- A confirmed sales order line for a product stocked in two warehouses.
- module
- eyssen_stock_advanced_stock
- notes
- English UI, light theme, 1440px width, crop to the popover.
Recalculare automată¶
Cifrele precalculate sunt menținute sincronizate automat ori de câte ori stocul se modifică:
o cuantă de stoc este creată sau cantitatea ori cantitatea sa rezervată se modifică;
o mișcare de stoc este confirmată, anulată sau i se editează cantitatea necesară ori locația sursă/destinație (aceasta surprinde și deplasările de cantitate care nu mută nicio cuantă, cum ar fi o rezervare la un depozit cu stoc zero); și
o comandă de achiziție este confirmată sau anulată.
Toate acestea converg într-un singur „set murdar” pe tranzacție de șabloane de produs afectate, astfel încât mai multe declanșatoare pe același produs în aceeași tranzacție se reduc la o singură recalculare. Implicit, recalcularea rulează imediat după comiterea tranzacției, în propriul cursor de bază de date, astfel încât o eroare de recalculare nu transformă niciodată o operațiune altfel reușită într-o eroare — este înregistrată în jurnal și se corectează singură la următoarea modificare de stoc.
Sfat
Activarea Folosește joburi în fundal (queue_job) în setări mută aceeași recalculare pe fiecare șablon în joburi asincrone queue_job, ceea ce ajută la evitarea expirărilor interfeței pentru transferuri de stoc mari. Necesită instalarea prealabilă a modulului queue_job — altfel setarea refuză să se salveze.
Recalculare completă¶
Pe lângă actualizările incrementale automate, datele pot fi reconstruite pentru toate produsele stocabile deodată cu butonul Recalculează tot din setări sau cu butonul Actualizează tot al unui depozit (care deleagă aceeași recalculare completă). Utilizați-l după modificări de date în masă sau ori de câte ori bannerul de avertizare o cere.
Dimensiunea și încărcarea locațiilor de depozitare¶
eyssen_stock_load adaugă atribute fizice de dimensiune și încărcare locațiilor de stoc, pentru urmărirea dimensiunilor utilizabile și a capacității de încărcare a unui raft, a unui container sau a unei locații de depozitare. Un grup Dimensiune și încărcare este adăugat pe formularul locației de stoc (iar coloanele corespunzătoare în vizualizarea listă a locațiilor), cu:
câmpuri de lungime, lățime și înălțime/grosime, fiecare exprimat într-o unitate de măsură a lungimii configurabilă (implicit unitatea de lungime de referință a sistemului);
un câmp Volum cu propria unitate de măsură a volumului; și
un câmp Greutate cu propria unitate de măsură a greutății.
- menu
- Inventory ‣ Configuration ‣ Locations ‣ (an internal location)
- shows
- The "Size & Load" group of a stock location form with the length, width, height/thickness fields and their dimensional unit of measure, the Volume field with its volume unit, and the Weight field with its weight unit.
- highlight
- The "Size & Load" group (red frame).
- data
- Location "WH/Stock/Shelf 1" with dimensions filled in and a weight capacity set.
- module
- eyssen_stock_load
- notes
- English UI, light theme, 1440px width, crop to the group. The length/width/height labels are currently Hungarian in the source code.
Notă
Câmpurile de unitate de măsură ale acestui grup filtrează după Tip al unității de măsură introdus de modulul Advanced UoM (eyssen_uom), deci și acel modul trebuie instalat pentru ca unitățile implicite să fie găsite.
Notă
Câmpurile de lungime/lățime/înălțime sunt livrate cu etichete în limba maghiară, scrise direct în codul sursă (Hosszúság (x), Szélesség (y), Magasság / Vastagság (z) — Lungime, Lățime și, respectiv, Înălțime/Grosime), și nu ca șiruri traductibile, deci se afișează în limba maghiară indiferent de limba interfeței, până când este adăugată o traducere.
Important
Câmpul Volum nu este încă calculat din dimensiunile lungime/lățime/înălțime — metoda de calcul subiacentă este un substituent care stochează întotdeauna 0. Tratați-l ca pe un substituent până la implementarea funcției.
Configurare¶
Fiecare modul se activează independent în :
Interzice stocul negativ — instalează
eyssen_stock_disallow_negative_stock;Stoc avansat — instalează
eyssen_stock_advanced_stock; șiGestionare dimensiuni și încărcare — instalează
eyssen_stock_load.
Important
Aceeași pagină de setări afișează în continuare un comutator Calculare stoc depozit. Acesta aparține unei implementări anterioare a datelor de stoc pe depozit, care a fost înlocuită de Stoc avansat și nu mai este livrată, deci nu îl activați.
După activarea Stoc avansat, activați și Folosește joburi în fundal (queue_job) (imediat sub acesta, în setări), dacă modulul queue_job este disponibil, iar recalcularea stocului nu trebuie să ruleze în linie cu operațiunile de stoc.
Utilizare¶
Permiteți stocul negativ acolo unde este legitim. Înainte de a vă baza pe protecție, verificați produsele, categoriile și locațiile care necesită o excepție (de exemplu, o locație folosită exclusiv pentru ajustări corective) și bifați Permite stoc negativ pe înregistrarea corespunzătoare.
Activați depozitele pentru datele de stoc pe depozit. Pe fiecare depozit care trebuie să raporteze cifre separate, bifați Calculează stocul depozitului pe produs și, suplimentar, Stoc depozit vizibil pe produs, dacă defalcarea pe depozit trebuie să apară ca coloane opționale de listă și filtre de căutare.
Rulați o recalculare completă după activare. Utilizați butonul Actualizează tot al depozitului (sau Recalculează tot din setări), astfel încât cifrele noului depozit să fie completate imediat, în loc să se aștepte următoarea mișcare de stoc.
Verificați stocul din produs sau din comanda de vânzare. Utilizați widgetul Date stoc de pe formularul produsului, coloanele opționale de listă pe depozit sau fereastra extinsă Qty at Date de pe o linie de comandă de vânzare pentru a vedea cantitățile disponibile, libere și prognozate pe depozit, fără a părăsi înregistrarea.
Înregistrați dimensiunea și încărcarea locațiilor pe locațiile care au nevoie de ele, astfel încât raportarea ulterioară sau logica de depozitare să dispună de date despre lungime, lățime, înălțime și greutate.
Domeniu de aplicare și module¶
eyssen_stock_disallow_negative_stock— blochează operațiunile de stoc care ar face o cuantă negativă în locațiile interne/de tranzit, cu derogări pe produs, pe categorie și pe locație.eyssen_stock_advanced_stock— calculul curent disponibil/liber/prognozat pe depozit, stocat în modelul căutabilproduct.stock.data, cu câmpuri dinamice pe depozit, widgeturi pe produs și pe linia comenzii de vânzare și recalculare automată/în fundal.eyssen_stock_load— adaugă atribute de lungime/lățime/înălțime, volum și greutate locațiilor de stoc.