Sie befinden sich hier:
InsProductJSONService:updateUserValues
Verwenden Sie diesen Service, um die userValues der angegebenen Attribute in einer Produkt-JSON anhand der von einem Benutzer vorgenommenen Änderungen zu aktualisieren. Sie können diesen Service auch verwenden, um zu aktualisieren, wo sich der JSON-Knoten in der Hierarchie befindet.
Methode: updateUserValues
Funktionsweise
-
Verwendet die
inputKeyundattributeValues, um den Knoten in der Eingabe-JSON mit den zu aktualisierenden Attributen zu finden. -
Wenn
productCodeund/oderattributeCodefestgelegt sind, filtert der Service die abzugleichende JSON. -
Validiert den neuen Attributwert mit möglichen Attributwerten, sofern
validate = truevorhanden. -
Gibt die Produkt-JSON mit den aktualisierten Attributen zurück.
Remote-Optionen
Option |
Beschreibung |
|---|---|
|
Der Schlüssel, den dieser Service verwendet, um den Teil der Produkt-JSON zu finden, mit dem gearbeitet werden soll. Der Standardwert ist |
|
Findet Attribute, die dieser |
|
Findet das durch diese |
|
Wahr/falsch Arbeitet mit einem Teilwert, der für attributeCode angegeben ist, um ein Attribut zu finden. Standard = |
|
Findet die Attribute, die dem Produkt (und den untergeordneten Produkten) mit diesem |
|
Wahr/falsch Validiert neue Attributwerte mit allen zulässigen Werten für ein bestimmtes Attribut, bevor die JSON aktualisiert wird. Standard = |
Input JSON
Dieser Service verwendet eine typische Produkt-JSON, die er anhand der inputKey und attributeValues in Form einer Karte des attributeCode und des neuen userValues identifiziert.
Informationen zum Aufbau von Produkt-JSONs finden Sie unter Produkt-JSON-Strukturmodell.
Im folgenden Beispiel beträgt der Attributwert von liveCoverageAmt 250.000 $. In "attributeValues" wird er zu 500.000 $ geändert.
{
"inputKey": {
"totalSize": 1,
"records": [
{
"Name": "Product1",
"ProductCode": "Product1",
"attributeCategories": {
"totalSize": 1,
"records": [
{
"displaySequence": 449,
"id": "a0O6A000001XFIPUA4",
"Name": "Life Terms",
"Code__c": "LIFETERMS",
"productAttributes": {
"totalSize": 1,
"records": [
{
"code": "lifeCoverageAmt",
"dataType": "text",
"inputType": "dropdown",
"multiselect": false,
"required": false,
"readonly": false,
"disabled": false,
"filterable": true,
"attributeId": "a0P6A0000032HllUAE",
"label": "Coverage Amount",
"displaySequence": 1,
"hasRules": false,
"hidden": false,
"values": [
{
"id": "0",
"label": "$250,000",
"readonly": false,
"disabled": false,
"value": "250000"
},
{
"id": "1",
"label": "$500,000",
"readonly": false,
"disabled": false,
"value": "500000"
},
{
"id": "2",
"label": "$1,000,000",
"readonly": false,
"disabled": false,
"value": "1000000"
}
],
"userValues": "250000",
"parentProductId": "a2mf4000000kYR7AAM",
"parentProductCode": "InsLife",
"originalAttributeIndex": 0,
"originalCategoryIndex": 1,
"originalProductIndex": 1,
"pathFromChild": "attributeCategories.records[1].productAttributes.records[0]",
"pathFromRoot": "\"pathFromRoot\": \"childProducts.records[1].attributeCategories.records[1].productAttributes.records[0]\""
}
]
}
}
]
}
}
]
},
"attributeValues": {
"lifeCoverageAmt": "500000"
}
}
Ausgabe-JSON
Der Service gibt eine aktualisierte Produkt-JSON mit den neuen Attributwerten unter dem result-Schlüssel und Informationen zum ursprünglichen Attributwert zurück.
Im folgenden Beispiel wurde der Wert für das Attribut liveCoverageAmt von 250.000 EUR zu 500.000 EUR geändert.
{
"records": [
{
"attributeCategories": {
"records": [
{
"productAttributes": {
"records": [
{
"pathFromRoot": "\"pathFromRoot\": \"childProducts.records[1].attributeCategories.records[1].productAttributes.records[0]\"",
"pathFromChild": "attributeCategories.records[1].productAttributes.records[0]",
"originalProductIndex": 1,
"originalCategoryIndex": 1,
"originalAttributeIndex": 0,
"parentProductCode": "InsLife",
"parentProductId": "a2mf4000000kYR7AAM",
"userValues": "500000",
"values": [
{
"value": "250000",
"disabled": false,
"readonly": false,
"label": "$250,000",
"id": "0"
},
{
"value": "500000",
"disabled": false,
"readonly": false,
"label": "$500,000",
"id": "1"
},
{
"value": "1000000",
"disabled": false,
"readonly": false,
"label": "$1,000,000",
"id": "2"
}
],
"hidden": false,
"hasRules": false,
"displaySequence": 1,
"label": "Coverage Amount",
"attributeId": "a0P6A0000032HllUAE",
"filterable": true,
"disabled": false,
"readonly": false,
"required": false,
"multiselect": false,
"inputType": "dropdown",
"dataType": "text",
"code": "lifeCoverageAmt"
}
],
"totalSize": 1
},
"Code__c": "LIFETERMS",
"Name": "Life Terms",
"id": "a0O6A000001XFIPUA4",
"displaySequence": 449
}
],
"totalSize": 1
},
"ProductCode": "Product1",
"Name": "Product1",
"displaySequence": -1
}
],
"totalSize": 1
}

