关于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 ...
随机推荐
- vim脚本语言
转自:http://man.chinaunix.net/newsoft/vi/doc/usr_41.html#usr_41.txt Vim 脚本语言在很多地方用到,包括 vimrc 文件, 语法文件, ...
- js 省份城市二级动态联动的例子
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Sql批处理语句
同时写3个批处理,如果前2个批处理没有问题,最后一个有错误那么3个批处理都不会执行需要注意列如: use Materl GO select * from t_icitem GO inset into ...
- css-知识总结
是什么 CSS通常称为CSS样式或层叠样式表,主要用于设置HTML页面中的文本内容(字体,大小,对其方式等),图片的外形 (高宽.边框样式.边距等)以及版面的布局等外观显示样式. CSS可以是HTML ...
- IDEA中一个工程多个模块(module)分别提交到不同的git服务器
说明:本文档适用于一个工程多个模块的项目,每个模块对应不同的git服务器地址. 一.将本地项目导入到git服务器 1.打开 File -> Settings,选择 Version C ...
- 破解jar包5步搞定,jira7.9.2操作成功,附github代码库
1,从要破解的程序中拷贝.jar包文件,运行1_jar.sh将其解压.以jira7.9.2为例: $install_dir\JIRA\atlassian-jira\WEB-INF\lib\atlass ...
- 使用 iframe + postMessage 实现跨域通信
在实际项目开发中可能会碰到在 a.com 页面中嵌套 b.com 页面,这时第一反应是使用 iframe,但是产品又提出在 a.com 中操作,b.com 中进行显示,或者相反. 1.postMess ...
- alpinelinux
https://wiki.alpinelinux.org/wiki/Tutorials_and_Howtos https://nixos.org/nix/manual/#ch-installing-b ...
- [转载]AMOLED结构详解,BOE专家给你分析驱动补偿
关键词: AMOLED, 驱动补偿 有机发光显示二极管(OLED)作为一种电流型发光器件已越来越多地被应用于高性能显示中.由于它自发光的特性,与LCD相比,AMOLED具有高对比度.超轻薄.可弯曲等诸 ...
- tr标签是什么
<tr> 标签定义 HTML 表格中的行. tr 元素包含一个或多个 th 或 td 元素.