1. Ana Sayfa
  2. Dynamics 365
  3. X++ :6- Tables Nedir?

X++ :6- Tables Nedir?

Bu yazıda Dynamics 365 Finance and Operations tablolarından bahsedeceğim. Tablo sistemin en önemli nesnesi desek yanlış olmaz. Öncelikle Tablolar gerçek SQL tabloların XRecord sınıfından türeyen sınıf karşılıklarıdır.

Tabloların birçok özelliği var sırayla hepsinden bahsetmeye çalışacağım. Standartta 12000’in üzerinde tablo var.


Resim-1

Yeni bir tablo oluşturalım. FDBookTable bizim temel tablomuz olacak.


Resim-2

Fields alanına önceki yazılarımızda oluşturduğumuz EDT ve Enum‘ları kullanarak alanları oluşturdum. Bunu sürükleyip bırakıp yapabilirsiniz.

Fields: Tablonun biz tarafından yönetilen alanlarıdır. SQL’de otomatik alanlar oluşur.

Field groups: SQL de olmayan bir özelliktir. Aynı tipte olan alanları bir araya getirip grup oluşturabilir ve bunları formlarda kullanabilirsiniz. Sonrasında eğer yeni bir alan ekler ve bunu da bir gruba dâhil ederseniz kullanılan tüm formlara otomatik eklenir.

Indexes: Aslında SQL indeksleridir. Burada oluşturulan indeksler otomatik SQL de oluşturulur. Performans için en önemli özelliklerden biri budur. Tabloya göre uygun indeksler belirlenmelidir.

Full Text Indexes: Çok uzun metinlerin içiren kelime aramaları hızlandırmak için oluşturulan indekslerdir. SQL de bire bir oluşur.

Relation: Tabloların birbiriyle olan ilişkilerini tutar. SQL’e yazmaz.

Delete Actions: Bu tablodan kayıt silinmeye çalışıldığında ilişkili tablolarda kayıt varsa nasıl davranması gerektiğine karar verir. X++ ta olan bir özelliktir.

State Machines: İş akışı durumları için kullanılır.

Mappings: Tablolar mapları buradan görüntülenebilir.

Methods: Bir sınıf olduğu için birçok metodu vardır ve bizde ekleyebiliriz.

Events: Tablo üzerinde olan olayları gösterir. Biz X++ yazılımcıları metot kullanmaya daha alışkınız ama yeni versiyonla bunlar biraz değişti.

En temel tablo özelliklerini işaretledim. İleriki yazılarımda tek tek anlatacağım


Resim-3

Modified By ve Modified Date Time özelliklerini açıyorum. Bu sayede otomatik olarak kaydı kim hangi zamanda açmış tutabileceğiz.


Resim-4

Bir tane index oluşturuyorum. En temel anahtar BookId olduğu için onu ekledim. Bu indexi özelliklerden birincil anahtar olarak seçiyorum.


Resim-5

Alanlarında birçok özelliği mevcut. Yine ne temel özelikleri işaretledim.


Resim-6

Tablomu kaydettikten sonra derleme ve eşitleme yapıyorum artık Table Browser ile kontrol edebiliriz.

Resim-7

Bir tane örnek kayıt girdim. Bizim açmadığımız sistemin otomatik açtığı alanlar var onlardan bahsedeyim.

DataAreaId: Şirket kodu eğer tablonuz şirketler üstü değilse bu alan otomatik hangi şirkette işlem yaparsanız o şirket kodu ile dolar.

RecVersion: Kısaca aynı anda iki kullanıcının aynı kaydı güncellemesini engellemek için tutulan rasgele bir sayıdır. Her güncellemede değişir.

Partition: Şirketler üstü bir gruplamanız varsa örneğin finans şirketleri veya üretim şirketleri gibi bunları ayırmak için kullanılır. Şu anda çok aktif kullanılmıyor.

RecId: Tablo bazında tekil int64 tipinde bir anahtardır.


Resim-8

Bu yazıda tabloları size tanıtmaya çalıştım. Bu yazıda ancak kapıyı araladım diyebilirim. Çok fazla ayrıntı mevcut farklı yazılarla tabloları anlatmaya devam edeceğim.

Selamlar.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar:
www.mshowto.org

www.fatihdemirci.net

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

Yorum Yap

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