У меня есть следующее требование, и мне нужно знать, как его можно удовлетворить путем настройки действия.
Когда я нажимаю «Создать заказы для узлов сборки» для родительского элемента, такого как приведено ниже с количеством для производства 10,00
Производственный заказ родительского элемента
При нажатии кнопки для дочерних элементов также необходимо установить количество для производства 10,00, в настоящее время система устанавливает для него значение 1,00, как показано ниже
Дочерние элементы автоматически копируются и устанавливаются на 1,00
Как я могу также скопировать количество для производства, а также для дочерних элементов один раз кнопка нажата? На данный момент это мой код, но я не уверен, правильно ли я переопределяю действие.
public delegate void GenerateOrdersForSubassembliesDelegate();
[PXOverride]
public void GenerateOrdersForSubassemblies(GenerateOrdersForSubassembliesDelegate baseMethod)
{
baseMethod?.Invoke();
// Get the current parent production order
AMProdItem parentProdItem = Base.ProdItem.Current;
if (parentProdItem == null)
return;
// Retrieve the "Qty to Produce" from the parent production order
decimal? parentQtyToProduce = parentProdItem.BaseQtytoProd;
// Get all the generated subassembly production orders (child production orders)
PXResultset childProdItems = PXSelect
.Select(Base, parentProdItem.OrderType, parentProdItem.OrderNbr);
foreach (AMProdItem childProdItem in childProdItems)
{
if (childProdItem == null)
continue;
// Set the "Qty. to Produce" for the child item
childProdItem.BaseQtytoProd = parentQtyToProduce;
// Update the record in the cache
Base.ProdItem.Cache.Update(childProdItem);
}
// Save the changes to the database
Base.Actions.PressSave();
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... rder-maint