Как заполнить список в параметре отчета на основе любого условия - PullRequest
0 голосов
/ 18 сентября 2018

Я хочу заполнить список клиентов в параметре отчета.Я помню, что мы можем использовать что-то вроде =Report.GetFieldSchema('ARPayment.CustomerID').Тем не менее, я хочу заполнить этот список или сказать фильтровать этот список на основе некоторых условий.

Кто-нибудь может подсказать, как мне это сделать?Могу ли я сделать это в параметре Acumatica Report Desinger?

1 Ответ

0 голосов
/ 18 сентября 2018

Если вы говорите о фильтрации всплывающего окна элемента управления селектором для параметра в форме отчета: enter image description here

Я думаю, что они фильтруются на основе поля ЦАПиспользуемый.В вашем случае это будет «ARPayment.CustomerID»:

public class ARPayment : ARRegister, IInvoice, ICCPayment, IApprovable, IApprovalDescription
{
    #region CustomerID
    public new abstract class customerID : PX.Data.IBqlField
    {
    }
    [CustomerActive(Visibility = PXUIVisibility.SelectorVisible, Filterable = true, TabOrder = 2)]
    [PXRestrictor(typeof(Where<Customer.status, Equal<CR.BAccount.status.active>,
                Or<Customer.status, Equal<CR.BAccount.status.oneTime>,
                Or<Customer.status, Equal<CR.BAccount.status.hold>,
                Or<Customer.status, Equal<CR.BAccount.status.creditHold>>>>>), Messages.CustomerIsInStatus, typeof(Customer.status), ReplaceInherited = true)]
    [PXUIField(DisplayName = "Customer", TabOrder = 2)]
    [PXDefault()]
    public override Int32? CustomerID
    {
        get
        {
            return this._CustomerID;
        }
        set
        {
            this._CustomerID = value;
        }
    }
    #endregion

    […]
}

Вы можете предоставить другой DAC с другим предложением PXRestrictor для фильтрации клиента.Я думаю, что переопределение поля DAC 'ARPayment.CustomerID' также будет работать глобально, но у него есть побочный эффект изменения фильтра селектора везде, где используется это поле.

Если вместо этого то, что вы ищете, передает несколько значенийк отчету в виде одного параметра (пример: один параметр, который передает массив значений), который, насколько мне известно, напрямую не возможен и потребует обходных путей, таких как передача нескольких значений, как описано здесь: https://www.timrodman.com/augforums/acumatica-report-designer/multiple-values-for-a-parameter/

...