Etiketler ‘crystal’

Crystal Report ile Yarının tarihini yazdırmak -2

Cumartesi, Temmuz 12th, 2008

Şu yazımda patronum Crystal Report ile hazırladığım raporda rapor yazdırılma tarihinin günün tarihi değilde bir gün sonrasının tarihini yazmasını istediğinden bahsetmiştim.  İyi güzelde kimse sormuyor acaba ?

Yapmak istediğimizden kısaca tekrar bahsedeyim. Raporu hangi gün alırsanız o günün tarihini PrintDate komutu ile Crystal Reports da yazdırmaktaydım. Fakat biz hep bir sonraki günün programını yaptığımız için ertesi gün imalattaki arkadaşlar programı çıktı olarak ellerine aldıklarında dünün tarihini görmüş olacaklardı. Sıkıntı çıkmaktaydı.  Patronum sağolsun dedi ki :

Rapor’un çıktısını aldığımız tarih deÄŸilde bir sonraki günün yani yarının tarihini program atamaz mı ?

Olur dedim attırırız …  Bir önceki yazımda nasıl yaptığımdan bahsetmiÅŸtim sizlere… Fakat bir sorunla karşılaÅŸtım.  Pazartesi salı gününün programını yaptığımız için çıktısını alınca tamam salı gününün tarihini atıyor böyle Cumartesiye kadar sorun yok ama …. Cumartesi günü yine program yapıp çıktı alırsak PAZAR gününün tarihini atmış olacak program…!  Fakat ÅŸirket pazar günü çalışmıyor… Pazartesinin programını Cumartesi günün yapıp üzerine Pazartesinin tarihini nasıl atacağız ? Al sana boru dediler :)

Heyecana gerek yok boruya hiç gerek yok dedim :) Onuda yaptım gerçi biraz kastım ama oldu sonunda çalışıyor…

Önceki yazımdaki prensibimiz neydi ?

Raporun yazdırılma tarihine 1 eklemekti. Bunu (printdate)+1 diye formül girdiÄŸim @tarih deÄŸiÅŸkeni ile tanımlamıştım.  Åžimdi ise Cumartesi gününe 2 eklemem ve diÄŸer günlere 1 eklemem lazım ki … İstediÄŸimiz olsun… Peki nasıl olacak ?

Öncelikle Önceki yazımda @tarih olarak belirlediğim değişkenimin içerisine

(PrintDate)+1

olarak formül girmiştim. Bu formüldeki +1 i siliyorum ve @tarih değişkenimiz için sadece

(printdate)

olarak kalmasını saÄŸlıyorum. Sonra menüde saÄŸ tıklayıp NEW seçeneÄŸini seçerek ayrı bir deÄŸiÅŸken tanımlıyorum bu deÄŸiÅŸkenimizin ismide tarihekleme olsun…

@tarihekleme değişkenimize şu formülü girdim.

if DayOfWeek ({@tarih}) = crSaturday then {@tarih}+2 else {@tarih}+1
// Nasıl bir çözüm ama :) Yarının tarihini attırıyorum eÄŸer …
// Günlerden Cumartesi ise o zaman pazartesinin tarihini atıyor …
// By TEAkolik  12.07.08   http://www.teakolik.com …

Böylelikle Cumartesi günü tarihe 2 ilave edecek ve pazartesinin tarihini ekrana yazacaktır. DiÄŸer günlerde ise sadece 1 ekleyecek ve ertesi günün tarihini vermiÅŸ olacak… Sorunu şükür ki çözebildim..Yukarıdaki resimde de görebilmektesiniz.

NOT: Beni Cyrstal Report ile tanıştıran ve bana çok çok yardımcı olan UÄŸur Çullukçu abimede buradan teÅŸekkür edip acaba iyi bir öğrenci olabilmiÅŸ miyim sormak istedim…

Eğer RPT dosyalarınız çok geç açılıyorsa

Çarşamba, Mayıs 21st, 2008

Merhaba arkadaÅŸlar. 6 gibi bir süredir ÅŸirketimizde ERP projesini aktif edebilmek için ter döküyorum. Yeni sistemde sipariÅŸ yönetiminden tutunda muhasebe ve üretim-imalat a kadar herÅŸey tek bir çatı altında toplanmış. Ne güzel bu hale getirebildik sonunda bu süreç biraz zorlu bir süreç oldu ki kendimize özel bir program yaptırdık 6 ayda normal… Bu süreç içerisinde programda karşılaÅŸtığımız bir sorundan bahsedeceÄŸim.

Erp içerisinde bir RPT Viewer mevcut. Kendi içerisindeki bu rapor görüntüleyicisi sayesinde bana lazım olan rapor ekranlarını Crystal report ile yapıp programın Viewer’ine tanımlıyoruz. Gerekli olan rapor ekranlarını kullanıcılarımız ve ÅŸirket yöneticilerimiz gün boyunca alarak iÅŸlerin sürmesini saÄŸlamaktalar.
İyi güzelde bazı raporlarımızdaki kodlar manyak ötesi fazla olunca yani ÅŸirket yöneticileri Hamza bize şöyle bir rapor lazım buda olsun, ÅŸuda olsun, oda olsun, ÅŸunuda koy, bunuda koy diyince tabiki doÄŸal olarak rapor kasmaya baÅŸladı…

ÖR:

// EĞER HÜCRE BOŞSA RENKLENDİRME BEYAZ OLACAK..!
if {siparis_master.sevk_adres3}=”" then false ELSE
// EÄžER YANLIÅž YAZILIRSA <> MANASI YANLIÅž YAZILAN VEYA FARKLI DEÄžER RENK KIRMIZI OLSUN
if {siparis_master.sevk_adres3}<>”" then false ELSE
// by TEAkolik 10/05/2008 11:27

if {siparis_master.sevk_adres3}=”YER HAZIR DEĞİL” then false else
// İPTAL OLDU if {siparis_master.sevk_adres3}=”ÖLÇÜ” then false ELSE
if {siparis_master.sevk_adres3}=”PRESS” then false else
if {siparis_master.sevk_adres3}=”PRESSB” then false else
if {siparis_master.sevk_adres3}=”PRESS1″ then false else
if {siparis_master.sevk_adres3}=”PRESS1B” then false else
if {siparis_master.sevk_adres3}=”PRESS2″ then false else
if {siparis_master.sevk_adres3}=”PRESS2B” then false else
if {siparis_master.sevk_adres3}=”EBAT” then false else
if {siparis_master.sevk_adres3}=”EBATB” then false else
if {siparis_master.sevk_adres3}=”İMALAT” then false ELSE
// Ekleme by TEAkolik Genel Müdür istekleri … 03/03/08
if {siparis_master.sevk_adres3}=”DOLGU” then false else
if {siparis_master.sevk_adres3}=”DOLGUB” then false else
………………………………… ( 58 SATIR…. )

GİBİ olunca doÄŸal olarak rapor esnasında kasılmalar baÅŸlıyor. Rapor süresi tabiki her yeni koddan sonra yeni bir ekleme ile uzamaya baÅŸladı. Bir raporu 4 dakikada almaya baÅŸlayınca bir çözüm yolu getirmek zorunda kaldık. Tabiki bu konuda uzman olan UÄŸur Çullukçu ‘ya yöneldim. Saolsun beni kırmadı ve abim mevcut programın dataları çekerken XML kullandığını ve bunun yerine ODBC ile baÄŸlantı yaparsak raporların çok daha hızlanacağını söyledi. Peki ben Crystal Report ile raporu dizan ederken baÄŸlantıyı ODBC ye çevireyim ama mevcut ERP projemiz okuyabilecek mi ? SaÄŸolsun ERP projesini yapan arkadaÅŸlar ODBC rapor görüntüleme diye bir menü ekleyip programın okuyabileceÄŸi hale getirdiler..

Peki 4 dakikada alınan bir raporu ODBC ile bağlantı yaparak kaç dakikada görüntüleyebiliriz ?

Bu sorunun cevabını denedim ve gördüm 4 Saniye… Evet yanlış duymadınız 4 saniye tabiki patronum bu süreyi duyunca süper oldu dedi :) Gerçi tebik beklerdim ama neyse :)

Peki Crystal Report ile nasıl ODBC bağlantısı yapacağız ?

Crystal Report programımızda DATABASE menüsüne gelerek Log on or Off sekmesine geliyoruz. Açılan pencerede Create New Connection seçeneğini seçiyoruz.

Sonrada bu menü içerisinde ODBC (RDO) seçeneğine geliyoruz. Bu seçeneği seçtiğimiz zaman bizden Databasemizi seçmemiz için bir ekran geliyor.

Bu kadar basit ….

Şimdi bizden hostname ( Server adı ) , Port Number ( Bağlantı portu ) , Database name ( Database adı ), User id ( DB kullanıcı adı ), password ( DB şifresi ) isteyecek bilgileri doğru girdiğiniz zaman bağlantıyı sağlamış olacaksınız.

ODBC ile bağlantı sağladığınız zaman Crystal Report içerisinde rapor dizaynı yaparken sağ taraftaki field explorer içerisinde SQL seçeneğinin belirdiğini göreceksiniz. Artık ODBC ile databasemize bağlantı sağlamış olacağız. Ben daha önceden ADONET ile XML bağlantısı sağlamaktaydım ve raporlarım kastıkça kasmaya başlamıştı. Şimdi çatır çatır birkaç saniye içerisinde rapor alabilmekteyim..

Hadi kolay gelsin…

Cyrstal Report Dizay yaparken

Çarşamba, Mayıs 21st, 2008

Uyuz oldum. Harbiden de uyuz oldum. Ya şu programda dizayn yapamayacak mıyız ? Arada kafasına göre program boşluk bırakıyor kardeşim ben bu boşluğu bıraksın istemiyorum. Kendim milimetrik bir dizayn yapmak istiyorum ama program bazen öyle bir yerde duruyor ki inat ediyor o boşluğu açmıyor. Yada inat ediyor oraya koydurmuyor.

Ya program sen ne uyuzmuÅŸssun ya… Adamı çıldırtıyor. Sanki program içerisinde dizaynı belirli pixellere bölmüşler bu pixellerden baÅŸka bir yere eriÅŸim saÄŸlayamıyorsunuz. Özelliklede 4 tane kutuyu yan yana yanaÅŸtırmak için saatlercede kassanız hiçbir yolu yok. İnat deÄŸilmi.

Tamam kabullendim inat bir program ama kardeşim bari bir tarafa koyduğum boşlukla diğer taraftaki boşluk eşit olsun yok olmaz bazen dar bazende geniş boşluk bırakıyor.

Theme : N.Design Studio Türkçe : TEAkolik V.2.7 Altyapı : Wordpress
RSS Yorumlar RSS GiriÅŸ


RSS Abonesi olabilirsiniz.