Etiketler ‘crystal report dizayn’

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.