Автоматическое подтверждение отгрузки при создании отгрузки из заказа на продажу с помощью шага автоматизации

Как заголовок, я хочу автоматически подтверждать отгрузку, когда я создаю отгрузку на экране заказа на продажу с помощью шага автоматизации.

Спасибо всем.


person Larry Dinh    schedule 10.09.2015    source источник
comment
Что вы считаете автоматическим подтверждением? В какой форме?   -  person Yuriy Zaletskyy    schedule 11.09.2015
comment
На экране заказа на продажу (SO301000) я нажимаю на действие «Создать отгрузку», отгрузка будет создана со статусом «Открыто». Я хочу, чтобы эта отправка была изменена на статус Подтверждено автоматически при нажатии действия: Подтвердить отправку на экране отправки (SO302000)   -  person Larry Dinh    schedule 14.09.2015
comment
Уточните, правильно ли я понял ваш запрос. Похоже, вы хотите имитировать нажатие на кнопки «Создать отгрузку», а затем открыть созданную отгрузку на экране SO302000 и нажать «Подтвердить»?   -  person Yuriy Zaletskyy    schedule 14.09.2015
comment
да, именно так, для получения дополнительной информации я использовал код настройки для этого, но он дает много неожиданных ошибок, поэтому я хочу использовать этап автоматизации, чтобы убедиться, что все работает хорошо на основе стандарта Acumatica   -  person Larry Dinh    schedule 14.09.2015
comment
можете ли вы предоставить свой код настройки, который вы использовали?   -  person Yuriy Zaletskyy    schedule 14.09.2015
comment
Пользуюсь вроде Hybridzz. Я переопределяю метод CreateShipment. Когда я создаю отгрузку на экране SO, все работает хорошо, но когда я создаю отгрузку с экрана процесса (SO501000), выполняется только первая отправка, остальные меняются на Back Order (хотя товар на складе полностью заполнен). Когда я отлаживаю, это исключение, которое я получил: Заказ SO - ... не содержит каких-либо элементов, запланированных к отправке ...   -  person Larry Dinh    schedule 24.09.2015
comment
Я увидел эту ошибку Заказ SO - ... не содержит товаров, запланированных к отгрузке .. при создании отгрузки не в подтверждении.   -  person Sin    schedule 25.09.2015
comment
Да, только первый заказ может создать отгрузку, а затем подтверждение, остальные не создают отгрузку, и заказ изменяется на обратный заказ   -  person Larry Dinh    schedule 25.09.2015


Ответы (2)


    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;
            }
        }

У нас возникли проблемы с «подтверждением отправки», в этом помог приведенный выше код. Он загружает документ отгрузки по номеру отгрузки, находит меню графика для «подтверждения отгрузки» и щелкает по нему.

person Sin    schedule 15.09.2015

Лучший вариант для планирования процесса Подтвердить отгрузку вместо использования функции этапов автоматизации.

person srodionov    schedule 14.09.2015