10.2.600 & AR Invoice Form

Yep the system monitor issue is definitely what it was. I deployed the client app with StartSystemMonitor set to false in the client config, when True is what I needed. Thanks!

1 Like

Back to this fun thing. Although my “fixed” form is running fine, the server is logging an exception every time it runs. This error does not appear in the System Monitor at all.

Ice.Common.EpicorServerException: The number of report label columns for table RptLabels exceeds the maximum of 1024 and will be truncated. ---> System.Exception: The number of report label columns for table RptLabels exceeds the maximum of 1024 and will be truncated.
   --- End of inner exception stack trace ---

So I’ve spent 4 days or so on trying to retrofit a NEW RDD (copy of the 10.2.600 ARForm and added my 3 tables and their relationships) to the existing AR Invoice RDL and that’s going horribly.

Of note, the base RDL ARForm does not use subreports for customer details anymore (which my customized version did because the stock RDL used to do that) and changes the header information pretty substantially to the point where I’m not really sure what else to do here.

Stock report:

Customized:

Keep in mind this is a minorly customized form (Added a logo, a static text field, and a lot number field) that has been working for years and years and only minor upgrade changes needed for new versions. I am obviously venting a bit but this is honestly ridiculous.

So my option now is to, having re-build an RDD from scratch, re-customize a base version of their AR Form and try to get all the things to look and function the way it has for years.

Two thumbs down on this change, there’s gotta be a better way to do this.

Our friend @Aaron_Moreng pleads for a better way, and one exists if Epicor elects to use it: Public roadmaps & versioning. Epicor could easily publicize something like, “we intend to transform capability X starting in version Y and the old capability will continue to have legacy support until date Z.” For a period of a few releases, Epicor would then support two versions of the functionality, like ARForm and ARFormV2 (with associated RDDs), but still eventually drop the old version. For RDDs, behind the scenes Epicor could hide database schema changes using views, for example. This versioning strategy would support a speedy customer migration to new software versions, while allowing some changes to be made on the customer’s schedule (any time before date Z).

2 Likes

102.200.6 to 10.2.700.6
Had the same error message about those two fields. Had to get the log from the server, though. Did not appear in the system monitor details

  • Query execution failed for dataset ‘ARForm’. —> System.Data.SqlClient.SqlException: Invalid column name ‘Calc_MtExtPrice’. Invalid column name ‘ProbReasonCode’.

Once those two fields were removed from the AR Form query, the report rendered.

Same error message in 10.2.700.10 for me. Error message did appear in the System Monitor. Same fix applied.

Ran into this same error, but I only removed the Report Table references for the fields (T5).
Also have a Custom RDD here, but when I reviewed the Standard SSRS report and it’s RDD both fields were included.
Removing the Report Labels references to these fields caused the Report to render ok.
It’s weird it work with the Standard RDD & SSRS though both are the same.
Might be related to the field count limititation.

How did you get access to the log on the server or where is the log located?

Which AR Form query did you remove the fields? Is this in Report Builder in the sql expression query?

I wish I’d seen this tread a few weeks ago - our AR custom documents all broke. Had to rewrite them all.

Hi @cchang
You asked about the server log. Cloud customers gain access via a program called “Server File Download,” located in System Management > Schedule Processes.
On-prem customers can presumably configure logs to appear in many places. My on-premises server (version 10.2.300.21) was installed using mostly default settings and places logs here:
C:\EpicorData\Companies\<company>\Log

Like some others who posted on this thread, I wasn’t able (or wasn’t smart enough) to determine the point of report breakage and took the approach of rewriting the reports, starting again with Epicor’s base RDD and base form.

Like Paul says, anything in the EpicorData folder is accessible from the Server File Download. Windows Event Logs are not, which IS a problem for SaaS users.

If you’re going to write to server’s file system, ALWAYS use the EpicorData folder. You can use this code in a BPM to find the path - which we never hardcode because you never know where it might be during a rebuild, moved to the cloud or whatever…

// ServerPath

//public struct PathInfo
//{
//  public bool IsFile;
//  public string FullName;
//  public DateTime LastWriteTimeUtc;
//  public long Length;
//}

//namespace Epicor.ServiceModel.Utilities
//{
//  /// <summary>Pre-defined server folders</summary>
//  public enum SpecialFolder
//  {
//    /// <summary>Reports folder</summary>
//    Report,
//    /// <summary>Web deployment folder</summary>
//    WebDeployment,
//    /// <summary>Report definition folder</summary>
//    ReportDefinition,
//    /// <summary>Custom report definition folder</summary>
//    CustomReportDefinition,
//    /// <summary>User data folder</summary>
//    UserData,
//    /// <summary>Company data folder</summary>
//    CompanyData,
//    /// <summary>Epicor Web Access virtual folder</summary>
//    EWADeployment,
//    /// <summary>Attachment folder</summary>
//    Attachment,
//  }
//}

var ServerPathSvc = Ice.Assemblies.ServiceRenderer.GetService<Ice.Contracts.ServerPathSvcContract>(this.Db);

// Get Folders
List<Ice.Lib.ServerPath.Types.PathInfo> PI;
using (ServerPathSvc)
{
  // Get UserData folder
  PI = ServerPathSvc.GetPaths(Epicor.ServiceModel.Utilities.SpecialFolder.UserData, "", false);
  UserFolder = PI[0].FullName;
  
  // Get CompanyData Folder
  PI = ServerPathSvc.GetPaths(Epicor.ServiceModel.Utilities.SpecialFolder.CompanyData, "", false);
  CompanyFolder = PI[0].FullName;
    
}
3 Likes

Hey Mark. What usings or references does your code require? Doing it in Standard DD.

The type or namespace name ‘ServerPathSvcContract’ does not exist in the namespace ‘Ice.Contracts’ (are you missing an assembly reference?)

Thanks!

I needed to add this reference:

image

Happy New Year, Sir!

This is an old post but is still near the top of search results here: AR Form appears to have a bug related to externally-processed CSF system tables which I mention here: AR Form Error - #8 by josephmoeller

I have the same error. I followed the same procedure (also described in KB0098953).

I upload the edited rdl but the changes are not being reflected. Still getting same error…

Thoughts?

Thanks for sharing

In case someone stumbles on this…

The KB article is not complete… I needed to delete 3 fields:
T4.Calc_MtExtPrice
T5.ProbReasonCode as Label_ProbReasonCode
T5.Calc_MtExtPrice as Label_Calc_MtExtPrice

Kinetic just updated to 2025.1.4 here and am getting that error, never seen it before will attempt the fixes above. We last modified the report in 2023 and this is the first time getting the error. The non customized report printed fine.

Thank you Mark

I also had to remove the same 3 fields from the ARForm Query then reupload the rdl

T4.Calc_MtExtPrice
T5.ProbReasonCode as Label_ProbReasonCode
T5.Calc_MtExtPrice as Label_Calc_MtExtPrice

Thankfully this was only in Pilot.

Which tells me that those columns have been available for the past 2 years and with this update they decided to take them out.

We are getting ready to do our bi yearly system testing and find out that Epicor has bugs again.

The last few system wide tests uncovered untested bugs. This one was relatively minor. During the last one we couldn’t save from a few vanilla Finance screens. Do they test over there?

As an FYI to any cloud customers going to 2025.1.5 today this will affect you if you have ever made a report style for ARForm before Epicor removed the fields.

The solution above works. Thank you to the previous posters.

1 Like

I’m feeling stumped - 2025.1 upgrade and expected to delete these fields… but they’re in use on the ARForm (fields in the detail group of the report)? When I run/review the Standard - SSRS they’re in use there too.

Are you only removing the reference to these fields in the dataset or are you also removing them from the SSRS report design?

I am removing them from the SSRS report using MS Report Builder

The non modified report runs fine, I only ran into the issue if I had made my own style.

It was a pain to do, easy to make a mistake. I’d advise backing up the RDL then doing the removal then uploading it back up to Report Styles

What I did

  1. Selected the style in report styles - The ReportID is ARFom
  2. Actions → Download SSRS Report
  3. Go to the folder it downloaded to. Backup the RDL files
  4. I edited ARForm.rdl with Microsoft Report Builder
  5. Select Datasets → ARForm
  6. Right click ARForm, select Dataset properties
  7. You will see Query . Click the Fx button to edit the Expression
  8. Remove the three fields manually.
  9. Save
  10. Go back to Epicor, Report Styles. You should still be on the same style
  11. Upload in Report Styles with Actions ->Upload SSRS Report

1 Like

See, that’s what I expected to see, and what I recall from past upgrades, but the report itself has text boxes referencing those three fields:

I am seeing the same field references on the Standard - SSRS .rdl file too.