|
28.02.2006, 12:37 | #1 |
Участник
|
Номерные серии
Слушайте как отделатся от повторяющихся номерных серий журналов, приходится каждый раз заходить в форму номерные серии и удалять неиспользованные. Поделитесь опытом, как решить проблему. Как вариант - создать пакетную обработку удаления записей в NumberSequenceList? Или кто-то может предложить что-то другое?
Заранее спасибо |
|
28.02.2006, 12:56 | #2 |
Member
|
Отключите у номерной серии непрерывность.
__________________
С уважением, glibs® |
|
28.02.2006, 16:15 | #3 |
Member
|
Модификации у вас есть?
У вас Аксапта 2.5?
__________________
С уважением, glibs® |
|
28.02.2006, 16:46 | #4 |
Участник
|
Сплошные модификации ...Axapta 3.0 sp 4, задача следующая....настроить (подобно пакетной обработке) что-то вроде программного нажатия кнопки "Очистка-Все" с последующим запросом (периодичностью примерно раз в день) в форме NumberSequenceTable.Так как неиспользованные номерные серии вызвают ошибку при создании новых журналов с вываливанием сообщения "Номер приказа уже существует".
|
|
28.02.2006, 17:02 | #5 |
Columbus IT
|
Цитата:
Сообщение от Aslan
Сплошные модификации ...Axapta 3.0 sp 4, задача следующая....настроить (подобно пакетной обработке) что-то вроде программного нажатия кнопки "Очистка-Все" с последующим запросом (периодичностью примерно раз в день) в форме NumberSequenceTable.Так как неиспользованные номерные серии вызвают ошибку при создании новых журналов с вываливанием сообщения "Номер приказа уже существует".
|
|
28.02.2006, 16:47 | #6 |
Участник
|
Заморочил правда....так по другому пока не могу объяснить ещё не разобрался :-)
|
|
28.02.2006, 17:38 | #7 |
Участник
|
Цитата:
Сообщение от kosenkov
В форме "Серии документов" на закладке "Очистка" можно активизировать периодическую полную очистку. Что не так?
|
|
28.02.2006, 17:39 | #8 |
Участник
|
получается это глюк Аксапты?
|
|
01.03.2006, 09:45 | #9 |
Участник
|
Цитата:
Сообщение от Aslan
получается это глюк Аксапты?
Мы тоже с этой проблемой боролись и боремся... немного помогло уменьшение до 0 времени полной очистки У нас Ax 3.0 SP3, без каких либо модификаций номерных серий |
|
28.02.2006, 17:50 | #10 |
Member
|
При отключенной непрерывности я такого глюка пока не наблюдал еще.
Правда, с сп4 я работал только на тестовой базе (в основном сп3). Вы в механизме номерных серий модификации вносили? И я правильно понимаю, что у вас номер реально использован, номерная серия не непрерывная, а в списке свободных/зарезервированных/нерешенных номеров появляются записи со статусом "Свободно", а журнал при этом еще и подхватывает такой свободный номер и потом ругается при проверке номера на уникальность при сохранении?
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: Aslan (1). |
01.03.2006, 07:03 | #11 |
Участник
|
Цитата:
Сообщение от glibs
И я правильно понимаю, что у вас номер реально использован, номерная серия не непрерывная, а в списке свободных/зарезервированных/нерешенных номеров появляются записи со статусом "Свободно", а журнал при этом еще и подхватывает такой свободный номер и потом ругается при проверке номера на уникальность при сохранении?
|
|
01.03.2006, 12:37 | #12 |
Administrator
|
Поосторожней с выводами. Если номерная серия не является непрерывной, NumberSequenceList вообще не используется. Это либо изобретение в Ваших модификациях, либо проблемы с кэшированием настроек номерной серии.
Давайте побольше информации. Что за журнал? Какие настройки у номерной серии? Какие настройки у журнала (названия журнала)?
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
01.03.2006, 13:52 | #13 |
Участник
|
Цитата:
Сообщение от Maxim Gorbunov
... Что за журнал? Какие настройки у номерной серии? Какие настройки у журнала (названия журнала)?
Настройка номерной серии элементарная - галочка непрерывная. Единственное что нужно, чтобы несколько пользвователей одновременно активно поработали с однотипными журналами... |
|
01.03.2006, 14:54 | #14 |
Участник
|
согласен с Nick'ом.
при нескольких одновременных операциях с журналами ГК возникает такой баг. Нам в своё время вопрос с освобождёнными номерами решить не удалось, кроме как принудительным их уничтожением (но тогда мы получается не можем использовать старые номера). Время очистки равное 0 практически ничего не меняет в реале. Глюк возникает при неправильной обработке времён транзакций и сессий, и практически не диагностируется (были попытки). Если я правильно помню, есть два пути, по которым получаются освобождённые номера: 1) номер выделен(создана запись в List со статусом Активен), потом журнал закрыт без сохранения - номер освобождён. 2) номер выделен(создана запись в List со статусом Активен), потом система его не стирает после разноски и он после очередной очистки меняет статус на освобождённый. Вот на нём и в следующий раз система упадёт. Если у вас хватит духу, посмотрите, может что-нибудь придумаете. Посмотрите NumberSeqFormHandler форм журнала, может там что-то зарыто. |
|
01.03.2006, 15:27 | #15 |
Участник
|
Духу хватит :-) хватило бы времени....
|
|
01.03.2006, 15:39 | #16 |
Administrator
|
Nick, извините, вопрос не к Вам.
У Вас номерная серия как раз непрерывная. В данном случае надо смотреть в код обработки конкретного журнал, и записи в NumberSequenceList. Может помочь лог этой таблицы. Необходимо определить, в чем заключается эта самая "активная работа нескольких пользователей", каким образом они создают записи и как они их удаляют. В исходном сообщении Aslan утверждается, что серия не непрерывная. При этом, по какой-то причине, заполняется и используется NumberSequenceList, чего быть не должно.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
За это сообщение автора поблагодарили: Aslan (1). |
01.03.2006, 16:12 | #17 |
Microsoft Dynamics
|
Обратите внимание на код метода formMethodDataSourceCreate в классе NumberSeqFormHandlerLedgerJournal:
Код: void formMethodDataSourceCreate(boolean _forced = false) {; newVoucher = false; if (ledgerJournalEngine.takeNewVoucher()) { super(); if (lastNumber) { newVoucher = true; currentNewUnsaved = 0; } } currentNewUnsaved++; } Код: super(_forced); |
|