| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			внесение новых клиентов
			 
			
			такая ерунда нужно перенести клиентов в уже рабочую базу... 
		
		
		
		
		
		
		
	раньше заносила по принципу. Axapta_Code = strRFix(Int2str(countCustind),5,"0"); где countCustind начинался с 1.. А теперь нужно добавлять записи в уже существующую таблицу.. понимаю, что нужно идти в номерные серии NumberSequenceTable и смотреть какой следующий номер будет у серии документов по клиенту.. но как лучше это прописать ума не приложу... может кто что подскажет...  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В принципе, если у вас код клиента всегда имеет именно приведенный вами формат, то можно просто найти максимальное значение кода клиента в таблице клиентов (maxof). Вытащить из него число и присвоить его countCustInd. И делать, как вы делали ранее. 
		
		
		
		
		
		
			
		
		
		
		
	А если через номерную серию идти, то вот пример: (для непрерывной) (выдернуто и переделано из класса SalesAutoCreate) X++: static void TestContinuousNumberSeq(Args _args) { NumberSeq num; SalesId tmpSalesId; SalesTable salesTable; ; salesTable.clear(); salesTable.initValue(); num = NumberSeq::newGetNumFromCode("TEST", true);//(SalesParameters::numRefSalesId()); tmpSalesId = num.num(); box::info(tmpSalesId); if (true)//SalesTable::exist(tmpSalesId)) { num.abort(); checkFailed("@SYS55111"); checkFailed(strfmt("@SYS55112", tmpSalesId)); throw error("@SYS23020"); } salesTable.salesId = tmpSalesId; num.used(); }  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			спасибо... получилось всё нормально.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Что-то несуразица какая-то выходит... 
		
		
		
		
		
		
		
	custTable.clear() ; num = NumberSeq::newGetNumFromCode("КЛ", true); r= num.num(); countCustind =str2int(r); if (!custUpdate) countCustind++; Axapta_Code = strRFix(Int2str(countCustind),5,"0"); Само интересно у меня в номерных сериях следующий номер = 15420, а если проверять через дебаг, то почему -то 4301  
		 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Программатор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Видать у вас где то в номерных сериях так сказать высвободился номер и Акса хочет его заюзать...
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			1. Для получения серии документов по клиенту лучше использовать метод таблицы СustParameters::numRefCustAccount() 
		
		
		
		
		
		
			
		
		
		
		
	X++: NumberSeq::newGetNum(ustParameters::numRefCustAccount()) То есть в вашем случае нужно просто указать Axapta_Code = num.num() А номерную серию настроить так, чтобы в ней были эти ваше 5 нулей спереди. (странный кстати код - пять нулей и число) И сделайте очистку ей.(номерной серии)  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Программатор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Основное/настройка/серии документов/сери документов 
		
		
		
		
		
		
		
		
			находите вашу серию и чистите (кнопка очистка кажися справа) Последний раз редактировалось Sada; 22.02.2007 в 14:59.  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от kashperuk
			 
 
			1. Для получения серии документов по клиенту лучше использовать метод таблицы СustParameters::numRefCustAccount() 
		
	2. И если Вы уже используете номерные серии, то уже их и используйте. А у вас получается, что используя номерные серии вы делаете свой инкремент. То есть в вашем случае нужно просто указать Axapta_Code = num.num() А номерную серию настроить так, чтобы в ней были эти ваше 5 нулей спереди. (странный кстати код - пять нулей и число) И сделайте очистку ей.(номерной серии) num = NumberSeq::newGetNumFromCode("КЛ", true); Axapta_Code = num.num() ; Но всё равно Axapta_Code равен не 15***, а 4***  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Программатор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А тестовая база есть?  
		
		
		
		
		
		
		
	  Давно этого не делал, врать не буду - не помню, но по идее не должны.
		 | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			всё... тут  просто косяки в базе разработок были.. В тестовой подцепила- всё нормально... Спасибо... 
		
		
		
		
		
		
		
	Кстати.. мальчики с наступающим праздником...  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			всё... тут просто косяки в базе разработок были.. В тестовой подцепила- всё нормально... Спасибо... 
		
		
		
		
		
		
		
	Кстати.. мальчики с наступающим праздником...  | 
| 
	
 |