Мне был добавлен код расширения кода C# для загрузки файла excel для импорта в всплывающее окно «Распределение» на экране «Приобретение покупок». То, что не было включено, это PXSmartPanel, который, как представляется, используется в качестве диалога. Любая помощь будет оценена в отношении того, как настроить/настроить эту интеллектуальную панель для того, что было предусмотрено в приведенном коде. линия в вопросе такова:Как включить диалоговое окно для загрузки файла
если (this.NewRevisionPanel.AskExt() == WebDialogResult.OK)
код ниже:
public class POReceiptEntryGraphExtension : PXGraphExtension<PO.POReceiptEntry>
{
public PXSelect<PO.POReceipt> NewRevisionPanel;
public PXAction<PO.POReceipt> ImportAllocations;
[PXUIField(DisplayName = "Import Allocations", MapEnableRights = PXCacheRights.Update,
MapViewRights = PXCacheRights.Update, Enabled = true)]
[PXButton()]
public virtual void importAllocations()
{
try
{
if (Base.transactions.Current != null)
{
if (Base.splits.Select().Count == 0)
{
if (this.NewRevisionPanel.AskExt() == WebDialogResult.OK)
{
const string PanelSessionKey = "ImportStatementProtoFile";
PX.SM.FileInfo info = PX.Common.PXContext.SessionTyped<PXSessionStatePXData>().FileInfo[PanelSessionKey] as PX.SM.FileInfo;
System.Web.HttpContext.Current.Session.Remove(PanelSessionKey);
if (info != null)
{
byte[] filedata = info.BinData;
using (NVExcelReader reader = new NVExcelReader())
{
Dictionary<UInt32, string[]> data = reader.loadWorksheet(filedata);
foreach (string[] textArray in data.Values)
{
Base.splits.Insert(new PO.POReceiptLineSplit()
{
InventoryID = Base.transactions.Current.InventoryID,
LocationID = Base.transactions.Current.LocationID,
LotSerialNbr = textArray[2],
Qty = Decimal.Parse(textArray[3])
});
}
}
}
}
}
}
Base.Actions["LSPOReceiptLine_binLotSerial"].Press();
}
catch (FileFormatException fileFormat)
{
throw new PXException(String.Format("Incorrect file format. File must be of type .xlsx", fileFormat.Message));
}
catch (Exception ex)
{
throw ex;
}
}
}
Большое спасибо Руслан - это прекрасно. Это был недостающий кусок. – pmfith