Creatio’s printable functionality helps you build some fairly complex reports with report headers and tables. With small reports, it’s usually easy to track report changes and make sure they’re in sync with the database when you change or removing fields that are no longer needed. Sometimes, however, there are a fairly large number of fields in the report. As a result of a database change, an error that looks like this can pop up:
On closer examination, we see it points to a unique identifier (GUID) which is a little difficult to trace but can be done if we know where to look.
The printable configuration is stored in a Creatio object
named “SysModuleReport”. This report contains the designed report file, the
settings of the report configured on the screen, and a JSON configuration of
the report elements.
Use the query below to query this table and run it in any
SQL tool, such as the SQLExecutor, so you can see the key information in the
Next, narrow down the list to the appropriate report by adding a filter in the query so you see only the report you are having trouble with:
The result of this query will show the configuration of the report in question.
The last column named “MacrosSetting” is important because
it contains the JSON definition of the various fields being used in the report.
Copy this text out and add it to an editor that lets you format JSON. There are
plenty of free JSON editors online, so you can feel free to just paste this
text into your tool and have it format it to a more readable format.
Once this is successful, look at the structure of the elements. Notice how each element is enclosed in curly brackets and contains six configuration settings of the field we need in the report. Here is an example of how an element looks:
The second item “metaPath” is the one that contains the necessary ID that uniquely identifies each field element. So, take the ID from the error message and then do a simple text search of the formatted file. You will see a match somewhere indicating the field in use.
For our example, it turned out that the ID pointed to the “Site/Home phone” field. This field in fact had been removed because it was duplicated and no longer needed. So now that the field has been identified, we can go back to the Creatio printable report definition and find it in the “Column Name” list. Then, just remove the appropriate entry and the error should be resolved.