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. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|