Acumatica如何迭代附加到Project的文件?

时间:2017-02-19 18:39:28

标签: acumatica

我想访问附加到当前项目的所有文件。我无法使用下面的PXSelect语句找到任何文件。

我的代码

public PXSelect<UploadFile, Where<UploadFile.name, Like<Current<PMProject.contractCD>>>> Files;


string files = "";
        foreach (UploadFile f in Files.Select())
        {
            files += "\n"+f.FileID;
        }

1 个答案:

答案 0 :(得分:6)

PXNoteAttribute 的静态GetFileNotes方法返回附加到记录的文件的标识符列表。下面是一个代码片段,展示了如何检索附加到当前项目的所有文件:

public class ProjectEntryExt : PXGraphExtension<ProjectEntry>
{
    public PXAction<PMProject> GetFiles;
    [PXButton]
    [PXUIField(DisplayName = "Get Files")]
    protected void getFiles()
    {
        var projectCache = Base.Caches[typeof(PMProject)];
        Guid[] files = PXNoteAttribute.GetFileNotes(projectCache, projectCache.Current);
        foreach (Guid fileID in files)
        {
            var fm = new PX.SM.UploadFileMaintenance();
            PX.SM.FileInfo fi = fm.GetFileWithNoData(fileID);
        }
    }
}