Aracılığıyla paylaş


"Crystal Print Engine Hatası 515 - Formülde Hata" hatası, Microsoft Dynamics SL'de rapor yazdırırken oluşuyor.

Bu makale, Microsoft Dynamics SL'de raporları yazdırırken alabileceğiniz Crystal Print Engine Error 515 hata mesajının nedenlerini ve bu sorunu çözmenin yollarını açıklar.

Uygulandığı yer: Microsoft Dynamics SL
Özgün KB numarası: 873549

Belirti -leri

Microsoft Dynamics SL'de raporları yazdırırken aşağıdaki hata mesajını alırsınız:

Crystal Print Engine Hatası 515 - Formülde Hata

Çözüm

Uyarı

Bu makaledeki talimatları uygulamadan önce, bir sorun meydana gelirse geri yükleyebileceğiniz, veritabanının eksiksiz bir yedek kopyasına sahip olduğunuzdan emin olun.

Neden ve çözüm 1

Aşağıdaki alanlardan birinde veya her ikisinde boş değerler bulunması durumunda BATCH tablosundaki kayıt bu soruna neden olur.

  • BaseCuryID
  • CuryID

Bu problemi çözmek için, bu alanlardan birini veya her ikisini doldurun. Bunu yapmak için şu adımları izleyin:

  1. Uygun uygulama veritabanına erişmek için SQL Query Analyzer'ı veya SQL Server Management Studio'yu kullanın ve ardından AŞAĞıDAKI deyimi çalıştırarak BASECuryID alanında veya CuryID alanında boş değerler içeren BATCH tablosundaki kayıtları tanımlayın:

    SELECT status,* from BATCH where BaseCuryID = '' or CuryID = ''
    

    Uyarı

    • Bu cümlede, tek tırnak işaretini iki çift kullanmanız gerekir.
    • Bu sorgunun oluşturduğu gruplar arasında durumları "V" veya "D" olan gruplar konusunda endişelenmeyin.
  2. BatNbr alanındaki değerleri kullanarak parti numaralarını belirleyin. Modül alanındaki değeri kullanarak modülü belirleyin. Para biriminin ana para birimi mi yoksa yabancı para birimi mi olduğunu belirleyin. BaseCuryID alanı temel para birimini, CuryID alanı ise temel para birimini veya yabancı para birimini tanımlar.

  3. BATCH tablosundaki kayıtları güncelleştirmek için aşağıdaki deyimi kullanın. BaseCuryID alanı ve CuryID alanı için uygun para birimi kimliğini eklediğinizden emin olun.

    UPDATE BATCH SET BaseCuryID = 'BBB', CuryID = 'CCC' where BatNbr = 'XXXXXX' and Module = 'YY'
    

    Uyarı

    Bu ifadede, BBB uygun temel para birimi kimliğini, CCC uygun temel veya yabancı para birimi kimliğini, XXXXXX uygun parti numarasını ve YY uygun iki harfli modül kısaltmasını temsil eder.

Neden ve Çözüm 2

Bu sorun, Sipariş Yönetimi raporlarını veya Satın Alma raporlarını yazdırdığınızda oluşur. Bu sorunu çözmek için Sipariş Yönetimi İş İstasyonu Yükleme işlemini çalıştırarak Sipariş Yönetimi iş istasyonu yüklemesinin tamamlandığını doğrulayın. Bunu yapmak için şu adımları izleyin:

  1. Modüller listesinde Sipariş Yönetimi'ni seçin.
  2. Sipariş Yönetimi bölmesinde İşlemler'in altında OM İş İstasyonu Yükle'yi seçin.
  3. 'Başlat'ı seçin.
  4. Bu işlemi tüm iş istasyonları için tekrarlayın.

Uyarı

Hata mesajını almaya devam ederseniz, Sebepler ve çözüm 6 bölümüne bakın.

Sebep ve Çözüm 3

Bu sorun, Faturalar (40.680.00) ekranından faturaları yazdırırken ve OM klasöründe Crufladg.dll dosyasının yanlış bir sürümü bulunduğunda ortaya çıkar.

OM klasöründeki Crufladg.dll dosyasının sürümünün doğru olduğunu doğrulayın. Bunu yapmak için şu adımları izleyin:

  1. Windows Gezgini'ni kullanarak Crufladg.dll dosyasının tüm yerlerini bulun. Bu dosya aşağıdaki üç konumda bulunmalıdır:

    • Solomon IV\OM
    • Winsys\Register
    • Winnt\System32 or Windows\System32
  2. Crufladg.dll dosyalarının tarihlerini, boyutlarını ve sürümlerini inceleyin. Tüm Crufladg.dll dosyalarının aynı değişiklik tarihine, aynı dosya boyutuna ve aynı sürüm numarasına sahip olması gerekir.

  3. Eğer Crufladg.dll dosyasının tarihi 21.05.99 veya sürüm numarası 4.01 ise, bu dosyayı daha yeni bir sürümü ile değiştirin.

Neden ve Çözüm 4

Bu sorun, U2lsol4.dll dosyası eksik, bozuk veya hatalı olduğunda ortaya çıkar. Bu sorunu Microsoft Solomon 5.5 ve daha eski Microsoft Solomon sürümlerinde çözmek için, U2lsol4.dll dosyasını Winnt\Crystal klasörüne veya Windows\Crystal klasörüne kopyalayın. Bunu yapmak için şu adımları izleyin:

  1. Tüm raporların Hata 515 hata mesajını ürettiğini doğrulayın.
  2. Mevcut U2lsol4.dll dosyalarını Winnt\Crystal klasöründe veya Windows\Crystal klasöründe U2lsol4.old olarak yeniden adlandırın.
  3. U2lsol4.dll dosyasını klasörden Solomon\Wrkstn\Windows\Crystal yerel klasöre veya yerel Winnt\CrystalWindows\Crystal klasöre kopyalayın.
  4. Bir raporu yeniden yazdırmayı deneyin. Sorun devam ederse, U2lsol4.dll dosyasını klasörden Winnt\Crystal veya klasöründen Windows\Crystal klasörüne Winnt\System32 veya klasörüne \Windows\System32 kopyalayın.

Uyarı

Bu karar yalnızca Microsoft Solomon 5.5 ve önceki sürümleri için geçerlidir.

Neden ve çözüm 5

** Bu sorun, CuryID alanı veya BaseCuryID alanı aşağıdaki tablolardan birinde boşsa, Satın Alma Siparişleri (04.600.00) raporunda bir kaydı yazdırmaya veya yazdırmadan önce önizleme yapmaya çalıştığınızda meydana gelir.

  • PURCHORD
  • PURORDDET
  • POREQHDR
  • POREQDET

Bu sorunu çözmek için Microsoft Solomon 5.5 ve öncesinde, boş CuryID alanına veya boş BaseCuryID alanına sahip tabloyu güncelleyin. Bunu yapmak için şu adımları izleyin:

  1. Uygulama veritabanına erişmek için SQL Query Analyzer veya SQL Server Management Studio'yu kullanın ve ardından bu bölümde daha önce listelenen dört tablodan bir ya da daha fazlasında CuryID alanının boş olup olmadığını belirlemek için aşağıdaki ifadeleri çalıştırın.

    SELECT CuryID, BaseCuryID, PONbr, * from PURCHORD where CuryID in ('', '2345') or BaseCuryID in ('', '2345')
    SELECT CuryID, BaseCuryID, PONbr, * from PURORDDET where CuryID in ('', '2345') or BaseCuryID in ('', '2345')
    SELECT CuryID, BaseCuryID, ReqNbr, * from POREQDET where CuryID in ('', '2345') or BaseCuryID in ('', '2345')
    SELECT CuryID, BaseCuryID, ReqNbr, * from POREQHDR where CuryID in ('', '2345') or BaseCuryID in ('', '2345')
    

    Uyarı

    Bu ifadelerin her birinde, iki çift tek tırnak işareti kullanmalısınız.

  2. Kayıtlar dönerse, CuryID alanını doldurmak için aşağıdaki güncelleme ifadelerini kullanın.

    UPDATE PURCHORD SET CuryID = 'YYY', BaseCuryID = ('ZZZ') where (CuryID in ('', '2345') or BaseCuryID in ('', '2345')) and PONbr = 'XXXXXX'
    UPDATE PURORDDET SET CuryID = 'YYY', BaseCuryID = ('ZZZ') where (CuryID in ('', '2345') or BaseCuryID in ('', '2345')) and PONbr = 'XXXXXX'
    UPDATE POREQDET SET CuryID = 'YYY', BaseCuryID = ('ZZZ') where (CuryID in ('', '2345') or BaseCuryID in ('', '2345')) and ReqNbr = 'XXXXXX'
    UPDATE POREQHDR SET CuryID = 'YYY', BaseCuryID = ('ZZZ') where (CuryID in ('', '2345') or BaseCuryID in ('', '2345')) and ReqNbr = 'XXXXXX'
    

    Uyarı

    • Bu ifadelerin her birinde, iki çift tek tırnak işareti kullanmalısınız.
    • Bu deyimlerin her birinde , YYY doğru yabancı para birimi kimliğini, ZZZ doğru temel para birimi kimliğini temsil eder ve XXXXXX , 1. adımda tanımladığınız güncelleştirilecek kaydın uygun satın alma siparişi numarasını temsil eder.

Bu problemi çözmek için Microsoft Solomon 6.0 ve sonrasında, boş CuryID alanına sahip tabloyu güncelleyin. Bunu yapmak için şu adımları izleyin:

  1. Uygulama veritabanına erişmek için SQL Query Analyzer veya SQL Server Management Studio'yu kullanın ve ardından bu bölümde daha önce listelenen dört tablodan bir ya da daha fazlasında CuryID alanının boş olup olmadığını belirlemek için aşağıdaki ifadeleri çalıştırın.

    SELECT CuryID, PONbr, * from PURCHORD where (CuryID in ('', '2345')
    SELECT CuryID, PONbr, * from PURORDDET where (CuryID in ('', '2345')
    SELECT CuryID, ReqNbr, * from POREQDET where (CuryID in ('', '2345')
    SELECT CuryID, ReqNbr, * from POREQHDR where (CuryID in ('', '2345')
    

    Uyarı

    Bu ifadelerin her birinde, iki çift tek tırnak işareti kullanmalısınız.

  2. Kayıtlar dönerse, CuryID alanını doldurmak için aşağıdaki güncelleme ifadelerini kullanın.

    UPDATE PURCHORD SET CuryID = 'YYY' where (CuryID in ('', '2345')
    UPDATE PURORDDET SET CuryID = 'YYY' where (CuryID in ('', '2345')
    UPDATE POREQDET SET CuryID = 'YYY' where (CuryID in ('', '2345')
    UPDATE POREQHDR SET CuryID = 'YYY' where (CuryID in ('', '2345')
    

    Uyarı

    Bu ifadelerin her birinde, iki çift tek tırnak işareti kullanmalısınız.

Sebep ve Çözüm 6

Bu sorun, Crufladg.dll dosyası kaydedilmediğinde ortaya çıkar. Bu sorunu çözmek için, Crufladg.dll dosyasını manuel olarak kaydedin. Bunu yapmak için şu adımları izleyin:

  1. Windows Gezgini'ni kullanarak iş istasyonunda Crufladg.dll dosyasını bulun.
  2. Dosyaya sağ tıklayın, Birlikte Aç üzerine gelin ve ardından Diğer'i seçin.
  3. Yerel sürücüyü gözden geçir. Genellikle C sürücüsüdür. klasöründeki \Winnt\System32 dosyasını veya klasöründeki \Windows\System dosyasını seçin.
  4. 'ı seçin.
  5. Tamam'ı seçin. Bir mesaj, dosyanın başarıyla kayıtlı olup olmadığını belirtir.

Neden ve Çözüm 7

Bu sorun, belirli bir iş istasyonundaki raporları yazdırdığınızda oluşur. Bu sorunu Microsoft Solomon 5.5'te ve önceki sürümlerde çözmek için şu adımları izleyin:

  1. Denetim Masası'ndaki Program Ekle veya Kaldır'ı kullanarak Microsoft Solomon IV İstemci programını kaldırın.
  2. Winnt\Crystal klasörünü yeniden adlandırın.
  3. Microsoft Solomon IV İstemci programını yeniden yükleyin.

Uyarı

Bu karar yalnızca Microsoft Solomon 5.5 ve önceki sürümleri için geçerlidir.

Sebep ve çözüm 8

Bu sorun, yazıcı adı çok uzun olduğunda meydana gelir. Bu sorunu çözmek için, varsayılan yazıcı adını değiştirin ve 25 karakterden az olacak şekilde yapın.

Sebep ve Çözüm 9

Microsoft Solomon IV 4.21 sürümünü Crystal Reports 6.0 ile Microsoft Solomon 5.5 sürümüne Crystal Reports 8.5 ile yükselttiğinizde bu problem meydana gelir. Bu durumda, hata mesajı RT toplama fonksiyonuna atıfta bulunmaktadır. Bu sorunu çözmek için, şu adımları izleyin:

  1. Crystal Reports 8.5 ile birlikte gelen toplama işlevlerini kullanarak formül kutusunu gözden geçirin.
  2. Article c2002613'te bulunan talimatları takip ederek Crystal Knowledge Base'deki doğru DLL dosyalarını yükleyin.

Microsoft, teknik destek bulmanıza yardımcı olmak için üçüncü taraf iletişim bilgilerini sağlar. Bu iletişim bilgileri önceden bildirimde bulunulmaksızın değişebilir. Microsoft, bu üçüncü taraf iletişim bilgilerinin doğruluğunu garanti etmez.

Neden ve çözüm 10

Bu sorun, yerel Crystal klasöründen dosyalar eksik olduğunda ortaya çıkar. Bu sorunu Microsoft Solomon 5.5 ve önceki sürümlerinde çözmek için, yerel Crystal klasöründeki dosya sayısını belirleyin ve gerekirse klasörü değiştirin. Bunu yapmak için şu adımları izleyin:

  1. Windows Gezgini veya Bilgisayarım'ı kullanarak yerel Winnt klasörünü veya yerel Windows klasörünü bulun.
  2. Crystal klasörüne sağ tıklayın ve ardından Özellikler'i seçin.
  3. Klasördeki dosya sayısını not edin. Microsoft Solomon 5.5 için, eğer klasör 129'dan az dosya içeriyorsa, Crystal klasörünü yeniden adlandırın veya silin.
  4. Sunucuda, Solomon kurulum klasörünü bulun.
  5. Wrkstn\Windows klasörünü açın ve ardından Crystal klasörünü yerel Winnt veya Windows klasörüne kopyalayın.

Uyarı

  • Bu karar yalnızca Microsoft Solomon 5.5 ve önceki sürümleri için geçerlidir.
  • Eğer hata devam ederse, Neden ve çözüm 7 bölümüne bakın.

Daha Fazla Bilgi

Bu makalede tartışılan üçüncü taraf ürünler, Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft, bu ürünlerin performansı veya güvenilirliği hakkında açık veya zımni hiçbir garanti vermez.