Я получаю сообщение об ошибке при создании отгрузки из формы SalesOrder. SO Ошибка: заказ SO 00012 не может быть отправлен полностью. Для получения более подробной информации проверьте Trace «На складе« AB C »нет в наличии товара« Aloy wh ».». Произошла ошибка Шаги.
Создать заказ на продажу.
Добавить отдельный элемент SOLine с некоторыми элементами конфигурации (конфигурация включена).
Сохранить.
Распределение уже выполнено для добавленного элемента.
У меня есть настраиваемая кнопка, при нажатии кнопка "Я перемещаю инвентарь на другой склад и место" код, который я использую для переноса инвентаря
protected virtual void InventoryTransfer(SOOrder soOrder, SOLine line) {
List<INRegister> regList = new List<INRegister>();
SOLineExt lineExt = line.GetExtension<SOLineExt>();
INTransferEntry transferGraph = PXGraph.CreateInstance<INTransferEntry>();
INRegister reg = new INRegister();
reg.SiteID = line.SiteID; //From WhereHouse
reg.ToSiteID = lineExt.UsrAnotnerSiteID; //To Warehouse
reg.TransferType = INTransferType.OneStep;
reg.DocType = INDocType.Transfer;
reg.TranDate = DateTime.Now;
reg.SOOrderNbr = soOrder.OrderNbr;
reg.SOOrderType = soOrder.OrderType;
reg = transferGraph.transfer.Insert(reg);
// Getting splitline query OrderNbr, LineNbr and OrderType.
foreach(SOLineSplit splitLine in SOSplitLine.Select(line.OrderNbr, line.LineNbr, line.OrderType)) {
INTran tran = new INTran();
tran.INTransitQty = splitLine.Qty;
tran.InventoryID = line.InventoryID;
tran.ToLocationID = lineExt.UsrAnotnerLocationID;
tran.ToSiteID = lineExt.UsrAnotnerSiteID;
tran.TranType = INTranType.Transfer;
tran.InvtMult = INTranType.InvtMult(tran.TranType);
tran.Qty = splitLine.Qty;
tran.SiteID = line.SiteID;
tran.LocationID = splitLine.LocationID;
tran.TranDesc = "InternalTransfer";
tran.LotSerialNbr = splitLine.LotSerialNbr;
tran = transferGraph.transactions.Insert(tran);
}
transferGraph.Persist();
//Change status of the Transfer
reg.Hold = false;
reg.Status = INDocStatus.Balanced;
reg = transferGraph.transfer.Update(reg);
transferGraph.Save.Press();
regList.Add(reg);
INDocumentRelease.ReleaseDoc(regList, false);
}
После выполнения некоторой специальной операции я перевожу инвентарь обратно в SOLine «Склад» и «Местоположение». (Склад и местоположение совпадают с тем, что отображается в SOLine, местоположение обычно пусто в SOLine)
Теперь я нажимаю «Создать отгрузку», теперь я получил ошибку в окне трассировки. «На складе« AB C »нет в наличии товара« Aloy wh ».».
В чем причина ошибки? Следует ли мне управлять чем-то еще при передаче настраиваемого инвентаря, потому что то же самое работает, когда SOLine не настраивается. Ошибка возникает с « serial Line Item ».
Важно то, что внизу отображается «Выделено 1.
»