Készletszabályozás és elérhetőség

Az eYssen néhány kis, célzott Készlet modult ad, amelyek szigorítják, hogyan védi és jelenti a rendszer az átvezetéseket és a készleten lévő mennyiségeket: tartás jelző és foglalás-visszaállítás magán az átvezetésen, kemény tiltás a negatív készletre, a készleten lévő, szabad és előrejelzett mennyiségek raktárankénti bontása, előre kiszámítva a gyors lista-, kanban- és vevői megrendelés nézetekhez, valamint fizikai méret- és terhelésjellemzők a készlethelyszíneken. Mindegyik opcionális, és egymástól függetlenül kapcsolható be az eYssen beállítóképernyőn.

Átvezetés tartása és a mennyiségek nullázása

Az eyssen_stock a közös eYssen Készlet réteg, amelyre az oldalon szereplő többi modul épül. Önmagában három olyan kezelőelemet ad, amely megváltoztatja az átvezetés viselkedését.

Tartás

Az átvezetés űrlapján lévő Hold kapcsoló nem feldolgozandóként jelöli meg az átvezetést. A tartásba helyezés felszabadítja a foglalást, így a készlet ismét elérhetővé válik más megrendelések számára; a tartás feloldása újra lefoglalja. A tartott átvezetést piros On Hold szalag jelzi, egy csak olvasható Hold Reason mező pedig megadja az okát — ezt automatikusan tölti ki az, ami az átvezetést tartásba helyezte. Mindkét mezőt a rendszer a chatterben követi.

A kapcsoló oszlopként az Átvezetések listán is elérhető, a keresősáv pedig On Hold és Off Hold szűrőkkel bővül. A Kész vagy Törölt állapotú átvezetés már nem helyezhető tartásba.

screenshot: inventory-stock-control-hold
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.

Mennyiségek nullázása

A művelet-sorok fölött lévő Mennyiségek nullázása gomb egyetlen kattintással törli a Kész az indításra állapotú átvezetés lefoglalt mennyiségeit, ami a legkézenfekvőbb módja egy kiszedés újrakezdésének. Az Igény megmarad, így az átvezetés egyszerűen újra lefoglalható; a már csomagba helyezett sorok érintetlenek maradnak. A gomb csak akkor érhető el, amíg az átvezetés Kész az indításra állapotú — bármely más állapotban jelzi, hogy a mennyiségek csak ebben az állapotban törölhetők.

screenshot: inventory-stock-control-set-quantities-to-zero
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.

Foglalás csomagokból

A művelettípuson (Készlet ‣ Konfiguráció ‣ Művelettípusok) lévő Prevent Reservation from Packages beállítás — amely alapértelmezetten be van kapcsolva — távol tartja az automatikus foglalást a már csomagban lévő készlettől: csak a csomagolatlan készlet kerül lefoglalásra. Azokat a mozgásokat, amelyekhez kifejezetten csomagot választottak, nem érinti. Kapcsolja ki a beállítást azokon a művelettípusokon, amelyeknél a csomagok felbontása várható.

screenshot: inventory-stock-control-prevent-package-reservation
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.

Megjegyzés

A modul a raktár Rövid név mezőjének hosszkorlátját 32 karakterre is növeli, és a termék kanban- és listanézetének készleten lévő jelvényén az előrejelzett mennyiséget a mértékegységgel együtt jeleníti meg.

Negatív készlet megelőzése

Az Odoo alapértelmezés szerint megengedi, hogy egy készletmennyiség negatívvá váljon — ez bizonyos munkafolyamatoknál hasznos, de gyakran adatbeviteli hibára vagy elmaradt foglalásra utal. A eyssen_stock_disallow_negative_stock modul szigorú érvényesítési védelmet ad hozzá: minden olyan készletmozgást vagy -korrekciót, amely egy belső vagy tranzit helyen negatív mennyiséget eredményezne, a rendszer egyszerűen elutasít, kivéve ha az adott termékre, annak termékkategóriájára vagy magára a helyre kifejezett felülbírálás van bekapcsolva.

screenshot: inventory-stock-control-negative-stock-setting
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.

A védelem csak a Áru típusú raktározható termékekre vonatkozik (type = 'consu' és beállított is_storable) — a szolgáltatásokat és a fogyóeszköz jellegű, de nem raktározható termékeket a rendszer sohasem ellenőrzi.

Felülbírálások

Egy Negatív készlet engedélyezése jelölőnégyzet három helyen jelenik meg, és bármelyikük bekapcsolása elegendő ahhoz, hogy az adott kombinációnál engedélyezve legyen a negatív készlet:

  • a termék Készlet fülén (csak raktározható áruknál látható);

  • a termékkategória Logisztika csoportjában; valamint

  • a készlethelyszín űrlapján.

screenshot: inventory-stock-control-allow-negative-product
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.

Ha a három felülbírálás egyike sincs bekapcsolva, és egy művelet nulla alá csökkentené a mennyiséget, az Odoo letiltja a műveletet, és az érvényesítési hibában megnevezi a terméket, annak belső hivatkozását és a helyet.

screenshot: inventory-stock-control-negative-stock-error
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.

Megjegyzés

Az ellenőrzés kizárólag az internal és transit hely-felhasználási típusokat vizsgálja. A vevői, beszállítói, készletveszteség- és gyártási helyeket ez a védelem nem érinti.

Raktárankénti készletadatok (Fejlett készlet)

A eyssen_stock_advanced_stock modul termékváltozatonként előre kiszámítja a készleten lévő, a szabad és az előrejelzett mennyiséget minden olyan raktárban, amelyet bekapcsoltak, és az eredményt egy dedikált product.stock.data modellben tárolja (soronként egy termék/raktár/mennyiségtípus kombináció), ahelyett hogy minden oldalbetöltéskor újraszámolná. Ez gyorsan tartja a termék lista-, kanban- és rendelésnézeteit még nagy katalógusok esetén is, miközben továbbra is automatikusan tükrözi a készletváltozásokat.

screenshot: inventory-stock-control-advanced-stock-settings
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.

Raktárankénti bekapcsolás

A készletadatok kiszámítása csak azokra a raktárakra történik, amelyeket kifejezetten bekapcsoltak. Az egyes raktárak Raktárkonfiguráció fülén egy Készlet csoport két kapcsolót tartalmaz:

  • Raktárkészlet számítása a terméken — bekapcsolja az adott raktárra vonatkozó raktárankénti számítást; valamint

  • Raktárkészlet megjelenítése a terméken — emellett az adott raktár adatait dinamikus, opcionális oszlopokként és keresési szűrőkként is megjeleníti a termék lista- és keresőnézetein (csak akkor érhető el, ha a számítás már be van kapcsolva).

screenshot: inventory-stock-control-warehouse-config
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.

Bármelyik kapcsoló átváltása raktáranként három írásvédett technikai mezőt hoz létre vagy távolít el mind a product.template, mind a product.product modellen — x_eyssen_wh_pt_<warehouse_id>_onhand / _free / _forecasted (és a termékváltozaton a _pp_ megfelelőik) —, és újragenerálja a hozzájuk tartozó lista-/keresőnézet-kiterjesztéseket, amelyek opcionális oszlopokként és <quantity kind> in <Warehouse> keresési szűrőkként teszik elérhetővé őket. Mivel a konfiguráció módosítása visszamenőlegesen nem tölti fel ezeket a mezőket, a raktár űrlapján piros figyelmeztető sáv jelenik meg mindaddig, amíg az Összes frissítése gombbal újra nem számoltatjuk az egészet.

Az adatok megtekintése

A termék űrlapján az Általános információk fülön egy írásvédett Készletadatok widget soronként felsorolja a készleten lévő, szabad és előrejelzett mennyiségeket minden bekapcsolt raktárra, mellette egy kis frissítés gombbal, amellyel az adott termékre azonnali újraszámítás kényszeríthető ki. Ugyanez a widget megjelenik a termék kanban- és listanézetében is (opcionális oszlopként).

screenshot: inventory-stock-control-stock-data-widget
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.
screenshot: inventory-stock-control-product-list-columns
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.

Egy értékesítési rendelésen egy megerősített sor Mennyiség a dátumon felugró ablakának megnyitásakor a sor szintű készletwidget mellett egy további Összes raktár táblázat is megjelenik, amely ugyanazt a készleten lévő / szabad / előrejelzett bontást mutatja.

screenshot: inventory-stock-control-qty-at-date-popover
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.

Automatikus újraszámítás

Az előre kiszámított értékek automatikusan szinkronban maradnak, amikor a készlet változik:

  • egy készletmennyiség létrejön, vagy a mennyisége, illetve a foglalt mennyisége megváltozik;

  • egy készletmozgást megerősítenek, töröltnek jelölnek, vagy megváltoztatják annak igényelt mennyiségét, illetve forrás-/célhelyét (ez azokat a mennyiségváltozásokat is elkapja, amelyek nem mozgatnak készletmennyiséget, például egy nulla készletű raktárban történő foglalást); valamint

  • egy beszerzési rendelést megerősítenek vagy törölnek.

Mindezek egyetlen, tranzakciónkénti „dirty set”-be (az érintett terméksablonok halmazába) futnak össze, így ha ugyanazon a terméken belül egy tranzakción belül több trigger is lefut, azok egyetlen újraszámításban egyesülnek. Alapértelmezés szerint az újraszámítás közvetlenül a tranzakció véglegesítése (commit) után fut le, saját adatbázis-kurzorban, így egy sikertelen újraszámítás sohasem alakít egy egyébként sikeres műveletet hibává – a hiba naplózásra kerül, és a következő készletváltozáskor önmagától helyreáll.

Javaslat

A Háttérfeladatok használata (queue_job) bekapcsolása a beállításokban ugyanazt a terméksablononkénti újraszámítást aszinkron queue_job feladatokba helyezi át, ami segít elkerülni a felületi időtúllépéseket nagy készletmozgásoknál. Ehhez előbb telepíteni kell a queue_job modult — a beállítás enélkül nem menthető el.

Teljes újraszámítás

Az automatikus, fokozatos frissítéseken túl az adatok minden raktározható termékre egyszerre is újraépíthetők a beállításokban található Összes újraszámítása gombbal, vagy egy adott raktár saját Összes frissítése gombjával (amely ugyanarra a teljes újraszámításra hivatkozik). Ezt tömeges adatmódosítások után, vagy amikor a figyelmeztető sáv kéri, érdemes használni.

Készlethelyszín mérete és terhelése

A eyssen_stock_load fizikai méret- és terhelési attribútumokat ad a készlethelyekhez, hogy nyomon követhető legyen egy polc, tároló vagy raktárhely használható mérete és teherbírása. A készlethely űrlapjához (és a helyek listanézetéhez a megfelelő oszlopokkal) egy Méret és terhelés csoport kerül hozzáadásra, amely a következőket tartalmazza:

  • hosszúság, szélesség és magasság/vastagság mezők, mindegyik egy konfigurálható hosszúság-mértékegységben kifejezve (alapértelmezés szerint a rendszer referencia-hosszúságegysége);

  • egy Térfogat mező a saját térfogat-mértékegységével; valamint

  • egy Weight mező saját súly-mértékegységgel.

screenshot: inventory-stock-control-location-size-load
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.

Megjegyzés

Ennek a csoportnak a mértékegység-mezői a haladó mértékegység modul (eyssen_uom) által bevezetett mértékegység-Típus mezőre szűrnek, ezért ezt a modult is telepíteni kell, hogy az alapértelmezett egységek megtalálhatók legyenek.

Megjegyzés

A hosszúság/szélesség/magasság mezők a forráskódban rögzített (hard-coded) magyar feliratokkal jelennek meg (Hosszúság (x), Szélesség (y), Magasság / Vastagság (z) — vagyis rendre a hosszúság, szélesség és magasság/vastagság mezőkről van szó), nem pedig fordítható szövegekkel, ezért a felület nyelvétől függetlenül magyarul jelennek meg, amíg fordítás nem kerül hozzáadásra.

Fontos

A Térfogat mezőt egyelőre nem számítja ki a rendszer a hosszúság/szélesség/magasság adatokból — a mögöttes számítási metódus egy üres helyőrző (stub), amely mindig 0-t tárol. Egyelőre helykitöltőként kezelendő, amíg ez nincs megvalósítva.

Konfiguráció

Az egyes modulok egymástól függetlenül kapcsolhatók be a Beállítások alkalmazás ‣ eYssen ERP ‣ Készlet alatt:

  • Negatív készlet tiltása — telepíti a eyssen_stock_disallow_negative_stock modult;

  • Fejlett készlet — telepíti a eyssen_stock_advanced_stock modult; valamint

  • Méret és terhelés kezelése — telepíti a eyssen_stock_load modult.

Fontos

Ugyanezen a beállítóoldalon még szerepel egy Calculate Warehouse Stock kapcsoló. Ez a raktárankénti készletadatok egy korábbi megvalósításához tartozik, amelyet az Advanced Stock felváltott, és már nem része a rendszernek, ezért ne kapcsolja be.

Amint a Fejlett készlet be van kapcsolva, kapcsolja be a Háttérfeladatok használata (queue_job) opciót is (közvetlenül alatta található a beállításokban), ha a queue_job modul elérhető, és a készlet-újraszámításnak nem kell a készletműveletekkel szinkronban (inline) futnia.

Használat

  1. Engedélyezze a negatív készletet ott, ahol az indokolt. Mielőtt a védelemre támaszkodna, tekintse át azokat a termékeket, kategóriákat és helyeket, amelyeknél kivételre van szükség (például egy kizárólag korrekciós módosításokra használt helyet), és jelölje be a Negatív készlet engedélyezése opciót a megfelelő rekordon.

  2. Kapcsolja be a raktárankénti készletadatokat az érintett raktáraknál. Minden olyan raktáron, amelynek külön adatokat kell jelentenie, jelölje be a Raktárkészlet számítása a terméken opciót, és emellett a Raktárkészlet megjelenítése a terméken opciót is, ha a raktárankénti bontásnak opcionális listaoszlopokként és keresési szűrőkként is meg kell jelennie.

  3. Bekapcsolás után futtasson teljes újraszámítást. Használja a raktár Összes frissítése gombját (vagy a beállításokban az Összes újraszámítása gombot), hogy az új raktár adatai azonnal feltöltődjenek, ahelyett hogy a következő készletmozgásra kellene várni.

  4. Ellenőrizze a készletet a terméken vagy az értékesítési rendelésen. Használja a Készletadatok widgetet a termék űrlapján, a raktárankénti opcionális listaoszlopokat, vagy a kibővített Mennyiség a dátumon felugró ablakot egy értékesítésirendelés-soron, hogy raktáranként lássa a készleten lévő, szabad és előrejelzett mennyiségeket anélkül, hogy elhagyná a rekordot.

  5. Rögzítse a helyek méretét és terhelését azokon a helyeken, ahol erre szükség van, hogy az azt felhasználó jelentéskészítés vagy elhelyezési (putaway) logika rendelkezésére álljanak a hosszúság, szélesség, magasság és súly adatok.

Hatókör és modulok

  • eyssen_stock_disallow_negative_stock — letiltja azokat a készletműveleteket, amelyek belső/tranzit helyeken negatívvá tennék a készletmennyiséget, termékenkénti, kategóriánkénti és helyenkénti felülbírálási lehetőséggel.

  • eyssen_stock_advanced_stock — az aktuális raktárankénti készleten lévő/szabad/előrejelzett számítás, a kereshető product.stock.data modellben tárolva, dinamikus raktárankénti mezőkkel, termék- és rendelésisor-widgetekkel, valamint automatikus/háttér-újraszámítással.

  • eyssen_stock_load — hosszúság/szélesség/magasság, térfogat és súly attribútumokat ad a készlethelyekhez.