‘ Microsoft Dynamics Axapta ’ Adlı Kategori

Retail Pos’tan Müşteri Kayıt ve Transaction Service

Nisan 14, 12 Yazan: akın

Axapta ERP’sinde müşteriler bildiğiniz gibi CRM modülü içerisinde kaydedilir ve düzenlenir. Axapta tarafında düzenlenen müşteriler daha sonra Retail Pos tarafına N-1010 job’u ile transfer edilir.

Bu akış aslında tek yönlü bir akış değildir. Şöyle bir iş modeli düşünün. Bir şirket hizmet sektörüne dahil ve “perakende hizmet” vermektedir. Bu durumda müşteriler o şirketin mağazalarına gidip bireysel hizmet alacaklardır. Daha somut örnekle hoteller, spor merkezleri veya kulüpler düşünülebilir.

Bu sektördeki şirketlerin birden fazla yerde şubeleri bulunur ve müşterilerine hizmet sunarlar. Bu modelde müşteri kayıt işlemi Axapta tarafında olacağı gibi mağazalarda ve şubelerde de olacağı için akış çift yönlüdür.

Normalde Retail Pos’lardan müşteri açılabiliyor. Müşteri kaydı yaptığınız zaman eş zamanlı olarak Axapta’da da kayıt açılır. Yani müşteri kayıt işlemi anlık bir işlem olmak zorunda.

Anlık ve eş zamanlı dediğimiz için Transaction Profile Service’in düzgün çalışması gerekiyor. Axapta Retail Headquarter tarafında Transaction Service Profile’ı düzgün ayarlamadıysanız, mağazadan müşteri kaydetmek istediğiniz de hata alacaksınızdır.

Tüm bilgileri nizami girdiğiniz halde Pos tarafında müşteri kayıt hatası alıyorsanız ilk kontrol etmeniz gereken yer Axapta tarafındaki Transaction Servisin düzgün çalışıp çalışmadığı, ayarların düzgün yapılıp yapılmadığı ve mağaza ile Axapta’nın birbirleriyle sorunsuz veri alışverişinde bulunup bulunmadığıdır.

Hazır Transaction Service’ten bahsetmişken bir sonraki yazımda Transaction Service’in kolay kurulum ve ayarlarına değinmeyi düşünüyorum.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Axapta Formlarında _ds Uzantısı/Takısı Ne Anlama Gelir?

Kasım 04, 11 Yazan: akın

Axapta’da kod yazmaktan çok hangi kodu nerede kullanacağınız, ve kulandığınız eklerin methodların hangi class’lardan geldiğini bilmek önemli. Genel itibariyle axapta yazılımı müşteri ihtiyacına yönelik customize edilebilen bir yazılım.

Elbette ki içinde projeler yaratıp import/export işlerini gerçekleştiriyorsunuz, projelerinizi geliştirirken takip etmeniz gereken geliştirme yönetmleri ve uygulamanız gereken iş kuralları var fakat genelinde kullanılan kodlar bellidir.

Bilinmesi gereken noktalardan bir tanesi ise _ds takısıdır. <_ds> takısının kullanımı <tabloismi><_ds>.methodismi(); şeklindedir. Sondaki _ds uzantısı bir tanımlayıcı görevi görür. Formun tabloismi ile belirtilen datasource’undan belirtilen (methdoismi) method’un çağrılması amaçlanır. Bu methodlar, FormDataSource classında tanımlanırlar.

Deneme yapmak için, Yeni bir form oluşturup datasource’ına custtable’ı atın. Daha sonra Form methodlarına sağ klikleyip init() methodunu override ederek aşağıdaki kodu methoda yazmanız yeterli.

custtable_ds.getFirst();

FormDataSource classında tanımlanmış olan ve kullanabileceğiniz diğer methodları incelemek isterseniz, Developer Guide’ı kullanabilirsiniz.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Axapta’da Tablo’ya Find Methodu Eklemek

Kasım 03, 11 Yazan: akın

Axapta’da geliştirme yaparken genel bir tavsiye olarak orjinal tablolaları ve formları değiştirmemenizi isterler. Ek işlevsellik eklemek için Axapta’da bulunan tablolara ve formalara dokunmak yerine kendi tablolarınızı ve formlarını oluşturmanız ve bunları Extended Data Types lar ile Axapta’ya bağlamanız beklenir.

Axapta’nın orjinal halini bozmadan yapacağınız her özelleştirme, güncellemelerde işinizi oldukça kolaylaştırarak zamandan tasarruf etmenizi sağlayacaktır.

Lafı fazla uzatmadan hemen bahsetmek istediğim noktaya geliyorum. Tabloyu oluşturduğunuz zaman bu kendiliğinden oluşmayacaktır, sizin bu methodu oluşturarak kullanımınıza yönelik kodlar eklemeniz gerekir.

Elbetteki farklı kullanımlar için daha spesifik kodlar yazmanız mümkün fakat ben en temel haliyle bir kod paylaşıyorum sizinle. Bu kod Primary Key alanına göre arama işlemi yaparak ilgili satırı getiriyor.

public static Tablo find(TabloId tabloId, boolean update=false)
{
    Tablo tablo;
    ;

    tablo.selectForUpdate(update);

    if(tabloId)
    {
        select firstonly tablo
        where tablo.CarId==carId;
    }

    return tablo;
}

Kısa bir hatırlatma da yapmak istiyorum. Bu methodu formlarda oluşturma şansınız var fakat direk tablo nesnesinde oluşturmanız tavsiye edilir.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Retail Scheduler’da Toplu İş Tanımalama

Ekim 27, 11 Yazan: akın

Axapta’dan Pos’lara veya Poslardan Axapta’ya düzenli aralıklarla verilerin gidip gelmesi gerektiğini biliyoruz. Gerek raporlama olsun, gerek güncelleme olsun mutlaka arada belirli servisler ve onların rutin çalışmalarını sağlamak zorundasınızdır.

Axapta Retail Headquarter’da bu işi yapan modülün ismi Retail Scheduler’dır. Retail Scheduler, mağaza tümleştirme/birleştirme işlemleri, dağıtım listeleri ve planlayıcı işleri gibi bir takım hayati işlemleri yapmanızı sağlayan bir yapı sunar size. Bu yazıda ise belirli periyotlarla belirli jobları çalıştırması için “batch job” ayarlayacağız.

retail scheduler batch job oluşturma

Öncelikle Retail Scheduler > Scheduler Job formunu açarak resimdeki gibi toplu halde çalıştırmak istediğimiz işleri ctrl veya shift yardımıyla seçiyoruz. Daha sonra sağda yer alan Batch Job butonuna tıklayarak Create batch Job u seçiyoruz.

retail scheduler batch job toplu iş ayarları

Açılan pencereden ise batch job için başlangıç, bitiş tarihi; yineleme sayısı ve ismi gibi bilgileri giriyoruz. Günde bir kere çalıştırmak için başlangıç saatini ve tarihini ayarlıyorsunuz, bitiş tarihinin olmadığını belirten seçeneği seçiyorsunuz, günlük olduğunu belirten ayarları yapıyorsunuz. En son adımda ise isim veriyorsunuz. Resimde kırmızı kare içindekilere göz gezdirin. Kaydediyoruz.

basic batch job monitor toplu iş görüntüleme

Oluşturduğumuz toplu işi inceleyip, işlemler yapmak için ise Basic > Batch Job formunu kullanmalısınız. İşi çalıştırmak için sağ butonlardan Functions > Change Status formunu açarak Waiting hale getirmelisiniz. İşlerin son durumunu görmek için ise Functions > Refresh seçeneğini kullanmalısınız.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Retail Pos Epson OPOS ADK Problemi

Ekim 26, 11 Yazan: akın

Pos makinasına gerekli yazılımları sırasıyla yükledikten, ayarları yaptıktan ve Retail Pos’ da sıkıntısız açtıktan sonra hala printerdan fatura veya makbuz alamıyorsanız sorunu kendinizde aramayın. Microsoft’a göre hiçbir neden yokken baskı alınamıyorsa, Epson OPOS ADK’nın eski sürümlerini yükleyip deneyin. Geçenlerde bu tarz bir olayı tecrübe etmiştim. Bir problem yaşıyorsanız en azından denemenizde fayda var.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Retail Store Connect Ne İşe Yarar?

Ekim 25, 11 Yazan: akın

Microsoft Dynamics POS ile Axapta Headquarter arasındaki veri iletişimini sağlayan ve bunları loglayan servisin ismi Retail Store Connect’tir. Bu servis tahmin ettiğiniz üzere bir windows servisi olup çalıştığı sistemde belli başlı yetkilere sahip olmalıdır.

Genel topolojiye baktığımızda veri iletişiminde bulunacak olan her makinada bu servisin çalışması gerekmektedir. Bizim bu örneğimizde sadece iki iletişim noktası bulunuyor. Birincisi AOS server ve Retail Headquarter, diğeri ise mağazada bulunan kasa niteliğindeki Retail Pos makinası.

Axapta Retail Scheduler’da bir job çalıştırdığınız zaman, öncelikle AOS serverındaki Retail Store Connect servisi kendi üzerindeki veritabanında ilgili verileri ve şemaları çekerek bir paket oluşturur. Daha sonra bu paketi, pos terminali niteliğindeki makinanın Retail Store Connect servisine gönderir. Pos Terminali olarak görev yapan makinadaki Retail store Connect servisi ise gerekli işlemleri başlatır.

Bu iki iletişim noktasının arasında ise oluşturulan veri paketleri gidip gelecektir. Veri paketlerini incelemek isterseniz de yine Retail Store Connect Settings uygulamasından ilgili paketi xml dosyasına çeviren converterı kullanabilirsiniz. Aktarımda herhangi bir sorun oluştuğunda yapmanız gerekenlerden bir tanesi de gelen paketlerdeki tablo uyumluluğunun olup olmaması. Daha önceki tecrübelerimin bir tanesinde anlamsızca aldığım hatada, sorunun veri paketleri tarafından taşınan veriler ve tablo yapılarının mevcut Retail Pos veritabanındaki tablolarla uyumsuz olduğunu gördüm.

retail store connect service

Retail Store Connect servisi ile gelen paketler işleme alınmadan önce, Retail POS veritabanında bulunan mevcut tabloların içi temizlenir ve yeni veriler kaydedilmeye başlar. Çalıştırılan jobların akibetinin ne olduğunu öğrenmek istediğiniz de Retail Store Connect, çalıştığı makinada loglama amaçlı bir veritabanı tutmaktadır. O veritabanındaki tabloları inceleyerek daha fazla bilgi alabilirsiniz.

Bir sonraki yazımda Retail Store Connect kurulumu ve kurulum öncesi ne gibi gereksinimlere ihtiyaç duyar gibi konulara değinmeyi düşünüyorum.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Retail Pos’a Epson Printer’ı Tanıtma

Ekim 24, 11 Yazan: akın

Mağazalarda olmazsa olmaz donanımlardan biri şüphesiz printerlardır. Mutlaka her işlemden sonra fatura ve fiş basmanız gerekir. Türkiye’de ise fiş basmak için yazılıma mali onay almanız gerekiyor. Retail Pos‘un henüz mali onayı olmadığı için sadece fatura basabiliyoruz.

Retail Pos‘tan printerları (slip,receipt) usb den veya com‘dan bağlamanız, printerı açmanız ve test için kağıt koymanız gerekiyor. Daha sonra OPOS driverlerı kurup, Axapta Headquarter tarafında ise tanıtımı yapmanız gerekir. En sonunda ise test işlemlerini yapabiliriz.

Yazıcıyı tanıtırken, windows sürücüsü yerine opos sürücülerini kullanmamız gerekiyor. Retail Pos henüz windows sürücülerini tanımıyor. ileriki sürümlerinde ise tanıyıp tanımayacağı da bilinmiyor.

Epson printerlerı dünyada en çok kullanılan printerlar olduğu için bu yazımda Epson TM-295 printerın tanıtımını anlatacağım.

Öncelikle epsonexpert.com adresine giderek giriş yapmanız gerekiyor. Oradan da OPOS ADK‘nın son sürümünü indirmeniz gerekiyor. OPOS ADK, Epson yazılımların OPOS dll leri ile konuşmalarını sağlayan sürücüleri oluyor. Yazılımı kurup, printer modelini seçtikten sonra Next diyerek test formunu açıyoruz. Checkhealth Interactive butonuna basarak printerımızı test edebiliriz. Start’a bastıktan sonra “OPOS_SUCCESS” mesajı vermesi gerekiyor. Bu noktada ufak bir tüyo vermek istiyorum. Yazıcınız com‘dan bağlıysa ve CheckHealth hata veriyorsa, com2, com3.. gibi tüm bağlantıları teker teker deneyin. (Makinaya uzaktan bağlandığınız varsayıyorum. Yanındaysanız zaten hangi porttan bağlandığını görebilirsiniz.)

checkhealth

Bu noktaya kadar yazıcınızı OPOS ADK ile bağlamış ve test sayfası almış olmanız gerekiyor. Bu noktaya kadar bir sıkıntı yaşadıysanız onu çözmeniz gerekiyor. Şimdi ise OPOS CCO yüklemeniz gerekiyor. monroecs.com adresinden indirebilirsiniz. Bilgisayarınızı baştan başlattıktan sonra printerınız kullanıma hazır.

Retail Headqearter‘a giderek, POS>Hardware PRofiles‘ı tıklayıp, Pos cihazının Hardware Profile‘ını açarak Printer sekmesine tıklıyoruz. Oradan OPOS sürücüyü seçip, yazıcı adımızı yazıyoruz. Burada dikkat etmeniz gereken yer yazıcı adınızı OPOS ADK yazılımındaki ile aynı vermeniz gerekir. Daha sonra baskı alabilmek için Receipt Profile ID seçmeniz gerekiyor.

hardware profile

Son olarak bu Slip printerlardan fatura baskısı alabilmek için, Retail Headquarter > Retail POS > Form Layout‘ı tıklayarak önceden baskı tasarımımız için Print As Slip seçeneğini seçmemiz gerekiyor.

form layout - print as slip

Tekrar noktaya baktığımızda printerı tanıttık, konfigürasyonları yaptık. Şimdi aktif olabilmesi için bu bilgileri Retail Pos‘a aktarmamız gerekir. Retail Scheduler > Scheduler Job > N-1090 işini çalıştırıp verileri Retail Pos‘a aktarabiliriz.

Burada ufak bir tüyo daha vereyim. Herhangi bir işe tıkladığınızda alt taraftaki detayları inceleyerek nelerin aktarıldığını görebilirsiniz. Bize POSHardwareProfile tablosunun aktarılması yetiyor.

Pos makinasına giderek artık testlerimize başlayabiliriz.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Retail Connect Service Nedir? Ne İşe Yarar?

Ekim 21, 11 Yazan: akın

Retail Connect Service, Retail Poslar ile Axapta Retail Headquarter‘ların birbirleri ile konuşmasını sağalayan yapı taşlarından bir tanesidir. Retail Store Connect‘in temel amacı, ilgili job çalıştırıldığında, kapsadaığı verileri paket haline getirmektir.

Hazırlanan veri paketleri daha sonra Retail Pos’a veya Axapta tarafına gönderilir. Ulaşım noktasındaki Retail Store Connect ise gelen paketi okuyarak içindeki verileri ilgili tablolara yazar.

Biz personel job’unu veya herhangi başka bir jobu çalıştırdığımız zaman aslında arka planda bu iki servis birbirleriyle konuşurlar ve işlemleri gerçekleştirirler. Buradan aslında Retail Store Connect‘leri her noktaya kurmamız ve konfigüre etmemiz gerektiğini anlıyoruz.

Retail Pos‘ta belli değişiklikler ve güncellemeler yapmak istediğimizde izlememiz gereken yolu daha önce belirtmiştim. Bu değişilik tasarım olsun, fiyat olsun faketmez tüm bu değişiklikleri Axapta‘da Retail Headquarter modülünde yapıp, daha sonra jobları çalıştırarak Retail Store Connect servisleri aracılığı ile aktarırsınız.

Retail Pos‘unuzu kapatıp açtıktan sonra ise yeni güncellemeleri kullanmaya başlayabilirsiniz.

retail-store-connect

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Axapta’dan Retail Pos’a Personel Aktarımı

Ekim 20, 11 Yazan: akın

Ax For Retail‘da herşey aktarımlarla işlemektedir. Mağazalardaki Retail Pos makinalarının olası bir iletişim kesikliğinde offline çalışabilmeleri için düşünülmüş bir tekniktir bu.

Anlık sorgular ve personel girişleri için Transaction Service aracılığı ile Merkezle bağlantı kurulsa da hemen hemen diğer tüm işlemler offline olarak görülmektedir. Gerekli güncellemeleri ve değişiklikleri Pos lara aktarabilmek için de jobların çalışması gerekiyor.

Retail Pos‘u makinaya kurduktan sonra kullanıcı girişleri ve tanımları için bir dizi işlemler yapmanız gerekiyor. Retail Pos’ta Personel tanımı elbette ki Axapta tarafında yapılır. Retail tarafına çekildiktan sonra Retail Poslara aktarılır. Bu sayede bir personelin ERP sisteminde yeri ve bilgileri izlenebilir oluyor.

Bunu yapabilmek için öncelikle Axapta > Human Resources > Employees formunda, Yeni bir personel tanımladıktan sonra, listeden personelin üstüne çift tıklıyoruz.

hremp

Gelen yeni ekranda “Retail” seçeneğini işaretleyerek, Personelin, Retail personeli olduğunu belirliyoruz. Human Resources modülünde işimizi bitirdikten sonra Retail Headquarter modülüne geçiyoruz. (Bu işlemi sağ altta bulunan “Retail(k)” butonuna basarak da yapabilirsiniz.)

Retail Headquarters > Store > Staff formunda ise personelin retail bilgileri girilir. Kullanıcının Personal kısmında Retail Pos makinasında kullanacağı şifre belirlenir ve kaydedilir.

staff

Şu aşamaya kadar, ERP sisteminde bir personel tanımladık, onu mağaza çalışanı yapabilmek için Retail tarafına aktardık. Şimdi ilgili mağazada yetkisini alabilmesi için jobu çalıştırmamız gerekiyor.

Retail Scheduler > Scheduler Job formunda, Personel ile alakalı jobu çalıştırmalıyız (N-1060).

job

Bu aşamadan sonra ilgili personel Retail Pos makinasında işlerini görebilir hale gelmiş oluyor.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Retail Pos Development

Ekim 18, 11 Yazan: akın

Blogumda kod paylaşmayacağımı daha önce belirtmiştim çünkü paylaşılabilecek herşey paylaşılmıştı. Ben de son bir kaç aydır çalışmalarımı ERP tarafına yönelendirdiğim için oradaki tecrübelerimi paylaşma ihtiyacı hissediyorum. Ax For Retail şimdilik benim yoğunlaştığım ilgi alanım olacak.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email]