Dynamics 365 Finance and Operations: Ürün Reçetesi Günlüğü Oluşturma ve Nakletme
  1. Anasayfa
  2. Dynamics 365

Dynamics 365 Finance and Operations: Ürün Reçetesi Günlüğü Oluşturma ve Nakletme

1

Bu yazıda Dynamics 365 Finance and Operations içinde kodla ürün reçetesi günlüğü oluşturup deftere nakletmek için basit bir örnek vereceğim.

Bu günlükler ara yüzden de girilebilir. Ancak birçok durumda bizim otomatik oluşturmamız istenir.

Gelelim örnek kodumuzu. Bu örnek kod tek satırlı ve miktarı 1 olan basit bir günlük oluşturuyor ve deftere naklediyor. Burada bir madde kodundan diğerine aktarım yapıyoruz gibi düşünebilirsiniz.  Siz ihtiyacınıza göre değiştirebilirsiniz.

class DmrCreateBomJournal

{

public static void main(Args _args)

{

InventJournalTableData  journalTableData;

InventJournalTrans      inventJournalTrans;

InventJournalTrans      InventJournalTransOld;

JournalCheckPost        journalCheckPost;

InventJournalTable      journalTable;

InventDim               FromInventDim,toInventDim;

ItemId                  ItemId      = “I0002”;

ItemId                  toItemId    = “I0003”;

inventDimId             inventDimId = “D0003”;

InventJournalNameId     TransferJournalNameId;

InventTable             inventTable;

InventBatch             InventBatchNew;

InventDim               InventDim;

InventDim               inventDimFrom;

int i;

;

 

ttsbegin;

inventTable = inventTable::find(ItemId);

InventDim   = InventDim::find(inventDimId);

TransferJournalNameId = “S0944”;

 

journalTable.clear();

journalTable.JournalNameId  = TransferJournalNameId;

journalTable.initFromInventJournalName(InventJournalName::find(TransferJournalNameId));

journalTableData            = JournalTableData::newTable(journalTable);

journalTable.JournalId      = journalTableData.nextJournalId();

journalTable.JournalType    = InventJournalType::BOM;

journalTableData.initFromJournalName(journalTableData.JournalStatic().findJournalName(journalTable.journalNameId));

journalTable.Description    = “Bom journal”;

journalTable.insert();

 

i++;

 

inventDimFrom.clear();

inventDimFrom.initValue();

inventDimFrom.InventSiteId      = InventDim.InventSiteId;

inventDimFrom.InventLocationId  = InventDim.InventLocationId;

inventDimFrom.InventSizeId      = InventDim.InventSizeId;

inventDimFrom.inventBatchId     = InventDim.inventBatchId;

 

inventDimFrom = inventDim::findOrCreate(inventDimFrom);

 

InventJournalTransOld.clear();

InventJournalTransOld.ItemId           = ItemId;

InventJournalTransOld.InventDimId      = inventDimFrom.InventDimId;

InventJournalTransOld.JournalId        = journalTable.JournalId;

InventJournalTransOld.TransDate        = today();

InventJournalTransOld.BOMLine          = NoYes::Yes;

InventJournalTransOld.Qty              = -1;

InventJournalTransOld.JournalType      = InventJournalType::BOM;

InventJournalTransOld.LineNum = i;

InventJournalTransOld.insert();

i++;

InventJournalTrans.clear();

InventJournalTrans.ItemId              = toItemId;

 

if(!InventBatch::find(InventDim.inventBatchId ,toItemId) )

{

InventBatchNew.clear();

InventBatchNew.itemId = toItemId;

InventBatchNew.inventBatchId = InventDim.inventBatchId;

InventBatchNew.insert();

}

 

InventJournalTrans.InventDimId         = inventDimFrom.InventDimId;

InventJournalTrans.ItemId              = toItemId;

InventJournalTrans.Qty                 = 1;

InventJournalTrans.JournalId           = journalTable.JournalId;

InventJournalTrans.JournalType         = InventJournalType::BOM;

InventJournalTrans.TransDate           = today();

inventJournalTrans.LineNum = i;

 

InventJournalTrans.insert();

 

InventJournalTransold.InventTransIdFather = InventJournalTrans.InventTransId;

InventJournalTransOld.update();

 

journalCheckPost = InventJournalCheckPost::newPostJournal(journalTable);

if(journalCheckPost.validate())

{

journalCheckPost.run();

}

info(strFmt(“%1 journal created.”, journalTable.JournalId));

ttscommit;

}

 

}

 

Bu yazıda ürün reçetesi günlüğü oluşturma örneği paylaştım. Umarım faydalı olur.  

Selamlar.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar:


www.mshowto.org

 

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, InventJournal, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, X++

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

2005 yılında Kocaeli Üniversitesi Bilgisayar Mühendisliğinden mezun oldum. Okulda ve ilk iş tecrübelerimde farklı yazılım dilleri kullandım. 2007 yılında Akşam gazetesinde işe başladım ve Microsoft Dynamics 365 (eski adıyla Axapta) ile orda tanıştım. Hiç duymadığım bir dil olan X++ kullanılıyordu. Kısa sürede adapta oldum ve kariyerimi bu alanda şekillendirdim. Bir kaç iş değişikliğinde sonra kendi firmamı kurdum. Şu anda DMR de yönetici ortak ve Çözüm mimarı olarak çalışmaktayım. 2010 yılında MCT oldum. Birçok faklı ortamda eğitimler verdim. Bloğum ve Youtube kanalımda tecrübelerimi paylaşmaktayım.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

  1. Sayın Hocam değerli makale için teşekkürler.
    Sorum şu. Mevcut DC1 (örn 192.168.10.10) ve DC2 (192.168.10.11) bazi sistemlerde sabit IP olarak girilidir, makalenizdeki gibi yeni eklenen DC’leri Primary (192.16.10.20) ve Additional (192.16.10.21) olarak beliledikten sonra eski DCleri sildigimizi varsayıyorum.
    Son işem olarak yeni DC’lerin İP lerini eski DClerdeki IP olarak revize edebilirmiyiz. ?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir