28.02.2008, 16:27 | #1 |
Участник
|
Установить следующее значение в номерной серии
Есть номерная серия.
И есть форма в которой должно отображаться значение следующего номера (по идее, как в настройказ ном серии)( номера выделяютс и используются определенной процедурой во время обработки, которая берет номер указанный в этой форме или выделяет свой) .Также пользователь должен иметь возможность вписать Следующий номер руками в форму. Как это реализовать? В форме NumberSequenceTable берется поле NextNum для определения следующего доступного номера, но может, нужно получать след номер ким-то другим, не столь прямым образом . Насчет ввода пользователем следующего номера есть идея делать NumberSeq.reserve , но мож тож надо как-то по-другому,? Тыкните, плз, где поглядеть на подобное в системе. |
|
28.02.2008, 16:52 | #2 |
Участник
|
NumberSeq::newGetNumFromCode("Код номерной серии") - это используйте для случая, когда автоматом.
В остальных случаях - пусть себе вводит что заблагорассудится. З.Ы. Или после ввода пользователем необходимо обновить след. номер в номерной серии на то что он ввел? Он должен всегда вводить в правильном формате? |
|
28.02.2008, 16:54 | #3 |
Участник
|
Только в том случае, если:
1. ручные коррекции разрешены в самой номерной серии 2. "хитрый" (конечно же в смысле, smart) программист не запретил ручное редактирование поля. |
|
28.02.2008, 17:03 | #4 |
Участник
|
Я так понял, у девушки kitty поле не связано с номерной серией. И хендлер не используется. Просто в это поле выводится следующий номер
|
|
28.02.2008, 17:13 | #5 |
Участник
|
Цитата:
Сообщение от kashperuk
NumberSeq::newGetNumFromCode("Код номерной серии") - это используйте для случая, когда автоматом.
В остальных случаях - пусть себе вводит что заблагорассудится. З.Ы. Или после ввода пользователем необходимо обновить след. номер в номерной серии на то что он ввел? Он должен всегда вводить в правильном формате? |
|
28.02.2008, 17:17 | #6 |
Участник
|
Цитата:
1) Номерная серия не ручная, тк при ручной не получается выделять номера автоматически (или я чот не так делаю?? но стандартным путем не выделяются). 2) Пошла вторым путем - разрешила редактировать поле в форме. Последний раз редактировалось kitty; 28.02.2008 в 17:22. |
|
28.02.2008, 17:25 | #7 |
Участник
|
Предлагаю путь номер ноль. Этот путь надо выполнять ПЕРЕД всеми остальными.
Сначала почитать и поисследовать. Почитать: http://axapta.mazzy.ru/lib/numbersequence/ http://axapta.mazzy.ru/lib/numbersequence_using/ http://erpkb.com/Axapta/NomernyeSerii а также здесь на форуме и на msdn. кроме того, про номерные серии много писали блоггеры. поищите. поисследуйте код в существующих формах. например, поисследуйте код нумерации клиентов (можно править руками при определенных условиях) и нумерации заказов (никогда нельзя править руками). Разберитесь чем они отличаются. |
|
28.02.2008, 17:52 | #8 |
Участник
|
Цитата:
Сообщение от mazzy
Предлагаю путь номер ноль. Этот путь надо выполнять ПЕРЕД всеми остальными.
Сначала почитать и поисследовать. Почитать: http://axapta.mazzy.ru/lib/numbersequence/ http://axapta.mazzy.ru/lib/numbersequence_using/ http://erpkb.com/Axapta/NomernyeSerii а также здесь на форуме и на msdn. кроме того, про номерные серии много писали блоггеры. поищите. поисследуйте код в существующих формах. например, поисследуйте код нумерации клиентов (можно править руками при определенных условиях) и нумерации заказов (никогда нельзя править руками). Разберитесь чем они отличаются. |
|
29.02.2008, 12:13 | #9 |
Участник
|
Неужели никто не знает как установить свое значение в ном серию?
В клиентах, по крайней мере у нас, можно руками забить AccountNum, но следующий номер все равно выделяется тот, что по ном серии следующий, то есть тот, что руками забыивают в учет не берется. Мне же нужно , чтобы следующий номер выделялся, следующим за тем, что пользователь ввел руками. |
|
29.02.2008, 12:22 | #10 |
Участник
|
вам же уже ответили
Установить следующее значение в номерной серии |
|
29.02.2008, 13:07 | #11 |
Участник
|
kitty,
посмотрите 3 метода, думаю, это вам поможет: \Classes\NumberSeq_Fast\getNumFromTable - там просто увиличивается на 1 nextRec после выделения номера. \Сlasses\NumberSeq\checkChangeNumber - этот метод сможете использовать для проверки введенного пользователем значения. Воспользуйтесь перекрестными ссылками или поиском по АОТ, чтобы посмотреть, где используется этот метод, и как. \Classes\NumberSeq\getNumFromTable - более сложный вариант первого метода. Здесь nextRec увеличивается на increment, который рассчитывается в зависимости от того, сколько номерков было зарезервировано. В принципе, думаю попробовать воспользоваться резервированием здесь может быть уместным. Правда нужно убедиться, что номера, пропущенные пользователем, нигде потом не вылезут |
|
29.02.2008, 16:34 | #12 |
Участник
|
Спасибо, Иван!
|
|