Поле, в котором необходимо сохранить идентификатор записи, имеет проблему с разрешением автонумерации.
ЦАП настроен на использование автонумерации.Однако при поиске записи или создании новой записи появляется сообщение «Элемент AcctCD не найден (ограничено: False, external: True, value:)» ошибка
DAC:
[SerializableAttribute()]
[PXPrimaryGraph(typeof(LoanMaint))]
[PXCacheName("OLAccount")]
public class OLAccount : IBqlTable
{
[PXDBString(30, IsKey = true, IsUnicode = true, InputMask = ">CCCCCCCCCCCCCCC")]
[PXDefault()]
[PXUIField(DisplayName = "Loan Number", Visibility = PXUIVisibility.SelectorVisible, TabOrder = 1)]
[PXSelector(typeof(Search<OLAccount.acctCD>))]
[LoanAccount.RefNbr(typeof(Search2<OLAccount.acctCD,
InnerJoin<BAccountR, On<OLAccount.parentBAccountID, Equal<BAccountR.bAccountID>>>>),
Filterable = true, IsPrimaryViewCompatible = true)]
[LoanAccount.Numbering()]
public virtual string AcctCD { get; set; }
public abstract class acctCD : PX.Data.BQL.BqlString.Field<acctCD> { }
}
public class LoanAccount
{
/// <summary>
/// Specialized selector for OLAccount AcctCD.<br/>
/// By default, defines the following set of columns for the selector:<br/>
/// OLAccount.acctCD, OLAccount.acctName, OLAccount.externalAccountRef, <br/>
/// OLAccount.externalReference, OLAccount.parentBAccountID<br/>
/// </summary>
public class RefNbrAttribute : PXSelectorAttribute
{
public RefNbrAttribute(Type SearchType)
: base(SearchType,
typeof(OLAccount.acctCD),
typeof(OLAccount.acctName),
typeof(OLAccount.externalAccountRef),
typeof(OLAccount.parentBAccountID),
typeof(BAccountR.acctCD),
typeof(BAccountR.acctName),
typeof(BAccountR.type),
typeof(BAccountR.classID))
{
}
}
public class NumberingAttribute : AutoNumberAttribute
{
public NumberingAttribute()
: base(typeof(OLSetup.accountNumberingID), typeof(AccessInfo.businessDate)) { }
}
}
График:
public class LoanMaint : PXGraph<LoanMaint, OLAccount>
{
public PXSelect<OLAccount> LoanAccount;
public PXSelect<OLAccount, Where<OLAccount.acctCD, Equal<Current<OLAccount.acctCD>>>> CurrentLoanAccount;
public PXSetup<Company> Company;
public PXSetup<OLSetup> OLSetup;
public LoanMaint()
{
OLSetup setup = OLSetup.Current;
}
}