Posts Tagged ‘ Ax 2009

Axapta belge ekleme işlemleri

Merhaba

Axapta standardında herhangi bir tablonun satırına istediğiniz kadar belge ekleyebilirsiniz.

Bunun için öncelikle Temel / Belge Yönetimi” altındaki tanımları yapmanız gerekmektedir.

Belge Yönetimi menüsü altında:

1.Belge Tipleri

Farklı belge tipleri tanımlayıp bunların farklı klasörlerde  tutulmasını sağlayabilirsiniz.

Genel sekmesinde bulunan tanımlarla birçok esnekliği otomatik şekilde tanımlayabilirsiniz. Örneğin silinen dosyanın sadece kaydını silme veya hem kaydı hemde fiziksel dosyayı sılme işlermlerini seçebilirsiniz.

2.Etkin belge tabloları

Burda Axtablolarının bir listesi var Belge ekleme ikonunun görünmesiniistediğiniz tabloyu burdan seçmelisiniz.

3.Parametreler

Parametrelerde Belge tiplerini numara serisinivbtanımları yapabilirsiniz.Burada bulunan arşiv dizini tnaımlamasını yapmayı unutmayın.

Burdaki tanımlamalar bittikten sonra Belge eklemenin etkin olduğu tablonun formunda Aşşağıdaki ikon görünür. İkona tıklayarak gerekli belgeleri ekleyebilir. Yeni Excel Word ve txt dosyayısı oluşturabilirsiniz. Daha Önce oluşturduğunuz dosyalarıda buradan takip edebilirsiniz.

Peki bu belge yönetiminde farklı isteklerle karşılaşırsanız neler yapabilirsiniz bunları konuşalım.

Read more

CompanyImage Tablosundan resmi fiziksel bir ortama aktarma

//Write EmplImage to File Path

public static void  writeCompanyImageToFilePath(EmplId _emplId, str _filePath)

{

    #macrolib.File

    CompanyImage companyImage;

    EmplTable emplTable;

    Image myImg ;

    FileIOPermission permission;

  ;

Read more

Dynamics AX 2009 Keyboard Shortcuts

Viewing/Navigation options 

Accelerator Keys Task Description
Alt+F1 Show Navigation Pane (if it is not in auto-hide mode)This shortcut works from both MDI & SDI windows, so it is a good shortcut to get back to the main workspace.
Shift+Alt+F1 Enable/Disable auto-hide for the Navigation Pane
Ctrl+Shift+D Toggles the Content Pane between Developer and Content modes.  Developer mode makes the content frame (where Area pages & List pages are viewed) restorable/minimizable so it is easier to work with developer windows.
Ctrl+F1 Open global search pane
Alt+F5 Toggle the docking status of a docking window
Alt+F6 Move to the next docked window
Alt+Shift+F6 Move to the previous docked window
Ctrl+F6 Move to the next MDI window
Ctrl+Shift+F6 Move to the previous MDI window
Ctrl+Shift+V Open “Version control parameters” form
Ctrl+W Open a new workspace
F11 Focus the Address Bar in edit mode (works from anywhere)
Alt+Left Arrow Shortcut for the Back button on the Address bar
Alt+Right Arrow Shortcut for the Forward button on the Address bar
From AreaPage, ListPage or developer (MDI) window  
Alt+M Show the Microsoft Dynamics AX Command Bar
Alt+W Show Windows menuHint: do this then press “a” to close all windows.
Alt+V Show View menu
Alt+H Show Help menu
Alt Show KeytipsPress the corresponding key to navigate directly to ActionPaneTab/Group/Button

There may be one or more ActionPaneTabs/Groups/Buttons with the same letter for a Keytip.  To execute a duplicate Keytip, keep pressing the letter until focus is on the one you want and then hit Enter.

Read more

Axaptada forma kodla çoklu range eklemek

Merhaba

Bir araç isteği geliştirmesi yaptığımızı düşünelim. Araç isteklerinin listelendiği bir form yapıyoruz.
Burada kişi bu formu açtığında kendi kayıtları ve kendisine bağlı olan pozisyondaki personelinin kayıtları görünsün istiyoruz.

init motudundan çağırabileceğimiz addrange metodumuz şöyle olabilir.

void addRange()
{

HRPPartyPositionTableRelationship HRPPartyPosition;
HRPPartyPositionTableRelationship HRPPartyPosition2;
QueryBuildRange rangeReqOwner;
emplId emplId;
str filterReqOwner;

;rangeReqOwner = VehicleRequest_ds.query().dataSourceTable(tablenum(VehicleRequest)).addRange(fieldNum(VehicleRequest, ReqOwner)); // range tanımlıyoruz

Read more

İyimser Eşzamanlı İstisnalar(Optimistic Concurrency Exceptions)

İyimser eşzamanlı kontrolü (optimistic concurrency check (OCC)) AX 2009 da performance arttırma işlevidir. Gerçek güncelleme anına kadar, veri tabanından alınan bir kayıt değiştirilmeyecek varsayılır. Bunun anlamı veri tabanında ki bu kayıt üzerinde daha az kilit olması ve diğer kullanıcıların daha hızlı erişmesidir.

Aynı zamanda bunun anlamı bir kullanıcı kaydı güncellerken diğeride bu kaydı ele alabilir. Bu da kayıt tutarsızlığına sebep olabilir. Şöyle ki; eğer ikinci kullanıcıda kaydı güncellemeyi dener ise bir hata fırlatılır. Bu durumda sistem şunu yapar; recVersion alanını kullanarak hangisi güncellendi ise bir kayıt için her seferinde bir güncelleme yapılır.

OCC İstisna Yönetimi

catch (Exception::UpdateConflict)        

Read more

İstisnalar (Exceptions)

İstisna programın normal akışı kesildiğinde ortaya çıkan durumdur.  İstisna örnekleri:

  • Yazdırma sırasında printerin güç düğmesinin açık olmaması
  • Olmayan bir dosyaya erişmek
  • Olmayan bir kaydı güncellemek

Bu istisnalar meydana geldiğinde program bunları yönetmek için harekete geçmelidir. Örneğin, eğer kullanıcı olmayan bir dosyayı ele almayı istemiş ise sistem bu istisnayı yakalamalı ve yeni bir dosya oluşturmalı gibi.

Read more

Macros in axapta

In Axapta’s predecessor, macros were widely used. The predecessor did not support
classes, so macros were used instead. This might be the reason that macros are a part of
MorphX today. In MorphX macros are not commonly used. A few places make use of
macros such as keeping track of the list of fields stored when using dialogs. It is
recommended only to use macros to define constants. Macros are not supposed to be
used for code, as reusing code from macros is not flexible as using methods.
Macros can be created under the Macro node in the AOT, as a local macro in a method
or a single line defining a constant. The main difference between a macro and a method
is that a macro has no variable declaration part, and the code in a macro is not validated
for errors before executed from a method. This is one of the main reasons not to put
code in macros, as it makes the code more difficult to read.

Read more

İletişim Araçları

Merhaba

Mehmet Aktürk arkadaşımın hazırlamış olduğu eğitim dokumanından yaralanarak bu yazıları hazırladım. Kendisine yardımlarından dolayı teşşekkür ederim.

Son kullanıcı ile iletişime geçmek her yazılımın önemli bir parçasıdır ve sürecin doğru işlemesi için kritiktir. İletişimin ana tipleri aşağıdaki gibidir:

  • Büyük miktarda verinin girildiği ya da alındığı formlar ve raporlar.
  • Belirli özel veri girişleri ve çıktıları için yazdırma komutları, bilgilendirme günlükleri ve dialog kutuları

Bu bölümde yazdırma komutlarını, bilgilendirme günlükleri ve dialog kutularını nasıl kullanacağımızı görücez. Formlar ve raporlar daha ileri seviye konularda ele alınacaktır.

Print komutu

Print komutu istediğimiz değeri ekranda yazdırmamızı sağlar fakat bu ekran öyle hızlı işletilir ki bunu göremeyiz. Bu yüzden pause komutunuda kullanmalıyız. Bu komut print komutu işletildikten sonra akışı durdurur ve açılan print penceresini dondurur. Print komutu normal programlama süreçlerinde kullanışlı değildir ve kullanımı bir anlam ifade etmez. Bu komut programcılar tarafında özel durumlarda bazı değerleri görebilmek için kullanılır.

print “This is a test message.”;

pause;

Read more

Dahili(Built-in) Fonksiyonlar

Microsoft Dynamics AX X++ ta geliştirme yapılmasına yardımcı olan bir çok dahili fonksiyon içerir. Bunlar matemetiksel işlemler yapar, data tiplerini çevirir, sistem değerleri döndürür vb.

Dahili Fonksiyonları Kullanmak

Dahili fonksiyonları X++ kodunun herhangi bir yerinde kullanabilirsiniz. Bu fonksiyonaları elle yazabilir, kod editörde sağ tuş yapılarak açılan bağlam menüde Yerleşik İşlevleri Listele seçeneği ile ya da Shift+F4’e basarak bu fonksiyonların listesini görüntüleyebilirsiniz.

Dahili Fonksiyon Örnekleri:

Bu örnekte position dan başlayarak number kadar olan string alınır.

str subStr(str text, int position, int number);

Read more

Döngüler

Yinelenen ifadeler yazılımda döngüler olarak bilinirler. Döngülerde söylenmesi gereken en önemli şey döngünün devamını sağlayan şartın aynı zamanda muhakkak döngüyü sonlandırmasıda gerekmektedir. Bu dikkate alınmaz ise program akışı sonsuz döngüye girer ve hata alınır. X++ ta üç ana döngü vardır:

  • while loop
  • do while loop
  • for statement
While Döngü İfadesi

While ifadesi yanında parantez içinde belirtilen koşul sağlandıkça kuşak imleçleri arasındaki kod tekrarlanarak işletilir. Burda dikkat edilmesi gereken önce şartın kontrol edilmesi ve sonra gerekirse kod işletilir.

Read more

Page 1 of 812345...Last »