Het Custom Operations setup-item maakt het mogelijk om expressies te maken zonder dat u een Shipping rules-bestand hoeft te maken. U kunt de expressies gebruiken die worden ondersteund in de Shipping Rules <expressions>-node. Zie de beschrijving van de Shipping Rules-nodes hier.
Het setup-item toevoegen
- Ga naar Setup en navigeer naar de Location/Actor in uw installatie waar u wilt dat de expressies werken.
- Klik met de rechtermuisknop in het paneel rechts en selecteer New > Custom Operations.
- Selecteer het type bewerking en klik op New. Er zijn 5 verschillende soorten bewerkingen:
- Expressions when reading request - de expressie wordt uitgevoerd nadat de shipment JSON is verwerkt.
- Expressions at submit - de expressie wordt uitgevoerd bij submit, dus wanneer een zending wordt aangemaakt.
- Expressions at transmit - de expressie wordt uitgevoerd bij transmit, dus wanneer EDI naar de vervoerder wordt verzonden.
- Expression at validation - de expressie wordt uitgevoerd samen met andere validaties.
- Patch Options for API - stel standaardwaarden in voor de Option-parameter voor de Shipment Server. (Niet relevant voor On-premises-klanten).
-
Patch Data for API - vervang waarden, stel een scheidingsteken in, enz. (Niet relevant voor On-premises-klanten).
- Voeg de expressie/code toe in het veld. Als u een nieuw XML-bestand maakt, moet u uw expressie toevoegen in de vooraf gedefinieerde <Expressions>-node.
- Klik op OK om op te slaan.
Voorbeelden
Expressions
Deze expressie stelt een standaardwaarde van 15:00 in voor het Pickup start-veld als de huidige tijd (wanneer de expressie wordt uitgevoerd, afhankelijk van het type bewerking) vóór 14:00 ligt. Als u wilt dat de expressie alleen voor een specifieke vervoerder wordt uitgevoerd, is het belangrijk dit te specificeren. (Opmerking: deze functie werkt niet met custom carriers.)
U kunt expressies gebruiken die worden ondersteund in de Shipping Rules <expressions>-node. Zie de beschrijving van de Shipping Rules-nodes hier.
<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
In dit voorbeeld is postcodevalidatie uitgeschakeld voor PreAdviseOrder en zijn labels ingesteld op ZPLGK.
[PreAdviseOrder]
ValidatePostCode=0
[SubmitOrder]
Labels=ZPLGKHet Patch options-bestand volgt dit formaat:
[<MethodName>]
<Param Name]=[Param Value]
Als de parameter al in de call aanwezig is, wordt deze niet gewijzigd. Deze wordt alleen toegevoegd als deze nog niet is opgenomen.
SSData.ini
In dit voorbeeld is het scheidingsteken ingesteld op standaard | en worden vier strings vervangen voor PreAdviseOrder.
[PreAdviseOrder]
Delimeter=|
1="Name2"|"Street2"|
2="Kind": 176,|"Kind": 177,
3="Kind": 176,|"Kind": 177,
4="Kind": 176,|"Kind": 177,Het Patch data-bestand volgt dit formaat:
[<MethodName>]
<n>=<OldValue><NewValue>
n is een nummer dat begint bij 1. Als er gaten in de nummering zitten, worden waarden na het gat genegeerd.
OldValue is de string die vervangen moet worden en NewValue is de string die de oude waarde vervangt.