Я пытаюсь импортировать строки заказа трансфера с этим кодом из Transfer Orders Import:Импорт TransferOrder линии (InventTransferLine)
InventDim inventDim;
InventTransferLine inventTransferLine;
#define.ShipDate("1/1/2016")
#define.ReceiveDate("1/1/2016")
//Order line
inventDim.clear();
inventDim.InventSiteId = "GENERAL";
inventDim.InventLocationId = "103";
inventTransferLine.clear();
inventTransferLine.initValue();
inventTransferLine.ItemId = "A01103472";
inventTransferLine.InventDimId = InventDim::findOrCreate(inventDim).inventDimId;
inventTransferLine.QtyTransfer = 2;
inventTransferLine.initFromInventTableModule(InventTableModule::find(inventTransferLine.ItemId,ModuleInventPurchSales::Invent));
inventTransferLine.QtyRemainReceive = inventTransferLine.QtyTransfer;
inventTransferLine.QtyRemainShip = inventTransferLine.QtyTransfer;
inventTransferLine.ShipDate = str2Date(#ShipDate, 213);
inventTransferLine.ReceiveDate = str2Date(#ReceiveDate, 213);
inventTransferLine.initFromInventTransferTable(inventTransferTable, false);
inventTransferLine.LineNum = InventTransferLine::lastLineNum(inventTransferLine.TransferId) + 1.0;
if (inventTransferLine.validateWrite())
{
inventTransferLine.insert();
}
else
throw error("Order line");
Является ли это правильным или предпочтительный способ сделать это?
Какая польза от изобретения здесь? Я переношу этот продукт со склада A на склад B, и они указаны в выбранном заголовке, что означает запись InventTransferTable.
И я не уверен, что эти две строки:
1. inventTransferLine.QtyRemainReceive = inventTransferLine.QtyTransfer;
2. inventTransferLine.QtyRemainShip = inventTransferLine.QtyTransfer;
RemainReceive откуда? я не могу понять, о чем они говорят.
Спасибо за ваш ответ Янв. Что касается InventDim, должен ли он быть установлен на значение «From warehouse», взятое из выбранного заголовка? Я думаю, что это нужно, но это стоит спросить, чтобы быть уверенным. –
Я тоже так думаю, но вы можете ответить сами, создав линию, используя пользовательский интерфейс. –
В initFromInventTransferTable я нашел эту строку: this.InventDimId = this.inventDimMergeWarehouse (_inventTransferTable.InventLocationIdFrom, _inventTransferTable) .InventDimId; Поэтому я считаю, что установка этих размеров является избыточной. И действительно, он устанавливает местоположение в значение «От склада». –