关于ProjectServer调用PSI 报Error GeneralReadOnlyColumn (20005) - column TS_ACT_FINISH_DATE错的解决方案
TimesheetDataSet
Table Actuals
Row: TS_LINE_UID='f4b970f8-fb03-44d1-9997-cd31da42cb09' TS_ACT_START_DATE='07/29/2014 00:00:00'
Error GeneralReadOnlyColumn (20005) - column TS_ACT_FINISH_DATE
常规
Queue:
GeneralQueueJobFailed (26000) - TimesheetUpdate.UpdateTimesheetMessage. 详细信息: id='26000' name='GeneralQueueJobFailed' uid='47fe2fdc-0ab6-4dfc-989e-767b242adc04' JobUID='b97052fe-4ddb-4ebd-a0ef-c49cbd833a31' ComputerName='WIN-FK1G0HEBTD3' GroupType='TimesheetUpdate' MessageType='UpdateTimesheetMessage' MessageId='1' Stage=''. 有关详细信息,请查阅机器 WIN-FK1G0HEBTD3 上的 ULS 日志中带有 JobUID b97052fe-4ddb-4ebd-a0ef-c49cbd833a31 的条目.
原因如下:
if (actualsRow == null)
{
//WriteLog.recordLog("进?入¨?时º¡À间?表À¨ª汇?报À¡§页°3面?4");
TimesheetDataSet.ActualsRow newRow = timesheetDataSet.Actuals.NewActualsRow();
if (newRow != null)
{
newRow.TS_LINE_UID = TSLineId;
newRow.TS_ACT_START_DATE = StartDate;
newRow.TS_ACT_FINISH_DATE = StartDate.AddDays(1).AddMilliseconds(-1);
newRow.TS_ACT_VALUE = Convert.ToDecimal(workDay.ActualWork * 60000);
//newRow.TS_ACT_COMMENT = item.Comment;
timesheetDataSet.Actuals.AddActualsRow(newRow);
//TimesheetDataSet.ActualsRow actualsRow1 = timesheetDataSet.Actuals.FindByTS_LINE_UIDTS_ACT_START_DATE(TSLineId, StartDate);
//actualsRow1.TS_ACT_VALUE = Convert.ToDecimal(workDay.ActualWork * 60000);
}
}
就是因为这句话newRow.TS_ACT_FINISH_DATE = StartDate.AddDays(1).AddMilliseconds(-1);
按道理,如果员工没有特别设置,管理计划任务的计划完成时间是每天的18点,而你更改为23:59:59,这样就会涉及到修改实际完成时间的操作,而管理类任务实际完成时间是不能修改的,最终导致队列堵死报错。
找到原因后就好解决了:
newRow.TS_ACT_START_DATE = StartDate.AddHours(8);
newRow.TS_ACT_FINISH_DATE = StartDate.AddHours(17);
最好的是取管理类任务的计划开始时间和计划完成时间。
参考文献有:
http://www.msprojectnow.com/Blog/tabid/142/entryid/254/Default.aspx
关于ProjectServer调用PSI 报Error GeneralReadOnlyColumn (20005) - column TS_ACT_FINISH_DATE错的解决方案的更多相关文章
- C#调用Excel报 error CS1969: 找不到编译动态表达式所需的一个或多个类型。是否缺少引用?
转自[http://blog.csdn.net/bodybo/article/details/43191319] 程序需要读取Exel文件,有如下代码段 object oMissing = Syste ...
- php调用webservice报错Class 'SoapClient' not found
原文:php调用webservice报错Class 'SoapClient' not found php在调用webservice时,报告如下类似错误: ( ! ) Fatal error: Clas ...
- Mybatis调用存储过程报错
Mybatis调用存储过程 贴码 123456 Error querying database. Cause: java.sql.SQLException: User does not have ac ...
- 使用adb devices命令,老是报error:device offline的错误。
刚开始报error:devices not found 重新安装adb 驱动. 解决方法: adb kill-server adb start-server adb remount 再使用adb de ...
- Android进阶(十六)子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误
原子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误 今天用子线程调Toast报 ...
- MySQL报错ERROR 1558 (HY000): Column count of mysql.user is wrong.
MySQL报错ERROR 1558 (HY000): Column count of mysql.user is wrong. 1.今天在使用MySQL创建数据库时出现如下报错: mysql> ...
- Oracle监听已经启动了 sqlplus / as sysdba 仍然报 ERROR:ORA-12560
我的Oracle是11g的 system 的密码忘记了, 但是scott的密码我还记得而且能登录 . 想以sqlplus /as sysdba 修改system密码 一直在报 ERROR:ORA-12 ...
- kafka创建会话,报Error while executing topic command : Replication factor: 1 larger than available brokers: 0.
bin/kafka-topics.sh --create --zookeeper es1:2181 --replication-factor 1 --partitions 1 --topic top ...
- Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)
当我们在非Controller类中应用service的方法是会报空指针,如图: 这是因为Spring MVC普通类或工具类中调用service报空null的解决办法(调用service报java.la ...
随机推荐
- 【Linux相识相知】任务计划和周期性任务
在我们的生活中,有的工作是例行的,例如每年一次加薪.每年给女朋友过一次生日.每天上班都要打卡等,有的工作是临时发生的,例如明天朋友要来访,你需要准备午餐等等. 像很多例行的工作,你一旦忙起来就很容易忘 ...
- 解决npm install安装慢的问题
国外镜像会很慢 可用 get命令查看registry npm congfig get registry 原版结果为 http://registry.npmjs.org 用set命令换成阿里的镜像就可以 ...
- npm安装gulp-sass失败处理办法
最近在做一个基于gulp的前端自动化的项目,在github上拉取代码后,按照正常的流程,首先我们要 npm install ,在安装的过程中,一直提示我gulp-sass 安装失败,我用尽了好多办法 ...
- django中自定义表名及字段名称
在meta 类中指定表名,在字段中通过db_column指定列名如下所示 class Record(models.Model): content=models.CharField(max_length ...
- (二)HTML中的部分标签
HTML作为一种超文本标记语言,其中用到了大量的标签,昨天主要看了HTML中的图像标签和表格标签. (一)图像标签 <img> <img src="url"/&g ...
- Java开发团队管理细则
软件开发是团队协作,多人开发很容易造成协调问题,因此,做一些必要的开发规范,有助于帮助新员工成长,也有助于提高开发效率,防止各种问题影响开发进度. 1. 代码规范 建议每位java开发人员都读一下&l ...
- spynner解析中文页面,应该显示中文字符的地方都是?的解决方案
这个是底层的QtWebKit相关库里 用的是Qt的QString spynner在将QString转为Python的通用字符串时,没有考虑到中文编码这一块的问题. Python27\Lib\site- ...
- CPU调度
概念 1.控制,协调进程对CPU的竞争,按一定的调度算法从就绪队列中选择一个进程把CPU的使用权交给被选中的进程, 如果没有就绪进程,系统会安排一个系统空闲进程或idle进程 cpu调度要解决的三个问 ...
- Nginx管理(一)
一.Nginx介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. 1.Nginx历史和特性 Nginx是由伊戈尔·赛索耶夫为俄罗斯 ...
- Polly一种.NET弹性和瞬态故障处理库(重试策略、断路器、超时、隔板隔离、缓存、回退、策略包装)
下载地址:https://github.com/App-vNext/Polly 该库实现了七种恢复策略. 重试策略(Retry) 重试策略针对的前置条件是短暂的故障延迟且在短暂的延迟之后能够自我纠正. ...