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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.11.2005, 13:16   #1  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Спасибо, glibs!
Ситуация, при которой это вопсроизводится (вполне жизненная, во всяком случае для нас)
1. Приходуем 5 разных партий Товара по 1 штуке в каждой партии на Склад_1
2. Создаем резерв (любым складским журналом, я делал проводкой) 2-х штук Товара на Складе_1
3. Создаем перенос 5 штук Товара со Склада_1 на Склад_2
4. Резервируем (резервируется только 3 штуки, поскольку 2 штуки у нас зарезервированы ранее)
5. Лезем в журнал из пункта 2 и снимаем резерв 2-х штук
6. Возвращаемся в перенос и снова проводим резервирование (теперь зарезервированы все 5 штук)
7. В строке переноса уменьшаем количество (ну, допустим, не 5 штук, а только 3)
8. наблюдаем эффект, когда со Склада_1 уходят Партия 1, 2 и 3, а на Склад_2 приходят Партия 3,4 и 5.
Что соответствует очередности создания записей для Товара по Складу_1 и Складу_2 в таблице InventDim

"Прячась в лого свое
Волки воют 'Ё-Моё' ...
Старый 20.08.2008, 15:54   #2  
AvrDen is offline
AvrDen
Участник
 
134 / 26 (1) +++
Регистрация: 04.08.2005
Адрес: Усть-Каменогорск
Похоже в 4-ке эту проблему не устранили...
Столкнулся с такой ситуацией: на складе по одной ном-ре имеется кол-во 10 шт.(с номером партии П1). Пользователи создают журнал переноса по этой ном-ре с кол-ом 20 шт. В итоге у нас создаються 4 проводки(Проводки расхода - Физ.зарезервировано 10 шт с партией П1 и Заказано 10 шт без партии, Проводки прихода Заказано 10 шт. с Партией П1 и Заказано 10 шт. без партии). Далее пользователь уменьшает кол-во до 10 шт. В итоге остаються 2 проводки(Проводки расхода - Физ.зарезервировано 10 шт с партией П1, проводки прихода - Заказано 10 шт. без партии). Важный момент в том что код аналитики у аналитик с заполным номером партии у нас всегда больше чем код аналитики без номера партии...
Поэтому в методе InventUpd_Estimated\updateDepreciateReceipt
X++:
                    select forupdate inventTrans
                        index hint TransIdIdx
                        order by StatusReceipt desc, InventDimId desc
                        where inventTrans.InventTransId         == movement.transId()               &&
                              inventTrans.TransChildType        == movement.transChildType()        &&
                              inventTrans.TransChildRefId       == movement.transChildRefId()       &&
                              inventTrans.StatusIssue           == StatusIssue::None                &&
                              inventTrans.StatusReceipt         >= StatusReceipt::Ordered           &&
                              inventTrans.StatusReceipt         <= StatusReceipt::QuotationReceipt  &&
                              inventTrans.InventRefTransId      == '';
удаляеться проводка прихода с номером партии.
И в результате получаеться что товар ушел с номером партии, а пришел без номера.
Кто-нибудь подскажет как решить эту проблему?
Старый 20.08.2008, 16:16   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от AvrDen Посмотреть сообщение
Похоже в 4-ке эту проблему не устранили...
Столкнулся с такой ситуацией: на складе по одной ном-ре имеется кол-во 10 шт.(с номером партии П1). Пользователи создают журнал переноса по этой ном-ре с кол-ом 20 шт. В итоге у нас создаються 4 проводки(Проводки расхода - Физ.зарезервировано 10 шт с партией П1 и Заказано 10 шт без партии, Проводки прихода Заказано 10 шт. с Партией П1 и Заказано 10 шт. без партии). Далее пользователь уменьшает кол-во до 10 шт. В итоге остаються 2 проводки(Проводки расхода - Физ.зарезервировано 10 шт с партией П1, проводки прихода - Заказано 10 шт. без партии). Важный момент в том что код аналитики у аналитик с заполным номером партии у нас всегда больше чем код аналитики без номера партии...
Поэтому в методе InventUpd_Estimated\updateDepreciateReceipt
X++:
                    select forupdate inventTrans
                        index hint TransIdIdx
                        order by StatusReceipt desc, InventDimId desc
                        where inventTrans.InventTransId         == movement.transId()               &&
                              inventTrans.TransChildType        == movement.transChildType()        &&
                              inventTrans.TransChildRefId       == movement.transChildRefId()       &&
                              inventTrans.StatusIssue           == StatusIssue::None                &&
                              inventTrans.StatusReceipt         >= StatusReceipt::Ordered           &&
                              inventTrans.StatusReceipt         <= StatusReceipt::QuotationReceipt  &&
                              inventTrans.InventRefTransId      == '';
удаляеться проводка прихода с номером партии.
И в результате получаеться что товар ушел с номером партии, а пришел без номера.
Кто-нибудь подскажет как решить эту проблему?
Что-то не удалось воспроизвести это на АХ 2009, хотя вроде код здесь не менялся. До смены кол-ва все ОК, тоже 4 проводки, в двух не указана партия. А вот когда меняю кол-во, остается 2, в обоих указана партия. Что-то может забыли написать, что необходимо сделать?
Старый 20.08.2008, 17:07   #4  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Что-то может забыли написать, что необходимо сделать?
AvrDem Важный момент в том что код аналитики у аналитик с заполным номером партии у нас всегда больше чем код аналитики без номера партии

Yprit Что соответствует очередности создания записей для Товара по Складу_1 и Складу_2 в таблице InventDim
Старый 20.08.2008, 18:10   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,983 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Предлагаю перед тем как воспроизводить глюк создать аналитики вот таким джобом

X++:
static void Job378(Args _args)
{
    #define.inventBatchId1("BatchID1")
    #define.inventBatchId2("BatchID2")
    #define.InventLocationIDFrom("From")
    #define.InventLocationIDTO("To")
    InventDim       InventDim;
    ;
    ttsBegin;
    InventDim.InventLocationId = #InventLocationIDFrom;
    InventDim.inventBatchId    = #inventBatchId1;
    InventDim::findOrCreate(InventDim);
    InventDim.clear();

    InventDim.InventLocationId = #InventLocationIDFrom;
    InventDim.inventBatchId    = #inventBatchId2;
    InventDim::findOrCreate(InventDim);
    InventDim.clear();

    InventDim.InventLocationId = #InventLocationIDTo;
    InventDim.inventBatchId    = #inventBatchId2;
    InventDim::findOrCreate(InventDim);
    InventDim.clear();

    InventDim.InventLocationId = #InventLocationIDTo;
    InventDim.inventBatchId    = #inventBatchId1;
    InventDim::findOrCreate(InventDim);
    InventDim.clear();
    ttsCommit;
}
затем на обе аналитики поднять остатки и попробовать пример Yprit

Должно сработать.

P.S. В данном джобе я просто заранее создаю аналитики с нужным порядком следования InventDimId, чтобы на одном складе с большему значению InventBatch соответствовало большее значение InventDimID а на другом складе наоборот.

В ax4.0 и ax5.0 может помешать тот факт что выравнивание InventDimID левое - в этом случае нужно убедиться что джоб правильно создал все. - Проблема может возникнуть, если при выделении номера аналитики - число значащих цифр увеличится. Для правого выравнивания гарантировано должно воспроизвестись.

(в общем проще свои номера InventDimId константами пробить)

Последний раз редактировалось Logger; 20.08.2008 в 18:17.
За это сообщение автора поблагодарили: kashperuk (5).
Теги
bug, журнал, перемещение, резервирование, crm2011

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Автоматическое резервирование: на тропе войны aevi82 DAX: Функционал 11 29.08.2007 16:35
Ручное резервирование в заказах aevi82 DAX: Функционал 1 02.06.2006 10:36
автоматическое резервирование с учетом отборочной накладной anny DAX: Функционал 1 20.07.2005 22:21
Резервирование в заказанных (серия 5) Dana DAX: Функционал 8 14.05.2004 14:37
СП: Резервирование в спланированном переносе Hamster DAX: Функционал 3 19.02.2004 10:57

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

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

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