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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.10.2008, 16:17   #1  
Вата is offline
Вата
Участник
 
71 / 0 (1) +
Регистрация: 20.09.2008
Как из ledgerVoucher получит Account?
Поиск по форуму ничего не дал.
Подскажите пожалуйста, как правильно из ledgerVoucher, получить счёт разноски.
Старый 24.10.2008, 16:24   #2  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Посмотрите таблицу LedgerTrans и все поймете.
Старый 24.10.2008, 16:31   #3  
Вата is offline
Вата
Участник
 
71 / 0 (1) +
Регистрация: 20.09.2008
А по подробнее можно?
Старый 24.10.2008, 16:38   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
AOT\Data Dictionary\Tables\LedgerTrans

(ax3)
Главная книга\Запросы\Бухгалтерские проводки

(dax)
Главная книга\Запросы\Коды операций

ЗЫ. Вы что понимаете под ledgerVoucher? Если класс разноски, то Ваш вопрос более чем странен, с такими вопросами к таким классам лучше не приближаться.

Последний раз редактировалось raz; 24.10.2008 в 16:41.
Старый 24.10.2008, 16:40   #5  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Вата Посмотреть сообщение
А по подробнее можно?
Тут, понимаете, какой вопрос, такой и ответ...
Можете сформулировать ваш вопрос поконкретнее?
Как один из вариантов понимания вашего вопроса - у вас есть Ваучер (Документ ГК) и вы хотите по этому номеру определить бух. счета на которые прошла разноска?
Тогда искать надо в таблице LedgerTrans, по полю Voucher и крайне желательно с учётом даты (TransDate).
Учитывайте при этом, что счетов там может быть много (как минимум 2 - кредит и дебет).
__________________
Zhirenkov Vitaly
Старый 24.10.2008, 16:51   #6  
Вата is offline
Вата
Участник
 
71 / 0 (1) +
Регистрация: 20.09.2008
Вопрос по классу ledgerVoucher. Есть объект ledgerVoucher, как из него получить текущий счет, по которому идёт разноска?
Старый 24.10.2008, 16:56   #7  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от Вата Посмотреть сообщение
Вопрос по классу ledgerVoucher. Есть объект ledgerVoucher, как из него получить текущий счет, по которому идёт разноска?
Где? Извне? Изнутри? До вноса в него счета? После? Перед разноской?
Клещами из вас информацию вытаскивать?
Старый 24.10.2008, 17:01   #8  
Вата is offline
Вата
Участник
 
71 / 0 (1) +
Регистрация: 20.09.2008
Вообще интересуют все варианты.. Но больше всех вариант получения изнутри..
После вноса внего счёта, но перед разноской.

Последний раз редактировалось Вата; 24.10.2008 в 17:06.
Старый 24.10.2008, 17:11   #9  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Ну и вопрос. А в каком методе и в какой момент? А самим в отладчике посмотреть?

ЗЫ. Уж не имеется ли в виду точка останова в LedgerVoucherTransObject::newCreateTrans(), через этод метод 99% проводок создаются. Через это легко находятся ошибки при разноске, т.к. сообщения об ошибках возникают в конце и без этого трудно понять в чем проблема.

Последний раз редактировалось raz; 24.10.2008 в 17:14.
Старый 24.10.2008, 17:12   #10  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Понятно. Увы.
Надо допиливать класс LedgerVoucherObject, который не раскрывает наружу структуру ledgerTransList.

Как альтернатива, можно сделать метод, подобный \Classes\LedgerVoucherObject\lastAmountCur().
Старый 24.10.2008, 17:16   #11  
Вата is offline
Вата
Участник
 
71 / 0 (1) +
Регистрация: 20.09.2008
ledgerVoucherObject ... Хм.. А вот так?
ledgerVoucherObject.ledgerTransObject().ledgerTrans().AccountNum;

Вопрос как взять ledgerVoucherObject? Может сделать одноименный метод с protected, public-ом?

Последний раз редактировалось Вата; 24.10.2008 в 17:18.
Старый 24.10.2008, 17:18   #12  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Если бы все было так просто... Посмотрите на метод addTrans и метод \Classes\LedgerVoucherTransList\add

Получается, что ledgerVoucherObject.ledgerTransObject() НЕ стоит на последнем внесенном объекте.
За это сообщение автора поблагодарили: fed (2), Вата (-1).
Старый 24.10.2008, 17:27   #13  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Интересно было бы узнать что за задача такая, требующая такого подхода. Может все решается проще.
За это сообщение автора поблагодарили: EVGL (1).
Старый 24.10.2008, 17:27   #14  
Вата is offline
Вата
Участник
 
71 / 0 (1) +
Регистрация: 20.09.2008
У меня это вот такой код:

X++:
boolean add(LedgerVoucherTransObject _ledgerTransObject)
{
    str keyString;
    ;
    keyString = strfmt('%1', this.elements());
    transObject.insert(keyString, _ledgerTransObject);
    // EVGL, Correspondence III -->
    refId_RU = this.elements()-1;
    // EVGL, Correspondence III <--
    return true;
}
Не понял, откуда здесь можно понять, что позиция не та?
За это сообщение автора поблагодарили: EVGL (-1).
Старый 24.10.2008, 17:42   #15  
Вата is offline
Вата
Участник
 
71 / 0 (1) +
Регистрация: 20.09.2008
Задача стандартная, дописать то, что должно было быть в архитектуре системы. Хотелось бы иметь заполненное поле СЧЕТ, в таблице «Проводок списания» (RDeferralsTrans). Дабы в дальнейшем упростить жизнь и себе и пользователям.
За это сообщение автора поблагодарили: EVGL (-9).
Старый 24.10.2008, 18:06   #16  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
ШОК. Спасибо, raz.

Вата, копайте в сторону метода \Classes\LedgerJournalTransUpdateRDeferrals\updateNow, передавайте дополнительные параметры.

P.S. Не надо, Вата, у меня больше.
Старый 27.10.2008, 14:03   #17  
Вата is offline
Вата
Участник
 
71 / 0 (1) +
Регистрация: 20.09.2008
А сразу нельзя было так сказать?

В классе, изменяем:

X++:
public void updateNow(LedgerVoucher        _ledgerVoucher,
                      LedgerPostingType    _posting,
                      [B]LedgerJournalTrans   _ledgerJournalTrans[/B])
{


        if (rDeferralsOperationType.checkPostTrans())
            RDeferralsTrans::createTrans(_ledgerJournalTrans, _ledgerVoucher, [B]this.ledgerAccount(_ledgerJournalTrans)[/B] );

}
Также добавляем параметр:

X++:
server static void createTrans(Common             _common,
                               LedgerVoucher      _ledgerVoucher,
                               [B]LedgerAccount      _ledgerAccount = ''[/B])
{
    RDeferralsPost   deferralsPost;
    ;

    deferralsPost = RDeferralsPost::construct(_common,
                                              _ledgerVoucher,
                                              RDeferralsTrans::getTransType(_common));

    if (deferralsPost.canCreateDeferralsTrans())
    {
        deferralsPost.createTrans([B]_ledgerAccount[/B]); //передаём его дальше
    }

    deferralsPost.post();
    deferralsPost.updateStatus();
}
И в RDeferralsPost:

X++:
void createTrans([B]LedgerAccount _ledgerAccount = ''[/B])
а там уже юзаем как хочем..

всем спасибо.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Business Connector account GromRom DAX: Администрирование 2 10.06.2008 19:08
dynamicsusers: Merchant Account Fees: Business Owners Blog bot DAX Blogs 0 29.06.2007 11:50
Ошибки при разноске в ГК Андрей К. DAX: Программирование 16 17.04.2007 12:44
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43

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

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

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