Archive for Şubat 22nd, 2020

X++ :10- Query Nedir?

Bu yazıda X++’ın en güçlü özelliklerinden biri olan Query’leri inceleyeceğim. Query nesne tabanlı sorgu olarak özetleyebiliriz. Bu sorgu nesne bazlı olduğu için istenildiği gibi değiştirilebilir ayrıca son kullanıcı ile iletişime sokulabilir. Bu sebeplerden Form ve raporların temel veri kaynağı Query’dir.  Hem kodla hem de ara yüzden oluşturabiliriz. Form ve view gibi yapılarda kullanmak için genelde ara yüzden oluşturulanlar kullanılır.  Bu yazıda ara yüzden örnek bir Query oluşturacağım. İlerleyen yazılarımda kodla nasıl oluştururuz ve nasıl kullanabiliriz anlatacağım.

Resim-1

Yeni bir Query oluşturuyorum.

Resim-2

Query’de temel birkaç özellik var tabi öncelikle veri kaynağı belirlemelisiniz. Ben veri kaynağı olarak FDBookTable ekledim ve FieldList ile BookId, BookName oluşturdum. Range olarak ta BookCoverTyoe ekledim. Eğer kabaca sorgu olarak yazsaydım şöyle olurdu. Bu sorguyu artık istediğim yerde kullanabilirim.

Select BookI, BookName From FDBookTable

Where FDBookTable.BookCoverTyoe == FDBookCoverType::paperback;

Resim-3

Standartta olan karmaşık bir sorgu örneği. Burada 3 tablo bağlanmış. Filtre ve sıralama verilmiş.

Resim-4

Kullanıcı ile iletişime giren Query ekranı bu şekildedir. Bu resim eski versiyondan ama mantıkta bir fark yoktur. Yukarıdaki sorgunun görsel halini görebildiğimiz gibi buradan kullanıcı istediği işlemleri yapabilir.

Resim-5

Eklediğimiz veri kaynağı otomatik alanları seçilmeden gelecektir. Eğer tüm alanlar seçilsin isterseniz Dynamics Fields özelliğini Yes yapmak gerekir.

Resim-6

Bu yazıda ara yüzden nasıl Query oluşturulur anlatmaya çalıştım. Query çok geniş ve çok kullanılan bir özelliktir. Ayrıntılarına vakıf olmak için bol bol örnek yapmak lazım. Özellikle form tarafında kullanımı konusunda çok zafiyet görüyorum bu konuda ayrı bir yazı hazırlamayı düşünüyorum.

Selamlar.

www.fatihdemirci.net

TAGs: X++,Query, Azure, Azure DevOps, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365