Показать сообщение отдельно
Старый 05.05.2009, 18:05   #7  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
вот пример поиска цены с помощью классе PriceDisc, может подойдет:
X++:
static void testFindPrice(Args _args)
{
    InventTable         inventTable;
    InventTableModule   inventTableModule;
    Container           conPrice;
    InventDimId         inventDimId;
    TransDate           transDate = systemDateGet();
    ItemId                 itemId;
    ;

    select firstonly inventTable
        where inventTable.ItemId    == itemId;
    inventTableModule = inventTable.inventTableModuleSales();

    conPrice    = PriceDisc::findItemPriceAgreement(ModuleInventPurchSales::Sales, // модуль
                                                    inventTable.ItemId,             // номенклатура
                                                    InventDim::find(inventDimId),   // аналитики
                                                    inventTableModule.UnitId,       // ед изм
                                                    transDate,                      // дата
                                                    inventTableModule.PriceUnit,    // кол-во (цена)
                                                    "",                             // код клиента
                                                    CompanyInfo::find().CurrencyCode,// валюта из компании
                                                    "");                            // ценовая группа

    info(strFmt('Цена - %1', conPeek(conPrice, 1))); // первым номеро в контейнере это цена номенклатуры
}
как можно видеть не обязательно указывать клиента, ценовую группу и т.д. тогда будет выполняться поиск в разрезе номенклатуры, с типом связи контрагентов "Все".
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: АртемМелихов (1).