#axapta
#axapta
Вопрос:
Я создал новую числовую последовательность в USMF / Администрирование организации / Общие / Числовые последовательности / Числовые последовательности
Названный New_NS
Я нашел множество руководств «как это использовать», но мне не удалось найти ни одного, которое возвращало бы последовательность чисел на основе его имени. Итак, я заканчиваю
NumberSequenceTable NST;
Num num;
ttsbegin;
select forupdate NST where NST.NumberSequence == 'New_NS';
if(!NST.RecId)
{
throw error('New_NS' ' does not exist!');
}
num = NumberSeq::numInsertFormat(NST.NextRec, NST.Format);
NST.NextRec = NST.NextRec 1;
if(NST.InUse == NoYes::No)
{
NST.InUse = NoYes::Yes;
}
NST.update();
ttsCommit;
Есть ли какой-нибудь лучший способ получить доступ к New_NS на основе его строкового имени?
Ответ №1:
Используйте NumberSeq::newGetNumFromCode.
Num num;
ttsbegin;
num=NumberSeq::newGetNumFromCode('New_NS').num();
ttscommit;
info(strfmt("Your number is %1.",num));
Комментарии:
1. Это возвращает мне «Последовательность чисел не существует». но я могу видеть последовательность чисел в USMF / Администрирование организации / Общие / Последовательности чисел / Последовательность чисел. Я пытаюсь использовать другие значения, такие как RecId, seq. число, код последовательности чисел, но я получаю «Последовательность чисел не существует». каждый раз.
2. Убедитесь, что вы выполняете задание в той же компании, для которой определена последовательность номеров.
Ответ №2:
Числовая последовательность всегда связана с расширенным типом данных. Затем вы можете получить доступ к числовой последовательности, используя этот расширенный тип данных. Также вам не нужно обращаться к NumberSequenceTable
самой таблице, используйте вместо этого NumberSeq
класс, чтобы получить новое число из последовательности. Смотрите Generate Next Number Sequence by x code для примера того, как использовать этот класс.
Комментарии:
1. Я видел этот пост, которым вы поделились, но я все еще не знаю, как выбрать номер из ‘New_NS’.