Цитата:
Сообщение от
Eldar9x
Импортировал, не компилируется. Возможно забыто объявление макросов..
Не пишите ерунды, все нормально компилируется.
Импортировал проект на Dynamics Ax 4.0 SP2 - макросы объявлены в NumberSeq\classDeclaration():
X++:
public class NumberSeq
{
...
#DEFINE.SymbolNumerals('#')
#DEFINE.SymbolLetters('&')
#DEFINE.NoOfLetters(26)
#DEFINE.FirstLetter('A')
// --> petergunn, NumberSeqOptional, 14.04.2009
#define.SymbolNumOptional('$')
#define.SymbolAlphaOptional('?')
// <-- petergunn, NumberSeqOptional
}
единственно для DAX4.0 поправил метод на таблице NumberSequenceTable.validateField():
X++:
...
case fieldnum(NumberSequenceTable, Format):
ret = this.checkFormat();
// in.dc -->
ret = ret && NumberSeqOptional::validateFormat( this.Format ) ;
// in.dc <--
break;
...
Цитата:
Сообщение от
Eldar9x
Но именно из-за я бы не стал вносить изменения в эти классы, вдруг что-то забыто... Лучше перед присвоением номер обрабатывать.
вы несколько категоричны в
рекламе своего варианта с прописанным в коде префиксом (как локальное решение может быть и пойдет, но в общем случае
Best Practice тут 'отдыхает', imho

), тем более что вроде автор сообщения и не агитирует ни кого за свое решение:
Цитата:
Все нижеследующее можно считать в некоторой степени оффтопом
...
следует иметь в виду при принятии решения об использовании необязательных спец. символов в формате(шаблоне) номерной серии.
...
P.S. Проект НЕ претендует на 'готовое' решение.
2
petergunn - благодарю за идею и пример кода, подумаем о использовании и такого варианта.