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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.06.2008, 17:29   #1  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
? InventPosting.ItemRelation
Создаю отчет в Excel на основе складских проводок (InventTrans).
Мне надо в отчета показать поле InventPosting.LedgerAccountId (Код счета, действующий для данной номенклатуры в настройке: Управление запасами\Настройка\Разноска\Разноска\Разноска\ закладка Запасы\ настройка Приход.)

Как мне обрабатывая строку запроса у query с InventTrans дойти до InventPosting и достать поле Код счета.?
Через какие пути связаны эти таблицы? ItemRelation ?
Старый 05.06.2008, 17:40   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Смотрите на таблице релейшн InventTable. Не оно? Наверна нет...
Старый 05.06.2008, 17:47   #3  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
И добавить связку по InventAccountType. И слепить что то типа InventTransType2InventAccountType
Старый 05.06.2008, 17:51   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Надо смотреть не InventPosting, а InventTransPosting, и связаны они по соответсвующим ваучерам и датам.

ЗЫ. В InventPosting текущая настройка, а в InventTransPosting счета по каким прошла операция, и они могут не совпадать.
Старый 05.06.2008, 17:54   #5  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
ну может человеку надо именно настройку
Старый 05.06.2008, 17:55   #6  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Может быть связь такая:
InventTrans имеет полу ItemID (номенклатуру)
InventTable имеет и ItemId и ItemGroupId (группу номенклатуры)
У InventPosting есть ItemRelation - это и есть ItemGroupId ?

Вроде бы да?
Старый 05.06.2008, 18:01   #7  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
raz
по всей видимости перейдя на форму "Разноска запасов" - Управление запасами\Настройка\Разноска\Разноска\Разноска запасов\ закладка Запасы\ настройка Приход.

там DataSources Invent построен на таблице InventPosting. От туда думал и взять Код счет. Хотя он на форме называется Номер счета.

Или всетаки точно надо думать про таблицу InventTransPosting?
InventTransPosting в физической разноске учавствует или в финансовой?
Старый 05.06.2008, 18:03   #8  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Там есть поле InventTransPostingType, может быть финансовым или физическим. Наврно и то и то.
Старый 05.06.2008, 18:05   #9  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Вот такая связь...

X++:
server static LedgerAccount account(
    InventAccountType   accountType,
    CustVendAC          accountNum,
    CustVendGroupId     accountGroup,
    TaxGroup            taxGroup
    )
{
    Counter                 i = 0;
    Integer                 maxOutcome= enumcnt(TableGroupAll);
    InventPosting           inventLedger;
    CustVendRel             accountRelation;
    TaxGroup                testTaxGroup;
    Integer                 taxQty;
    Counter                 taxI;
    InventPostingParameters inventPostingParameters = InventPostingParameters::find();

    if (! accountGroup)
        accountGroup = InventPosting::accountGroup(accountType,accountNum);

    if (!taxGroup)
        taxI = 2;
    else
        taxI = inventPostingParameters.taxCodeRelationEnabled()? 1 : 2;

    while (taxI  <= taxQty)
    {
        if (taxI  == 1)
            testTaxGroup   = taxGroup;
        else
            testTaxGroup   = '';

        while (i < maxOutcome)
        {
            if (inventPostingParameters.accountRelationEnabled(i))
            {
                accountRelation= InventPosting::accountRelation(i,accountNum,accountGroup);
                select firstonly inventLedger
                    index hint ItemIdx
                    where inventLedger.InventAccountType    == accountType          &&
                          inventLedger.CustVendCode         == i                    &&
                          inventLedger.CustVendRelation     == accountRelation      &&
                          inventLedger.ItemCode             == TableGroupAll::All   &&
                          inventLedger.ItemRelation         == ''                   &&
                          inventLedger.TaxGroupId           == testTaxGroup;

                if (inventLedger.LedgerAccountId)
                    return inventLedger.LedgerAccountId;
            }

            i += 1;
        }

        taxI  += 1;
    }

    return '';
}
Ну кто вам поставил задачу... (крик души).
__________________
С уважением,
glibs®
Старый 05.06.2008, 18:07   #10  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Уж не оборотку ли по номенклатуре пытаетесь сделать?
Старый 05.06.2008, 18:10   #11  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Задание: Отчет по движению ТМЦ в производстве. (MX-20)
Старый 05.06.2008, 18:14   #12  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Начните с InventReport_LedgerConciliation.
Может появиться понимание.
Старый 05.06.2008, 18:19   #13  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
raz Репсект покапаюсь в InventReport_LedgerConciliation. Может и придет понимание ;-) Жду не дождусь, где оно ходит только!
На счет InventPosting надо спросить консультанта мож и вправду использовать InventTransPosting и фильтром по InventTransPostingType
Старый 05.06.2008, 18:38   #14  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Еще раз повторю в InventPosting текущая настройка, т.е. если настройку поменяли, то отчет будет врать.

Вот еще для понимания Связь между складскими и фин.проводками

Взяв идеи из InventReport_LedgerConciliation, можно сделать Отчет по движению ТМЦ в производстве.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
SalesPrices и PriceDiscTable Rimantas DAX: Программирование 9 29.03.2007 17:33
InventPosting ald DAX: Функционал 5 18.08.2004 18:31
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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