25.01.2010, 17:26 | #1 |
Участник
|
Вопрос по классу Sequence
После layer-merge отвалился ф-ционал по созданию Алертов, в связи с тем, что метод таблицы EventInbox nextEventId стал возвращать существующее значение(всегда одно, что в общем логично).
Привожу код, код стандартный: X++: #Event public static EventInboxId nextEventId() { ; return EventInbox::idGenerator().nextval(1,#EVENT_SEQUENCE_SCOPE); } X++: #Event public static Sequence idGenerator() { ; //Should only be instantiated once return new Sequence(#EVENT_SEQUENCENAME, #EVENT_SEQUENCEID, #EVENT_SEQUENCEMIN, -1); } X++: #define.EVENT_SEQUENCEID(-4) #define.EVENT_SEQUENCENAME('Event') #define.EVENT_SEQUENCE_SCOPE('dat') #define.EVENT_SEQUENCEMIN(1) Насколько понял, класс сиквенс - некий стандартный инкрементатор. Судя по параметрам, очевидно последовательности с айдишками и последними значениями должны где-то храниться. Где - не знаю. В общем, если у кого-то есть соображения, как наладить выдачу новых айди - буду очень благодарен.
__________________
Axapta has seduced me deadly! |
|
25.01.2010, 17:34 | #2 |
Участник
|
Можно, конечно, поправить временно ручками EVENT_SEQUENCEMIN, чтобы он содержал последнее значение, но все же.
__________________
Axapta has seduced me deadly! |
|
25.01.2010, 17:58 | #3 |
Боец
|
|
|
25.01.2010, 23:44 | #4 |
Роман Долгополов (RDOL)
|
Все Sequence (в т.ч. "специализированные" - RecId, TransId) используют для хранения текущих значений таблицу SystemSequences. Соответствие названий полей параметрам конструктора вполне интуитивно понятное
|
|
|
За это сообщение автора поблагодарили: wojzeh (5), HorrR (1). |
Теги |
sequence |
|
|