Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Paste code macro
languagegroovy
titleSimple Example Which generates one agreement
def rebateTypeName = "RebateOnSale"  //Name of existing Rebate Type
def customerId = "CD-00001"  //ID of existing customer
def inputFieldOnRebateType = "Rebate discount %"  //name of input field on the Rebate Type
def lineItemId = "1234567890"  //this should be generated by random generator such as api.uuid(), but ok for first understanding

def agreementLabel = api.stringUserEntry("Agreement Name")

//create a builder for new Agreement, and setup the important header input fields
builder = ratBuilder.fromParams([
        "label"     : agreementLabel,
        "startDate" : api.parseDate("yyyy-MM-dd", "2017-01-01"),
        "endDate"   : api.parseDate("yyyy-MM-dd", "2017-12-31"),
        "payoutDate": api.parseDate("yyyy-MM-dd", "2018-02-01"),
        "targetDate": api.parseDate("yyyy-MM-dd", "2016-12-01"), //calculationDate
])

//set the value of "Customer(s)" input on header level
builder.addOrUpdateInput("ROOT", [
        "label"    : "Customer(s)",
        "name"     : "CustomerGroup",
        "type"     : InputType.CUSTOMERGROUP,
        "value"    : [
                "customerFieldLabel": "Customer Id",
                "customerFieldName" : "customerId",
                "customerFieldValue": customerId
        ],
        "valueHint": customerId
])

//create new line with given existing contract type and setting a value of its input field
builder.addLineItemWithId(lineItemId, rebateTypeName)
        .addOrUpdateInput(lineItemId, [
        "name" : inputFieldOnRebateType,
        "label": inputFieldOnRebateType,
        "type" : InputType.USERENTRY,
        "value": 10
])

builder.build()

...