WarehouseServeOut (Magazijnuitgifte)
Een WarehouseServeOut is de centrale registratie van een magazijnuitgifte in Ultimo: het formele document waarop artikelen uit het magazijn worden afgeboekt ten behoeve van een werkorder, project of afdeling. De uitgifte bundelt één of meer WarehouseServeOutline-regels die elk de werkelijke voorraadmutatie en prijsbepaling bevatten. Via de koppeling met Job, Equipment, CostCenter en ProcessFunction zorgt het entiteitenpaar er automatisch voor dat materiaalkosten op de juiste kostendragers landen.
Entiteitsnaam: WarehouseServeOut
Databasetabel: WhsServeOut
Primaire sleutel: WHSOID (UltimoString(9))
Contextsbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| 0 | WarehouseServeOutContext.None | Standaard |
| 1 | WarehouseServeOutContext.Standard | Standaard |
| 2 | WarehouseServeOutContext.IT | IT |
Statussenbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| -1 | WarehouseServeOutStatus.Trash | Trash |
| 0 | WarehouseServeOutStatus.None | None |
| 1 | WarehouseServeOutStatus.Created | Open |
| 2 | WarehouseServeOutStatus.Approved | Goedgekeurd |
| 4 | WarehouseServeOutStatus.TransferCreated | Open |
| 8 | WarehouseServeOutStatus.TransferApproved | Goedgekeurd |
Belangrijkste propertiesbewerken
De entiteit heeft in totaal 45 properties. Hieronder de belangrijkste; gebruik
lookup_entity("WarehouseServeOut")voor de volledige lijst.
| Property | Type | Kolom | Nullable | Default | Omschrijving |
|---|---|---|---|---|---|
| Id | UltimoString(9) | WHSOID | Nee | Uniek ID van de magazijnuitgifte | |
| Description | UltimoString(200) | WHSODESCR | Ja | Omschrijving van de uitgifte | |
| BookDate | Date? | WHSOBOOKDATE | Ja | SYSDATE | Boekingsdatum; gezet bij aanmaak en bij goedkeuring |
| CostCenter | CostCenter | WHSOCCRID | Ja | Kostenplaats waarop materiaalkosten worden geboekt | |
| CostType | CostType | WHSOCSTTID | Ja | Kostensoort voor materiaalregistratie | |
| Department | Department | WHSODEPID | Ja | Afdeling die de uitgifte aanvraagt | |
| Equipment | Equipment | WHSOEQMID | Ja | Installatie waaraan de uitgegeven materialen zijn besteed | |
| Job | Job | WHSOJOBID | Ja | Werkorder waaraan de uitgifte is gekoppeld | |
| PickList | PickList | WHSOPLTID | Ja | Picklijst die deze uitgifte heeft gegenereerd | |
| Priority | Priority | WHSOPRIID | Ja | Prioriteit van de uitgifte | |
| ProcessFunction | ProcessFunction | WHSOPRFID | Ja | Procesfunctie voor kostenallocatie; gezet door ActionField243 |
|
| Project | Project | WHSOPRJID | Ja | Project waaraan de uitgifte is gekoppeld | |
| ProviderMutationDate | DateTime? | WHSOPROVIDERMUTDATE | Ja | Datum van de laatste mutatie via een externe dataprovider | |
| PurchaseRequest | PurchaseRequest | WHSOPCHRID | Ja | Bestelaanvraag die aanleiding gaf tot de uitgifte | |
| RecordCreateDate | DateTime? | WHSORECCREATEDATE | Ja | SYSDATETIME | Aanmaaktijdstip van het record |
| Site | Site | WHSOSITID | Ja | Vestiging; automatisch gevuld via picklijst-workflows | |
| SkillCategory | SkillCategory | WHSOSKCID | Ja | Vakgroep voor kosten-splitsing bij intern doorbelasten | |
| StatusApprovedDate | DateTime? | WHSODATE | Ja | Tijdstip waarop de uitgifte is goedgekeurd | |
| StatusApprovedEmployee | Employee | WHSOEMPID | Ja | Medewerker die de uitgifte heeft goedgekeurd | |
| StockCount | StockCount | WHSOSCID | Ja | Voorraadtelling waaruit de uitgifte is voortgekomen | |
| SystemCompany | Company | WHSOCOMPID | Nee | Bedrijf (systeemveld; wordt niet handmatig gevuld) | |
| ToWarehouse | Warehouse | WHSOTOWHSID | Ja | Bestemmingsmagazijn bij een interne magazijnoverdracht | |
| Type | WarehouseServeOutType | WHSOTYPE | Ja | M | Uitgifte-type: M = materiaaluitgifte, T = overdracht |
| Warehouse | Warehouse | WHSOWHSID | Ja | Bronmagazijn waaruit de artikelen worden afgeboekt | |
| Charge | Boolean | WHSOCHARGE | Nee | 0 | Geeft aan of de uitgifte intern wordt doorbelast (default: nee) |
| Context | Context | WHSOCONTEXT | Nee | 1 | Context (Standard of IT); gezet door ActionField104 |
| Cost | CompanyMoney | WHSOCOST | Nee | 0 | Totale kostprijs van de uitgifte; berekend via databasetrigger |
| DataProvider | UltimoString(50) | WHSODATAPROVIDER | Ja | Naam van de externe dataprovider bij geautomatiseerde ingest |
Functionaliteit & property-gedragbewerken
Veel WarehouseServeOut-properties worden niet handmatig ingevuld maar door workflows aangemaakt en bijgewerkt. Het werkelijke gedrag zit voor een groot deel in de regel-entiteit WarehouseServeOutline, die ~60 workflows als writer heeft. Onderstaande paragrafen beschrijven het uitgifte-proces van aanvraag tot voorraadmutatie; gebruik lookup_property_usage("WarehouseServeOut", "<property>") of lookup_property_usage("WarehouseServeOutline", "<property>") voor de actuele werkflow-lijsten per property.
Aanmaak van de uitgifte — Een WarehouseServeOut wordt op drie manieren aangemaakt: (1) via een werkorder-koppeling door
Job_CreateWarehouseServeOutofJobMaterial_CreateWarehouseServeOut, waarbijBookDate,Job,Warehouseen de kostendragers direct worden overgenomen; (2) via een picklijst doorPickList_PreProcess_CreateWarehouseServeOutofPickList_PreProcess_CreateWarehouseServeOutFromJobMaterial, die ookSiteenInvoiceCostper regel vullen; (3) via de barcode-scanner doorBarcodeScanner_CreateWarehouseServeOut, datType,Project,ChargeRaisePercentageenRaisePercentageop de regels zet. In alle gevallen is deStatusna aanmaakCreated(1).Picklijst-koppeling en reserveringen — Via
PickList(kolomWHSOPLTID) wordt de uitgifte aan een picklijst gehangen. De picklijst-workflows bepalen bij aanmaak welk magazijn (Warehouse) en welke vestiging (Site) worden gehanteerd, en vullen per uitgifteregel deWarehouseLocationenToWarehouseLocationin viaWarehouseServeOutline_SetDefaultWarehouseLocationenWarehouseServeOutline_SetWareHouseLocations. Zolang de uitgifte nog niet is goedgekeurd, leestWarehouseServeOut_PreApprovedeBookDateen de regelstatussen om te controleren of alle regels klaar zijn voor boeking.Status en goedkeuringsflow — De status van de uitgifte loopt van
Created(1) naarApproved(2) bij een gewone uitgifte, of vanTransferCreated(4) naarTransferApproved(8) bij een interne magazijnoverdracht. De statuswijziging wordt aangestuurd door twaalf schrijvende workflows, waaronderJob_ApproveJobMaterials,PickList_PreProcess_CreateWarehouseServeOutenWarehouseServeOut_PostImport.WarehouseServeOut_PreApproveleestBookDateenJobvóór de statusovergang ter validatie;WarehouseServeOut_PreTransferApprovedoet hetzelfde voor transfers en schrijft tevensBookDateenType.ActionField1831schrijft en filtert opStatusvoor bulkacties op meerdere uitgiften tegelijk.Voorraadmutatie via uitgifteregels — De werkelijke magazijnmutatie vindt volledig op regelniveau (
WarehouseServeOutline) plaats. Bij goedkeuring wordtWarehouseServeOutline_PreApproveaangeroepen: dit workflow schrijftWarehouseLocation,Price,ChargeRaisePercentageenRaisePercentageop de regel en voert de inventarisatie-methodeprocedure uit viaWarehouseServeOutline_PreApprove_InventoryMethod. De daadwerkelijke object-batchregistratie (seriële nummering of partijbeheer) verloopt viaWarehouseServeOutline_CreateObjectBatchForMutation, datQuantityOut,QuantityInenInvoiceQuantityleest. Na goedkeuring worden de kolommenWhsoCostenWhsoTotalPriceop het uitgifte-hoofd bijgewerkt door de databasetriggersTRSD_WHSSERVEOUTLINEenTRSM_WHSSERVEOUTLINE.Interne overdracht (Type = T) — Bij een interne overdracht tussen magazijnen geldt een aparte statuslijn (
TransferCreated/TransferApproved) en wordt ookToWarehouseenToWarehouseLocationper regel gevuld.WarehouseServeOutline_TransferStockleestPickListLineen voert de daadwerkelijke voorraadverschuiving uit;WarehouseServeOutline_TransferStock_Validationcontroleert vooraf ofWarehouseLocationenToWarehouseLocationbeschikbaar zijn.WarehouseServeOut_PostTransferApproveleest daarnaPickListop het hoofd om de picklijst bij te werken.Kostendragers en doorbelasting —
CostCenter,Department,CostType,SkillCategoryenProcessFunctionworden grotendeels gelezen doorWarehouseServeOut_CalculateCosts(samen metEquipment,Job,ProjectenSite) om de interne kostentoewijzing te berekenen.ProcessFunctionwordt als enige property op het hoofd ook geschreven:ActionField243zet dit veld op basis van het gekoppelde equipment. Bij intern doorbelasten (Charge = true) leestActionField1065deChargeRaisePercentageenRaisePercentagevan elke regel, en registreert de koppeling naarInternalChargeLine. De vierWarehouseServeOutline_PreInvoice*-workflows beheren de facturatiestatus van doorbelaste regels.Bulk- en scannerstromen —
BarcodeScanner_CreateWarehouseServeOut_Transferzet de status direct opTransferCreated(4) en vultQuantityInenQuantityOutop de regels.StockCount_PostClosedmaakt uitgiften aan vanuit een afgesloten voorraadtelling en filtert opTypeenStatusom dubbele boekingen te voorkomen.Article_ToggleRegisterStockschrijft deStatusvan een uitgifte als onderdeel van de activering of deactivering van het artikelregistratiebeheer.
Het volledige, gegenereerde overzicht van álle WarehouseServeOut- en WarehouseServeOutline-properties met hun schrijvende/lezende/filterende workflows staat in reference/properties/WarehouseServeOut respectievelijk reference/properties/WarehouseServeOutline.
Relaties met andere entiteitenbewerken
| Property | Verwijst naar | Nullable |
|---|---|---|
| CostCenter | CostCenter | Ja |
| CostType | CostType | Ja |
| Department | Department | Ja |
| Equipment | Equipment | Ja |
| Job | Job | Ja |
| PickList | PickList | Ja |
| Priority | Priority | Ja |
| ProcessFunction | ProcessFunction | Ja |
| Project | Project | Ja |
| PurchaseRequest | PurchaseRequest | Ja |
| Site | Site | Ja |
| SkillCategory | SkillCategory | Ja |
| StatusApprovedEmployee | Employee | Ja |
| StockCount | StockCount | Ja |
| SystemCompany | Company | Nee |
| ToWarehouse | Warehouse | Ja |
| Warehouse | Warehouse | Ja |
Onderliggende / verwijzende entiteiten (1-op-veel)bewerken
De volgende entiteiten verwijzen naar WarehouseServeOut:
| Entiteit | Via property |
|---|---|
| Cost | WarehouseServeOut |
| WarehouseServeOutline | Id.WarehouseServeOut |
Tips voor consultantsbewerken
- Trigger-berekend hoofd-totaal: De kolommen
WhsoCostenWhsoTotalPriceop het hoofd worden uitsluitend door de triggersTRSD_WHSSERVEOUTLINEenTRSM_WHSSERVEOUTLINEbijgewerkt. Pas nooit handmatig de kolomWHSOCOSTaan via een script; de trigger overschrijft dit direct bij de eerstvolgende regelwijziging. - Picklijst of directe aanmaak: Kies bewust of een uitgifte via een picklijst loopt of direct aan de job wordt gekoppeld. Picklijst-flows vullen
Site,InvoiceCosten magazijnlocaties automatisch; directe aanmaak viaJob_CreateWarehouseServeOutlaat deze velden leeg en vereist handmatige invoer of extra configuratie. - Type M vs. T: Stel
Type = Tuitsluitend in bij een interne magazijnoverdracht (twee magazijnen).WarehouseServeOut_PreTransferApproveschrijft danTypeterug en activeert deTransferApproved-statuslijn. Bij een gewone uitgifte (Type = M) leidt gebruik vanToWarehouseniet tot een overdrachtstransactie. - Doorbelasting (
Charge): AlsCharge = trueverloopt de materiaalverrekening viaInternalChargeLine. DeWarehouseServeOutline_PreInvoice*-workflows beheren vier facturatiefasen. Controleer of de klant de interne doorbelastingsmodule heeft gelicentieerd vóór configuratie. - Boeking bij voorraadtelling: Uitgiften die door
StockCount_PostClosedworden aangemaakt, bevatten eenStockCount-koppeling. Verwijder of wijzig deze uitgiften niet handmatig; ze horen bij de telsluitingsprocedure en zijn auditrail. - Barcode-scanner flow:
BarcodeScanner_CreateWarehouseServeOutvultChargeRaisePercentage,RaisePercentageenCustomerop de regels op basis van de gescande artikellocatie. Zorg dat opslaglocaties (WarehouseLocation) correct zijn geconfigureerd, anders valideertWarehouseServeOutline_CheckQuantityOutArticleWarehouseLocationde hoeveelheid niet. - Kostendrager-propagatie:
WarehouseServeOut_CalculateCostsleestEquipment,Job,ProcessFunction,CostCenter,Department,CostType,SkillCategory,ProjectenSitein één aanroep. Ontbrekende kostendragers leiden tot onvolledige kostenallocatie; controleer bij configuratie of de job of het equipment de benodigde dragers heeft ingesteld.
Database Detailsbewerken
De tabel dba.WhsServeOut bevat 43 kolommen, 0 eigen trigger(s), 2 externe triggers en 17 foreign keys.
Kolommen gezet door triggersbewerken
Deze kolommen worden automatisch bijgewerkt door database-triggers en mogen niet handmatig worden aangepast.
| Kolom | Type | Trigger(s) |
|---|---|---|
WhsoCost |
decimal(21,5) | TRSD_WHSSERVEOUTLINE, TRSM_WHSSERVEOUTLINE |
WhsoTotalPrice |
decimal(21,5) | TRSD_WHSSERVEOUTLINE, TRSM_WHSSERVEOUTLINE |
Belangrijke defaultsbewerken
| Kolom | Default |
|---|---|
WhsoContext |
1 |
WhsoRecStatus |
1 |
WhsoCharge |
0 |
WhsoCost |
0 |
WhsoOrgRecStatus |
0 |
WhsoRecCreateDate |
sysdatetimeoffset() |
WhsoTotalPrice |
0 |
WhsoTransferNextTime |
0 |
WhsoType |
'M' |
Brondatabewerken
Let op: De wiki-samenvatting hierboven toont een curated subset van properties en praktische consultant-tips. Voor ground truth (exacte kolomnamen, alle properties, defaults, triggers) gebruik de onderstaande tools.
- Entity-definitie —
lookup_entity("WarehouseServeOut")· reference/entities/WarehouseServeOut Alle properties, contexts en statussen. Bron:Entities.xml. - DB-schema —
lookup_table_schema("WhsServeOut")· reference/tables/WhsServeOut Alle DB-kolommen, triggers, computed columns en defaults. Bron:database-schema.json. - Gerelateerde workflows —
find_workflows("", entity="WarehouseServeOut")Alle Before/After Save events en andere workflow-ActionFields. Bron:workflows.xml. - Property-gebruik —
lookup_property_usage("WarehouseServeOut", "Status")· reference/properties/WarehouseServeOut Welke workflows een specifieke WarehouseServeOut-property lezen/schrijven/filteren (bijv. 12 schrijvers en 3 lezers voorStatus). Zie ook reference/properties/WarehouseServeOutline voor de ~60 writers op regelniveau. - Workflow-XML van een vuller —
lookup_workflow("WarehouseServeOutline_PreApprove")De volledige goedkeuringslogica op regelniveau: locatiebepaling, prijsberekening, opslagmethodeverwerking en object-batch-aanmaak. Bron:workflows.xml.
Zie ookbewerken
- job - Werkorders die een magazijnuitgifte aansturen
- job-material - Materiaalbehoefte op een werkorder; aanleiding voor uitgifte
- article - Artikelen die worden uitgegeven
- warehouse - Magazijn waaruit uitgegeven wordt
- warehouse-location - Opslaglocaties binnen het magazijn
- pick-list - Picklijsten die uitgiften genereren
- stock-count - Voorraadtellingen die uitgiften kunnen aanmaken