IntelliMorph ile Form Kişiselleştirme

IntelliMorph Dynamics AX’ın kullanıcılara kendi düzenlemelerini yapmalarına olanak tanıyan frameworkunun adıdır. IntelliMorph sayesinde herhangibir kullanıcı formda istediği alanın yerini değiştirebilir, gridde sağa – sola sürükleyebilir, farklı bir sekmede bulunan bir alanı istediği sekemeye getirebilir ya da bir alanın görüntülenmesini istemiyorsa kaldırabilir. Bu yaptığı değişiklikler sadece kendisi için geçerli olur. Ancak istenirse kaydedilerek bir başka kullanıcıya da aktarılabilir.

Aslında IntelliMorph yazılım geliştiricilerin yükünü hafifleten bir yapıdır. Çünkü önyüzle ilgili ufak tefek geliştrimeler yapmak yerine kullanıcıların ayar yapmasının önü açılmış olur.

IntelliMorph ile form düzenleyebilmek için SysFormPersonalization güvenlik anahtarı o kullanıcı için açık olmalıdır. Bu da  Kullanıcı Grubu İzinleri’nde Yönetim Çeşitli Form Kişiselleştirme anahtarı ile takip edilir.

IntelliMorph kullanmaya yetkili bir kullanıcı için herhangibir formda sağ tuş ile gelen seçeneklerde Kurulum seçeneği yer alacaktır.

Okumaya devam et

Microsoft Dynamics AX 2009 Development I-II + Workshop

Mart 2011 için Development eğitimi planımız ertelenmişti. Yeni tarih netleşti. Katılmak isteyenlere duyurulur.

Microsoft Dynamics AX 2009 Development I-II + WorkshopTarih: 31 Mart 1-2 Nisan/7-8-9 Nisan 2011

Süre: 6 gün

Hakkında;

İlk aşamada; Microsoft’un belirlediği müfredatın anlatıldığı son gün yapay implementasyon kapsamında, anlatılan konulara ait atölye çalışmalarının yapıldığı, katılımcılara Microsoft Dynamics AX entegre  geliştirme ortamı (IDE) olan MorphX’i tanıtmayı, Microsoft Dynamics AX çözüm bloklarını anlamayı sağlamaktadır.

İkinci aşamada ise; Katılımcılara Microsoft Dynamics AX içinde X++ dilini kullanarak nasıl geliştirme yapıldığını tanıtmayı amaçlamaktadır. Bu eğitimde öncelikle  X++ dili ve bu dilin nesne yönelimli programlama ilkeleri (OOP) ile ilişkileri tanıtılmakta, ayrıca geliştirme için gerekli olan araçları incelemektedir.  Katılımcı bu eğitimi tamamladığında Microsoft Dynamics AX kontrol yapıları, X++ kullanarak veritabanına erişim ve istisna yönetimi ile ilgili geniş bilgi birikimine sahip olacaktır.

Okumaya devam et

Ax içinden web service kullanımı – Web Services in Ax

Öncelikle Web Service(WS)in ne olduğuna dair küçük bir bilgilendirme yapmalıyız.

WS, bir sunucu üzerinde barındırılan bir programın internet üzerinden istemcilere kullandırılmasını sağlayan yapının adıdır. Kullanılan en temel bileşenler HTTP, WSDL, SOAP ve UDDI olarak sıralanır. WS’ler dış dünya ile iletişimin en temel yöntemlerinden biridir. Örneğin günlük kur değerlerini almak için merkez bankasının web servisi kullanılarak kurlar otomatik güncellenebilir, satıcının web servisi kullanılarak siparişin durumu takip edilebilir, kargo firmalarında gönderinin nerede olduğunu sorgulamak üzere basit web servisler kullanılır vs.

Daha detaylı bilgi için : http://www.w3schools.com/webservices/default.asp ya da http://en.wikipedia.org/wiki/Web_service linklerini takip edebilirsiniz.

Dynamics AX içinden de tıpkı .NET’de olduğu gibi WS kullanılabilir. Bu konuyu test edebilmek için örnek bir WS’e ihtiyacımız var ki bu amaçla http://www.w3schools.com/webservices/tempconvert.asmx‘i kullanabiliriz. Bu WS celcius – fahrenheit derece dönüşümünü sağlayan basit ama güzel bir WS’tir.

Okumaya devam et

SQL Tablolarının boyutlarını ve satır sayılarını sorgulamak

Alttaki kodu kullanarak SQL veri tabanınızdaki tabloların boyutlarını, satır ve sütün sayılarını görebilirsiniz. Bunun için SQL Server’da varolan bir stored procedure kullanılmaktadır. Sorgulanan bilgi geçici bir tabloya yazılıp (tempTable) işlem bitince de silinecektir.


USE [DYNAMICSAX50]
GO
CREATE TABLE #TEMP
		(TABLE_NAME		SYSNAME ,
		ROW_COUNT		INT,
		RESERVED_SIZE	VARCHAR(50),
		DATA_SIZE		VARCHAR(50),
		INDEX_SIZE		VARCHAR(50),
		UNUSED_SIZE		VARCHAR(50))

SET NOCOUNT ON

INSERT #TEMP
	EXEC SP_MSFOREACHTABLE 'SP_SPACEUSED ''?'''

SELECT	A.TABLE_NAME,
		A.ROW_COUNT,
		COUNT(*) AS COL_COUNT,
		A.DATA_SIZE
		FROM #TEMP A
	INNER JOIN INFORMATION_SCHEMA.COLUMNS B
		ON A.TABLE_NAME
			COLLATE DATABASE_DEFAULT = B.TABLE_NAME
			COLLATE DATABASE_DEFAULT
	GROUP BY A.TABLE_NAME, A.ROW_COUNT, A.DATA_SIZE
	ORDER BY CAST(REPLACE(A.DATA_SIZE, ' KB', '') AS INTEGER) DESC

DROP TABLE #TEMP

Bilgi ve önemli uyarı Her ne kadar Dynamics AX ile çalışırken veri tabanı işlemlerini AX’a bıraksak da, upgrade,  entegrasyon gibi nedenlerle SQL işlemleri de yapmamız gerekebilir. Bu işlem için yardımcı olabilecek komutları sizlerle paylaşmak istedim.

Bu yazıda SQL veri tabanındaki tabloların boyutlarını nasıl sorgulayabileceğimizi inceledik. Bu kod zararsız olmakla birlikte sonucu gösterinceye kadar sisteminizi yavaşlatabilir. Bu kod örneklerini kullanmanız halinde oluşabilecek hatalar tamamen sizin sorumluluğnuzdadır.

Bazı işlemleri SQL üzerinden yapmayı istememizin en temel nedeni performanstır. Zira bazı sorgular Ax aracılığı ile yapılmak yerine SQL üzerinden yapılırsa çok daha hızlı sonuç alınabilmektedir. Yine de ne yaptığınızdan emin değilseniz SQL’i kullanmayın.

Emre TÜFEKÇİ
İstanbul

www.atol.com.tr

SQL Insert ve Databaseler arası veri taşıma

SQL’de bir tabloya kayıt atmak için iki temel yöntemden birisi  seçilmelidir.

  1. Tek satır kayıt atmak : Bu işlem için en azından zorunlu alanlar doldurularak işlem yapılmalıdır.
USE [db_adi]
INSERT INTO tablo_adi (sutun1, sutun2, ...)
    VALUES ("deger1", "deger2", ...)
        WHERE sutun5 = "xxx"
  1. Çok satır kayıt atmak : Bu işlem için başka bir kaynaktan (örneğin başka bir tablodan) kayıt okumak gerekecektir. Alttaki örneklerde tablo_adi2 tablosundaki sütun21 değerleri, tablo_adi tablosundaki sütun11 alanına,.. (sırası ile diğer alanlar) yazılarak tablo_adi1’de yeni kayıtlar oluşturulacaktır. İşlemi bir kayıt kümesi ile sınırlandırmak için where cümleciği ile kriter belirtilebilir.

Okumaya devam et

.Net ile Ax tablolarına erişmek ve formda göstermek

Konu konuyu açıyor derler ya, bir önceki yazıdan sonra bu yazıyı yazmak uygun geldi. Zira soruda Ax verisine ulaşmak, yeni kayıt ya da güncelleme sorulmakta idi. Bu yazımızda önce veriye bir erişelim, bir sonrakinde de update işlemine bakarız.

Visual studio’yu açıp Yeni Proje Windows Forms Application seçelim. Projemizin adı bcTest olabilir. Projemizin referanslarına Microsoft.Dynamics.BusinessConnectorNet’i eklememiz gerekecektir. Bu DLL Ax Client’ınızın kurulu olduğu klasörde Bin’in içindedir. (Örneğin benim bilgisayarımda C:Program Files (x86)Microsoft Dynamics AX50ClientBin Microsoft.Dynamics.BusinessConnectorNet.DLL olarak bulunuyor.) Projenizin References düğümüne sağ tıklayıp Add Reference seçin ve açılan pencereden BusinessConnectorNet.DLL’i ekleyin.

Okumaya devam et