The so-called pricing (German: Preisstellung) serves as a negotiation tool or to modify the offer value. It serves, like the Configuration Editor, for the manual post-management of configurations or the specification of product variants. However, pricing differs from the Configuration Editor by providing a view of all price-relevant data, as often captured in plant engineering.
Typically, a so-called calculated sales price is derived from the calculation. This calculated or computed sales price can often result in an 'uneven' value. For example, it might be a value of 143,521. Often there is a desire to 'round' such a value (e.g., offering a value of 140,000 instead of 143,521). For this purpose, there is a function named pricing in LEEGOO BUILDER.
In this module, calculation values can be modified. This is not only the offer price but could also be a granted discount or surcharge.
The pricing module is part of the LEEGOO BUILDER basic functionality. It can be accessed via the Configurator and/or Configuration Editor.
Figure 1 Configurator
Figure 2 Configuration Editor
To use the pricing:
In the Users & Rights module, a rights group must be granted the right to use pricing.
The right 139 ensures whether the pricing can be used at all.
The system view pricing dialog defines the columns of the pricing dialog that can be accessed via the Configurator or Configuration Editor. In the system view, there is the possibility to individually set the displayed columns of the tables.
Figure 3 Example of a pricing view
In the Rule column, various values can be entered:
col | Values of all priced cells in a column are set (percentage) |
---|---|
sub | The specified value is distributed proportionally to all subpositions of the total position |
rnd> | Round value |
Among other things, VKFields can be displayed (inserted) in the pricing view. However, these are only for data display. The data itself cannot be manually modified.
The fields (F-fields) available in the pricing tab can be used for pricing instructions.
Figure 4 Pricing fields in the system view
These fields can be used within the view with the instructions col or sub. In the pricing dialog, these columns/fields are intended for value entry.
For positions to be edited in the pricing dialog and thus displayed, they must be defined as pricing positions.
In the component editor – master data – there is a checkbox for setting the property in the type information area.
Figure 5 Pricing position property in the component editor
The pricing position property can also be set in the transaction data. In the Configuration Editor, there is also the option to define a component as a pricing position or to remove the property in the Properties tab in the display area.
Figure 6 Pricing position in the Configuration Editor
This property ensures that the component is listed in the pricing dialog.
Within the calculation method (OnCalculate), the pricing must be responded to.
The sub instruction is executed by the following code instruction:
ConfigurationService.ProcessPricing (configuration, "e01", "e01", PricingFieldIdentifier .F01);
The ProcessPricing instruction executes the pricing instruction.
Parameters:
The 'distribution' of values is carried out on all priced components that do not:
Components with these two properties are not considered in the distribution.
The col instruction must be handled differently in the calculation method.
Example:
// If something is in F02 and the component is not locked
if (configurationItem.ColValue(PricingFieldIdentifie.F02) != null)
{
// Write value from instruction to variable
var col< = configurationItem.ColValue(PricingFieldIdentifier.F02);
rabProzent = (double) col;
}
The ColValue instruction determines the pricing instruction COL. It checks whether one of the parent components or the component itself has such instructions. If the component or parent is locked, the replacement value 0 is returned (0%). The value is only inherited from above if AOSelect is equal. This means that an optional branch does NOT inherit ColValue unless a ColValue has also been entered there.
This percentage value must be further calculated in the subsequent course of the calculation.
Figure 7 Example of a pricing dialog
In this example, there is only one column for the ProcessPricing distribution. An entry can be made there for each component that has the pricing position property. The value distribution is then carried out for the entire branch. This means if an entry is made in only one station, it does not affect the other stations. If a value is entered only in the offer component, it is distributed across the entire configuration.
Figure 8 Pricing dialog after the calculation
Only components that have the pricing position property are displayed. To correctly map the configuration structure, parent components without the property are also displayed but grayed out. The user cannot enter a value there.