Troubleshooting – All Versions

This section provides some helpful troubleshooting tips.

Contents:

A waterfall chart within a dashboard doesn't render correctly

The waterfall chart shows e.g., lines instead of bars.

Recommended solution:

Make sure all of the templates are in the JSON format.

For example, instead of:

{      credits: {          enabled: true,          text: "Example.com",          href: "http://www.example.com"      }, ...

you need to have:

{      "credits": {          "enabled": true,          "text": "Example.com",          "href": "http://www.example.com"      }, ...

I cannot download data to Excel when working in Safari

When I use the Safari browser, I'm unable to download any data, charts, etc. to Excel.

Recommended solution:

Check the security preferences for Safari and make sure that the option Block pop-up windows is disabled.

Charts which work fine in the Classic UI fail to load in Unity

When I write a chart definition, the chart works normally in the Pricefx Classic user interface. However, when I open a dashboard containing this chart in Unity, the chart fails to load.

Recommended solution:

Charts displayed in Unity require the setGeneratedQueryDto parameter to be present in the chart definition. This line is added to the chart definition automatically, if the chart is exported from Analytics using the View Expression feature. If you write the chart definition yourself, please make sure that you include this parameter.

Internationalization: Translated strings are not displayed in Unity

In the Internationalization section, I have added a few translated strings but they are not displayed in Unity.

Recommended solution:

  1. Log in to the Classic UI with the same locale as you use in Unity, e.g., containing locale=en in the URL.

  2. In the Localization admin, import the translated labels.

  3. In Unity, log out and log in again. The labels should now be visible.

The Customer input field is missing on quote Header tab - Unknown Type: "" error

The Customer input field is not rendered in the UI although it is defined in the calculation logic.

Recommended solution:

Verify that the input definition also properly specifies the type of the input - InputType.CUSTOMER in this case:

quoteProcessor.addOrUpdateInput("ROOT", [ name : "Customer", filterFormula : [name : "CustomerFilter"], type : InputType.CUSTOMER ])

Empty Drop-down menu

I am not able to enter input values as the drop-down menus are blank, without options.

Recommended solution:

Users with multiple active displays using Google Chrome on Windows may experience a problem with pages containing input elements. This is a Google Chrome issue. You may try to use a different browser.

Handle invalid saved filter definition in Advanced Filter

There can be situations, when the saved filter definition is not valid anymore (for example, the field has been renamed/removed in the Datamart). In such a case, the Advanced Filter will not work properly.
To notify users about this, we have added an alert to the Advanced Filter.

Recommended solution:

Based on the details given in the alerts, user can adjust the saved filter to make the Advanced Filter work properly.

Related ticket: https://pricefx.atlassian.net/browse/PFUN-13821

Workflow email links lead to different UI version

Although using the React version of Quoting, Rebates or Agreements & Promotions, I'm always taken to the old Ember version when I follow the “reply to message” email link.

Recommended solution:

Replace the links in the message templates with new ones that work both for React and Ember versions:

Module

Link

Module

Link

Quoting

$baseURL$/app/modules/#/qc/go-to-quotes/$entity.typedId$/messages/$msgEntity.typedId$

Agreements & Promotions

$baseURL$/app/modules/#/pm/go-to-contracts/$entity.typedId$/messages/$msgEntity.typedId$

Rebates

$baseURL$/app/modules/#/rm/go-to-rebate-agreements/$entity.typedId$/messages/$msgEntity.typedId$

Document detail page opens in React

Although using the Ember UI version, I'm taken to the React version of the detail page.

Recommended solution:

The default of the useReactFor feature flag was set to true in version 9.1. To avoid this problem, set the crm_config advanced configuration option so that it contains feature flags setting useReactFor to false.

Data uploads to Product/Customer Extension tables fail or take a long time to complete

When you use the endpoints loaddata and loaddata.file for data upload and you explicitly specify the joinFields option without including name (or any other column that is part of the business key of your extension), the existing indexes are not used which makes the upload slow or fail.

Workaround:

  • Do not specify joinFields in the query but use detectJoinFields instead.

  • Use the importfile endpoint which forces the caller to specify the name of the extension.

  • Or simply make sure that name is included in joinFields.

Solution implemented in version 10.0:

The joinFields option includes fields that should be in the business key, that is name for Product/Customer/Seller Extension, sku for Product Extensions, customerId for Customer Extensions and sellerId for Seller Extensions.

Unable to parse any Excel file using PARSABLEINPUTFILE

I am unable to parse any Excel file using PARSABLEINPUTFILE and I’m getting the error Wrong data, found 2 BinaryData, expected 1.

Recommended solution:

This error can occur when the auto_increment value in the UploadStatus table isn't in sync with the max value of latestUploadStatusId in BinaryData table – i.e., the current auto_increment from UploadStatus <= max(latestUploadStatusId) from BinaryData. This leads to a situation that a new file upload can get the ID of an already occupied upload slot. This kind of data mismatch can be the result of some manual data operations or even a restart of the DB service; occurs in MariaDB and MySQL (versions lower than 8.0.0).

The following SQL statement can be used to adjust the auto_increment value in the UploadStatus table:

ALTER TABLE UploadStatus AUTO_INCREMENT=$(GREATEST(COALESCE((select max(latestUploadStatusId)+1 from BinaryData), 1), COALESCE((select max(id)+1 from UploadStatus), 1)));

It is advisable to contact Pricefx support if a fix in the database is required.

For more information about this issue, see:

Submitting RQC ends in a loop

When you have Inline Configurator input(s) in your document, submitting it causes the application to loop in infinite loading.

How to detect the cause and fix it:

* turning on debugMode using window.PfxSetDebugMode(true) may be needed
In your browser, open Developer Tools and check its Console tab to see which configurator(s) makes the document recalculate after each its logic run by searching for the ‘UPDATE_HEADER_INPUT_VALUE' (or 'LINE_ITEM_UPDATE_INPUT’ in case of line item level) keyword. Notice the ones that happen from time to time, especially Inline Configurator type.

Now, we need to detect the differences between the document and the input values.

  1. Document value: In the Console tab, from that line of UPDATE_HEADER_INPUT_VALUE, move up 1 line then you will see the current data.

    Then look for clic > inputs > [name] > value (or items > lineItemsFlat > [item] > inputs > [name] > value for line item level).

  2. Input value: ‘value’ field data in the UPDATE_HEADER_INPUT_VALUE line.

Compare those 2 values, keep in mind that you should ignore ‘null’ and the field value of the corresponding inputs that are HIDDEN type in ‘otherValues’ > ‘configuratorInputs’ in the UPDATE_HEADER_INPUT_VALUE line.

Embedded Custom Form is not auto recalculated on page load

I am using an embedded Custom Form within Quotes and expecting that the Custom Form is recalculated on page load but it does not recalculate and requires users to click the Recalculate button.

Recommended solution:

The Create Custom Form Option in Configuration (the “Do nothing” vs. “Save and Calculate pre-phase“ options) is supposed to affect ONLY the standalone custom forms (the parent object).

User is able to submit line item with critical alert

To prevent users from submitting a CLIC document when some condition is met, we use api.criticalAlert(). However, after the critical alert is shown to the user, the Submit button is still enabled and it is possible to submit the document.

Recommended solution:

If the alert is triggered by a line item logic, it should be taken into account that you have to set the ‘Display mode’ of the logic element to ‘Everywhere’. Then the Submit button is disabled and the red alert icon is displayed.

Found an issue in documentation? Write to us.

 
Pricefx version 13.1