Custom Operations setup-elementet gjør det mulig å opprette uttrykk uten å måtte lage en Shipping rules-fil. Du kan bruke uttrykkene som støttes i Shipping Rules <expressions>-noden. Se beskrivelsen av Shipping Rules-noder her.
Legge til setup-elementet
- Gå til Setup og naviger til Location/Actor i installasjonen din der du ønsker at uttrykkene skal fungere.
- Høyreklikk i panelet til høyre og velg New > Custom Operations.
- Velg typen operasjon og klikk på New. Det finnes 5 forskjellige operasjonstyper:
- Expressions when reading request - uttrykket kjøres etter at shipment JSON er behandlet.
- Expressions at submit - uttrykket kjøres ved submit, dvs. når en forsendelse opprettes.
- Expressions at transmit - uttrykket kjøres ved transmit, dvs. når EDI sendes til transportøren.
- Expression at validation - uttrykket kjøres sammen med andre valideringer.
- Patch Options for API - angi standardverdier for Option-parameteren for Shipment Server. (Ikke relevant for On-premises-kunder).
-
Patch Data for API - erstatt verdier, angi en delimiter osv. (Ikke relevant for On-premises-kunder).
- Legg til uttrykket/koden i feltet. Hvis du oppretter en ny XML-fil, må du legge til uttrykket i den forhåndsdefinerte <Expressions>-noden.
- Klikk på OK for å lagre.
Eksempler
Expressions
Dette uttrykket setter en standardverdi på 15:00 i Pickup start-feltet hvis nåværende tid (når uttrykket kjøres, avhengig av operasjonstype) er før 14:00. Hvis du ønsker at uttrykket kun skal gjelde for en spesifikk transportør, er det viktig å spesifisere dette. (Merk: denne funksjonen fungerer ikke med custom carriers.)
Du kan bruke uttrykkene som støttes i Shipping Rules <expressions>-noden. Se beskrivelsen av Shipping Rules-noder her.
<Expression targetfield="fld_RefPickupStart">
<!-- if(currenttime less than 14:00) today 15:00 -->
<Condition name="intlimits" field="fld_SubcarrierConceptID" min="448" max="448" />
<Condition name="timelimits" field="fld_Now" min="00:00" max="14:00"/>
<Item special="datenow" format="YYYY-MM-DD"/>
<Item expression=" "/>
<Item expression="15:00:00"/>
</Expression>
<Expression targetfield="fld_RefPickupStart">
<!-- if(currenttime more than 14:00) today(+1) 15:00 -->
<Item special="datenow" adddays="1" format="YYYY-MM-DD"/>
<Item expression=" "/>
<Item expression="15:00:00"/>
</Expression>
SSOptions.ini
I dette eksemplet er postnummer-validering deaktivert for PreAdviseOrder, og etiketter er satt til ZPLGK.
[PreAdviseOrder]
ValidatePostCode=0
[SubmitOrder]
Labels=ZPLGKPatch options-filen følger dette formatet:
[<MethodName>]
<Param Name]=[Param Value]
Hvis parameteren finnes i kallet, endres den ikke. Den legges kun til hvis den ikke allerede er inkludert.
SSData.ini
I dette eksemplet er delimiter satt til standard |, og fire strenger erstattes for PreAdviseOrder.
[PreAdviseOrder]
Delimeter=|
1="Name2"|"Street2"|
2="Kind": 176,|"Kind": 177,
3="Kind": 176,|"Kind": 177,
4="Kind": 176,|"Kind": 177,Patch data-filen følger dette formatet:
[<MethodName>]
<n>=<OldValue><NewValue>
n er et tall som starter på 1. Hvis det er hull i nummereringen, ignoreres verdier etter hullet.
OldValue er strengen som skal erstattes, og NewValue er strengen som erstatter den gamle verdien.