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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.04.2009, 11:06   #12  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от Pantera Посмотреть сообщение
Меня интересует вкладка ЦЕНА/СКИДКА
Почему не идут там обновления, и влияет ли данная вкладка на что либо?
Это при том, что модель формирования цены: СРЕДНЕВЗВЕШЕННАЯ.

И опорная цена не обновляется.Там прописывается первоночальная,самая первая цена проставленная в Договоре.
Вкладка Цена/Скидка это интерфейс к таблице InventTableModule, цены из которой могут применяться при Стандартной модели формировании стоимости.

Вот вариант расчета опорной стоимости до наших доработок (метод на таблице PriceBaseData)

X++:
display CostPrice baseCostPrice()
{
    PriceModel priceModel = this.priceModel();
    ;

    switch (priceModel.CostModel)
    {
        case PriceCostModel::Purch:
            return Currency::amount(this.lastPurchaisePrice());
            
        case PriceCostModel::Standard:
            return Currency::amount(InventTableModule::find(this.ItemId, ModuleInventPurchSales::Invent).price());

        default:
            return InventSum::costPriceAvg(this.ItemId);
    }
}
По умолчанию расчитывается средневзвешенная цена, при модели формировании стоимости Стандартная - идем в InventTableModule. Ну и здесь же Последняя цена закупки.

У нас модель формирования стоимости Стандартная не используется - поэтому цены с вкладки Цена/Скидка ни на что не влияют. При средневзвешенной модели формировании стоимости тоже влиять не должно.

Если модель средневзвешенная то опорная должна меняться по алгоритму (метод на InventSum)

X++:
static server CostPrice costPriceAvg(ItemId _itemId)
{
    InventSum     inventSum;
    InventDimParm inventDimParm;
;
    InventDimParm.ItemIdFlag = NoYes::Yes;

    inventSum = InventSum::findSum(_itemId, null, inventDimParm, InventSumFields::All);
    inventSum.ItemId = _itemId;

    return Currency::amount(inventSum.costPricePcs());
}

Display CostPrice costPricePcs()
{
    InventModelGroup inventModelGroup = InventModelGroup::find(InventTable::find(this.itemId).modelGroupId);

    if (inventModelGroup.standardCost   ||
        this.postedQty      + (inventModelGroup.inclPhysicalValueInCost ? this.received - this.deducted : 0) <= 0 ||
        this.postedValue    + (inventModelGroup.inclPhysicalValueInCost ? this.physicalValue            : 0) <= 0
        )
    {
        return InventTable::findCostPcsPrice(this.itemId, this.inventDimId);
    }

    return (this.postedValue  + (inventModelGroup.inclPhysicalValueInCost ? this.physicalValue : 0)) /
           (this.postedQty    + (inventModelGroup.inclPhysicalValueInCost ? this.received - this.deducted : 0));
}
И это только в том случае, если у нас с вами прежние доработки совпадают.
У нас этот код уже переписан, и средневзвешенная считается иначе.
Теги
axapta retail, цена закупки, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ax 4.0. Главная книга.План Счетов. Счет. Разноска. Тип разноски nmariya DAX: Функционал 2 30.10.2007 13:19
Сопоставление с разными профилями разноски и одинаковой валютой операции Red Stranger DAX: Функционал 13 27.06.2006 18:40
Обновление цены закупки tolstjak DAX: Функционал 3 21.06.2005 14:31
Вопрос по профилям разноски ОС treeny DAX: Функционал 2 20.05.2005 16:02
Конфигуратор продуции - создание новой номенклатуры против создания новой конфигураци OliaM DAX: Функционал 6 15.04.2005 20:11

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

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

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