Versions Compared

Key

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

...

Product

The product filter allows the user to provide a set of products as an input. The end user can either select products from a list, or provide a filter that will be used to query the product master table.

product fixed product dynamic
Expand
titleForms
Code Block
languagegroovy
themeMidnight
linenumbersfalse
def formFieldSet = api.createConfiguratorEntry()

formFieldSet.inputs = [
    api.inputBuilderFactory()
        .createProductGroupEntry('productGroup')
        .buildContextParameter()
]

return formFieldSet
Expand
titleIn input generation mode (input generation mode)
Code Block
languagegroovy
themeMidnight
linenumbersfalse
api.inputBuilderFactory()
        .createProductGroupEntry('productGroup')
        .getInput()
Expand
titleIn header Logics
Code Block
languagegroovy
themeMidnight
linenumbersfalse
processor.addOrUpdateInput(                 //❶
        'ROOT',
        api.inputBuilderFactory()
                .createProductGroupEntry('productGroup')
                .buildMap()
)

❶ the processor can be one of the quoteProcessor, cProcessor, etc., which references subclasses of the CalculableLineItemCollectionBuilder

Expand
titleReading input value
Code Block
languagegroovy
themeMidnight
titleReading input value in a line-item logic.
linenumbersfalse
def value = input.productGroup as Map
Expand
titleConverting to a filter
Code Block
languagegroovy
themeMidnight
titleCreating a filter out of the ProductGroup object to be used in Price Analyzer. It performs the attribute to datasource field name conversion.
linenumbersfalse
def filter = api.datamartFilter(productGroup)
Code Block
languagegroovy
themeMidnight
titleCreating a filter out of the ProductGroup object to be used in other modules except Price Analyzer.
linenumbersfalse
def filter = productGroup.asFilter()
Info
See also Product Picker Filter Logic

Customer

The customer filter allows the user to provide a set of customers as an input. The end user can either select customers from a list, or provide a filter that will be used to query the customer master table.

customer fixed customer dynamic
Expand
titleForms
Code Block
languagegroovy
themeMidnight
linenumbersfalse
def formFieldSet = api.createConfiguratorEntry()

formFieldSet.inputs = [
    api.inputBuilderFactory()
        .createCustomerGroupEntry('customerGroup')
        .buildContextParameter()
]

return formFieldSet
Expand
titleIn input generation mode (input generation mode)
Code Block
languagegroovy
themeMidnight
linenumbersfalse
api.inputBuilderFactory()
        .createCustomerGroupEntry('customerGroup', )
        .getInput()
Expand
titleIn header Logics
Code Block
languagegroovy
themeMidnight
linenumbersfalse
processor.addOrUpdateInput(                 //❶
        'ROOT',
        api.inputBuilderFactory()
                .createCustomerGroupEntry('customerGroup')
                .buildMap()
)

❶ the processor can be one of the quoteProcessor, cProcessor, etc., which references subclasses of the CalculableLineItemCollectionBuilder

Expand
titleReading input value
Code Block
languagegroovy
themeMidnight
titleReading input value in a line-item logic.
linenumbersfalse
def value = input.customerGroup as Map
Expand
titleConverting to a filter
Code Block
languagegroovy
themeMidnight
titleCreating a filter out of the CustomerGroup object to be used in Price Analyzer. It performs the attribute to datasource field name conversion.
linenumbersfalse
def filter = api.datamartFilter(customerGroup)
Code Block
languagegroovy
themeMidnight
titleCreating a filter out of the CustomerGroup object to be used in other modules except Price Analyzer.
linenumbersfalse
def filter = customerGroup.asFilter()
Info
See also Customer Picker Filter Logic