Custom Operations opsætningselementet gør det muligt at oprette udtryk uden at skulle oprette en Shipping rules-fil. Du kan inkludere de udtryk, der understøttes i Shipping Rules <expressions>-noden. Se beskrivelsen af Shipping Rules-noder her.
Tilføjelse af setup-elementet
- Gå til Setup og naviger til den Location/Actor i din installation, hvor du ønsker, at udtryk skal fungere.
- Højreklik i panelet til højre og vælg New > Custom Operations.
- Vælg typen af operation og klik på New. Der findes 5 forskellige typer operationer:
- Expressions when reading request - udtrykket køres efter, at shipment JSON er blevet parsed.
- Expressions at submit - udtrykket køres ved submit, dvs. når en forsendelse oprettes.
- Expressions at transmit - udtrykket køres ved transmit, dvs. når EDI sendes til transportøren.
- Expression at validation - udtrykket køres sammen med andre valideringer.
- Patch Options for API - angiv standardværdier for Option-parameteren for Shipment Server. (Ikke relevant for On-premises-kunder).
-
Patch Data for API - erstat værdier, angiv en delimiter osv. (Ikke relevant for On-premises-kunder).
- Tilføj udtrykket/koden i feltet. Hvis du opretter en ny XML-fil, skal du tilføje dit udtryk i den foruddefinerede <Expressions>-node.
- Klik på OK for at gemme.
Eksempler
Expressions
Dette udtryk sætter en standardværdi på 15:00 i Pickup start-feltet, hvis det aktuelle tidspunkt (når udtrykket køres, afhængigt af operationstypen) er mindre end 14:00. Hvis du ønsker, at udtrykket kun skal køre for en specifik transportør, er det vigtigt at angive dette. (Bemærk: denne funktion virker ikke med custom carriers.)
Du kan bruge udtryk, der understøttes i Shipping Rules <expressions>-noden. Se beskrivelsen af 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 eksempel er postnummer-validering slået fra for PreAdviseOrder, og labels er sat til ZPLGK.
[PreAdviseOrder]
ValidatePostCode=0
[SubmitOrder]
Labels=ZPLGKPatch options-filen følger dette format:
[<MethodName>]
<Param Name]=[Param Value]
Hvis parameteren findes i kaldet, ændres den ikke. Den tilføjes kun, hvis den ikke er inkluderet.
SSData.ini
I dette eksempel er delimiter sat til standard |, og fire strenge 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 format:
[<MethodName>]
<n>=<OldValue><NewValue>
n er et tal, der starter med 1. Hvis der er huller i nummereringen, ignoreres værdier efter hullet.
OldValue er strengen, der skal erstattes, og NewValue er strengen, der erstatter den gamle værdi.