1. Ana Sayfa
  2. Dynamics 365

Dynamics 365 Finance and Operations: Kodla Ön Ödeme Oluşturup Deftere Nakletmek

Dynamics 365 Finance and Operations: Kodla Ön Ödeme Oluşturup Deftere Nakletmek
0

Bu yazıda Dynamics 365 Finance and Operations standart özelliklerinden biri olan ön ödemeyi kodla nasıl yapıyoruz bir örnekle anlatacağım.

Bu işlem Satınalma siparişleri üzerinden yapılabiliyor. Ancak bize gelen talepte bunun basit bir onaya tabi olması istendi. Bunun için bir ara tablo yapıp onun üzerinden otomatik ön ödeme oluşturup deftere nakletmek istedik.

Resim-1

 

Şöyle bir kodla işimizi halldebiliriz.

PurchFormLetter             purchFormLetter;

                purchTable                         purchTable;

                PurchPrepayTable          PurchPrepayTable;

                PurchId                            purchId;

                PackingSlipId                  packingSlipId;

                ;             

                ttsBegin;

                purchTable = PurchTable::find(DmrSellerAdvance.OrderNumber);

                PurchPrepayTable = PurchPrepayTable::findPurchId(DmrSellerAdvance.OrderNumber , true);

                if(PurchPrepayTable.RecId == 0)

                {

                               PurchPrepayTable.clear();

                               PurchPrepayTable.Type = PurchPrepayType::Fixed;

                               PurchPrepayTable.PurchTable = DmrSellerAdvance.OrderNumber;

                               PurchPrepayTable.PrepayCategoryId = 313452354; // Kategori zorunlu

                               PurchPrepayTable.Currency = PurchTable::find(DmrSellerAdvance.OrderNumber).CurrencyCode;

                               PurchPrepayTable.Description = DmrSellerAdvance.Description;

 

                               PurchPrepayTable.Value = DmrSellerAdvance.PayableQty; // Ödenecek tutar burası.

                               PurchPrepayTable.PrepayLimit = DmrSellerAdvance.OrderQty;

                               PurchPrepayTable.PrepayAvailable = DmrSellerAdvance.PayableQty;

 

                               purchPrepayTable.recalculatePrepayLimit();

                               purchPrepayTable.recalculateAmounts(false);

                               PurchPrepayTable.insert();

                }

                Else

// Eğer birden çok ödeme yapılacaksa Value güncelleyerek yapabilirsiniz.

                {

                               PurchPrepayTable.Value = PurchPrepayTable.Value + DmrSellerAdvance.PayableQty;    

                               purchPrepayTable.recalculatePrepayLimit();

                               purchPrepayTable.recalculateAmounts();

                               PurchPrepayTable.update();      

                }             

                purchFormLetter = PurchFormLetter::construct(DocumentStatus::Invoice);

                PurchFormLetter.parmInvoiceType(PurchInvoiceType::VendorAdvance); // Fatura tipi böyle olmalı.

                purchFormLetter.update(purchTable, NumberSeq::newGetNumFromId(  PurchParameters::numRefPurchAdvanceVoucher().NumberSequenceId).num());

                ttsCommit;

 

Bu yazıda bir ön ödeme kaydı oluşturup deftere nakletme örneğini inceledik. Satınla tarafı biraz kafa karıştırıcı olabiliyor. Bekleyen tedarikçi faturası olmadı sürece direk sipariş üzerinden faturalama yapabilirsiniz.

Selamlar.

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

Referanslar:
www.mshowto.org

www.fatihdemirci.net

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

 

 

 

Bu İçeriğe Tepkin Ne Oldu?

Yazar Hakkında

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.

Yorum Yap