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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.06.2009, 16:43   #1  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
-> Журнал переноса. Уменьшение кол-ва. Баг?
Размещу тему в Функционале, хотя и программирования она тоже вероятно касается...

Топик и для информации и просто интересно как народ с этим живёт/борется.
Этот баг-фича имеет место на всех известных мне версиях с 3.0 по 2009sp1, поэтому на версии внимание не заостряется.

Ситуация следующая:
- Имеем, например, наличие на складе 1 какой-то номенклатуры 200 штук. С какими-то дополнительными аналитиками, например, партия и ГТД.
- Создаётся журнал переноса этой номенклатуры со склада 1 на склад 2 в кол-ве 300 штук, например (больше наличия на складе 1). Т.е. в самой строке журнала указываем только аналитики склада (1->2) (ну и сайт в 2009). Соответственно резервируется (и возможно комплектуется - это не сильно важно) 200 единиц на складе 1. В проводки при резервировании подтягивается остальная аналитика (и в приходные тоже). Т.е. на данный момент имеем следующую ситуацию в проводках:

Склад Партия ГТД Ст.Прихода Ст.Расхода ___ Кол-во
1 ____ П1 ___ Г1 ____________ Физ.Зарезерв. -200
1 __________________________ В заказе ____ -100
2 ____ П1 ___ Г1 Заказано _________________ 200
2 _____________ Заказано _________________ 100

- Теперь, когда пользователь должен разнести журнал и увидит, что кол-во в строке слишком большое, то естественно он захочет его уменьшить. Т.е. уменьшит кол-во в строке журнала с 300 до 200. И вот тут Аксапта делает свою багофичу, лично для меня неприятную и слабоожидаемую. На выходе получаем следующую картину:

Склад Партия ГТД Ст.Прихода Ст.Расхода ___ Кол-во
1 ____ П1 ___ Г1 ____________ Физ.Зарезерв. -200
2 ____ П1 ___ Г1 Заказано _________________ 100
2 _____________ Заказано _________________ 100

Т.е. она убирает не последнюю (4-ую) строку "Заказано", а уменьшает 3-ю строку с уже подтянутыми аналитиками из зарезервированных проводок. Конечно, в данном конкретном случае можно просто перерезервировать (если никто не успеет перехватить ), а вот если строки скомплектованы, то сложнее. В итоге обычно пользователи не обращают на это внимания и журнал разносится как есть и теряются аналитики. Потом приходится эти случаи отлавливать и корректировать аналитику...
А хотелось бы, чтоб всегда "уходила последняя строка.

Теперь, перейдём к программингу и поиску причин данного поведения. Причина проста и кроется в методе updateDepreciateReceipt() класса InventUpd_estimated. Метод, конечно, претерпевал определённые изменения от версии к версии, но суть оставалась та же. В данном случае приходная проводка "под уменьшение" искалась по сути первая попавшаяся, точнее с наибольшим кодом аналитики. (сортировка InventDimId desc в запросе). Ну и, соответсвенно, при определённом везении получался описанный выше результат. А иногда и не получался, понятное дело.

У себя с учётом специфики конкретного случая и конкретных аналитик я доработал данный алгоритм так, чтоб при обработке именно приходов по переносу смотрелись ещё аналитики и в первую очередь брались пустые. (Присоединил inventDim в запрос. Идея думаю, понятна, если кому надо могу выложить код.) В общем случае, конечно, сложнее: придётся делать через кверю или макрос, но тоже реализуемо, имхо...
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: Logger (5), lev (2), konopello (3).
Старый 16.06.2009, 16:47   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Вроде как в 6ке это пофиксили. Хотя проверю еще раз
Старый 16.06.2009, 17:47   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,874 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Кстати, уже было обсуждение этой темы
Резервирование при переносе
Старый 16.06.2009, 17:48   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,874 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Вроде как в 6ке это пофиксили. Хотя проверю еще раз
Если не секрет, каким способом фиксили ?
Старый 16.06.2009, 18:07   #5  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Logger Посмотреть сообщение
Кстати, уже было обсуждение этой темы
Резервирование при переносе
Ага, в самом деле...
Я пытался (не очень настойчиво) найти сначала нечто подобное на форуме, но вижу не по тем словам искал...
__________________
Zhirenkov Vitaly
Старый 16.06.2009, 18:24   #6  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Тоже когда то на это натыкался.
Аудит блокировок
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 16.06.2009, 19:01   #7  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Logger Посмотреть сообщение
Кстати, уже было обсуждение этой темы
Резервирование при переносе
Да, именно в этой теме вычитал про этот баг, запостил.
Пофиксили - переписали кучу классов InventUpd_,InventMov_, насколько я помню.
То есть не получиться здесь привести краткое описание того, что было сделано.
Старый 16.06.2009, 19:12   #8  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,874 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Да, именно в этой теме вычитал про этот баг, запостил.
Пофиксили - переписали кучу классов InventUpd_,InventMov_, насколько я помню.
То есть не получиться здесь привести краткое описание того, что было сделано.
Радует что пофиксили.
Столько крови было попорчено из-за этого

Иван, что бы мы без тебя делали...
Старый 17.06.2009, 12:42   #9  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Logger Посмотреть сообщение
Радует что пофиксили.
Столько крови было попорчено из-за этого

Иван, что бы мы без тебя делали...
Я думаю Майкрософт и без меня бы справился с этой задачей
Старый 17.06.2009, 13:37   #10  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Вроде как в 6ке это пофиксили. Хотя проверю еще раз
А для младших версий хот-фиксы запланированы? Или нужно писать запросы в поддержку?
__________________
Ivanhoe as is..
Старый 17.06.2009, 14:44   #11  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А для младших версий хот-фиксы запланированы? Или нужно писать запросы в поддержку?
Нет.
Я работаю в команде, которая занимается разработкой след. версии.
SE организация работает независимо (ну, не совем, но скорее это мы от них зависим).

Соответственно, чтобы это починили в пред. версиях, надо общаться с ними (через центр поддержки, насколько я понимаю).
Старый 17.06.2009, 15:23   #12  
Slava Chernenko is offline
Slava Chernenko
Участник
Самостоятельные клиенты AX
Соотечественники
 
34 / 15 (0) ++
Регистрация: 30.04.2008
Адрес: Copenhagen, Denmark
На самом деле фикс все-таки не столь массивный - основная часть это изменение методов updateDepreciateReceipt, updateDepreciateIssue класса InventUpd_Estimated (ZVV правильно указал первопричину проблемы) + небольшое изменение InventMovement.inventDimMerged() метода.
Суть фикса в переписывании логики поиска транзакций которые могут быть удалены, принимая во внимание аналитики.
Старый 17.06.2009, 17:24   #13  
Maximin is offline
Maximin
NavAx
NavAx Club
 
409 / 341 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
А зачем inventDimMerged() трогать? Мы также решили эту проблему, но обошлись без модификации inventDimMerged.
P.S. Хорошо, что нашелся-таки человек который написал пост про решение проблемы.
Никак руки не доходили...
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Старый 19.06.2009, 17:16   #14  
Slava Chernenko is offline
Slava Chernenko
Участник
Самостоятельные клиенты AX
Соотечественники
 
34 / 15 (0) ++
Регистрация: 30.04.2008
Адрес: Copenhagen, Denmark
Цитата:
Сообщение от Maximin Посмотреть сообщение
А зачем inventDimMerged() трогать? Мы также решили эту проблему, но обошлись без модификации inventDimMerged.
inventDimMerged на базовом классе возвращал всегда значение входящего параметра.
Фикс коснулся трансфер мувментов для корректного учета изменения аналитик при трансфере.
Старый 19.06.2009, 17:21   #15  
Maximin is offline
Maximin
NavAx
NavAx Club
 
409 / 341 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Да я уже и сам дошёл. Но спасибо за уточнение.
Мы пошли несколько другим путём, но эффект тот же - обеспечить обратную связь с возможностью узнать, по какой складской аналитике выполнялись изменения в других частях складских проводок в предыдущих вызовах.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Старый 30.06.2009, 02:14   #16  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Нет.
Я работаю в команде, которая занимается разработкой след. версии.
SE организация работает независимо (ну, не совем, но скорее это мы от них зависим).

Соответственно, чтобы это починили в пред. версиях, надо общаться с ними (через центр поддержки, насколько я понимаю).
Вроде как начались обсуждения переноса фикса как минимум на АХ 2009.
Так что, если все пойдет по плану, ждите хот-фикса.
На более ранние версии, правда, врядли перенесут...
Старый 30.06.2009, 12:48   #17  
Maximin is offline
Maximin
NavAx
NavAx Club
 
409 / 341 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Ёлки зеленые! Я почему-то думал, что речь идет о заказах на перемещение (постоянно их путаю, никак не привыкну)! У нас основные точно такие же проблемы вылезли как раз на них - там есть ТОЧНО такой же баг с уменьшением кол-ва.. Впрочем, лекарство, как я вижу, однотипное.

kashperuk:
А фиксы по исправлению подсчета себестоимости в заказах на перемещение будут? А то есть проблемы, аналогичные описанным в этой старой теме Журнал переноса - себестоимость
Имеем ситуацию, когда строка заказа на перемещение имеет несколько скл. проводок, которые, в свою очередь, имеют разные партии(физ. аналитики склад+партия, финансовая - склад). В этом случае себестоимость (даже если запустить пересчет!) по этим проводкам, будет разная. И, насколько знаю, это общая проблема.

Люди решали, знаю, путем написания патча, который при разноске заказа на перемещение тупо дробит строки, имеющие неск. партий, на несколько строк журнала. Тогда с себестоимостью всё корректно.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...

Последний раз редактировалось Maximin; 30.06.2009 в 12:51.
Старый 30.06.2009, 13:11   #18  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от ZVV Посмотреть сообщение
В итоге обычно пользователи не обращают на это внимания и журнал разносится как есть и теряются аналитики. Потом приходится эти случаи отлавливать и корректировать аналитику...
Есть предположение, что если запретить приходы с пустой партией (ГТД, серийным номером, складом, или что там теряется), то пользователям все же придется обратить на это внимание, и огромной проблемы в таком поведении Аксапты не будет.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 30.06.2009, 13:25   #19  
Maximin is offline
Maximin
NavAx
NavAx Club
 
409 / 341 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Специфика работы российской таможни приводит к тому, что ГТД зачастую появляется гораздо позже самого товара. Другое дело, что, IMHO, использовать ГТД лучше не стандартным способом, как складскую аналитику, а привязывать к партии. Но и с партией - бывает так же (кладовщик приходует товар по кол-ву, партии приходят на бумаге и позже), но тут я более согласен.

Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
Есть предположение, что если запретить приходы с пустой партией (ГТД, серийным номером, складом, или что там теряется), то пользователям все же придется обратить на это внимание, и огромной проблемы в таком поведении Аксапты не будет.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Старый 30.06.2009, 13:28   #20  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Насколько я пониимаю, фикс там более универсальный. В смысле, что работает и для журналов, и для заказов переноса
Не знаю, или решит он вашу конкретную проблему, правда.

Опишите поподробнее, проверим.
Теги
faq, баг, перенос, резервирование

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Закрытие склада- журнал переноса Swetik DAX: Функционал 9 23.08.2007 20:52
Ссылка на разнесенный журнал переноса kvg6 DAX: Функционал 18 03.04.2007 13:48
Журнал переноса - себестоимость Yprit DAX: Функционал 5 16.09.2004 10:59
Превышение кол-ва в "немедленная поставка" кол-ва "к поставке" Pegiy DAX: Функционал 16 23.03.2004 20:03
Непроведенный журнал переноса и инвентаризация Pavlo AKA Panok DAX: Функционал 4 29.12.2003 16:53
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:57.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.