<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="https://www.schweda.net/style_feed.css" ?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:atom="http://www.w3.org/2005/Atom"	
	xmlns:dc="http://purl.org/dc/elements/1.1/" > 
<channel>
    <title>schweda.net - Blog</title>
    <link>https://www.schweda.net/</link>
    <description>schweda.net - Blog - Blog-Beitraege</description>
    <language>de-at</language>
    <copyright>Copyright 2006-2026</copyright>
    <generator>schweda.net</generator>
    <managingEditor>heinz.schweda@schweda.net (Heinz Schweda)</managingEditor>
    <webMaster>heinz.schweda@schweda.net (Heinz Schweda)</webMaster>
    <category>Blog</category>
	<atom:link href="https://schweda.net/blog_rss.php?bid=347" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[Erstellen und Buchen eines Umlagerungsjournal in AX 2009 mit Erfassung und Entnahme]]></title>
<description><![CDATA[
<p>In einem <a href="http://www.schweda.net/blog_ax.php?bid=342" target="_self" title="Erstellen und Buchen eines Umlagerungsjournals unter AX 2009">fr&uuml;heren Beitrag</a> habe ich anhand eines kurzen Code-Beispiels demonstriert, wie man in AX 2009 ein Umlagerungsjournal per Code erstellen und buchen kann. Im folgenden findet Ihr ein Beispiel welches, soferne es die Lagersteuerungsgruppe des Artikel erfordert, sich auch um die zugeh&ouml;rige Entnahme- und -Erfassungsbuchung k&uuml;mmert.
</p>


<pre class="pre_blog_axcode">
static void createAndPostInventJournalTransfer_II(Args _args)
{
    inventJournalTable  inventJournalTable;
    inventJournalTrans  inventJournalTrans;
    journalCheckPost    journalCheckPost;
    itemId              _itemId             = &quot;9992&quot;;
    qty                 _qty                = 1;
    inventDimId         _fromInventDimId    = &quot;00008328_069&quot;;
    inventDimId         _toInventDimId      = &quot;00008342_069&quot;;

    tmpInventTransWMS   tmpInventTransWMS;
    inventTRans         inventTRans;

    InventTransWMS_Pick     inventTransPick;
    InventTransWMS_Register inventTransRegister;
    ;

    try
    {
        ttsbegin;

        // Create header
        inventJournalTable.clear();
        inventJournalTable.initValue();

        inventJournalTable.initFromInventJournalName(
            InventJournalName::find(InventJournalName::standardJournalName(InventJournalType::Transfer)));

        inventJournalTable.SystemBlocked    = NoYes::Yes;
        inventJournalTable.BlockUserId      = curUserId();

        inventJournalTable.insert();

        // Create line
        inventJournalTrans.clear();

        inventJournalTrans.initValue();
        inventJournalTrans.initFromInventJournalTable(inventJournalTable);

        inventJournalTrans.ItemId           = _itemId;
        inventJournalTrans.initFromInventTable(inventTable::find(inventJournalTrans.ItemId));

        inventJournalTrans.Qty              = _qty;

        inventJournalTrans.inventMovement().journalSetCostPrice();

        inventJournalTrans.inventDimId      = _fromInventDimId;
        inventJournalTrans.toinventDimId    = _toInventDimId;

        inventJournalTrans.voucher          = numberSeq::newGetVoucherFromCode(
                                                    InventJournalName::find(inventJournalTable.JournalNameId).VoucherSeqId).voucher();

        inventJournalTrans.insert();

        if(inventModelGroup::find(inventTable::find(_itemId).ModelGroupId).MandatoryPick)
        {
            // Picking
            inventTrans.clear();
            inventTrans = inventTrans::findTransId(inventJournalTrans.InventTransId);

            tmpInventTransWMS.clear();
            tmpInventTransWMS.initFromInventTrans(inventTrans);

            tmpInventTransWMS.InventQty = inventTrans.StatusIssue == StatusIssue::Picked ? inventTrans.Qty : -inventTrans.Qty;
            if (tmpInventTransWMS.validateWrite())
            {
                tmpInventTransWMS.write();
            }

            inventTranspick = new InventTransWMS_Pick(inventTRans.inventMovement(),tmpInventTransWMS);
            inventTranspick.writeTmp(tmpInventTransWMS,tmpInventTransWMS.orig(),false);

            InventTransWMS_Pick::updateInvent(inventTransPick, tmpInventTransWMS);
        }

        if(inventModelGroup::find(inventTable::find(_itemId).ModelGroupId).MandatoryRegister)
        {
            // Registration
            inventTrans.clear();
            inventTrans = inventTrans::findTransId(inventJournalTrans.toInventTransId);

            tmpInventTransWMS.clear();
            tmpInventTransWMS.initFromInventTrans(inventTrans);

            tmpInventTransWMS.InventQty = inventTrans.StatusReceipt == StatusReceipt::Ordered ? inventTrans.Qty : -inventTrans.Qty;
            if (tmpInventTransWMS.validateWrite())
            {
                tmpInventTransWMS.write();
            }

            inventTransRegister = new InventTransWMS_Register(inventTrans.inventMovement(),tmpInventTransWMS);
            inventTransRegister.writeTmp(tmpInventTransWMS,tmpInventTransWMS.orig(),false);

            InventTransWMS_Register::updateInvent(inventTransRegister, tmpInventTransWMS);
        }

        // Post journal
        journalCheckPost = InventJournalCheckPost::newJournalCheckPost(JournalCheckPostType::Post, inventJournalTable);
        journalCheckPost.run();

        ttscommit;
    }
    catch (Exception::Error)
    {
        throw exception::Error;
    }
}

</pre>]]></description>
<category>Microsoft Dynamics AX (Axapta)</category>
<pubDate>Wed, 21 Oct 2009 21:14:00 +0200</pubDate>
<link>https://www.schweda.net/blog_ax.php?bid=347</link>
<comments>https://www.schweda.net/blog_ax.php?bid=347</comments>
<guid isPermaLink="true">https://www.schweda.net/blog_ax.php?bid=347</guid>
<author>heinz.schweda@schweda.net (Heinz Schweda)</author>
<wfw:commentRss>https://www.schweda.net/blog_ax.php?bid=347</wfw:commentRss>
</item>
</channel>
</rss>	
