|  21.11.2006, 14:00 | #1 | 
| MCTS | Максимальная запись 
			
			Помогите пожалуйста выбрать из таблицы запись с максимальлным RecID. Мое решение не работает: Код:  RecID getNewRecID()
    {
         RecID maxRecID;
         RHRMOrderTable locRHRMOrderTable;
         ;
         maxRecID = 0;
         select locRHRMOrderTable;
         while (!locRHRMOrderTable)
         {
            if (locRHRMOrderTable.RecId > maxRecID)
                maxRecID = locRHRMOrderTable.RecId;
            locRHRMOrderTable = NULL;
            select locRHRMOrderTable;
         }
         return maxRecID+1;
    } | 
|  | 
|  21.11.2006, 14:05 | #2 | 
| Злыдни | 
			
			Программисты сейчас Вам скажут, почему нельзя так делать и как получить следующий RecId. Я же только скажу: RecId могут быть отрицательными и текущее выделение может идти по нарастающей от минус максимального )))
		 | 
|  | 
|  21.11.2006, 14:05 | #3 | 
| Axapta | 
			
			Сорри, но зачем все это?! X++: static void Job71(Args _args) { CustTable custTable; ; select maxof(recId) from custTable; info (strFmt('%1', custTable.RecId)); }   | 
|  | |
| За это сообщение автора поблагодарили: Eldar9x (1). | |
|  21.11.2006, 14:08 | #4 | 
| MCTS | 
			
			Oip, огромное спасибо, а то вначале попробовал select max(... и бросил   )) | 
|  | 
|  21.11.2006, 14:09 | #5 | 
| Axapta | 
			
			Объясните, ЗАЧЕМ?!
		 | 
|  | 
|  21.11.2006, 14:11 | #6 | 
| MCTS | 
			
			кстати, объявление     CustTable custTable; вовсе не нужно    | 
|  | 
|  21.11.2006, 14:13 | #7 | 
| MCTS | |
|  | 
|  21.11.2006, 14:14 | #8 | 
| MCTS | 
			
			Вообще то было бы интересно увидеть реализацию, подобную той что я проделал
		 | 
|  | 
|  21.11.2006, 14:18 | #9 | 
| Участник | 
			
			Вообще-то RecId должен быть уникален в разрезе всей компании. Или у вас 4.0? Для связи двух таблиц по RecId создается поле RefRecId, и в него записывается значение RecId второй таблицы. И еще, как вы узнали, что RecId у одной из таблиц - mandatory? RecId не видно в АОТ. | 
|  | 
|  21.11.2006, 14:19 | #10 | 
| Axapta | Цитата:  А то что-то нет времени загадки разгадывать. Цитата: 
		
			кстати, объявление CustTable custTable; вовсе не нужно
		
	 Можно, конечно, и так: X++: static void Job71(Args _args) { print (select custTable order by RecId desc).RecId; pause; } | 
|  | 
|  21.11.2006, 14:27 | #11 | 
| MCTS | 
			
			Вообще-то RecId должен быть уникален в разрезе всей компании. - ооо, ну тогда меня еще больше проблем   . а по поводу того обявления - прошу прощения, это я сам ошибся | 
|  | 
|  21.11.2006, 14:28 | #12 | 
| MCTS | 
			
			mandatory - не RecID, а поле другой таблицы, в которую это значение копируется
		 | 
|  | 
|  21.11.2006, 14:28 | #13 | 
| Axapta | 
			
			Да нет никаких проблем, задачу объясните только.   Только ЗАДАЧУ, а не предложенный Вами метод решения.   | 
|  | 
|  21.11.2006, 14:29 | #14 | 
| MCTS | 
			
			да, еще - у меня 3.0
		 | 
|  | 
|  21.11.2006, 14:33 | #15 | 
| MCTS | 
			
			Проблема в том, что мы меняли функционал: создали на форме элемент на основе EDT, в котором выводится значение из другой формы, все было хорошо   )), пока не отправили на тестирование, оказалось, что при открытии этой формы создаются 2 датасорса - из этой таблицы, и из другой. Затем значение RecID второй таблицы, должно по сути (по коду) записаться в поле RecIDfromOrderTable но пишется туда то ли ноль, то ли вообще ничего... | 
|  | 
|  21.11.2006, 14:34 | #16 | 
| MCTS | 
			
			Вот это самое поле и стоит манд., а поскольку необходимо его заполнение, то и валит весь код
		 | 
|  | 
|  21.11.2006, 14:35 | #17 | 
| MCTS | 
			
			щас тут второй программист будет с Вами разговорить, мне необходимо уйти
		 | 
|  | 
|  21.11.2006, 14:36 | #18 | 
| MCTS | 
			
			...Himan
		 | 
|  | 
|  21.11.2006, 14:37 | #19 | 
| Axapta | 
			
			Если я не путаю, ясновидящие сегодня в отпуске.   Может вам выложить эту самую форму? А то все равно ничего не понятно. | 
|  | 
|  21.11.2006, 14:55 | #20 | 
| Участник | 
			
			Тут на Ельдара это все повешали ноформу я выкладываю, помогите разобраться в чем касяк
		 Последний раз редактировалось Himan; 19.02.2007 в 15:35. | 
|  |