在这里重新安排主项目记录的计划脚本时遇到一些问题。我知道我需要在脚本中有一个退出条件,否则脚本将不知道从哪里获取它停止的地方,很可能是一个以复选框形式出现的自定义字段。每次运行脚本时,它都会将复选框选为true。在下一次重新计划期间,已标记的记录将被忽略。
但是,此脚本需要每天运行。因此,这意味着在调度程序完成了一天的整个周期后,需要再次取消选中所有记录中的复选框。这也意味着我将需要另一个计划的脚本来在一天结束时重置项目记录中的所有标志。我是不是错了,或者有没有更好的方法?
发布于 2014-01-21 01:42:17
试试nlapiYieldScript。
nlapiYieldScript()
创建恢复点,然后重新计划脚本。重新调度的脚本将重置其治理单元,然后将其放在调度脚本队列的后面。总而言之,nlapiYieldScript的工作原理如下:
创建新的恢复点。
创建具有治理重置的新计划脚本。
将恢复点与计划脚本关联。
将脚本放在计划脚本队列的后面。
发布于 2014-01-21 03:05:02
关于这个脚本到底完成了什么的更多细节可能会有所帮助,但这里是我们通常如何处理重新调度脚本的方式。
通常,计划脚本将执行搜索,以定位它需要操作的所有记录。我们按internalid对此搜索进行排序,并在脚本运行时更新“上次处理的ID”。一旦我们准备好重新调度,我们将最后处理的ID存储在脚本参数中,并将其传递给重新调度函数。搜索的筛选器为"internalid internalid than“。然后,所有以前的值都会从搜索中过滤出来,因为它是按内部it排序的。
发布于 2014-02-03 19:56:55
您可以将datestamp作为自定义字段,而不是复选框,并使用昨天的记录搜索datestamp字段。
https://stackoverflow.com/questions/21238151
复制相似问题