AX NumberSequence:将数字标记为已使用
AX NumberSequence: Mark a number as used
当给定的数字不是由数字序列生成时,如何将其标记为在 NumberSequence 中使用?
让我们假设我导入了自定义 table 的前 10 条记录并且文件已经指定了它的 ID 从 01 到 10,
然后我想拦截 insert() 将给定的数字标记为已使用,以便在导入后,第一个手动创建的记录将分配 ID 11.
这类似于更新 NumberSequence 中的字段 'Next'。
将 NumberSequenceTable
.NextRec
值更新为所需值。
确保格式正确。
示例代码:
NumberSequenceTable numberSequenceTable;
ttsBegin;
select forUpdate numberSequenceTable
where numberSequenceTable.NumberSequence == 'Acco_1' // as example
;
numberSequenceTable.NextRec = 11;
if (numberSequenceTable.validateField(fieldNum(NumberSequenceTable, NextRec))
&& numberSequenceTable.validateWrite()
)
{
numberSequenceTable.update();
}
else
{
throw error("Validation failed");
}
ttsCommit;
当给定的数字不是由数字序列生成时,如何将其标记为在 NumberSequence 中使用?
让我们假设我导入了自定义 table 的前 10 条记录并且文件已经指定了它的 ID 从 01 到 10, 然后我想拦截 insert() 将给定的数字标记为已使用,以便在导入后,第一个手动创建的记录将分配 ID 11.
这类似于更新 NumberSequence 中的字段 'Next'。
将 NumberSequenceTable
.NextRec
值更新为所需值。
确保格式正确。
示例代码:
NumberSequenceTable numberSequenceTable;
ttsBegin;
select forUpdate numberSequenceTable
where numberSequenceTable.NumberSequence == 'Acco_1' // as example
;
numberSequenceTable.NextRec = 11;
if (numberSequenceTable.validateField(fieldNum(NumberSequenceTable, NextRec))
&& numberSequenceTable.validateWrite()
)
{
numberSequenceTable.update();
}
else
{
throw error("Validation failed");
}
ttsCommit;