@flowselections/logistiek-engine 1.0.16 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/components/RuleEnginePage.js +1 -1
- package/dist-lib/components/rule-engine/RuleFieldInput.d.ts +1 -1
- package/dist-lib/components/rule-engine/RuleFieldInput.d.ts.map +1 -1
- package/dist-lib/components/rule-engine/RuleFieldInput.js +11 -3
- package/dist-lib/hooks/useDocumentLayouts.d.ts +1 -0
- package/dist-lib/hooks/useDocumentLayouts.d.ts.map +1 -1
- package/dist-lib/hooks/useDocumentLayouts.js +8 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +55 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +55 -1
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts +55 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +58 -1
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/floridayDocuments.functions.d.ts +165 -3
- package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.functions.d.ts +55 -1
- package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +275 -5
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +110 -2
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts +55 -1
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.js +159 -0
- package/dist-lib/lib/planQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/planQueue.server.js +12 -0
- package/dist-lib/lib/ruleEngineSchema.d.ts +7 -1
- package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineSchema.js +48 -8
- package/package.json +1 -1
|
@@ -330,6 +330,62 @@ Regels:
|
|
|
330
330
|
- Stuur loadCarrierType in logistics_emit_event en logistics_buffer_decision altijd
|
|
331
331
|
met een van bovenstaande codes mee, nooit met een eigen naam of vrije tekst.`,
|
|
332
332
|
},
|
|
333
|
+
{
|
|
334
|
+
number: 6,
|
|
335
|
+
title: "Karindeling: eigen planner eruit, Engine-planner erin",
|
|
336
|
+
date: "2026-08-27",
|
|
337
|
+
summary: "Nieuwe eis bovenop prompt 1 t/m 5: /api/public/cron/replan-carts schrijft nog eigen karren met algorithm_version 1 en valt terug op 1×1×1.",
|
|
338
|
+
body: `AANVULLING op koppelprompt 1 t/m 5 (die blijven gewoon geldig).
|
|
339
|
+
|
|
340
|
+
GEMETEN PROBLEEM (Mathot productie, 27-08-2026)
|
|
341
|
+
public.order_carts bevat 11.560 rijen met algorithm_version = 1, nog steeds
|
|
342
|
+
groeiend (laatste 13:12:59). Zetten we cron 113 (elke minuut naar
|
|
343
|
+
/api/public/cron/replan-carts) uit, dan stopt de aanwas onmiddellijk. De
|
|
344
|
+
schrijver is dus de Verkoop-module.
|
|
345
|
+
|
|
346
|
+
Bewijs in de Verkoop-module:
|
|
347
|
+
- src/lib/cart-replan.functions.ts, regel ~178-190: INSERT in order_carts met
|
|
348
|
+
algorithm_version: CART_PLANNER_VERSION.
|
|
349
|
+
- src/lib/cart-planner.ts, regel 14: export const CART_PLANNER_VERSION = 1.
|
|
350
|
+
- src/lib/cart-replan.functions.ts, regel ~208: INSERT in order_cart_items.
|
|
351
|
+
- src/lib/create-order.functions.ts, regel ~1196 + ~1203 en ~1296 + ~1313:
|
|
352
|
+
INSERTs die algorithm_version en source helemaal niet zetten, dus de
|
|
353
|
+
kolomdefaults ('auto', 1) gebruiken.
|
|
354
|
+
- Dit pad rekent zélf (planCarts uit src/lib/cart-planner.ts). Het roept de
|
|
355
|
+
gedeelde Engine-planner (loadCarrierPlanning / planByFloridayPacking,
|
|
356
|
+
LOAD_CARRIER_PLANNER_VERSION = 3) NIET aan.
|
|
357
|
+
- Terugval bij ontbrekende belading: in de mapping naar PlannerInputItem staat
|
|
358
|
+
overal \`?? 1\` (plants_per_crate, crates_per_layer, layers_per_cart). Bij een
|
|
359
|
+
order zonder bekende belading levert dat stilzwijgend 1×1×1 op — precies wat de
|
|
360
|
+
beslisregel van 26-08 verbiedt. De guard (B1/B2/B3) zit niet in dit pad.
|
|
361
|
+
|
|
362
|
+
WAT ER MOET GEBEUREN — voorkeur A, minimaal B.
|
|
363
|
+
|
|
364
|
+
A (voorkeur). Laat /api/public/cron/replan-carts niet meer zelf rekenen.
|
|
365
|
+
Roep de gedeelde planner van de Logistics Engine aan
|
|
366
|
+
(@flowselections/logistiek-engine → loadCarrierPlanning /
|
|
367
|
+
planByFloridayPacking) en schrijf uitsluitend het resultaat weg. Verwijder
|
|
368
|
+
src/lib/cart-planner.ts als schrijfpad. Reden: één rekenhart, dus geen derde
|
|
369
|
+
afwijkende indeling naast TS en SQL.
|
|
370
|
+
|
|
371
|
+
B (alleen als A nu te groot is, en dan als tussenstap):
|
|
372
|
+
- Zet in ELKE INSERT in order_carts expliciet
|
|
373
|
+
algorithm_version: LOAD_CARRIER_PLANNER_VERSION (nu 3) en source
|
|
374
|
+
('auto' | 'manual' | 'floriday'). Ook in create-order.functions.ts regel
|
|
375
|
+
~1196 en ~1296. Vertrouw nooit op de kolomdefault.
|
|
376
|
+
- Neem dezelfde guard over als de Engine: is de belading van een orderregel
|
|
377
|
+
onbekend (geen plants_per_crate / crates_per_layer / layers_per_cart op de
|
|
378
|
+
regel én niet op het product), dan wordt die regel NIET ingedeeld. Geen
|
|
379
|
+
\`?? 1\`, nooit terugvallen op 1×1×1. Meld het als blokkade op de order,
|
|
380
|
+
zodat een medewerker de belading invult.
|
|
381
|
+
- Verwijder alle bestaande rijen met algorithm_version < 3 pas nadat A of B
|
|
382
|
+
live is; anders komen ze binnen een minuut terug.
|
|
383
|
+
|
|
384
|
+
NIET DOEN
|
|
385
|
+
- De kolomdefaults van order_carts niet weghalen en algorithm_version niet
|
|
386
|
+
NOT NULL maken; dat kan pas als alle schrijfpaden de kolom zetten.
|
|
387
|
+
- De beslisregel van 26-08 (B1/B2/B3) niet wijzigen — alleen overnemen.`,
|
|
388
|
+
},
|
|
333
389
|
],
|
|
334
390
|
},
|
|
335
391
|
afhandeling: {
|
|
@@ -746,6 +802,79 @@ CONTROLELIJST
|
|
|
746
802
|
[ ] Geen eigen indeling of eigen taken als fallback.
|
|
747
803
|
[ ] Weergave werkt bij zonder handmatig verversen.`,
|
|
748
804
|
},
|
|
805
|
+
{
|
|
806
|
+
number: 10,
|
|
807
|
+
title: "Instellingen opschonen: planning en printen komen van de Engine/Layout maker",
|
|
808
|
+
date: "2026-08-27",
|
|
809
|
+
summary: "Nieuwe eis bovenop prompt 1 t/m 9: de settingscard 'Afhandeling — Planning' wordt opgeruimd.",
|
|
810
|
+
body: `AANVULLING op prompt 1 t/m 9 (die blijven gewoon geldig).
|
|
811
|
+
|
|
812
|
+
De settingscard "Afhandeling — Planning" bevat een aantal velden die inmiddels
|
|
813
|
+
worden bepaald door de Logistics Engine of de Layout maker. Deze module mag die
|
|
814
|
+
velden niet meer zelf uitlezen of tonen.
|
|
815
|
+
|
|
816
|
+
Haal weg uit de settingscard en bijbehorende schermen:
|
|
817
|
+
|
|
818
|
+
1. "Aantal pickdagen (werkdagen vóór ophaaldag)"
|
|
819
|
+
2. "Extra pickdagen bij stickers"
|
|
820
|
+
3. "Orderpickdagen (werkdagen)"
|
|
821
|
+
4. "Pickverdeling over werkdagen"
|
|
822
|
+
5. "Automatische Floriday-verwerking pauzeren"
|
|
823
|
+
6. "Afleverbrief automatisch printen"
|
|
824
|
+
7. "Werkplek (voor printen)"
|
|
825
|
+
|
|
826
|
+
Waarom deze velden overbodig zijn:
|
|
827
|
+
- Aantal pickdagen, extra pickdagen, orderpickdagen en pickverdeling worden
|
|
828
|
+
volledig bepaald door de Logistics Engine (stap 3 "Order picken" en
|
|
829
|
+
ophaalmomenten). De Engine plant planned_start en planned_end per taak.
|
|
830
|
+
- "Automatische Floriday-verwerking pauzeren" heeft geen lezer meer in deze
|
|
831
|
+
module.
|
|
832
|
+
- "Afleverbrief automatisch printen" is geen printerkeuze maar een trigger.
|
|
833
|
+
De Logistics Engine neemt die trigger over: Afhandeling maakt zelf geen
|
|
834
|
+
printopdrachten meer aan voor afleverbrieven, maar consumeert
|
|
835
|
+
print.shipping_note-taken uit public.logistics_tasks. De Engine bepaalt of
|
|
836
|
+
en wanneer een afleverbrief wordt vrijgegeven voor printen.
|
|
837
|
+
- "Werkplek (voor printen)" is overbodig omdat locatiegebonden printen het
|
|
838
|
+
domein is van de Logistics Engine (via print_plek_id in de taak-payload).
|
|
839
|
+
Zonder werkplek en zonder print_plek_id valt de Layout maker terug op de
|
|
840
|
+
standaardlayout of standaardregels voor documenttype "afleverbrief".
|
|
841
|
+
|
|
842
|
+
Printer-beslisvolgorde in de Layout maker:
|
|
843
|
+
|
|
844
|
+
1. printer_id op de opdracht (expliciet meegegeven)
|
|
845
|
+
2. print_plek_id -> regel van de printplek
|
|
846
|
+
3. werkplek -> printplek van die computer, dan werkplek-uitzondering
|
|
847
|
+
4. printer gekoppeld aan de (standaard)layout van het documenttype
|
|
848
|
+
5. standaardregel: documenttype + papierformaat
|
|
849
|
+
6. standaardregel: documenttype alleen
|
|
850
|
+
|
|
851
|
+
Zonder werkplek en zonder print_plek_id slaat een afleverbrief-print stap 1-3
|
|
852
|
+
over en komt hij op de printer van de standaardlayout of de standaardregels
|
|
853
|
+
uit. Wil men locatiegebonden printen, dan moet dat via de Logistics Engine
|
|
854
|
+
(print_plek_id) of een expliciete printer_id op de opdracht.
|
|
855
|
+
|
|
856
|
+
Wat blijft staan:
|
|
857
|
+
- "Aanmeldmail vervoerders" (+ minuten vóór aanmelddeadline en e-mail-doeleinde)
|
|
858
|
+
blijft bestaan. Dat is eigen functionaliteit van de Afhandeling-module.
|
|
859
|
+
|
|
860
|
+
Voorwaarde:
|
|
861
|
+
Er moet minstens één printer voor documenttype "afleverbrief" zijn ingesteld
|
|
862
|
+
in de Layout maker: hetzij aan de standaardlayout, hetzij via
|
|
863
|
+
Layouts en printers -> Standaardregels. Ontbreekt die, dan mislukt de
|
|
864
|
+
automatische print met de leesbare foutmelding:
|
|
865
|
+
"Geen printer voor afleverbrief — stel dit in bij Layouts en printers → Routering".
|
|
866
|
+
|
|
867
|
+
Database:
|
|
868
|
+
- Droppen geen kolommen of rijen. De kolommen in afhandeling_settings blijven
|
|
869
|
+
staan, maar worden niet meer gelezen of getoond.
|
|
870
|
+
|
|
871
|
+
CONTROLELIJST
|
|
872
|
+
[ ] Alle zeven velden zijn verwijderd uit de settingscard.
|
|
873
|
+
[ ] Aanmeldmail-instellingen zijn nog zichtbaar en werken nog.
|
|
874
|
+
[ ] Er worden geen eigen planningsberekeningen meer gedaan; alles komt uit public.logistics_tasks.
|
|
875
|
+
[ ] Afleverbrieven worden alleen nog aangemaakt via print.shipping_note-taken, niet spontaan.
|
|
876
|
+
[ ] De kolommen in afhandeling_settings zijn niet gedropt.`,
|
|
877
|
+
},
|
|
749
878
|
],
|
|
750
879
|
},
|
|
751
880
|
pickschermen: {
|
|
@@ -1026,6 +1155,36 @@ CONTROLELIJST
|
|
|
1026
1155
|
[ ] Nieuwe printopdrachten bevatten payload.print_plek_id.
|
|
1027
1156
|
[ ] Deze module kiest nergens zelf een printer.`,
|
|
1028
1157
|
},
|
|
1158
|
+
{
|
|
1159
|
+
number: 9,
|
|
1160
|
+
title: "Layout per ordersoort uit de Engine, anders de actieve layout",
|
|
1161
|
+
date: "2026-08-26",
|
|
1162
|
+
summary: "De Engine stuurt per werkwijze (ordersoort) een layout mee; is dat veld leeg, dan wint de actieve layout uit de Layout maker.",
|
|
1163
|
+
body: `Deze prompt vervangt niets uit prompt 1 t/m 8; hij komt er bovenop.
|
|
1164
|
+
|
|
1165
|
+
Wat er verandert in de Logistiek Engine: per werkwijze (ordersoort) kan een
|
|
1166
|
+
gebruiker voor pakbon, sticker, verzendbrief en productiebon kiezen welke
|
|
1167
|
+
layout gebruikt wordt. Kiest hij "Automatisch", dan blijft print_jobs.layout_id
|
|
1168
|
+
leeg. Dat is een geldige situatie, geen fout.
|
|
1169
|
+
|
|
1170
|
+
Vaste volgorde bij het bepalen van wat er geprint wordt:
|
|
1171
|
+
1. Kant-en-klare PDF (pdf_url / pdf_base64, bijvoorbeeld Floriday- of
|
|
1172
|
+
klantstickers): ongewijzigd printen, layout negeren.
|
|
1173
|
+
2. print_jobs.layout_id gevuld: exact die layout renderen.
|
|
1174
|
+
3. Layout_id leeg: de layout die bij dat documenttype op actief staat.
|
|
1175
|
+
4. Geen van alle: opdracht op mislukt met de leesbare reden
|
|
1176
|
+
"Maak een layout aan en zet die op actief."
|
|
1177
|
+
|
|
1178
|
+
Regels:
|
|
1179
|
+
- Kies nooit zelf een andere layout wanneer layout_id gevuld is.
|
|
1180
|
+
- Verander de meegestuurde printplek niet; de printer komt uit de Layout maker.
|
|
1181
|
+
- Hardcode geen layout-, printer- of documenttypenamen.
|
|
1182
|
+
|
|
1183
|
+
CONTROLELIJST
|
|
1184
|
+
[ ] Order met meegestuurde layout gebruikt exact die layout.
|
|
1185
|
+
[ ] Order zonder layout gebruikt de actieve layout van dat documenttype.
|
|
1186
|
+
[ ] Floriday-PDF wordt ongewijzigd geprint.`,
|
|
1187
|
+
},
|
|
1029
1188
|
],
|
|
1030
1189
|
},
|
|
1031
1190
|
scanners: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/planQueue.server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD,wFAAwF;AACxF,wBAAsB,YAAY,CAChC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC3D,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"planQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/planQueue.server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD,wFAAwF;AACxF,wBAAsB,YAAY,CAChC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC3D,OAAO,CAAC,eAAe,CAAC,CAsG1B;AAmCD,4EAA4E;AAE5E,wBAAsB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE"}
|
|
@@ -115,6 +115,11 @@ export async function runPlanQueue(sb, options = {}) {
|
|
|
115
115
|
if (result.planned > 0) {
|
|
116
116
|
await runDayLevelSteps(sb, touchedDates, result);
|
|
117
117
|
}
|
|
118
|
+
else {
|
|
119
|
+
// De pickwachtrij is een reconciliatie tussen orders en pick_queue en mag
|
|
120
|
+
// niet afhangen van of er deze minuut iets gepland is.
|
|
121
|
+
await syncPickQueue(sb, result);
|
|
122
|
+
}
|
|
118
123
|
return result;
|
|
119
124
|
}
|
|
120
125
|
/** Dagniveau-stappen: taken inplannen, tellingen bijwerken en capaciteit controleren. */
|
|
@@ -136,6 +141,13 @@ async function runDayLevelSteps(sb, dates, result) {
|
|
|
136
141
|
result.errors.push(`${call.fn}: ${error.message}`);
|
|
137
142
|
}
|
|
138
143
|
}
|
|
144
|
+
/** Werkt alleen de pickwachtrij bij, ook als er niets te plannen viel. */
|
|
145
|
+
async function syncPickQueue(sb, result) {
|
|
146
|
+
const { error } = await sb.rpc("logistics_sync_pick_queue", {});
|
|
147
|
+
if (error && result.errors.length < 10) {
|
|
148
|
+
result.errors.push(`logistics_sync_pick_queue: ${error.message}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
139
151
|
/** Ruimt afgeronde wachtrijrijen op volgens de ingestelde bewaartermijn. */
|
|
140
152
|
export async function prunePlanQueue(sb) {
|
|
141
153
|
await sb.rpc("logistics_plan_prune");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type FieldType = "toggle" | "select" | "number" | "text" | "textarea" | "time" | "priority" | "radio" | "days" | "layout" | "pickstation";
|
|
1
|
+
export type FieldType = "toggle" | "select" | "number" | "text" | "textarea" | "time" | "priority" | "radio" | "days" | "layout" | "pickstation" | "guidance";
|
|
2
2
|
export interface FieldOption {
|
|
3
3
|
value: string;
|
|
4
4
|
label: string;
|
|
@@ -24,6 +24,12 @@ export interface RuleField {
|
|
|
24
24
|
default?: unknown;
|
|
25
25
|
/** Alleen bij type "layout": welke documenttypes uit de Layout maker gekozen mogen worden. */
|
|
26
26
|
layoutTypes?: string[];
|
|
27
|
+
/** Alleen bij type "guidance": uitleg over waar je wat instelt. */
|
|
28
|
+
guidance?: {
|
|
29
|
+
engine: string;
|
|
30
|
+
layoutMaker: string;
|
|
31
|
+
pickstations: string;
|
|
32
|
+
};
|
|
27
33
|
/** Veld alleen tonen als een ander veld deze waarde heeft. Optioneel uit een andere stap via `step`. */
|
|
28
34
|
dependsOn?: RuleDependency | RuleDependency[];
|
|
29
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleEngineSchema.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineSchema.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,UAAU,GACV,MAAM,GACN,UAAU,GACV,OAAO,GACP,MAAM,GACN,QAAQ,GACR,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ruleEngineSchema.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -654,10 +654,20 @@ export const RULE_STEPS = [
|
|
|
654
654
|
{ key: "packing_slip_station", label: "Pickstation", type: "pickstation" },
|
|
655
655
|
{
|
|
656
656
|
key: "packing_slip_layout",
|
|
657
|
-
label: "
|
|
657
|
+
label: "Welke layout voor dit soort orders?",
|
|
658
658
|
type: "layout",
|
|
659
659
|
layoutTypes: ["pakbon"],
|
|
660
|
-
description: "
|
|
660
|
+
description: "Kies de layout die bij dit soort orders hoort. Op \u201cAutomatisch\u201d pakt de Layout maker zijn eigen actieve layout. Levert Floriday een kant-en-klare pakbon als PDF, dan wordt die altijd gebruikt.",
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
key: "packing_slip_help",
|
|
664
|
+
label: "Waar stel ik dit in?",
|
|
665
|
+
type: "guidance",
|
|
666
|
+
guidance: {
|
|
667
|
+
engine: "Hier bepaal je w\u00e1nneer de pakbon vrijkomt, naar welk pickstation hij gaat en welke layout bij dit soort orders hoort.",
|
|
668
|
+
layoutMaker: "In de Layout maker teken je de layout zelf, zet je er \u00e9\u00e9n op actief en koppel je printplekken aan computers en printers. Welke printer er print, bepaal je daar.",
|
|
669
|
+
pickstations: "Op de pickschermen koppel je elk pickstation aan een printplek uit de Layout maker. Ontbreekt die koppeling, dan blijft de printopdracht wachten in plaats van op een willekeurige printer te belanden.",
|
|
670
|
+
},
|
|
661
671
|
},
|
|
662
672
|
],
|
|
663
673
|
},
|
|
@@ -696,10 +706,20 @@ export const RULE_STEPS = [
|
|
|
696
706
|
{ key: "sticker_station", label: "Pickstation", type: "pickstation" },
|
|
697
707
|
{
|
|
698
708
|
key: "sticker_layout",
|
|
699
|
-
label: "
|
|
709
|
+
label: "Welke layout voor dit soort orders?",
|
|
700
710
|
type: "layout",
|
|
701
711
|
layoutTypes: ["sticker", "etiket"],
|
|
702
|
-
description: "
|
|
712
|
+
description: "Kies de layout die bij dit soort orders hoort. Op \u201cAutomatisch\u201d pakt de Layout maker zijn eigen actieve layout. Levert Floriday kant-en-klare stickers als PDF, dan worden die altijd gebruikt.",
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
key: "sticker_help",
|
|
716
|
+
label: "Waar stel ik dit in?",
|
|
717
|
+
type: "guidance",
|
|
718
|
+
guidance: {
|
|
719
|
+
engine: "Hier bepaal je w\u00e1nneer de stickers vrijkomen, naar welk pickstation ze gaan en welke layout bij dit soort orders hoort.",
|
|
720
|
+
layoutMaker: "In de Layout maker teken je de layout zelf, zet je er \u00e9\u00e9n op actief en koppel je printplekken aan computers en printers. Welke printer er print, bepaal je daar.",
|
|
721
|
+
pickstations: "Op de pickschermen koppel je elk pickstation aan een printplek uit de Layout maker. Ontbreekt die koppeling, dan blijft de printopdracht wachten in plaats van op een willekeurige printer te belanden.",
|
|
722
|
+
},
|
|
703
723
|
},
|
|
704
724
|
],
|
|
705
725
|
},
|
|
@@ -722,10 +742,20 @@ export const RULE_STEPS = [
|
|
|
722
742
|
{ key: "shipping_note_station", label: "Pickstation", type: "pickstation" },
|
|
723
743
|
{
|
|
724
744
|
key: "shipping_note_layout",
|
|
725
|
-
label: "
|
|
745
|
+
label: "Welke layout voor dit soort orders?",
|
|
726
746
|
type: "layout",
|
|
727
747
|
layoutTypes: ["transportdocument", "verzendlabel"],
|
|
728
|
-
description: "
|
|
748
|
+
description: "Kies de layout die bij dit soort orders hoort. Op \u201cAutomatisch\u201d pakt de Layout maker zijn eigen actieve layout. Levert Floriday een kant-en-klare brief als PDF, dan wordt die altijd gebruikt.",
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
key: "shipping_note_help",
|
|
752
|
+
label: "Waar stel ik dit in?",
|
|
753
|
+
type: "guidance",
|
|
754
|
+
guidance: {
|
|
755
|
+
engine: "Hier bepaal je w\u00e1nneer de verzendbrief vrijkomt, naar welk pickstation hij gaat en welke layout bij dit soort orders hoort.",
|
|
756
|
+
layoutMaker: "In de Layout maker teken je de layout zelf, zet je er \u00e9\u00e9n op actief en koppel je printplekken aan computers en printers. Welke printer er print, bepaal je daar.",
|
|
757
|
+
pickstations: "Op de pickschermen koppel je elk pickstation aan een printplek uit de Layout maker. Ontbreekt die koppeling, dan blijft de printopdracht wachten in plaats van op een willekeurige printer te belanden.",
|
|
758
|
+
},
|
|
729
759
|
},
|
|
730
760
|
],
|
|
731
761
|
},
|
|
@@ -754,10 +784,20 @@ export const RULE_STEPS = [
|
|
|
754
784
|
{ key: "production_note_station", label: "Pickstation", type: "pickstation" },
|
|
755
785
|
{
|
|
756
786
|
key: "production_note_layout",
|
|
757
|
-
label: "
|
|
787
|
+
label: "Welke layout voor dit soort orders?",
|
|
758
788
|
type: "layout",
|
|
759
789
|
layoutTypes: ["productiebon", "magazijnlijst"],
|
|
760
|
-
description: "
|
|
790
|
+
description: "Kies de layout die bij dit soort orders hoort. Laat je dit op \u201cAutomatisch\u201d staan, dan pakt de Layout maker zijn eigen actieve layout.",
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
key: "production_note_help",
|
|
794
|
+
label: "Waar stel ik dit in?",
|
|
795
|
+
type: "guidance",
|
|
796
|
+
guidance: {
|
|
797
|
+
engine: "Hier bepaal je w\u00e1nneer de productiebon vrijkomt, naar welk pickstation hij gaat en welke layout bij dit soort orders hoort.",
|
|
798
|
+
layoutMaker: "In de Layout maker teken je de layout zelf, zet je er \u00e9\u00e9n op actief en koppel je printplekken aan computers en printers. Welke printer er print, bepaal je daar.",
|
|
799
|
+
pickstations: "Op de pickschermen koppel je elk pickstation aan een printplek uit de Layout maker. Ontbreekt die koppeling, dan blijft de printopdracht wachten in plaats van op een willekeurige printer te belanden.",
|
|
800
|
+
},
|
|
761
801
|
},
|
|
762
802
|
],
|
|
763
803
|
},
|