Crystal Reports - ошибка формулы "здесь требуется строка" - PullRequest
4 голосов
/ 20 июля 2009

У меня есть утилита командной строки, которая генерирует один простой отчет о кристаллах. Я недавно обновил проект с .NET 1.1 до .NET 3.5 с помощью переносчика Visual Studio 2008 и теперь получаю сообщение об ошибке, которого я никогда не получал раньше.

Проблема в формуле work_order, которая выглядит следующим образом:

stringVar nvl_ship_wrk_id := "0";
stringVar nvl_ship_wrk_seq := "0";

If Not IsNull({FeedBOLInput.ShipWrkId}) Then 
    nvl_ship_wrk_id := {FeedBOLInput.ShipWrkId}; 

If Not IsNull({FeedBOLInput.ShipWrkSeq}) Then 
    nvl_ship_wrk_seq := {FeedBOLInput.ShipWrkSeq};

nvl_ship_wrk_id & " - " & nvl_ship_wrk_seq;

И ошибка:

- InnerException    {"A string is required here.
Error in File C:\\...\\temp_88c50533-02c6-4973-ae06-ed0ab1a603ac {0D5E96FB-038A-41C5-93A7-A9D199961377}.rpt:
Error in formula  <work_order>. 
'stringVar nvl_ship_wrk_id := \"0\";
'
A string is required here."}    System.Exception {System.Runtime.InteropServices.COMException}

Кто-нибудь знает, что это может быть? Я вне подсказок. Набор данных поступает правильно - и, похоже, ошибка указывает на строку, которая просто инициализирует переменную.

1 Ответ

7 голосов
/ 21 июля 2009

Вы можете попробовать преобразовать {FeedBOLInput.ShipWrkId} и {FeedBOLInput.ShipWrkSeq} в строку, чтобы убедиться, что она встречается как строка.

Я не уверен, почему то, что у вас есть, не сработает, но посмотрите, работает ли нижеприведенное для вас.

stringVar nvl_ship_wrk_id := "0";
stringVar nvl_ship_wrk_seq := "0";

If Not IsNull({FeedBOLInput.ShipWrkId}) Then 
    nvl_ship_wrk_id := CStr({FeedBOLInput.ShipWrkId}); 

If Not IsNull({FeedBOLInput.ShipWrkSeq}) Then 
    nvl_ship_wrk_seq := CStr({FeedBOLInput.ShipWrkSeq});

nvl_ship_wrk_id & " - " & nvl_ship_wrk_seq;
...