AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.07.2010, 09:38   #1  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
38 / 15 (1) ++
Регистрация: 22.05.2007
Адрес: Россия
Номер операции уже использован на дату
Добрый день.

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

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

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

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

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

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

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

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

Последний раз редактировалось _guestl_; 27.07.2010 в 14:14.
Старый 27.07.2010, 14:50   #7  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Регистрация: 21.11.2006
Цитата:
Сообщение от _guestl_ Посмотреть сообщение
Ошибка возникает не постоянно, а несколько раз в неделю. При этом только в определенных названиях складских журналов. Мы уже для каждого наименования свою номерную серию сделали - не помогло. Разрывы в номерах ваучеров не страшны.
Есть модификации создающие журналы/строки программно?
Старый 27.07.2010, 15:03   #8  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
38 / 15 (1) ++
Регистрация: 22.05.2007
Адрес: Россия
Цитата:
Сообщение от madm Посмотреть сообщение
Есть модификации создающие журналы/строки программно?
Есть самописные функции для строк: создать на основании и сторно на основании. Но журналы, где возникают ошибки с операциями кладовщики создают вручную.
Вспомнили, есть еще "создать списания". Кстати, возможно, в ней собака могла порыться. Пошукаем.

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

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

Последний раз редактировалось madm; 27.07.2010 в 17:38.
Старый 27.07.2010, 17:35   #12  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Не понятно, вы пробовали искать операции ГК с номером из журнала, на который ругается Система?

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

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

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

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

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

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


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

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

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

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

Последний раз редактировалось CDR; 28.07.2010 в 11:08.
За это сообщение автора поблагодарили: Logger (1), wojzeh (2), _guestl_ (1).
Старый 28.07.2010, 13:19   #17  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
38 / 15 (1) ++
Регистрация: 22.05.2007
Адрес: Россия
Цитата:
Сообщение от madm Посмотреть сообщение
Вам удалось воспроизвести последовательность в результате которой происходит ошибка?
Не удалось. Сейчас сидел вместе с кладовщиком, у которого эта ошибка возникает в каждом втором журнале - ошибка не воспроизводится. Но я думаю, что нужно грешить ан самописную функцию создания списаний. При создании строки в поле "номер операции" пишется номер операции, который был свободен на момент создания строки. А если создавать руками строку, то "номер операции" пустой и присваивается на момент разноски. Видимо, тут надо будет копать.
__________________
2012 R3
Старый 28.07.2010, 14:28   #18  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от _guestl_ Посмотреть сообщение
При создании строки в поле "номер операции" пишется номер операции, который был свободен на момент создания строки.
А если сразу после создания строки зайти в номерную серию и посмотреть значения по кнопке "Список"? В списке присутствует только что выделившийся номер? Если да, то с каким статусом?
__________________
Dynamics AX Experience
Старый 28.07.2010, 19:39   #19  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
38 / 15 (1) ++
Регистрация: 22.05.2007
Адрес: Россия
Цитата:
Сообщение от CDR Посмотреть сообщение
А если сразу после создания строки зайти в номерную серию и посмотреть значения по кнопке "Список"? В списке присутствует только что выделившийся номер? Если да, то с каким статусом?
Статус "активный", действие "нерешенный".

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

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

Последний раз редактировалось _guestl_; 28.07.2010 в 19:44.
Старый 29.07.2010, 10:15   #20  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от _guestl_ Посмотреть сообщение
Статус "активный", действие "нерешенный".

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

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

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

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

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

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Складские остатки на дату 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
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:42.