Показать сообщение отдельно
Старый 03.07.2009, 06:51   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Silphidae Посмотреть сообщение
Все работает. Конечный вариант выглядит так:
тогда уж лучше так (одинм запросом + используйте стандартный метод):
X++:
    while select sum(PostedQty),sum(PostedValue) from inventSum
        where inventSum.Closed      == NoYes::No
    join count(recid) from inventTable
        where (inventTable.ItemGroupId == "41.01.00" || inventTable.ItemGroupId == "43.00.00")
           && inventSum.ItemId      == inventTable.ItemId
    {
        costPrice = inventSum.costPricePcs();

        if(costPrice > )
            info(strfmt("itemId = %1, costPrice = %2", inventTable.ItemId, costPrice));
    }
Но даже так еще неправильно по смыслу - Вы не используете в запросе складскую аналитику.
Вообще говоря, Аксапта рассчитывает себестоимость в разрезе складских аналитик, для которых указана галочка финансовый.
Как правило, включается различная себестоимость по складам.

Совсем правильно использовать стандартные классы. http://axapta.mazzy.ru/lib/inventsumdate/


И еще: использовать группы, по названиям бухгалтерских счетов - плохая практика.
Такие группы смогут указать только бухи. Вот если бы вы назвали группы, например, Товары и ПроизвПродукция, то сильно повышаете шанс, что небухи смогут правильно указать группы.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Silphidae (1).