0

我已经阅读了 msdn 文章,阅读了有关数列的白皮书,并多次制作了数列。但在这种情况下,我需要一些帮助。

情景是;我想通过 x++ 代码获取下一个序列号,只使用数字序列代码没有参考等。

我已经尝试过(以及许多其他人,但这是最近的解决方案);

static void myTestJob(Args _args)
{
    NumberSeq  num;

    num = NumberSeq::newGetNumFromCode('SAO-Y');

     info(num.num())  ;
}

它针对某些数字序列代码生成数字序列,但对于其他代码,它会引发错误;

“编号规则不存在。”

我尝试了许多其他博客中提到的许多其他选项,并尝试探索 AX,但现在需要一些帮助。

PS 我不是使用 x++ 代码而是从前端(组织管理)创建数字序列。

4

4 回答 4

3

我可以通过使用以下来抑制异常;

num = NumberSeq::newGetNumFromCode(<<someNumberSequenceCode>>, NumberSeqScopeFactory::createDefaultScope(), true, true);

如,NumberSeq::newGetNumFromCode(,,,true) 的第四个可选参数;说不要在缺少参考时抛出异常。

boolean _dontThrowOnMissingRefSetUp = false,

正如我之前所说,我已经从组织管理中创建了编号序列,而没有编写任何代码(EDT、类、参数表等),因此没有生成参考,我认为我因此而遇到了异常。

于 2013-12-26T15:59:36.730 回答
0

Please have a look at your number sequence that you have set up. I recon it has something to do with the numbersequence scope.

Make sure the scope of the number sequence is valid within the company you are calling this.

于 2013-12-25T09:35:57.207 回答
0

当我的数字序列 - 范围设置为共享时,我可以使用以下代码:

numSequence = NumberSeq::newGetNumFromCode(<<someNumberSequenceCode>>, NumberSeqScopeFactory::createDataAreaScope(curext()), true, true);

当我的编号序列 - 范围设置为公司时,我可以使用此代码:

numSequence = NumberSeq::newGetNumFromCode(<<someNumberSequenceCode>>);
于 2016-12-14T19:40:42.207 回答
0

这是工作,但不是比赛结果:未生成凭证。

工作方式:

 num = NumberSeq::newGetNumFromCode(<<someNumberSequenceCode>>, 
NumberSeqScopeFactory::createDefaultScope(), **false**, true);
于 2015-09-09T06:53:17.050 回答