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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.07.2009, 23:45   #2  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
и немного ещё...
Кстати говоря подобный код имеется только в случае поиска цены по клиентам. В случае цены поставщиков или скидок по любому модулю ничего подобного не делается... Есть общий код на New класса:
X++:
    if ((_moduleType == ModuleInventPurchSales::Sales && SalesParameters::find().rContractPriceDisc) ||
        (_moduleType == ModuleInventPurchSales::Purch && PurchParameters::find().rContractPriceDisc)
       )
    {
        rContractCode       = _rContractCode;
        rContractAccount    = _rContractAccount;
    }
Вроде как этого должно быть достаточно...

На всякий случай приведу весь код метода :
X++:
boolean  findPrice(PriceGroupId _priceGroupId,
                   boolean      _useItemPrice = true)
{
    boolean         findAll     = true;
    boolean         findItemDim = true;

    InventDim       inventDimAllActivated;
    InventDim       inventDimItemDimActivated;
    InventDim       inventDimNoneActivated;

    InventTable     inventTable;
    // <GEEU>
    boolean         ret;
    boolean         checkContract;
    // </GEEU>
    ;

    usedPriceGroupId = _priceGroupId;

    if (itemId)
    {
        inventTable = InventTable::find(itemId);

        switch (moduleType)
        {
            case ModuleInventPurchSales::Purch:
                inventDimAllActivated.copyActivatePurchPriceAll(inventTable.DimGroupId, inventDim);
                // <GEEU>
                checkContract = PurchParameters::find().rContractPriceDisc;
                // </GEEU>
                break;
            case ModuleInventPurchSales::Sales:
                inventDimAllActivated.copyActivateSalesPriceAll(inventTable.DimGroupId, inventDim);
                // <GEEU>
                checkContract = SalesParameters::find().rContractPriceDisc;
                // </GEEU>
                break;
            default:
                inventDimAllActivated.copyItemDim(inventTable.DimGroupId, inventDim);
        }

        inventDimItemDimActivated.copyItemDim(inventTable.DimGroupId, inventDimAllActivated);

        findAll     = !InventDim::isInventDimEqual(inventDimAllActivated, inventDimItemDimActivated);
        findItemDim = !InventDim::isInventDimEqual(inventDimItemDimActivated,inventDimNoneActivated);

        inventDimAllActivated       = findAll       ? InventDim::findDim(inventDimAllActivated)     : inventDimAllActivated;
        inventDimItemDimActivated   = findItemDim   ? InventDim::findDim(inventDimItemDimActivated) : inventDimItemDimActivated;
    }

    /* <SYS>
    return ((findAll     && inventDimAllActivated.RecId     && this.findPriceAgreement(_priceGroupId, inventDimAllActivated.InventDimId))       ||
    </SYS> */
    // <GEEU>
    ret =   (!checkContract || this.searchbyRContract()) && (findAll     && inventDimAllActivated.RecId     && this.findPriceAgreement(_priceGroupId, inventDimAllActivated.InventDimId,rContractCode,rContractAccount)) ||
            (findItemDim && inventDimItemDimActivated.RecId && this.findPriceAgreement(_priceGroupId, inventDimItemDimActivated.InventDimId,rContractCode,rContractAccount))   ||
                                                               this.findPriceAgreement(_priceGroupId, InventDim::inventDimIdBlank(),rContractCode,rContractAccount);

    return  ret ||
            (findAll     && inventDimAllActivated.RecId     && this.findPriceAgreement(_priceGroupId, inventDimAllActivated.InventDimId))       ||
            // </GEEU>
            (findItemDim && inventDimItemDimActivated.RecId && this.findPriceAgreement(_priceGroupId, inventDimItemDimActivated.InventDimId))   ||
                                                               this.findPriceAgreement(_priceGroupId, InventDim::inventDimIdBlank())            ||
             /* <SYS>
             (_useItemPrice && this.findItemPrice()));
             </SYS> */
             // <GEEU>
             (_useItemPrice && this.findItemPrice());
             // </GEEU>
}
__________________
Zhirenkov Vitaly
Теги
ax2009, баг, договор, коммерческие соглашения, цена, прайс

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Заказы на перемещения и проводки в ГК в DAX2009 Starling DAX: Функционал 16 10.06.2009 11:43
Вопросы по OLAP в DAX2009 oleg_e DAX: Функционал 9 10.12.2008 02:02
Настройка листа калькуляции издержек (DAX2009) petr DAX: Функционал 0 23.09.2008 13:36
Дополнительные реквизиты номенклатуры. DAX2009. slava09 DAX: Функционал 30 16.09.2008 14:50
Апгрейд существующего приложения на DAX2009 petr DAX: Администрирование 3 03.09.2008 18:54

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

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

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