Genel Muhasebe Günlüklerine Kayıt Atmak ve Deftere Nakletmek (Yevmiye Girişi)

Dynamics AX’ta adını sıkça duyduğumuz yapılardan birisi Genel Muhasebe Günlükleri ya da Yevmiye Girişidir. Genel olarak LedgerJournals olarak adlandırılabilecek bu yapı, Dynamics AX’ta para giriş ve çıkışlarını yani en genel anlamda para transferlerini yönetmenin en temel yoludur. Şimdi LedgerJournals yapısındaki temel tabloları inceleyelim:

  • LedgerJournalName : Günlük tiplerine ait temel özelliklerin tutulduğu tablodur. Her bir günlük tipi için birden fazla LedgerJournalName olabilir. LedgerJournalTable ve LedgerJournalTrans kayıtları oluşturulurken bazı alanların varsayılan değerleri bu tablodan alınabilir. (Bakınız : ledgerJournalTable.initFromLedgerJournalName(LedgerJournalName.JournalName); ledgerJournalTrans.initFromLedgerJournalName();) Bu nedenle konfigürasyonu önemlidir.
  • LedgerJournalTable : Yevmiye girişi ana tablosudur. Bir yevmiye girişi için bir satır kayıt oluşturulmalıdır. Seçilen günlüğün tipine göre farklı formlarda görüntülenir. Sistemde 30 ayrı LedgerJournalTable menu item’ı bulunur. Bu sanırım bize neyle uğraştığımız konusunda bir fikir verecektir.
  • LedgerJournalTrans : Yevmiye girişi detay tablosudur. Bir yevmiye girişi için birden çok satır içerebilir. Sistemde 24 farklı formda kontrol edilir. Dynamics AX’taki en ilginç lookup metodlarından birini barındırır. (Hesap tipi Müşteri seçildiğinde müşteriler lookup’ı, satıcı seçildiğinde satıcılar lookup’ı vb.. Bakınız : FormsLedgerJournalTransDailyData SourcesLedgerJournalTransFieldsAccountNumMethodslookup). Ayrıca pek çok tipteki günlük için  o tipe özel kontroller barındırır.

.NET Business Connector Reset

Eğer AX ile dış ortamlar arasında bir entegrasyon üzerinde çalışıyorsanız, AX tarafında değiştirdiğiniz kodların Business Connector (BC) tarafında yenilenmediğini ve hala eski şekli ile çalıştırıldığını görürsünüz. Bunun temel nedeni AOS’un kod performansını artırmak üzere kullandığı önbellek (cache) mekanizmasıdır. Canlı kullanımda olan bir projede normal olsa da, development esnasında oldukça sıkıntı veren bu durumu atlatmak için alttaki çözümü deneyebilirsiniz.

Bir web servisi yayınladıktan sonra, her değişiklik yaptığınızda alttaki adımları izleyin:

Okumaya devam et

Pack – Unpack Tasarım Deseni (Pack – Unpack Design Pattern)

Bir nesnenin en son durumunu (parametrelerini, değerlerini vb : saved state) kaydederek daha sonra tekrar kullanmak gerektiğinde Pack – Unpack yapısı kullanılmalıdır. Böylece aynı nesne aynı değerlerle tekrar oluşturulabilir.

Ayrıca nesnenin katmanlararası (istemci – sunucu : client – server) geçişi sözkonusu ise değerlerin transferi için yine Pack – Unpack yapısı gereklidir.

Dynamcis AX’ta debug yaparken değişkenlerin birden sıfırlandığına şahit olduysanız, ya da dialog metodu ile kullanıcıdan aldığınız değerlerin bir türlü işleme dahil olmadığını görüyorsanız sorun pack – unpack yapısının kullanılmamış olmasıdır. Çünkü nesne katmanlar aarası taşınırken değerleri taşınamaz.

Nesne sınıf ayrımı için ilgili makaleyi inceleyiniz.

Nesnelerin o anki istenen değerlerini kaydetmek için (save state) pack metodu kullanılır. Bu metod belirtilen değerleri bir container’e yazar ve kaydeder. Kaydedilmiş değerleri alıp kullanmak için ise Unpcak metodu kullanılmalıdır.

Okumaya devam et