Автонумерация
Огромное спасибо за ответ.
Однако после советов доброжелателей, в предлагаемом коде
X++ code:--------------------------------------------------------------------------------
public void insert() {
NumberSeq MyNewId;
ttsbegin;
MyNewId = NumberSeq::newGetNumFromCode("Seq1");
this.BodyId = MyNewId.num();
super();
ttscommit;
}--------------------------------------------------------------------------------
были внесены некоторые изменения
MyNewId =NumberSeq::newGetNum(NumberSeqReference::findReference(typeId2ExtendedTypeId(typeid(MyEDT))));
Правда при этом был создан
ExtendedDataType MyEDT
который соответствует полю (которое я собрался нумеровать)
А так же внесены изменения в класс соответствующий необходимому модулю
public class NumberSeqReference_название_модуля extends numberSeqReference
{
}
в методе (правда если вы заглянете в любой из соответсвующих классов там все эти изменения описаны)
loadModule()
{
numRef.dataTypeId = typeId2ExtendedTypeId(typeid(MyEDT));
numRef.configurationKeyId = configurationKeyNum(ledgerBasic);
numRef.referenceHelp = literalStr("текст");
numRef.wizardContinuous = true;
numRef.wizardManual = NoYes::No;
numRef.wizardAllowChangeDown = NoYes::No;
numRef.wizardAllowChangeUp = NoYes::No;
numRef.wizardHighest = 999999;
numRef.sortField = 1;
this.create(numRef);
}
Не знаю на сколько я был прав. Но думаю что такое решение тоже имеет право на жизнь, каким бы оно громозким не казалось бы.
|