Показать сообщение отдельно
Старый 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).