Как заголовок, я хочу автоматически подтверждать отгрузку, когда я создаю отгрузку на экране заказа на продажу с помощью шага автоматизации.
Спасибо всем.
Как заголовок, я хочу автоматически подтверждать отгрузку, когда я создаю отгрузку на экране заказа на продажу с помощью шага автоматизации.
Спасибо всем.
SOShipmentEntry docgraph = PXGraph.CreateInstance<SOShipmentEntry>();
docgraph.Document.Current = docgraph.Document.Search<SOShipment.shipmentNbr>(ShipmentNbr);
foreach (var action in (docgraph.action.GetState(null) as PXButtonState).Menus)
{
if (action.Command == "Confirm Shipment")
{
PXAdapter adapter2 = new PXAdapter(new DummyView(docgraph, docgraph.Document.View.BqlSelect, new List<object> { docgraph.Document.Current }));
adapter2.Menu = action.Command;
docgraph.action.PressButton(adapter2);
TimeSpan timespan;
Exception ex;
while (PXLongOperation.GetStatus(docgraph.UID, out timespan, out ex) == PXLongRunStatus.InProcess)
{ }
break;
}
}
internal class DummyView : PXView
{
List<object> _Records;
internal DummyView(PXGraph graph, BqlCommand command, List<object> records)
: base(graph, true, command)
{
_Records = records;
}
public override List<object> Select(object[] currents, object[] parameters, object[] searches, string[] sortcolumns, bool[] descendings, PXFilterRow[] filters, ref int startRow, int maximumRows, ref int totalRows)
{
return _Records;
}
}
У нас возникли проблемы с «подтверждением отправки», в этом помог приведенный выше код. Он загружает документ отгрузки по номеру отгрузки, находит меню графика для «подтверждения отгрузки» и щелкает по нему.
Лучший вариант для планирования процесса Подтвердить отгрузку вместо использования функции этапов автоматизации.