Формула синтаксического анализа в настройках Mail - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь показать всплывающее окно с вложенным отчетом.Я хочу, чтобы поля электронной почты во всплывающем окне заполнялись настройками почты вложенного отчета - аналогично тому, что происходит, когда вы нажимаете кнопку «Отправить» при непосредственном запуске отчета.Я пытаюсь сделать это методом PXAction.

Я в основном это сделал, но у меня проблема, если в настройках почты есть формула.Например, если для субъекта установлено значение "= [таблица]. [Поле]" я получаю "= [таблица]. [Поле]" в поле Тема для моего всплывающего окна электронной почты вместо значения table.field.

Есть идеи, как получить значения полей параметров почты в отчете вместо стенографического текста?

TIA!

1 Ответ

1 голос
/ 28 июня 2019

Вот что сработало для меня.Я уверен, что есть способ обойтись без кода, который удаляет "=", но это то, что мне нужно.

 protected string GleanMailSetting(Report report, ReportNode reportNode, string settingText)
    {
        if ((string.IsNullOrEmpty(settingText)) || (!settingText.StartsWith("=")))
            return settingText;

        string trimmedText = settingText.TrimStart(new char[] { '=' });

        PX.Common.Parser.ExpressionNode node = Reports.Parser.ReportExprParser.Parse(trimmedText, report);

        node.Bind(report.DataSource); 

        return (string)node.Eval(reportNode.DataItem); 
    }
...