Erreur lors de l’impression des rapports dans Microsoft Dynamics SL : « Crystal imprimer moteur erreur 515 – erreur de formule »


Résumé


Cet article décrit les raisons que vous pouvez recevoir le message d’erreur Crystal imprimer moteur erreur 515 lorsque vous imprimez des rapports dans Microsoft Dynamics SL. Cet article décrit également comment résoudre ce problème.

Symptômes


Lorsque vous imprimez des rapports dans Microsoft Dynamics SL, le message d’erreur suivant s’affiche :
Erreur du moteur d’impression de Crystal 515 - erreur dans la formule

Résolution


Remarque Avant de suivre les instructions fournies dans cet article, assurez-vous que vous disposez d’une copie de sauvegarde complète de la base de données que vous pouvez restaurer si un problème survient.

Cause et résolution 1

Ce problème se produit lorsque l’enregistrement dans la table commandes contient des valeurs vides dans une ou les deux des champs suivants :
  • BaseCuryID
  • CuryID
Pour résoudre ce problème, remplissez une ou les deux de ces champs. Pour ce faire, procédez comme suit :
  1. Utilisez l’Analyseur de requêtes SQL ou SQL Server Management Studio pour accéder à la base de données de l’application appropriée et puis exécutez l’instruction suivante pour identifier les enregistrements dans la table de traitement par lots qui ont des valeurs vierges dans le champ BaseCuryID ou dans le champ CuryID :
     SELECT status,* from BATCH where BaseCuryID = '' or CuryID = '' 

    Remarques
    • Dans cette instruction, vous devez utiliser deux paires de guillemets simples.
    • Ne soyez pas inquiet concernant les lots cette requête génère si les lots ont un statut de « V » ou de « d ».
  2. Utilisez les valeurs dans le champ BatNbr pour déterminer les numéros de lot. Utilisez la valeur dans le champ Module pour déterminer le module. Déterminer si la devise est la devise de base ou en devise étrangère. Le champ BaseCuryID identifie la devise de base, et le champ CuryID identifie la devise de base ou en devise étrangère.
  3. L’instruction suivante permet de mettre à jour les enregistrements de la table de traitement par lots. Assurez-vous d’inclure le code de la devise appropriée pour le
    BaseCuryID champ et le champ CuryID :
     UPDATE BATCH SET BaseCuryID = 'BBB', CuryID = 'CCC' where BatNbr = 'XXXXXX' and Module = 'YY' 

    Remarque Dans cette instruction, BBB représente le code de la devise de base approprié, CCC représente la base appropriée ou code de la devise étrangère, XXXXXXreprésente le numéro de lot approprié, et aareprésente l’abréviation de module de deux lettres approprié.

Cause et résolution 2

Ce problème se produit lorsque vous imprimez des rapports de gestion des commandes ou des rapports d’achats. Pour résoudre ce problème, exécutez le processus d’installation de station de travail de gestion commande pour vérifier que l’installation de station de travail de gestion de commande a été effectuée. Pour ce faire, procédez comme suit :
  1. Dans la liste des Modules , cliquez sur Gestion des commandes.
  2. Dans le volet Gestion des commandes , cliquez sur
    Installation de la station de travail OM sous
    Processus.
  3. Cliquez sur commencer.
  4. Répétez ce processus pour toutes les stations de travail.
Remarque Si vous continuez à recevoir le message d’erreur, reportez-vous à la section « Cause et résolution 6 ».

Cause et résolution 3

Ce problème se produit lorsque vous imprimez des factures à partir de la
Écran de factures (40.680.00) et une version incorrecte du fichier Crufladg.dll se trouve dans le dossier de modèle objet.

Vérifiez que la version du fichier Crufladg.dll dans le dossier de modèle d’objet est correcte. Pour ce faire, procédez comme suit :
  1. Utilisez l’Explorateur Windows pour localiser toutes les occurrences du fichier Crufladg.dll. Ce fichier doit être dans les trois emplacements suivants :
    • IV\OM de Solomon
    • Winsys\Register
    • Winnt\System32 ou Windows\System32
  2. Examinez les dates, les tailles et les versions des fichiers Crufladg.dll. Les trois fichiers de Crufladg.dll doivent avoir la même date de modification, la même taille de fichier et le numéro de version.
  3. Si le fichier Crufladg.dll possède une date du 5/21/99 ou un numéro de version de la version 4.01, remplacez ce fichier par une version ultérieure du fichier.

Cause et résolution 4

Ce problème se produit lorsque le fichier U2lsol4.dll est manquant, endommagé ou incorrect. Pour résoudre ce problème dans Microsoft Solomon 5.5 et les versions antérieures de Microsoft Solomon, copiez le fichier U2lsol4.dll dans le dossier Winnt\Crystal ou dans le dossier Windows\Crystal. Pour ce faire, procédez comme suit :
  1. Vérifiez que tous les rapports génèrent le message d’erreur erreur 515.
  2. Renommez les fichiers U2lsol4.dll existants dans le dossier Winnt\Crystal ou dans le dossier Windows\Crystal U2lsol4.old.
  3. Copiez le fichier U2lsol4.dll à partir du dossier Solomon\Wrkstn\Windows\Crystal dans le dossier Winnt\Crystal local ou dans le dossier Windows\Crystal local.
  4. Réessayez d’imprimer un rapport. Si le problème persiste, copiez le fichier U2lsol4.dll à partir du dossier Winnt\Crystal ou à partir du dossier Windows\Crystal vers le dossier Winnt\System32 ou dans le dossier \Windows\System32.
Remarque Cette résolution s’applique uniquement à Microsoft Solomon 5.5 et des versions antérieures de Microsoft Solomon.

Cause et résolution 5

Ce problème se produit lorsque vous essayez d’imprimer un enregistrement ou d’imprimer l’aperçu d’un enregistrement dans l’état des Ordres d’achat (04.600.00) si le champ CuryID ou BaseCuryID est vide dans une des tables suivantes :
  • PURCHORD
  • PURORDDET
  • POREQHDR
  • POREQDET
Pour résoudre ce problème, Microsoft Solomon 5.5 et versions antérieures, mise à jour de la table qui a l’essai à blanc
Champ de CuryID ou le BaseCuryID de champ vide. Pour ce faire, procédez comme suit :
  1. Utilisez l’Analyseur de requêtes SQL ou SQL Server Management Studio pour accéder à la base de données de l’application appropriée, puis exécutez les instructions suivantes pour déterminer si le champ CuryID est vide dans une ou plusieurs des quatre tables qui sont répertoriées plus haut dans cette section :
     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')

    Remarque Dans chacun de ces instructions, vous devez utiliser deux paires de guillemets simples.
  2. Si des enregistrements sont renvoyés, utilisez les instructions suivantes de mise à jour pour remplir le champ CuryID :
     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'

    Remarques
    • Dans chacun de ces instructions, vous devez utiliser deux paires de guillemets simples.
    • Dans chacune de ces instructions,
      YYY représente l’ID de la devise étrangère appropriée,
      ZZZ représente le code de la devise de base approprié, et
      XXXXXX représente le numéro de la commande achat appropriée de l’enregistrement à mettre à jour que vous avez identifié à l’étape 1.
Pour résoudre ce problème, Microsoft Solomon 6.0 et version ultérieure, mise à jour de la table qui a l’essai à blanc
Champ de CuryID . Pour ce faire, procédez comme suit :
  1. Utilisez l’Analyseur de requêtes SQL ou SQL Server Management Studio pour accéder à la base de données de l’application appropriée, puis exécutez les instructions suivantes pour déterminer si le champ CuryID est vide dans une ou plusieurs des quatre tables qui sont répertoriées plus haut dans cette section :
     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')

    Remarque Dans chacun de ces instructions, vous devez utiliser deux paires de guillemets simples.
  2. Si des enregistrements sont renvoyés, utilisez les instructions suivantes de mise à jour pour remplir le champ CuryID :
     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')

    Remarques
    • Dans chacun de ces instructions, vous devez utiliser deux paires de guillemets simples.

Cause et résolution 6

Ce problème se produit lorsque le fichier Crufladg.dll n’est pas enregistré. Pour résoudre ce problème, enregistrez manuellement le fichier Crufladg.dll. Pour ce faire, procédez comme suit :
  1. Utilisez l’Explorateur Windows pour localiser le fichier Crufladg.dll sur la station de travail.
  2. Cliquez sur le fichier, pointez sur Ouvrir avec, puis cliquez sur autres.
  3. Examinez le disque local. Cela est généralement le lecteur C. Cliquez sur soit Regsvr32.exe dans le dossier \Winnt\System32 ou
    Regsvr.exe dans le dossier \Windows\System.
  4. Cliquez sur Ouvrir.
  5. Cliquez sur OK. Un message indique si le fichier a été correctement inscrite.

Cause et résolution 7

Ce problème se produit lorsque vous imprimez des rapports à partir d’une station de travail spécifique. Pour résoudre ce problème dans Microsoft Solomon 5.5 et les versions antérieures de Microsoft Solomon, procédez comme suit :
  1. Utilisez Ajout / Suppression de programmes du Panneau de configuration pour désinstaller le programme Solomon IV Client Microsoft.
  2. Renommez le dossier Winnt\Crystal.
  3. Réinstallez le programme Microsoft Solomon IV Client.
Remarque Cette résolution s’applique uniquement à Microsoft Solomon 5.5 et des versions antérieures de Microsoft Solomon.

Cause et résolution 8

Ce problème se produit lorsque le nom de l’imprimante est trop long. Pour résoudre ce problème, modifiez le nom de l’imprimante par défaut pour qu’il contienne moins de 25 caractères.

Cause et résolution 9

Ce problème se produit lorsque vous mettez à niveau à partir de la version 4.21 de Microsoft Solomon IV avec 6.0 de rapports Crystal Microsoft Solomon 5.5 avec Crystal Reports 8.5. Dans ce cas, le message d’erreur fait référence à la RT fonction de totalisation. Pour résoudre ce problème, procédez comme suit :
  1. Utilisez les fonctions de totalisation qui sont incluses avec Crystal Reports 8.5 pour modifier la zone de formule.
  2. Suivez les instructions dans l’article c2002613 dans la Base de connaissances Crystal pour installer les fichiers DLL appropriés. Pour ce faire, visitez le site Web de Business Objects suivant :Remarque Bien que cet article de la Base de connaissances Crystal fait référence à 7.0 de rapports Crystal, la procédure peut également servir pour Crystal Reports 8.5.
Microsoft fournit des informations pour contacter des sociétés tierces afin de vous aider à obtenir une aide technique. Ces coordonnées peuvent changer sans préavis. Microsoft ne garantit pas l'exactitude des informations de contact de ces tiers.

Cause et résolution de 10

Ce problème se produit lorsque les fichiers sont manquants dans le dossier local de Crystal. Pour résoudre ce problème dans Microsoft Solomon 5.5 et les versions antérieures de Microsoft Solomon, déterminer le nombre de fichiers dans le dossier local de Crystal et remplacer le dossier si nécessaire. Pour ce faire, procédez comme suit :
  1. Utilisez l’Explorateur Windows ou poste de travail pour localiser le dossier Winnt local ou dans le dossier Windows local.
  2. Cliquez sur le dossier Crystal, puis cliquez sur
    Propriétés.
  3. Notez le nombre de fichiers dans ce dossier. Pour Microsoft Solomon 5.5, si le dossier contient des fichiers moins de 129, renommez ou supprimez le dossier Crystal.
  4. Sur le serveur, recherchez le dossier d’installation de Solomon.
  5. Ouvrez le dossier Wrkstn\Windows, puis copiez le dossier Crystal dans le dossier Winnt ou Windows local.
Remarques

Plus d'informations


Les produits tiers dont traite cet article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute forme de garantie, expresse ou implicite, concernant les performances ou la fiabilité de ces produits.