Показать сообщение отдельно
Старый 20.08.2008, 20:24   #14  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,983 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Да, проблему воспроизвел. Спасибо
Интересно узнать, как боретесь?
Как-то влияет это на себестоимость? Я понимаю, что себестоимость товара из партии2 на втором складе изменяется в зависимости от себестоимости товара из партии1 со склада1. Насколько это критично?
Да, конечно на себестоимость влияет. Если честно - это очень критично. Мне кажется, что из-за этого бага, вообще некорректно говорить о том что себестоимость считается в разрезе аналитик. (Еще есть баг, когда при переносах нескольких партий себестоимость усредняется по ним. Аналогично и при оформлении заказа на возврат, когда заполнениется лот возврата. - Правда это уже другой баг )

Лечили так.
У нас принят партионный учет для всех номенклатур.
Соответственно, когда в InventJournalTrans.Update() стоит вызов
X++:
        estimated = new InventUpd_Estimated(InventMovement::construct(this));
        estimated.updateNow();

        if (this.JournalType == InventJournalType::Transfer)
        {
            estimatedTransfer = new InventUpd_Estimated(InventMovement::construct(this,true));
            estimatedTransfer.updateNow();
        }
то в первом вызове
X++:
estimated.updateNow()
запоминали пары [аналитика, дельта количества]

Передавали полученную инфу во второй вызов
X++:
estimatedTransfer.updateNow();
и там уже при работе InventUpd_Estimated\updateDepreciateReceipt
учитывали эту информацию, так чтобы цеплялась нужная партия и на нужное количество.

Думаю, что можно обобщить такой подход на произвольную аналитику. Добавить в группу складской аналитики еще одну галку, при помощи которой и определять - какую комбинацию аналитик сохранять при редактировании переноса.

P.S. Ax 3.0
За это сообщение автора поблагодарили: player (1).