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.
- 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.
- 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 () 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ó.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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).
- 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.
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.
- 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.
- 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 alatt:
Negatív készlet tiltása — telepíti a
eyssen_stock_disallow_negative_stockmodult;Fejlett készlet — telepíti a
eyssen_stock_advanced_stockmodult; valamintMéret és terhelés kezelése — telepíti a
eyssen_stock_loadmodult.
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¶
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.
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.
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.
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.
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.datamodellben 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.