1
我想在銷售訂單屏幕上執行少量驗證,我比較客戶(客戶ID)字段和客戶訂單(客戶訂單號)字段,並嘗試在兩個字段匹配時給出錯誤消息。銷售訂單的Acumatica驗證
我不是一個程序員,但我嘗試了一些代碼,是給很多的錯誤,我不能夠解決它......
namespace PX.Objects.SO
{
public class SOOrderEntry_Extension:PXGraphExtension<SOOrderEntry>
{
public const string ordernbrErrorMessage = "Customer name and customer number cannot be same.";
public void SOOrder_RowPersisting(PXCache sender, PXRowPersistingEventArgs e)
{
if (!ValidateCustomerID(sender, e.Row as SOOrder))
{
PXUIFieldAttribute.SetError<SOOrder.customerID>(sender, e.Row, ordernbrErrorMessage);
}
}
public bool ValidateCustomerID(PXCache sender, SOOrder soOrder)
{
if (soOrder != null)
{
string soCustomerID = PXSelectorAttribute.GetField(sender, soOrder, typeof(SOOrder.customerID).Name, soOrder.CustomerID, typeof(Customer.acctCD).Name) as string;
string soCustomerOrderNbr = soOrder.CustomerOrderNbr;
if (soCustomerID != null && soCustomerOrderNbr != null)
{
return !soCustomerID.Trim().Equals(soCustomerOrderNbr.Trim(), StringComparison.OrdinalIgnoreCase);
}
}
return true;
}
}
}
這是我的一些客戶名稱第一個條目,並訂單號
這是我用同一客戶名稱和訂單號第2項
在它沒有顯示任何錯誤消息的代碼做修改之後......我重新啓動該網站,並檢查,但沒有結果
我想要實現此驗證的原因是因爲我不希望同樣的客戶的每一個新的時間具有相同的訂單號碼訂單被提出... – user8534573
這工作! 謝謝... – user8534573
但即使客戶訂單號爲空或更改,它也會出現錯誤...我只是希望它在兩個字段匹配時產生錯誤 – user8534573