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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.03.2022, 22:03   #1  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
кастомное поле из LedgerJournalTrans в GeneralJournalAccountEntry
народ, никак не могу пропихнуть новое поле в GeneralJournalAccountEntry , которое добавил на LedgerJournalTrans.

пока проводка типа Ledger, всё получается, но для той же Customer - уже нет. и никак не пойму, почему для первого случая на таблице LedgerPostingTransactionTmp поля SourceRecId и SourceTableId заполняются оба, а для Customer - уже только SourceTableId.

использованные ссылки:

https://allaboutdynamic.com/2018/06/...ng-of-journal/

http://axwiki.blogspot.com/2017/01/c...altabletr.html

спасибо!

Нажмите на изображение для увеличения
Название: ledger1.jpg
Просмотров: 37
Размер:	83.2 Кб
ID:	13335

Нажмите на изображение для увеличения
Название: ledger2.jpg
Просмотров: 34
Размер:	63.5 Кб
ID:	13336

Нажмите на изображение для увеличения
Название: ledger3.jpg
Просмотров: 26
Размер:	82.1 Кб
ID:	13337
__________________
Felix nihil admirari
Старый 06.03.2022, 05:06   #2  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Как вариант для рассмотрения - после разноски искать все уже сделанные проводки и обновлять в них это поле
За это сообщение автора поблагодарили: wojzeh (1).
Старый 06.03.2022, 17:22   #3  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Идея была бы неплоха, да вот непонятно, как можно установить отношения 1:1 на этих таблицах

X++:
select l.eoguniqueid, * from LedgerJournalTrans as l
join  GeneralJournalEntry as g
on g.SUBLEDGERVOUCHERDATAAREAID = l.DATAAREAID and g.SUBLEDGERVOUCHER = l.VOUCHER
join generaljournalaccountentry as e
on e.GeneralJournalEntry = g.recid
where l.recid = 5645399572
__________________
Felix nihil admirari
Старый 06.03.2022, 20:52   #5  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
ну, разумеется, я начал с этой статьи
__________________
Felix nihil admirari
Старый 07.03.2022, 04:00   #6  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от wojzeh Посмотреть сообщение
никак не пойму, почему для первого случая на таблице LedgerPostingTransactionTmp поля SourceRecId и SourceTableId заполняются оба, а для Customer - уже только SourceTableId.

а... вот почему: Нажмите на изображение для увеличения
Название: gl1.jpg
Просмотров: 76
Размер:	216.1 Кб
ID:	13338


явный косяк!
__________________
Felix nihil admirari
За это сообщение автора поблагодарили: gl00mie (10).
Старый 07.03.2022, 20:48   #7  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
ОК, вроде заборол. Вот тут в подробностях. Всем спасибо! Также буду рад услышать критику и предложения. How to populate custom fields in GeneralJournalAccountEntry from LedgerJournalTrans for Ledger, Customer, Vendor, and Bank account type
__________________
Felix nihil admirari
За это сообщение автора поблагодарили: raz (10), sukhanchik (8).
Старый 13.03.2022, 21:11   #8  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Чуть более короткий путь, там специально делегат оставили.
Тут нужно было протянуть свой текст в GeneralJournalAccountEntry.Text из VendorInvoice. Но суть та же.

X++:
[SourceDocumentExtensionAttribute()]
class VendorInvoiceSubledgerJournalTransferCommandExtension extends SubledgerJournalTransferCommandExtension
{
    public void insertedGeneralJournalAccountEntry(RefRecId _transferidVal, SourceDocument _sourceDocument, boolean _doSummarization)
    {
        SourceDocumentHeader                    sourceDocumentHeader;
        TransactionTextLarge                    transactionText;
        GeneralJournalAccountEntry              localGeneralJournalAccountEntry;
        SubLedgerJournalAccountEntryView        subLedgerJournalAccountEntryView;

        if (!_doSummarization)
        {
            sourceDocumentHeader = _sourceDocument.parmSourceDocumentHeader();

            if (sourceDocumentHeader.TypeEnumName == enumStr(SourceDocument_VendorInvoice) && sourceDocumentHeader.TypeEnumValue == SourceDocument_VendorInvoice::VendorInvoice)
            {
                transactionText = VendInvoiceInfoTable::findSourceDocumentHeader(sourceDocumentHeader.RecId).ConcurVoucherTxt();
            }

            if (transactionText)
            {
                localGeneralJournalAccountEntry.skipDataMethods(true);
                localGeneralJournalAccountEntry.skipDatabaseLog(true);

                update_recordset localGeneralJournalAccountEntry
                        setting Text = transactionText
                        exists join subLedgerJournalAccountEntryView
                            where subLedgerJournalAccountEntryView.TransferId == _transferidVal
                                && subLedgerJournalAccountEntryView.SourceDocumentHeader == sourceDocumentHeader.RecId
                                && subLedgerJournalAccountEntryView.GeneralJournalAccountEntry == localGeneralJournalAccountEntry.RecId;
            }
        }
    }

    protected void subscribe()
    {
        super();

        command.insertedGeneralJournalAccountEntry += eventhandler(this.insertedGeneralJournalAccountEntry);
    }
}
За это сообщение автора поблагодарили: sukhanchik (10), Logger (3).
Старый 15.03.2022, 21:25   #9  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
По-моему, это не совсем то. А точнее, совсем не то. В моём случае сабледжер не используется вообще.
В этом подходе, как советовал, Trud, мы ловим уже созданные проводки (в момент создания), и пытаемся что-то найти из исходных полей. Вот так, с разбегу, я не вижу, как тут можно найти мои исходные строки журнала.
__________________
Felix nihil admirari
Старый 15.03.2022, 22:05   #10  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
хм, как это, subledger не используется? Такое сейчас возможно?
Старый 17.03.2022, 15:55   #11  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
ну, ты код посмотри кратенько
__________________
Felix nihil admirari
Теги
generaljournalaccountentry, ledgerjournaltrans, делегат

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
обновить на grid поле с display методом ymv2000 DAX: Программирование 4 15.01.2015 17:04
Проблема с LedgerJournalTrans Alexanderrrr DAX: Программирование 14 23.09.2009 13:42
сопоставление оплат клиента, переносов сальдо-поле накладная в общем журнале? Aquarius DAX: Функционал 3 28.01.2009 12:51
Поле "Оплатить до" в строке общего журнала longson DAX: Функционал 7 29.03.2008 14:38
Как в range на одно и тоже контейнерное поле поставить условие: "исключ." && like Pustik DAX: Программирование 15 03.07.2004 11:54
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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