私はまだ x++ 開発にかなり慣れていません。複数の数量で割り切れない数量をインポートするユーザーを停止するために、SalesOrderLineEntity にいくつかの検証を追加しようとしています。
これは私が得た距離です.x++で書く方法を試してみることはできません(注文された数量が複数の数量で割り切れない場合(つまり、整数ではない))、エラーをスローします。
[ExtensionOf(tableStr(SalesOrderLineEntity))]
final class SalesOrderLineEntity_Extension
{
boolean validateWrite()
{
InventItemSalesSetup inventItemSalesSetup;
SalesLine salesLine;
SalesTable salesTable = SalesTable::find(this.SalesOrderNumber);
select firstonly * from salesLine where salesLine.salesid == salesTable.SalesId
join inventItemSalesSetup where inventItemSalesSetup.ItemId == salesLine.ItemId;
if (this.RecId)
{
if (salesLine.QtyOrdered < inventItemSalesSetup.MultipleQty)
{
return checkFailed
("qty ordered less than multiple qty");
}
if (isInteger(salesLine.QtyOrdered / inventItemSalesSetup.MultipleQty))
{
return checkFailed
("qty ordered not divisible by multiple qty");
}
}
next validateWrite();
if (!salesTable.checkUpdate(true, true, true))
{
return false;
}
boolean ret;
//ret = super();
return ret;
}
}