AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Функционал
DAX
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 27.07.2010, 09:38   #1  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
39 / 15 (1) ++
Join Date: 22.05.2007
Location: Россия
Номер операции уже использован на дату
Добрый день.

По складу возникла проблема. При разноске складских журналов возникает сообщение об ошибке "Номер операции уже использован на дату .." В настройках журналов "Присвоение номера" стоит как "разноска", так и "ввод" - пробовали оба эти варианта в попытках борьбы с ошибкой.
Номерная серия как непрерывная, так и прерывная. Тоже пробовали оба варианта.

Пока боремся тем, что создаем новый журнал и копируем туда старый. И иногда создаем новые номерные серии. Но это не выход.

Может быть кто-нибудь сталкивался с подобной проблемой и поборол её на практике?

Версия Ax в подписи.
__________________
4, 2009, 2012 R3, D365
Old 27.07.2010, 09:53   #2  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
pedrozzz's Avatar
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Join Date: 18.02.2010
Location: Краснодар
Попробуйте через обозреватель таблиц найти записи с проблемным номером и понять для какой операции уже был использован данный номер из номерной серии. Возможно журналы создавались программно и зарезервированные номера не были помечены, как использованные. Попробуйте почистить зарезервированные номера вручную "Основное / Номерные серии / Номерные серии" кнопка "Список"
Old 27.07.2010, 10:00   #3  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
39 / 15 (1) ++
Join Date: 22.05.2007
Location: Россия
Чистили через кнопку "Список" - не помогало.
__________________
4, 2009, 2012 R3, D365
Old 27.07.2010, 11:20   #4  
Peter Savintsev is offline
Peter Savintsev
Участник
 
246 / 124 (5) +++++
Join Date: 14.12.2001
Если для вас не критично наличие разрывов в номерах ваучеров (документов ГК), то просто можно вручную увеличить значение поля "Следующий" в номерной серии ваучеров.
Old 27.07.2010, 13:46   #5  
Rezervforall is offline
Rezervforall
Участник
 
142 / 26 (1) +++
Join Date: 09.06.2009
можно еще после открытия строк журнала нажать - Сохранить. Дальше все нормально. Почему там и как - не в курсе.
Old 27.07.2010, 14:01   #6  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
39 / 15 (1) ++
Join Date: 22.05.2007
Location: Россия
Резать, не дожидаясь перитонита
Переформулирую вопрос.

Как оперативно бороться с ошибкой - понятно.

Хотелось бы узнать, что нужно покрутить и где, чтобы эта ошибка не повторялась.

У нас, примерно, 70-80 пользователей на складе и формируется, примерно, 300-400 складских журналов в день. Если по каждому править - саппорт с ума сойдет. Хотелось бы более радикального решения.

зы: Ошибка возникает не постоянно, а несколько раз в неделю. При этом только в определенных названиях складских журналов. Мы уже для каждого наименования свою номерную серию сделали - не помогло. Разрывы в номерах ваучеров не страшны.
__________________
4, 2009, 2012 R3, D365

Last edited by _guestl_; 27.07.2010 at 14:14.
Old 27.07.2010, 14:50   #7  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Join Date: 21.11.2006
Quote:
Originally Posted by _guestl_ View Post
Ошибка возникает не постоянно, а несколько раз в неделю. При этом только в определенных названиях складских журналов. Мы уже для каждого наименования свою номерную серию сделали - не помогло. Разрывы в номерах ваучеров не страшны.
Есть модификации создающие журналы/строки программно?
Old 27.07.2010, 15:03   #8  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
39 / 15 (1) ++
Join Date: 22.05.2007
Location: Россия
Quote:
Originally Posted by madm View Post
Есть модификации создающие журналы/строки программно?
Есть самописные функции для строк: создать на основании и сторно на основании. Но журналы, где возникают ошибки с операциями кладовщики создают вручную.
Вспомнили, есть еще "создать списания". Кстати, возможно, в ней собака могла порыться. Пошукаем.

зы: сейчас перетестировали - дело не в них. тем более, что они не на одном проекте уже использовались - проверены временем.
__________________
4, 2009, 2012 R3, D365

Last edited by _guestl_; 27.07.2010 at 15:15.
Old 27.07.2010, 16:05   #9  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Join Date: 21.11.2006
Просто недавно сталкивался с похожей ошибкой в 3.0 "Документ '%1' уже использован для даты %2." дело было в неверном выделении ваучера.
Old 27.07.2010, 16:12   #10  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
39 / 15 (1) ++
Join Date: 22.05.2007
Location: Россия
Quote:
Originally Posted by madm View Post
Просто недавно сталкивался с похожей ошибкой в 3.0 "Документ '%1' уже использован для даты %2." дело было в неверном выделении ваучера.
Ваучер выделялся в самописной функции?
__________________
4, 2009, 2012 R3, D365
Old 27.07.2010, 17:25   #11  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Join Date: 21.11.2006
Quote:
Originally Posted by _guestl_ View Post
Ваучер выделялся в самописной функции?
Да. Причем что интересно. На двух приложениях этот функционал был запущен и там даже после его исправления (до перезапуска АОСов) наблюдалось заполнение NumberSequenceList записями со статусом "Свободно", что и приводило в дальнейшем к этому сообщению. На третьем приложении сбоев не было, т.к. там неверное выделение было исправлено до первого запуска.
К этой ситуации привел вызов
X++:
ledgerJournal.newVoucher(ledgerJournalTable.voucherSeries, [B]true[/B]);
Вам удалось воспроизвести последовательность в результате которой происходит ошибка?

Last edited by madm; 27.07.2010 at 17:38.
Old 27.07.2010, 17:35   #12  
Ivanhoe is offline
Ivanhoe
Участник
Ivanhoe's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Join Date: 29.09.2005
Location: Санкт-Петербург
Не понятно, вы пробовали искать операции ГК с номером из журнала, на который ругается Система?

Ситуация повторения номера вообще критична? Может просто изменить параметр проверки в настройке модуля ГК?
__________________
Ivanhoe as is..
Old 27.07.2010, 17:45   #13  
AX2009
Гость
 
n/a
вроде при беглом просмотре RU5 видел там фикс для такой ошибки, но могу ошибаться
Old 27.07.2010, 18:56   #14  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,996 / 3293 (117) ++++++++++
Join Date: 12.10.2004
Location: Москва
Blog Entries: 2
Сделайте номерную серию для ваучеров не непрерывной и увеличьте счетчик до заведомо больших значений которых у вас еще не было.

Больше проблемы не должно появиться.
Old 27.07.2010, 23:17   #15  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Join Date: 15.01.2002
Location: Москва
Blog Entries: 7
Сталкивался с такой проблемой на функционале GMCS (ax3) при импорте платежей.
Сдвиги и прыжки с непрерывностью помагали временно. Бороться было как-то некогда, просто разрешили задвоение
Old 28.07.2010, 11:01   #16  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Join Date: 27.11.2003
Quote:
Originally Posted by _guestl_ View Post
По складу возникла проблема. При разноске складских журналов возникает сообщение об ошибке "Номер операции уже использован на дату .." В настройках журналов "Присвоение номера" стоит как "разноска", так и "ввод" - пробовали оба эти варианта в попытках борьбы с ошибкой.
Номерная серия как непрерывная, так и прерывная. Тоже пробовали оба варианта.
Данная ошибка частенько возникает либо в складских журналах, либо в журналах ГК.

В 90% случаев ошибка связана с наличием самописного функционала, который создает новые строки журналов, при этом не обрабатывает соответствующим образом номерную серию, используемую для нумерации Ваучера.

Механизм возникновения ошибки в этом случае приблизительно следующий. При создании строки журнала руками в форме, система выделяет следующий номер и резервирует его под нумерацию будущих проводок. При этом на самой форме написано куча кода по управлению номерной серией. Если строка журнала сохраняется и разноситься, выделенный номер система помечает как использованный и больше его не выделяет.
При написании самописных функций для создания строк программисты как правило копируют код выделения номерной серии, написанный для использования на форме. Если не вдаваться в технические подробности, то система при исполнении этого кода выделяет следующий номер, но не помечает его, как использованный. В итоге этот номер спустя какое-то время будет выделен снова, не смотря на то, что проводки с этим номером уже существуют. И при соответствующей настройке параметров ГК, получим вышеприведенную ошибку.

В 9% случаев ошибка является следствием неправильной настройки системы. Т.е. для нумерации документов ГК в строках используются номерные серии, имеющие пересекающиеся номера.

Оставшийся 1% случаев - формы новых типов журналов, на которых программисты "забывают" обрабатывать номерную серию. Но это очень редкий случай


Quote:
Originally Posted by _guestl_ View Post
Есть самописные функции для строк: создать на основании и сторно на основании. Но журналы, где возникают ошибки с операциями кладовщики создают вручную.
Как я писал, при создании журнала ручками система повторно выделяет номер, который не был корректно обработан самописной функцией. В итоге кажется, что ошибка возникает у пользователя, а функция работает правильно.

Алгоритм возможного решения вашей проблемы:

Проверьте, копируется ли номер документа ГК из старой строки в новую с помощью самописных функций.
Если номер скопировался - это не правильно.
Если поле пустое, то для соответствующих названий журналов необходимо указать в поле "Присвоение номера" значение "Разноска".
Если выделился новый номер, то для соответствующего названия журнала необходимо указать в настройке "Присвоение номера" значение "Ввод". А затем пойти в номерную серию и проверить корректное выделение номеров (кнопка "список").

ИМХО, наилучший вариант - это позволить системе самой работать с номерами документов ГК. При этом в создаваемых строках журнала поле Ваучер должно быть пустым, а в названиях журналов указать выделение номера при разноске. И я бы не рекомендовал отключать контроль документов ГК, т.к. все-таки связь Ваучер-Дата - одна из основных связей в системе для различных документов/проводок.
__________________
Dynamics AX Experience

Last edited by CDR; 28.07.2010 at 11:08.
This post has been rated by: Logger (1), wojzeh (2), _guestl_ (1).
Old 28.07.2010, 13:19   #17  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
39 / 15 (1) ++
Join Date: 22.05.2007
Location: Россия
Quote:
Originally Posted by madm View Post
Вам удалось воспроизвести последовательность в результате которой происходит ошибка?
Не удалось. Сейчас сидел вместе с кладовщиком, у которого эта ошибка возникает в каждом втором журнале - ошибка не воспроизводится. Но я думаю, что нужно грешить ан самописную функцию создания списаний. При создании строки в поле "номер операции" пишется номер операции, который был свободен на момент создания строки. А если создавать руками строку, то "номер операции" пустой и присваивается на момент разноски. Видимо, тут надо будет копать.
__________________
4, 2009, 2012 R3, D365
Old 28.07.2010, 14:28   #18  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Join Date: 27.11.2003
Quote:
Originally Posted by _guestl_ View Post
При создании строки в поле "номер операции" пишется номер операции, который был свободен на момент создания строки.
А если сразу после создания строки зайти в номерную серию и посмотреть значения по кнопке "Список"? В списке присутствует только что выделившийся номер? Если да, то с каким статусом?
__________________
Dynamics AX Experience
Old 28.07.2010, 19:39   #19  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
39 / 15 (1) ++
Join Date: 22.05.2007
Location: Россия
Quote:
Originally Posted by CDR View Post
А если сразу после создания строки зайти в номерную серию и посмотреть значения по кнопке "Список"? В списке присутствует только что выделившийся номер? Если да, то с каким статусом?
Статус "активный", действие "нерешенный".

После разноски номер остается в списке с теми же статусом и действием.

Более того, все номера строк, что создаются через доп.функционал, остаются в списке после разноски. Если создавать строки руками, то они в список не попадают.
__________________
4, 2009, 2012 R3, D365

Last edited by _guestl_; 28.07.2010 at 19:44.
Old 29.07.2010, 10:15   #20  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Join Date: 27.11.2003
Quote:
Originally Posted by _guestl_ View Post
Статус "активный", действие "нерешенный".

После разноски номер остается в списке с теми же статусом и действием.

Более того, все номера строк, что создаются через доп.функционал, остаются в списке после разноски. Если создавать строки руками, то они в список не попадают.
Ну вот, теперь со 100% уверенностью можно говорить о том, что самописные функции написаны криво. .

Поскольку при создании строк руками у вас "Номер операции" не заполняется до разноски (соответствующая настройка для названий складских журналов), быстрое решение - в коде самописных функций закоментировать выделение следующего номера для ваучера.

Более правильное решение - исправить алгоритм самописных функций таким образом, чтобы они учитывали настройку для соответствующего журнала и в зависимости от нее либо правильно выделяли номер (параметр _makeDecisionLater должен быть false), либо не выделяли его вообще.

И ваша ошибка пропадет навсегда...
__________________
Dynamics AX Experience
Tags
управление запасами, номерная серия

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Складские остатки на дату Logger DAX: Программирование 13 06.10.2010 16:20
Нереализованная курсовая разница по закрытой операции LEO DAX: Функционал 4 06.07.2010 13:12
Параллельные операции в маршрутах Sanya DAX: Функционал 10 26.04.2007 00:41
Номер и дата накладной в Заказе ymv2000 DAX: Программирование 1 14.07.2006 13:35
Номер партии (не могу достать) Sada DAX: Программирование 2 20.12.2005 12:16

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 17:30.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.