- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在通过 PSI 开发一个流程,将新任务添加到现有项目中。为此,首先,通过 PWA,我创建了 4 个新的任务自定义字段(一个数字、两个日期和一个文本),我需要在创建任务时通知我。我还必须编写 2 个已经存在的数字任务自定义字段。
任务正在正确创建,并且之前存在的两个自定义字段也被正确写入。但是,正在编写新的 4 个新自定义字段中的任何一个。我该如何解决这个问题?
这是代码:
WSProject.Project project = InitProject();
project.CheckOutProject(projectGuid, sessionId, "Check out");
WSProject.ProjectDataSet dsProject = new WSProject.ProjectDataSet();
Guid taskGuid = CreateTaskRow(dsProject, projectGuid, taskname, duration, startdate);
Guid assignmentGuid = CreateAssignmentRow(dsProject, projectGuid, taskGuid, resGuid);
//Custom Fields
Guid idNCF1 = GetGuidUsingFieldName("NCF1"); //OLD
Guid idNCF2 = GetGuidUsingFieldName("NCF2"); //OLD
Guid idNCF3 = GetGuidUsingFieldName("NCF3"); //NEW
Guid idDCF1 = GetGuidUsingFieldName("DCF1"); //NEW
Guid idDCF2 = GetGuidUsingFieldName("DCF2"); //NEW
Guid idTCF1 = GetGuidUsingFieldName("TCF1"); //NEW
SetNumberCustomField(dsProject, projectGuid, taskGuid, idNCF3, 4); //Not Works
SetDateCustomField(dsProject, projectGuid, taskGuid, idDCF1, DateTime.Today); //Not Works
SetTextCustomField(dsProject, projectGuid, taskGuid, idTCF1, "A"); //Not Works
SetDateCustomField(dsProject, projectGuid, taskGuid, idDCF2, DateTime.Today); //Not Works
SetNumberCustomField(dsProject, projectGuid, taskGuid, idNCF1, 1); //Works
SetNumberCustomField(dsProject, projectGuid, taskGuid, idNCF2, 2); //Works
//Using debug, here I can see that all custom fields are properly set in dsProject TaskCustomFields table
Guid jobId = Guid.NewGuid();
project.QueueAddToProject(jobId, sessionId, dsProject, false);
WaitForQueue(jobId);
jobGuid = Guid.NewGuid();
project.QueueCheckInProject(jobGuid, projectGuid, true, sessionId, "Checked in");
jobGuid = Guid.NewGuid();
project.QueuePublish(jobGuid, projectGuid, true, "");
WaitForQueue(jobGuid);
private static void SetNumberCustomField(WSProject.ProjectDataSet dsProject,
Guid projectId,
Guid taskId,
Guid customFieldId,
int CFValue)
{
WSProject.ProjectDataSet.TaskCustomFieldsRow tCustomField = dsProject.TaskCustomFields.NewTaskCustomFieldsRow();
tCustomField.CUSTOM_FIELD_UID = Guid.NewGuid();
tCustomField.PROJ_UID = projectId;
tCustomField.TASK_UID = taskId;
tCustomField.FIELD_TYPE_ENUM = (byte)PSLibrary.CustomField.Type.NUMBER;
tCustomField.NUM_VALUE = CFValue;
tCustomField.MD_PROP_UID = customFieldId;
dsProject.TaskCustomFields.AddTaskCustomFieldsRow(tCustomField);
}
最佳答案
我注意到您的代码存在一些问题。 PSI 非常复杂,所以我不做任何保证.. 但这里有。 :)
1)您的 ProjectDataSet 未正确初始化。
您需要使用 Project.ReadProjectEntities获得一个初始的 ProjectDataSet 来使用。您将需要使用逻辑 OR (|
) 来获取多个表。您需要 Project | TaskCustomFields
.
如果您进行更新,我很确定您需要这样做。
2) 提交更改
在提交之前,您只能从 ProjectDataSet 中获取更改。
ProjectDataSet updates = dsProject.GetChanges() as ProjectDataSet;
关于PSI 新任务自定义字段未写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10649079/
我有一个生成Android人工制品(主要是.aar)并将其 bundle 在dokka生成的文档(代码库为Kotlin + Java)中的构建。 随着最近的一些更改,dokka开始因此神秘错误而失败:
我正在通过 PSI 开发一个流程,将新任务添加到现有项目中。为此,首先,通过 PWA,我创建了 4 个新的任务自定义字段(一个数字、两个日期和一个文本),我需要在创建任务时通知我。我还必须编写 2 个
我是编码新手,我喜欢在 x265 10bit 中进行编码。目前,我在使用 ffmpeg 时遇到了一个小问题。我注意到当我使用 libx265 编码器时,输出文件看起来有点模糊或细节丢失很小。我用来编码
我无法在所有区域中显示我对应的最高 PSI 读数的区域。 我尝试了许多其他各种方法,但无法显示最高 PSI 值的相应区域(中部、东部、北部、南部、西部......)。 我已在每个区域的数组中声明了 P
本文整理了Java中org.jetbrains.yaml.psi.YAMLKeyValue类的一些代码示例,展示了YAMLKeyValue类的具体用法。这些代码示例主要来源于Github/Stacko
本文整理了Java中org.jetbrains.yaml.psi.YAMLSequenceItem类的一些代码示例,展示了YAMLSequenceItem类的具体用法。这些代码示例主要来源于Githu
本文整理了Java中org.jetbrains.yaml.psi.YAMLValue类的一些代码示例,展示了YAMLValue类的具体用法。这些代码示例主要来源于Github/Stackoverflo
本文整理了Java中org.jetbrains.yaml.psi.YAMLMapping类的一些代码示例,展示了YAMLMapping类的具体用法。这些代码示例主要来源于Github/Stackove
我有一个 Kotlin 数据类: package a.b.c data class Example( … ) 我正在用 detekt 分析它它提供对 Kotlin PSI 的访问. 我正在尝试
我有一个 Kotlin 注释: @Retention(AnnotationRetention.SOURCE) @Target(AnnotationTarget.CLASS) annotation cl
我正在玩 OpenBSD 内核代码,尤其是这个文件 sys/kern/sched_bsd.c。 void schedcpu(void *arg) { ...... ......
我正在编写一个 Gradle 插件,它应该检查一些 Kotlin 文件并根据该检查报告一些数据。我打算使用 UAST 来执行检查,遵循 Android 中的 Lint 工具所做的( https://g
我在 sharepoint.com 上有 MS Project Online 帐户,我需要从客户端 C# 代码到 PSI 服务进行身份验证以获取项目列表。 服务器具有基于表单的身份验证。我正在尝试通过
我一直在寻找一个实现了digamma函数的golang科学计算库,digamma函数是gamma函数的对数导数。 我试图自己实现该函数,但我只能找到以整数计算的 digamma 函数的显式公式,但我需
看到event log里面报错 psi and index do not match。 然后就如下操作之后,就可以搞定了。 然后再看看什么叫psi psi英文全称为pound
本文整理了Java中org.jetbrains.yaml.psi.YAMLKeyValue.getName()方法的一些代码示例,展示了YAMLKeyValue.getName()的具体用法。这些代码
本文整理了Java中org.jetbrains.yaml.psi.YAMLKeyValue.getValueText()方法的一些代码示例,展示了YAMLKeyValue.getValueText()
本文整理了Java中org.jetbrains.yaml.psi.YAMLKeyValue.getKeyText()方法的一些代码示例,展示了YAMLKeyValue.getKeyText()的具体用
本文整理了Java中org.jetbrains.yaml.psi.YAMLKeyValue.getKey()方法的一些代码示例,展示了YAMLKeyValue.getKey()的具体用法。这些代码示例
本文整理了Java中org.jetbrains.yaml.psi.YAMLValue.getText()方法的一些代码示例,展示了YAMLValue.getText()的具体用法。这些代码示例主要来源
我是一名优秀的程序员,十分优秀!