Ich möchte einige Validierungen im Kundenauftragsfenster durchführen, ich vergleiche das Feld Kunde (customerID) und das Feld Kundenauftrag (CustomerOrderNbr) und versuche eine Fehlermeldung zu geben, wenn beide Felder übereinstimmen.Acumatica Validierung für Kundenauftrag
Ich bin kein Programmierer, aber ich versuchte, einen Code, der viele Fehler geben, und ich bin nicht in der Lage, es zu beheben ...
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;
}
}
}
Und dies ist mein erster Eintrag mit einigen Kundennamen und Bestellnummer
und das ist mein zweiter Eintrag mit dem gleichen Kundennamen und Bestellnummer
Nachdem Sie die Änderungen im Code tun es keine Fehlermeldung angezeigt wird ... neu gestartet ich die Website und überprüft, aber keine Ergebnisse
Der Grund, warum ich diese Validierung implementieren wollen, weil ich die gleiche Auftragsnummer jedes Mal eine neue haben nicht die gleichen Kunden wollen Bestellung wird ausgelöst ... – user8534573
Das hat funktioniert! Danke ... – user8534573
Aber es gibt den Fehler, selbst wenn die Kundenauftragsnummer leer oder geändert ist ... Ich will nur, es Fehler zu erhöhen, wenn beide Felder übereinstimmen – user8534573