"Niektórzy ludzie, kiedy napotkają problem, myślą: 'Wiem, użyję wyrażeń regularnych'.
I teraz mają dwa problemy."

Jamie Zawinski

piątek, 10 grudnia 2010

Dynamics AX: Czytnik RSS

Kolejnym artykułem postanowiłem się podzielić z Wami, kiedy natknąłem się na swój przykład prostej aplikacji z czasów nauki programowania w Dynamics AX :) Aplikacja ta jest prostym czytnikiem kanałów RSS. Przykład w środowiskach AX może niepraktyczny, ale pomimo to można wykonać np. wyświetlanie najważniejszych informacji firmowych czy agregację najświeższych wiadomości ze świata biznesu. Dla Pani Kazi z księgowości można wyświetlać wiadomości o nowych przepisach ze świata finansów czy podatkach z portali branżowych,  a także aktualne kursy walut ... Zastosowań jak się okazuje może być mnóstwo i jest to "bajer", który może być wielu użytkownikom przydatny.

Cała aplikacja zbudowana będzie z jednej tabeli i dwóch formularzy.


czwartek, 2 grudnia 2010

Dynamics AX: Walidacja NIP

W kolejnym artykule dotyczącym systemu Dynamics AX (Axapta) postaram przedstawić budowę brakującej cegiełki systemu w lokalizacji polskiej. Jakież było moje zdziwienie, kiedy zobaczyłem, że w systemie ERP sprzedawanym na polskim rynku nie ma walidacji podstawowego numeru wykorzystywanego w celu identyfikacji podatkowej - NIP.

wtorek, 30 listopada 2010

Dynamics AX: Mapa Google do sprawdzania lokalizacji odbiorców - tutorial cz. 2

W drugiej części tutoriala pokażę, jak zintegrować komponent Flash z systemem Microsoft Dynamics AX (przykład zademonstruję na wersji 4.0, ale z powodzeniem można go zastosować do nowszych wersji).

Jeśli pominąłeś część pierwszą, a chcesz zacząć od początku to zapraszam tutaj.

piątek, 26 listopada 2010

Dynamics AX: Mapa Google do sprawdzania lokalizacji odbiorców - tutorial cz. 1

W tym artykule pokażę jak zintegrować system Microsoft Dynamics AX z mapą Google na przykładzie lokalizacji odbiorców. W części pierwszej opisana zostanie część jaką należy wykonać, aby stworzyć aplikację w technologii Flex / Flash, w drugiej natomiast zajmiemy się integracją tej aplikacji w systemie Dynamics AX.

Dynamics AX: Debugowanie metody clicked

Wielu programistów X++ myśli, że nie jest możliwe debugowanie metod zdarzeniowych np. w metodach clicked. Są w błędzie :) Dzięki koledze Michałowi Lisowskiemu dowiedziałem się, że jednak jest to wykonalne:

void  clicked()
{
    breakpoint;
    // ... action
}

Dzięki słowu kluczowemu "breakpoint" jest uruchamiany debugger.


Tematycznie polecam:

Dynamics AX: Odczytywanie separatora dziesiętnego

W kolejnym poście, tym razem krótkim, przedstawię jak pobrać separator dziesiętny z ustawień systemowych. Często przy imporcie/eksporcie plików CSV lub XLS występuje problem odpowiedniej konwersji liczb typu real. Oto kod, który za pomocą klas .NET wyciąga separator:

System.Globalization.CultureInfo ci = System.Globalization.CultureInfo::get_CurrentCulture();
System.Globalization.NumberFormatInfo ni;
str systemDecimalSeparator 
;
 
ni = ci.get_NumberFormat();
systemDecimalSeparator = any2str(CLRInterop::getAnyTypeForObject(ni.get_CurrencyDecimalSeparator()));

Zmienną systemDecimalSeparator możemy użyć do konwersji przed zapisem lub odczytem liczb w plikach tekstowych lub w Excelu.

czwartek, 25 listopada 2010

Dynamics AX: Numerator - tutorial

Numerator w systemie Dynamics AX doświadczonemu programiście nietrudno dodać, lecz często przy natłoku zadań można zapomnieć co gdzie jeszcze dodać, żeby od razu działało jak należy :) Ten tutorial ma w tym pomóc. Do dzieła!

Dynamics AX: Pozbycie się komunikatów w testach jednostkowych

Kto kiedyś pisał testy jednostkowe (unit test) w X++ lub został postawiony przed takim faktem, natknął się lub natknie na uporczywe komunikaty - jeśli w testowanym kodzie takie wystąpią. Załóżmy teoretycznie, że testujemy kod w stylu:

while(condition ...)
{
 if (Box::YesNo( arguments ...))
 {
  // action
 }
}

Powitanie

Od dłuższego czasu zwlekałem z wystartowaniem tego bloga i tak naprawdę do końca nie wiedziałem na jaki temat mogę pisać. Wreszcie nadeszła ta wiekopomna chwila kiedy pewien impuls zachęcił mnie do dzielenia się wiedzą jaką mam przyjemność przetwarzać na co dzień. Blog ten oprócz funkcji propagowania informacji ze świata programowania, ma mi służyć jako "skorowidz operacji wykonanych" :) - czyli indeks z reguły krótkich zagadnień programistycznych do których często powracam, a które czasami niejednokrotnie spędzają sen z powiek. Chyba każdy kto zawodowo zajmuje się programowaniem w pewnym momencie swojej pracy dostrzega powtarzalność i rodzące się pytania z charakterystycznym drapaniem się po głowie: "jak ja to wtedy zrobiłem?" ;) Mam nadzieję, że ten blog przyczyni się do oświecenia wielu potrzebujących. Koniec gadania, do pracy :)