Protip in New Function Designer - Reference Filter is -Case Sensitive-

Possibly an oversight, but could be fixed easily.

I looked into the code for it, and Epicor had this line in the ProcessDirectory method:

foreach (FileInfo f in directoryInfo.EnumerateFiles(this.fileFilter, SearchOption.TopDirectoryOnly))

Change it to this, and we’re golden.

var options = new EnumerationOptions
{
    MatchCasing = MatchCasing.CaseInsensitive,
    RecurseSubdirectories = false
};

foreach (FileInfo f in directoryInfo.EnumerateFiles(this.fileFilter, options))

So if whoever is responsible wants to make the fix.. there it is..

In the meantime, I made a little BPM to improve the situation. :slight_smile:

EDIT: Made a better, faster version!

The below works well, but the edit I posted works better.

Pre-Processing on Ice.BO.BpMethod.GetAvailableReferencesWithFilter

CallService<Ice.Contracts.BpMethodSvcContract>(bpm =>
{
    var refs = bpm.GetAvailableReferences(referenceGroup);

    result = refs.Where(x => x.Name.Contains(filter, StringComparison.OrdinalIgnoreCase)).ToList();

});

MarkCallCompleted();

Pros:

  • This will bypass the paging stuff, and return all references… @josecgomez should like that :rofl:
  • It will also do the filtering case insensitive.

Cons

  • It is a little slower.