| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Номерные Серии
			 
			
			Доброго времени суток. Вопрос про номерные серии: 
		
		
		
		
		
		
		
	Создаем класс наследник от NumberSeqReference, переопределяем там метод loadModule, кстати обязательно ли переопределять NumberSeqModule? далее каким образом можно использовать номерную серию в другом классе, как я понимаю просто создать элемент класса не прокатит? Выполнение следующего кода в необходимом классе вызывает ошибку. X++: // Получение объекта "Номерная серия" NumberSeq sequence = NumberSeq::newGetNum( NumberSequenceReference::find( typeId2extendedTypeId(typeID(< EDT>)))); ; // получение нового значения из номерной серии <>.<> = sequence.num();  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 северный Будда 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вы бы хоть написали, что за ошибка. Ну и версия АХ совсем не помешает 
		
		
		
		
		
		
			А вообще - зря вы новый класс-наследник создавали. Такое надо делать только под новый и большой самописный модуль. Если речь идёт о двух-трёх новых номерных, то лучше дописать уже существующий loanModule какого-нибудь потомка. 
				__________________ 
		
		
		
		
	С уважением, Вячеслав  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от 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  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если посмотреть использование номерных серий в стандартной Аксе, то можно заметить, что общий подход следующий: 
		
		
		
		
		
		
		
	В таблице параметров модуля создается метод получения ссылки, что-то вроде того: 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 своего класса пишу
		
	 
 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 северный Будда 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вот вам и ошибка. ClassDeclaration должен содержать только объявления глобальных для класса переменных. И всё. Система ругнулась не на проблему с номерной серией, а на ошибку программирования.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	С уважением, Вячеслав  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
глобальной для класса, просто что бы понять и не наступать далее на эти же грабли.  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Почему же не можете? Вы можете её объявить в ClassDeclaration. А инициализировать её нужно в другом месте. Например, в new (что не очень красиво) или при первом использовании.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Создал в другом методе класса, но при прогонке в отладчике выдает ошибку: Не указана ссылка для вызова номерных серий, как ее настроить?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 северный Будда 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Так вы это... сначала задайте её в настройках. Руками.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	С уважением, Вячеслав  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Модератор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Для начала рекомендую почитать: 
		
		
		
		
		
		
		
	Герань и нумераторы: http://axapta.mazzy.ru/lib/numbersequence/ Обсуждение данной статьи: http://forum.mazzy.ru/index.php?showtopic=1722 Еще немного: Еще раз про номерные серии Возможно, станет ясен сам механизм, для чего нужен, как настраивается и как программировать. С Уважением, Георгий  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вопросов много а форум не резиновый, дабы не плодить снова тему задам его тут: 
		
		
		
		
		
		
		
	Как можно из класса обновить запись расположенную в гриде на форме, метод Reread получается считывает заново данные из базы, а вот как саму форме обновить при этом, что бы изменения отобразились?  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: S.Kuskov (-1). | |
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
 | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от S.Kuskov
			 
 
			Это вы зря. У нас сейчас с этим строго (Пожалуйста, создавайте отдельные ветки для обсуждения отдельных тем.) Могут даже ветку закрыть (без иронии). 
		
	Последний раз редактировалось AngelDominantes; 14.01.2011 в 11:01.  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не буду создавать темы, так как заголовок данной соответствует в некой мере моему вопросу. 
		
		
		
		
		
		
		
	Итак, мне необходимо создать новую номерную серию для созданного модуля. Прочитал много обсуждений здесь на форуме, номерную серию делал по инструкциям: http://axapta.mazzy.ru/lib/numbersequence/ http://erpkb.com/Axapta/NomernyeSerii#h18438-1 Если зайти в Основное - Настройки - Номерные серии - Ссылки , то там моя ссылка отображается, но ещё без номерной серии, так как она не настроена, я так понимаю. Теперь собственно, вопрос, а точнее, несколько вопросов: Методы на моём ds, в который я буду вставлять номерную серию, переопределил, всё замечательно. Но у меня на форме 2 датасоурса, один - моя таблица, второй - numbersequencereference. Так вот, как их нужно связать, чтобы было правильно? И ещё, по поводу кодов, которые написаны в статьях. Метод numberseqformhandler в статьях отличается. В одной он используется с параметрами, во второй - без. Как лучше и как правильнее?  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			И ещё пару моментов: если зайти в ссылки номерных серий на Основной - там моя номерная серия отображается, хотя не должна, а должна отображаться в моей параметрической форме моего модуля.  
		
		
		
		
		
		
		
	Эти статьи ведь предназначаются для AX 3.0, а я в девятке работаю. Может быть что-то нужно дополнить? И ещё такой момент: у меня пока что нет конфигурационных ключей, посмотрел в других наследниках numbersequence - там в loadmodule идёт ещё запись параметра configurationkey, это важно для отображения модуля?  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Программатор 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 Программатор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			ой... там на английском  
		
		
		
		
		
		
		
	   даже я не понял   Вы где нор\мерную серию хотите создать? в сущ-ем модуле или нет?
		 | 
| 
	
 | 
| 
			
			 | 
		#20 | 
| 
			
			 Программатор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Смотрите ка сделано а заказах на продажу 
		
		
		
		
		
		
		
		
			\Classes\NumberSeqReference_Customer \Data Dictionary\Tables\SalesParameters\Methods\numRefSalesId \Forms\CustParameters Последний раз редактировалось Sada; 26.03.2013 в 21:44.  | 
| 
	
 |