|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от pitersky
![]() Вы бы хоть написали, что за ошибка. Ну и версия АХ совсем не помешает
А вообще - зря вы новый класс-наследник создавали. Такое надо делать только под новый и большой самописный модуль. Если речь идёт о двух-трёх новых номерных, то лучше дописать уже существующий loanModule какого-нибудь потомка. X++: numRef.DataTypeId = typeid2extendedtypeid(typeid(NumberSeq_TransCode)); numRef.ReferenceHelp = literalStr("Hello"); numRef.ReferenceLabel = literalStr("Hello"); numRef.WizardContinuous = false; numRef.WizardManual = NoYes::No; numRef.WizardAllowChangeDown = NoYes::No; numRef.WizardAllowChangeUp = NoYes::No; numRef.WizardHighest = 9999; this.create( numRef); X++: NumberSeq sequence = NumberSeq::newGetNum(
NumberSequenceReference::find(
typeId2extendedTypeId(typeID(NumberSeq_TransCode)))); Ошибка:Переменная класса не может быть использована в данном контексте(используйте метод NEW) AX 2009 |
|
![]() |
#2 |
Участник
|
Если посмотреть использование номерных серий в стандартной Аксе, то можно заметить, что общий подход следующий:
В таблице параметров модуля создается метод получения ссылки, что-то вроде того: X++: // ААК: МФД40_09_01_0008_004 10.01.2009 [Управление транспортом] --> server static NumberSequenceReference numRefDriverId_OVK() // ААК: МФД40_09_01_0008_004 10.01.2009 [Управление транспортом] <-- { ; return NumberSeqReference::findReference(typeId2ExtendedTypeId(typeId(DriverId_OVK))); } X++: public static DriverId_OVK nextNum() { DriverId_OVK driverId; ; ttsBegin; driverId = NumberSeq::newGetNumFromCode(InventParameters::numRefDriverId_OVK().NumberSequence).num(); ttsCommit; return driverId; } Цитата:
В ClassDeclaration своего класса пишу
|
|
![]() |
#3 |
северный Будда
|
Вот вам и ошибка. ClassDeclaration должен содержать только объявления глобальных для класса переменных. И всё. Система ругнулась не на проблему с номерной серией, а на ошибку программирования.
__________________
С уважением, Вячеслав |
|
![]() |
#4 |
Участник
|
Цитата:
глобальной для класса, просто что бы понять и не наступать далее на эти же грабли. |
|
![]() |
#5 |
Участник
|
Почему же не можете? Вы можете её объявить в ClassDeclaration. А инициализировать её нужно в другом месте. Например, в new (что не очень красиво) или при первом использовании.
|
|
![]() |
#6 |
Участник
|
Создал в другом методе класса, но при прогонке в отладчике выдает ошибку: Не указана ссылка для вызова номерных серий, как ее настроить?
|
|