It seems like you're using an older browser. Things might not work as expected.

This page contains questions and issues that we often meet in customer projects and in installations.

The web site displays an internal error when I submit an order, but the order is still created

The internal error is thrown by the Order Confirmation page when it tries to send the order confirmation mail to the customer. Check that the settings in the appsettings.config file is assigned to an existing email account and that it is available for the service to use. Verify that the account is active and that the credentials used are correct.

Can not proceed to catalog publishing because channel has not been published successfully. Channel publishing status: Failed

The publishing of an online channel is made in two steps. First, the channel is published and its status is changed from In Progress to Published. Then the Catalog is published and sent to the channel database. Storefront Dynamics Stage Job is used in the publishing process. First, it reads the online channel configuration, validates the information and responds to Dynamics that the online channel may be set into a Published state. Second, it reads the product and channel information and stages it to be imported into the e-commerce solution in Episerver.

Known reasons for exceptions thrown by Dynamics Retail Server during channel publishing are:

  • The Retail Server is not configured to accept anonymous access. Update the web.config file of the retail server and add the key IsAnonymousEnabled to the app settings section and set its value to true.
  • Check the Media Template XML that is sent from Dynamics to the channel database. There have been cases when upgrades of Dynamics truncates the XML in the database table ECORESVALUE. If that is the case, then the XML must be repaired using a T-SQL Script.

SQL Script Example for damaged media template XML

  1. Run the script to update the ECORESVALUE table.
  2. Run a full channel synchronization (Retail/Retail Scheduler/Channel Database - Full Data Sync, job 9999. Note that this may be a very time-consuming operation.
  3. Restart the Retail Server to clear all cache.

BEGIN TRAN

UPDATE ECORESVALUE

SET TEXTVALUE = '<?xml version="1.0" encoding="utf-8"?><RichMediaLocations><RichMediaLocation><Url>Images/Categories/{LanguageId}/{CategoryHierarchyName}/{CategoryPath}.jpg</Url><AltText></AltText><IsDefault>0</IsDefault><ImageId>0</ImageId></RichMediaLocation></RichMediaLocations>'

WHERE TEXTVALUE = '<?xml version="1.0" encoding="utf-8"?><RichMediaLocations><RichMediaLocation><Url>Images/Categories/{LanguageId}/{CategoryHierarchyName}/{CategoryPath}.jpg</Url><AltText></AltText><IsDefault>0</IsDefault><ImageId>0</ImageId></RichMediaLocation></RichMedia'

COMMIT

Why can't I register a new customer? Why can't I submit an anonymous sales transaction?

Anonymous access is required to let the websites to be able to create a new customer and to create anonymous orders. The anonymous access is defined in the web.config file of the Retail Server. Ensure that the key IsAnonymousEnabledis added to the app settings section.

<add key="IsAnonymousEnabled" value="true" />

Why does Storefront Dynamics Starter Site create Members and not Customers?

The default behaviour in LS NAV is to create a member and not a customer. In most cases is the member more useful because of the loyalty programs. The customer entity may only be useful for B2B scenarios where the customer gets personalised prices and other financial rules. The default behaviour of LS NAV and Storefront Dynamics Starter Site is to use a Default Customer for all anonymous sales transactions created.

If the requirements are that a customer entity is created every time a visitor registers in the starter site, then there must be a customization made of LS NAV by the NAV partner that creates the customer entity when the member.

Why doesn’t integers or booleans get imported by Storefront Dynamics if the language is set to anything but en-us?

Dynamics AX 2012 R3, Dynamics 365 for Finance and Operations and Dynamics 365 for Retail indexes product properties based on language. Non-localized attributes are by default treated as en-us by Dynamics. Dynamics does not honour the default language setting of the Retail Online Channel when it comes to attributes other than datatype Text (String). That is why Dynamics channel synchronization ignores any attributes with datatypes other than String.

Why does Distributions Schedule 1150 (Catalog) fail to execute with a SQL Exception?

The database table RETAILPUBCATALOG contains the column MODIFIEDBY. The column width differs between the Dynamics HQ database and the channel database. The column width in the channel database must be at least NVARCHAR(20) to match the column in the Retail HQ database, or else the synchronization of Dynamics fails.

How do I verify that a product has been sent from Dynamics to Storefront Dynamics?

There is more than one answer to the question of how to verify that the product is actually sent to Storefront Dynamics. These are the steps to perform to verify the product. The solution is the same for all versions of Dynamics AX and Dynamics 365.

  1. The Retail Online Channel’s Catalog must be validated and published in Dynamics.
  2. The distribution schedule 1150 must be executed so that the products in the catalog are sent to the channel database by Dynamics.
  3. The Storefront Dynamics Stage Job must be executed without error to load the updated Catalog into the stage database.

With the steps above performed without any error is the product information validated in the following steps:

  1. Open a SQL Query (using the SQL Management Studio or similar tool) and select all records from the Stage database table StageDocuments where Data LIKE ‘<articlenumber>’ or any known property value of the product.
  2. If the query results in at least one record of type “2” then the product has been read from the channel database and staged into the Storefront Dynamics Stage Database and is ready to be imported into Episerver.

If the Storefront Dynamics Stage Job is executed without errors and the product is found in the stage database, then execute the Storefront Dynamics Import Job.

  1. If the Import Job is executed without errors, then verify that the product is imported to Episerver by opening Episerver Administration tools and find the product in the Commerce/Catalog in the hierarchy node where it was added in the Dynamics Catalog.
  2. If the product is missing in Episerver Commerce Catalog but is present in the StageDocument database table, then there is a Storefront Dynamics Validator that has declined the product. The default validators in Storefront Dynamics Starter Site are:
    1. The product must have a Name.
    2. The product must have at least one Variant (will be omitted in release post version 1801)
NOTE!

The validators in Storefront Dynamics Starter Site does not by default log any result of the validation.

RecID for products and categories may conflict when imported into Episerver

 the RecID used by Dynamics AX and Dynamics 365 are unique per database table. When products/variants/kits and navigation are imported into Episerver are they no longer stored in different database tables. Episerver treats all items as content meaning that products, variants, kits and navigation nodes may conflict with their RecID when imported into Episerver.

Storefront Dynamics does not create any syntetic key when importing items. It uses the RecID from Dynamics to ensure that items can be exported and imported without mismatch.

To avoid the conflict risk in Episerver, make sure that the number series used in Dynamics never gets the same value in the different tables for product, variant, kit and navigation.