Sayfaya sığdırmak için, Test – Rapor raporu yüzde XX küçültüldü

Dizaynı neden ile büyük olan ve her seferinde Sayfaya sığdırmak için, Test – Rapor raporu yüzde XX küçültüldü şeklinde uyarı veren raporunuz varsa, raporunuzun init() metodunda alttaki değişikliği yaparak bu mesajı görmeyi engelleyebilirsiniz.


public void init()

{
    super();
    //Bu satırı ekleyin
    this.printJobSettings().suppressScalingMessage(true);
    //

}

Emre TÜFEKÇİ

İstanbul

www.atol.com.tr

Lookuplar (açılan kutucuklar)

Bu yazımızda Dynamics AX’ta sürekli kullandığımız lookupları inceleyeceğiz. Lookup’lar (açılan kutucuklar) formdaki bir alana girilecek olan veriyi seçme işlemine yardımcı olmak üzere açılan kutucuklardır.

Bir lookup aksi belirtilmediği sürece tablo üzerindeki AutoLookup grubuna eklenmiş olan alanları içerir. Hangi tablonun seçileceğini ise Extended Data Type üzerindeki ilişki belirler ve bu ilişkiye tipin ana tablosu adı verilir. Eğer ilgili ana tabloda AutoLookup grubu boşsa, tablodaki primary index alanları görüntülenir.

Okumaya devam et

Formlarda Task metodu ve Keystroke Assigning

Dynamics AX’taki formlarda klavyeden girilen tuşları yakalayarak yorumlamak mümkündür. Bu işlem için formlardaki Task metodu overload edilir (Geçersiz kılınır). Bir formdaki Task metodunun standart yapısı alttaki gibidir:

public int task(int _taskId)
{
    int ret;

    ret = super(_taskId);

    return ret;
}

Okumaya devam et

Veri ithalinde hata – COM object of class ” does not have an Automation interface(IDispatch).

COM object of class ” does not have an Automation interface(IDispatch).

Eğer Axapta’ya Excel’den veri ithalinde üstteki hatayı alırsanız, tüm açık Excel belgelerini kapatıp sadece boş bir Excel belgesi açarak işlemi yeniden deneyin. Çünkü bu hatanın asıl anlamı Excel uygulamasının açılamadığını ifade etmektedir.

Veri Aktarımı (Veri ihraç ve ithali) ile ilgili yazının baş tarafı için linki takip ediniz.

Emre TÜFEKÇİ
İstanbul

www.atol.com.tr


Dynamics Ax 6.0’da Oracle desteği sona erecek

Dynamics Ax 6.0 (ya da 2012)’da Oracle desteği sona erecek. Alttaki metin Microsoft Türkiye tarafından iletilmiştir.

Dynamics AX 2012 olarak adlandırılan AX 6.0 sürümünden itibaren, daha önceki sürümlerde var olan ORACLE veritabanı desteğinin sona ereceği bilgisini sizlerle paylaşmak istiyoruz. Bu kararın alınmasında, SQL Server 2008 R2 iş zekası ve birlikte çalışabilme yetenekleri, müşterilerimizin daha düşük toplam sahip olma maliyeti ile çözüme kavuşabilmesi gibi nedenler etkin olmuştur.

2010 Ekim ayında yayınlanan ORACLE – Microsoft SQL Server veri taşıma aracı, bu geçişi yapmak isteyen müşterilerimize veri taşıma işleminde yardımcı olmak için tasarlanmıştır. Veri taşıma aracı (Microsoft SQL Server Data Migration Assistant), şu Dynamics AX sürümlerini desteklemektedir: Microsoft Axapta 3.0, Microsoft Dynamics AX 4.0, AX 2009.”

Buraya tıklayarak veri taşıma konusunda sıkça sorulan sorular dökümanını bulabilirsiniz.

Emre TÜFEKÇİ
İstanbul

www.atol.com.tr

Query nesneleri (Queries)-1

Bu makalemizde Dynamics AX’ta veri tabanına erişime nesne tabanlı bir çözüm sunan Query nesnelerini tanıtacağuz. Konu uzun olduğu için parçalara ayırarak yazacağım.

Ancak öngereksinim olarak Dynamics AX’taki table buffer kavramını bilmemiz gerekmektedir. Bu konunun detayları için Select Cümlecikleri ve Table Buffer konulu makaleleri inceleyiniz.

Dynamics AX’ta veri tabanına erişmenin ilk ve en kolay yolunun select cümlecikleri yazmak  olduğunu biliyoruz. Ancak Queryler select cümleciklerinden daha esnektir. Çünkü sorgular (Query) nesne yönelimli olarak düzenlenebilir. Böylece kullanıcıdan alınan değerlere göre dinamik sorgular oluşturulabilir. Basit bir sorguyu select ile yapmak çok daha kolay olmakla birlikte, kullanıcı ile etkileşime girerek dinamik sorgular oluşturmak söz konusu olduğunda query’ler kesin bir üstünlüğe sahiptir.

Okumaya devam et

Select Cümlecikleri ve Table Buffer kavramı : Inner Join, Outer Join, Exists Join, NotExists Join

Bu konunun başlangıcı için giriş makalesini ve sıralama, gruplama makalesini incelebilirsiniz.

Tablolarla ilgili yapılabilecek en önemli optimizasyonlardan biri join kullanmaktır. Join sayesinde iki farklı tablodaki veriler sırayla ele alınarak ilişkili kayıtları bulmak yerine, tüm ilişkili kayıtları içeren bir veri kümesi oluşturularak bu küme içinde işlem yapılır. Bu sayede o işlem için gereksiz kayıtlara hiç değinilmemiş olur.

Axapa’da SQL’den bildiğimiz inner join ve outer join yapıları aynen korunur. Ayrıca bu iki yapıya ek olarak exists join ve notExists join tipleri mevcuttur. Şimdi bunlara sıra ile değinelim, ama öncelikle custTable ve custTrans tablolarımızda alttaki gibi bir veri kümesi olduğunu varsayacağız:

Okumaya devam et

Tablolarla ilgili biraz daha derinler ve reflection

Tabloları kod içerisinde kullanırken yani table buffer kullanırken alanlara ulaşmanın en bilinen yolu
tabloAdi.alanAdi şeklindedir.

CustTable custTable;
;
select firstonly custTable;
info(custTable.AccountNum);

Ancak aslında table buffer’lar xRecord sınıfından türetildiğinden her bir alan bir property değerine karşılık düşer ve bir metodla da erişilebilir:
tabloAdi.(alanNumarasi). Böylece alanlara alan numarası ile de erişmek mümkün olur.

Okumaya devam et

Select Cümlecikleri ve Table Buffer kavramı : Sıralama ve Gruplama (Ordering, grouping and aggregation)

Bu konunun başlangıcı için giriş makalesini inceleyebilirsiniz.

Select cümlecikleri ile sıralama yapmak için 3 yöntem kullanılabilir.

  1. Index ya da index hint
  2. order by
  3. group by

Şimdi sırayla bunları inceleyelim:

Okumaya devam et