| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Контроль превышения номерных серий
			 
			
			Привет! 
		
		
		
		
		
		
			Может кто-то сможет поделиться : нужен джоб, который выведет все расширенные типы данных, длина которых 10 символов, и которые привязаны к номерным сериям. Версия Аксапты не важна. Надо увеличивать длину строки. 
				__________________ 
		
		
		
		
	Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Почему не важна версия? 
		
		
		
		
		
		
		
	В 2012 типы, привязанные к номерным сериям находятся в таблице NumberSequenceDatatype, а в предыдущих версиях в таблице NumberSequenceReference. Пока вижу вариант "в лоб" - пробег по этим таблицам и создание new DictType(курсор.DatatypeId) с изучением его свойств.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Еще не понятно ограничение 10 символами именно ЕDT поля. Номерная серия сама по себе может быть меньше по количеству символов в меняющейся части. Для контроля лучше смотреть разницу между максимальным значением номерной серии и текущим
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А можно уточнить о чем именно идет речь? 
		
		
		
		
		
		
			1. Настройка и EDT самой номерной серии 2. Поля таблиц, в которые записывается значение номерной серии В общем случае, это разные EDT никак между собой не связанные 
				__________________ 
		
		
		
		
	- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря...  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: sukhanchik (2). | |
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Версия AX2012 R3. 
		
		
		
		
		
		
			Ограничение EDT в 10 символов имеет значение потому, что когда номерная серия иссякает, и пользователь пытается добавить лишний знак # в сегменте, то Аксапта ругается, что "одна или несколько ссылок, использующих текущую номерную серию, имеют недостаточную длину". Пользователи хотят сами увеличивать количество символов # в сегменте без привлечения программистов. Но приходится увеличивать длину EDT и синхронизировать из-за этой ошибки. Но я спрашивал без идеологии, может просто у кого-то есть такой джоб. Чтобы выявить все такие EDT, единоразово у них увеличить длину и синхронизировать базу. Клиенту настроили Аксапту (не я) с номерными сериями с максимумом 999999, маской ###### и префиксом, состоящим из 4-х букв. В результате через несколько лет работы иногда приходится подкручивать номерные серии, добавлять 7-й символ #. И пользователи это хотят делать без участия программиста. 
				__________________ 
		
		
		
		
		
			Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/ Последний раз редактировалось Ace of Database; 05.09.2022 в 22:56.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Увеличивать EDT без участия программиста - имхо, не самая лучшая идея.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну все EDT, используемые в номерных сериях только через привязку по модулям автоматом не выявишь. 
		
		
		
		
		
		
		
	Всё равно есть еще разные использования номерных серий. Например, для ваучеров ГК номерные серии еще задаются в наименованиях журналов разных типов, есть еще разные места, где номерная серия задается не через привязку по модулям. Кстати, только синхронизации после изменения длины EDT в 2012 не хватит. Явно нужна компиляция, как минимум, ветки Query, но лучше глобальная компиляция с пересборкой CIL.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: sukhanchik (2). | |
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну и, наверняка, во многих случаях менять придется не сам EDT. Куча EDT, используемых в номерных сериях расширяются от других, например от SysGroup, которая по умолчанию 10 символов. 
		
		
		
		
		
		
		
	Но, с другой стороны, не каждый наследник SysGroup используется в номерных сериях.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: sukhanchik (4). | |
| 
			
			 | 
		#9 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
1. Цитата: 
	
Цитата: 
	
		
			Сообщение от Raven Melancholic
			 
 
			Ну все EDT, используемые в номерных сериях только через привязку по модулям автоматом не выявишь. 
		
	Всё равно есть еще разные использования номерных серий. Например, для ваучеров ГК номерные серии еще задаются в наименованиях журналов разных типов, есть еще разные места, где номерная серия задается не через привязку по модулям. 4. А если не соберете CIL после этого - то у Вас "свалятся" SSRS / пакетники в ошибку, когда код в пакетнике / в DP-классе SSRS-отчета в упор будет считать, что EDT не расширен и обрезать данные. 
				__________________ 
		
		
		
		
		
			Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 07.09.2022 в 07:26.  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Всем спасибо! Отрицательный ответ - тоже ответ  .
		
				__________________ 
		
		
		
		
	Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/  | 
| 
	
 |