Hoppa till innehåll

Förstå Odoos Lager- och Transportoperationer Med Stock.Picking Modellen

En komplett guide till Odoos centrala överföringsmodell för lager- och inventariehantering
10 mars 2026 av
Förstå Odoos Lager- och Transportoperationer Med Stock.Picking Modellen
Dasolo
| Inga kommentarer ännu

Introduktion


I Odoo definierar modeller hur data struktureras och lagras i databasen. Varje bit affärsdata du arbetar med, från försäljningsorder till lageröverföringar till lageroperationer, finns i en modell.


Att förstå Odoo-modeller är avgörande för både utvecklare och funktionella konsulter. Modeller är grunden för Odoo:s dataarkitektur. De definierar fält, relationer och affärslogik.


Denna artikel fokuserar på en av de viktigaste modellerna i Lagerappen: stock.picking. Oavsett om du bygger anpassade lagermoduler, integrerar externa system eller konfigurerar arbetsflöden, kommer du att arbeta med denna modell.

Vad är stock.picking-modellen


Modellen stock.picking representerar överföringar i Odoo. Det är den centrala platsen där lageroperationer spåras. Varje picking-post representerar en enskild överföring av varor från en plats till en annan.


Denna modell i Odoo används över hela lagerhanteringsmodulen. Mottagningar, leveranser och interna överföringar skapar alla stock.picking-poster. När du bekräftar en leveransorder från en försäljning, tar emot varor från ett köp eller flyttar lager mellan lager, skapar eller uppdaterar du en stock.picking-post.


Modellen definieras i lager-modulen. Andra moduler utökar den genom Odoo-modellärv. Försäljning lägger till leveransrelaterade fält. Inköp lägger till mottagningsarbetsflöden. Tillverkning lägger till produktionsrörelser. Varje modul lägger till vad den behöver utan att duplicera den grundläggande strukturen.


Modellen stock.picking ärver från mail.thread och mail.activity.mixin. Detta innebär att du kan spåra ändringar, lägga till chattmeddelanden och schemalägga aktiviteter på överföringar direkt.

Nyckelfält i modellen


Här är de viktigaste Odoo-fälten i modellen stock.picking. Att förstå dessa kommer att hjälpa dig att arbeta effektivt med överföringar och lageroperationer.


1. namn

Typ: Char. Detta fält lagrar referensen för överföringen. Det genereras vanligtvis automatiskt från en sekvens (t.ex. WH/OUT/00001). Det visas i rubriken på överföringsformulär och är den primära identifieraren för pickingen.


2. ursprung

Typ: Char. Referens till källdokumentet. För en leverans kan detta vara namnet på försäljningsordern. För en mottagning, inköpsordern. Det hjälper till att spåra var överföringen härstammar ifrån.


3. tillstånd

Typ: Val. Status för överföringen. Värden: Utkast, Väntar på en annan åtgärd, Väntar, Klar, Utförd, Avbruten. Varje tillstånd styr vilka åtgärder som är tillgängliga. Odoo beräknar detta från de relaterade lagerflyttningarna.


4. picking_type_id

Typ: Many2one (stock.picking.type). Operationstypen. Definierar om detta är en mottagning, leverans eller intern överföring. Obligatorisk. Varje plocktyp har standard käll- och destinationsplatser.


5. move_ids

Typ: One2many (stock.move). Lagerflyttningar. Varje rad representerar en produkt och kvantitet som ska flyttas. Detta är kärnan i överföringen. All reservations- och tillgänglighetslogik fungerar på dessa flyttningar.


6. move_line_ids

Typ: One2many (stock.move.line). De detaljerade operationerna. När du har batch- eller serienummerövervakning lagrar dessa rader de specifika batcherna och platserna. Används för plockning, packning och validering.


7. location_id

Typ: Many2one (stock.location). Källplatsen. Var produkter tas ifrån. Obligatorisk. För leveranser är detta vanligtvis lagerplatsen. För mottagningar är det leverantörens plats.


8. location_dest_id

Typ: Many2one (stock.location). Destinationsplatsen. Var produkter flyttas till. Obligatorisk. För leveranser är detta vanligtvis kundens plats. För mottagningar är det lagerplatsen.


9. partner_id

Typ: Many2one (res.partner). Kontakten. För leveranser, kunden. För mottagningar, leverantören. Används för adress på dokument och för transportintegrering.


10. scheduled_date

Typ: Datum och tid. När överföringen är planerad att behandlas. Används för planering och prioritering. Att ställa in det manuellt sätter det förväntade datumet för alla lagerflyttar.


11. datum_deadline

Typ: Datum och tid. Deadline. Kommer ofta från försäljningsordern eller inköpsordern. Används för att flagga sena överföringar och för kundens löften om datum.


12. datum_gjort

Typ: Datum och tid. När överföringen validerades eller avbröts. Endast för läsning. Ställs in automatiskt när plockningen är klar.


13. prioritet

Typ: Val. Prioritetsnivå. Produkter reserveras först för överföringar med högre prioritet. Används för brådskande beställningar.


14. flytt_typ

Typ: Val. Fraktpolicy. Värden: Så snart som möjligt (delvis leverans tillåten) eller När alla produkter är klara (allt eller inget). Påverkar när plockningen kan behandlas.


15. användar_id

Typ: Many2one (res.users). Den ansvariga användaren. Används för tilldelning och arbetsbelastningsspårning. Standardinställning är den aktuella användaren vid skapande.


16. företag_id

Typ: Many2one (res.company). Företaget. Relaterad från plocktypen. I flerföretagsinställningar avgör detta vilket företag som äger överföringen.


17. group_id

Typ: Many2one (procurement.group). Inköpsgruppen. Länkar relaterade rörelser tillsammans. Används när flera plockningar kommer från samma order.


18. backorder_id

Typ: Many2one (stock.picking). När en överföring delvis har validerats skapas en restorder för det som återstår. Detta fält länkar till den ursprungliga plockningen.


19. backorder_ids

Typ: One2many (stock.picking). Restordrarna som skapats från denna plockning. Används när du validerar delvis och behöver bearbeta resten senare.


20. return_id

Typ: Many2one (stock.picking). Om denna plockning skapades som en retur, länkar detta till den ursprungliga plockningen. Används för returarbetsflöden.


21. note

Typ: Html. Interna anteckningar. Synliga för lageranvändare. Kan inkludera särskilda instruktioner eller hanteringskrav.


22. signature

Typ: Bild. Signaturen som fångas när leveransen valideras. Används som bevis på leverans. Lagrad som en bilaga.


23. är_undertecknad

Typ: Boolean. Beräknad från signatur. Indikerar om leveransen har undertecknats.


24. ägar_id

Typ: Many2one (res.partner). Ägaren som ska tilldelas vid validering. Används för försändelse eller när produkter tillhör en tredje part.


25. paket_nivå_ids

Typ: One2many (stock.package_level). Paketnivåer vid användning av lägg i paket. Grupperar flyttlinjer i paket för frakt.


26. skapad_datum

Typ: Datetime. När posten skapades. Hanteras automatiskt av Odoo. Ärvt från basmodellen.


27. ändrad_datum

Typ: Datetime. När posten senast ändrades. Hanteras automatiskt. Ärvt från basmodellen.


28. aktiv

Typ: Boolean. Flag för mjuk radering. När den är False, arkiveras posten. Ärver från basmodellen.

Hur denna modell används i affärsarbetsflöden


1. Försäljning och Leverans

När en försäljningsorder bekräftas, skapar Odoo en leveransorder (stock.picking). Plockningen länkas till försäljningsordern via ursprung. Lagerpersonal plockar och packar, och validerar sedan. Tillståndet går från utkast till klart till gjort.


2. Inköp och Mottagning

När en inköpsorder bekräftas, skapar Odoo en inkommande mottagning. Plockningen tar emot produkter från leverantörens plats till lager. partner_id är leverantören. Validering uppdaterar lagerkvantiteter.


3. Interna Överföringar

Att flytta lager mellan lager eller platser skapar interna plockningar. picking_type_id har koden 'intern'. Plats och destination är båda interna lagerplatser.


4. Returer och Backorders

När en försäljning returneras, skapas en returplockning. return_id länkar till den ursprungliga leveransen. När en leverans delvis valideras, håller backorder_ids det återstående arbetet.


5. Tillverkning och Produktion

Tillverkningsorder skapar plockningar för råvaror (förbrukning) och färdiga produkter (produktion). stock.picking-modellen utökas av mrp-modulen för dessa flöden.

Hur utvecklare utökar denna modell


Utvecklare utökar stock.picking med flera mönster. Odoo-modellärvande är den huvudsakliga mekanismen.


Modell Arv

Använd _inherit = 'stock.picking' för att utöka modellen. Lägg till nya fält, åsidosätt metoder eller lägg till begränsningar. Den ärvda modellen i Odoo håller dina ändringar i en separat modul för enkla uppgraderingar.


Lägga till Fält

Definiera nya Odoo-fält i din ärvda modell. Använd rätt fälttyp: Char, Many2one, Boolean, Integer, Text, Selection. Tänk på företagsberoende fält för flera företag.


Python Utvidgningar

Åsidosätt button_validate, action_assign eller _create_backorder för att lägga till logik. Använd super() för att anropa den ursprungliga. Var försiktig med tillståndsövergångar och skapande av flyttningar.


Odoo Studio

Odoo Studio låter dig lägga till fält utan kod. Bra för snabba anpassningar som anpassade etiketter eller extra anteckningar. För komplex logik eller transportintegrering är anpassade moduler mer underhållbara.

Bästa praxis


  • Ställ alltid in picking_type_id när du skapar plockningar manuellt. Det styr standardplatser och beteende.
  • Använd fältet origin för att spåra tillbaka till källdokumentet. Det hjälper med rapportering och felsökning.
  • När du bygger API-integrationer är stock.picking-modellen helt exponerad via Odoo API. Skapa flyttningar via relationen move_ids. Skapa inte plockningar utan flyttningar.
  • Använd scheduled_date för planering. Det påverkar reservation och prioritering.
  • För anpassade fält, använd x_-prefixet eller ett modulprefix för att undvika konflikter med framtida Odoo-versioner.

Vanliga misstag


  • Skapa plockningar utan att ställa in picking_type_id. Detta kan leda till felaktiga standardplatser.
  • Ändra move_ids efter bekräftelse utan att förstå tillståndsmaskinen. Tillståndsövergångar kan vara komplexa.
  • Glömma att ställa in partner_id för leveranser. Fraktföretag och dokument behöver kontakten.
  • Överskrida button_validate utan att kalla super(). Detta kan bryta skapandet av backorders och andra moduler.
  • Anta att move_ids och move_line_ids alltid är synkroniserade. Flyttlinjer skapas när du reserverar eller när du använder detaljerade operationer.

Slutsats


Modellen stock.picking är central för Odoo-inventariet. Den lagrar överföringar, leveranser och kvitton. Att förstå dess fält och hur moduler utökar den kommer att hjälpa dig att konfigurera, anpassa och integrera Odoo effektivt.


Oavsett om du är en funktionell konsult som kartlägger lagerprocesser eller en utvecklare som bygger anpassade moduler, kommer en solid förståelse av stock.picking att spara tid och förhindra fel.

Redo att optimera ditt Odoo-lager


Dasolo hjälper företag att implementera, anpassa och optimera Odoo. Vi specialiserar oss på API-integrationer och Odoo-utveckling. Vårt team har djup erfarenhet av Odoo:s dataarkitektur och modeller som stock.picking.


Om du behöver hjälp med din Odoo-implementering, anpassade lager-moduler eller integrationer, är vi här för att hjälpa till. Boka en demo för att diskutera ditt projekt.

Förstå Odoos Lager- och Transportoperationer Med Stock.Picking Modellen
Dasolo 10 mars 2026
Dela detta inlägg
Logga in att lämna en kommentar