При создании заказа на продажу не применяется кредитный лимит - PullRequest
0 голосов
/ 28 марта 2019

У меня есть этот простой код для создания однострочного заказа на продажу

public PXAction<SOOrder> createOrder;
[PXUIField(DisplayName = "Create Order")]
[PXButton]
public void CreateOrder()
{      
  SOOrderEntry graph = PXGraph.CreateInstance<SOOrderEntry>();
  //create header
  SOOrder order = new SOOrder();
  order.OrderType = "SO";     
  order = graph.Document.Insert(order);
  order.CustomerID = 2805;
  order = graph.Document.Update(order);

  //create line
  SOLine line = graph.Transactions.Insert(new SOLine());
  line.InventoryID = 764;
  line.OrderQty = 1m;
  graph.Transactions.Update(line);
  graph.Actions.PressSave();             

  throw new PXException("New Order : {0}",graph.Document.Current.OrderNbr);//display a message

}

Большинство полей должны иметь значения по умолчанию. Только клиент, инвентарь и кол-во назначены явно. Это создает заказ на продажу в порядке. Проблема в том, что он не обеспечивает проверку кредитного лимита. Если я подниму это вручную. Как только строка добавлена. Заказ автоматически переводится в кредит.

Попытка отследить код, и кажется, что события SOLine_RowInserted и SOLine_RowUpdated отвечают за вычисление итогов, которое вызывает:

TaxAttribute.Calculate<SOLine.taxCategoryID>(sender, e);

Но даже если я позвоню. Это не устанавливает Кредитный Держатель. Кроме того, я также поднял этот заказ через RestAPI. Он правильно устанавливает значение кредитного удержания. Так чего мне не хватает? Есть ли поле, которое я должен явно установить или метод для вызова?

1011 * ТИА *

...