問題タブ [crystal-reports-formulas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
crystal-reports - Crystalレポートのテキストフィールドに先行ゼロを追加する方法
文字列フィールドの値に先行ゼロを追加する方法を考えています。たとえば、12345がありますが、012345に変換する数式が必要です。これはおそらく単純な数式であることがわかっているので、Crystalは初めてですが、機能させることができないようです。
前もって感謝します。
crystal-reports - Crystal Report: ページの最初のレコードにある場合、データを再表示する
ここには、フィールドの変更時に抑制するデータがあります。そして、それを抑えるようにしました。しかし、最初の行にレコードを表示するのに問題があります。重複レコードでも表示する必要があります。
私が試してみました
ただし、レコードの最初の行は再表示されません。
助けてください。
前もって感謝します。:)
編集:
これは「変更時フィールド」ではなく、このキー フィールドが重複している場合にデータが抑制されるキー フィールドです。
c# - 表示文字列プロパティを使用して Crystal レポートを表示すると ArgumentOutOfRangeException が発生する
SAP Crystal Reports for Microsoft Visual Studio バージョン 13.0.14.1720 を使用しています。C# Windows フォーム アプリケーションでレポートを表示しようとしています。現在、レポートは ArgumentOutOfRangeException で失敗しています。スタック トレースは次のとおりです。
これを Visual Studio 2015 で実行し、エラーで実行を停止しました。このフィールドでエラーが発生しています:
レポート定義を見ると、このフィールドはグループ フッターにあります。このフィールドは、実行中の合計エラーの最大値を取得しています。現在の合計はすべてのレコードを評価し、グループの変更時にリセットされます。
エラーが 1 つでもある場合、フィールドにはアスタリスクが表示されます。それ以外の場合は、空白です。したがって、表示文字列には次の式があります。
値が <= 0 の場合に "" 以外を使用するように表示文字列式の定義を変更すると、エラーは発生しません。たとえば、次の表示文字列では、エラーは発生しません。
表示文字列は、他の列で累計を実行する同じグループ フッター内の他の列と同じです。実際、グループ フッターには、これと同一のフィールドがいくつかあります。
フィールドを最初から削除して再作成してみました。同じエラーが発生します。
「データベースの NULL 値をデフォルトに変換」および「他の NULL 値をデフォルトに変換」のレポート オプションを変更しようとしましたが、それでもエラーが発生します。
また、レポート形式を古いバージョンから最新のものにアップグレードしてみました。
レポート列の定義は次のとおりです。グループ ヘッダーのフィールドは、以下の _Error 列の最大値を計算しています。これらの列は整数として定義されます。
GAC の CrystalDecisions.Shared.dll で JetBrains dotPeek を実行しました。PageRender.draw_FieldObjectInstance メソッドを逆コンパイルすると、いくつかの配列インデックス参照が表示されます。これは私にとって際立っています:
上記のコードは、テキスト行があると想定しているようです。エラーが発生した時点で、TextLines プロパティの長さは 0 です。IsFieldNumeric が true で、fieldObjectInstance.AllowClipping が false であるため、このコードが実行されて失敗するようです。
sql - 別のフィールドからの制約に基づいて数式フィールドを合計しようとしています
レポートの背景: これは、当社のビジネスで働く従業員の生産性レポートです。クライアントとの訪問時間に基づいて、生産性を判断します。一部の従業員はグループセッションを提供しています。グループ内の各クライアントに料金を請求します。たとえば、1 時間のサービスしか提供していない場合でも、グループに 10 人がいる場合は 10 時間分の料金を請求できます。サービスコードによって、彼らがどのようなサービスを提供したかを判断します。
この数式には、サービス コード フィールドと期間フィールドの 2 つのフィールドがあります。
期間フィールドは、最初はデータベースの STRING フィールドですが、数値データしか提供しないため、numberVar に変更します。サービス コード フィールドも文字列フィールドであり、文字と数字が含まれることがあります。
Crystal Reports で実行する必要があるのは、期間の合計を取得することです。ただし、サービス コードがたとえば「1000」の場合、合計する前にまず期間を 3 で割る必要があります。これは私が巻き込まれるところです。
期間中の私のコードは次のとおりです。
次に、sumDuration という名前の合計の別の式を実行します。
このフィールドを集計できないというエラーが表示されます。Google で 2 日間検索した結果、Crystal では定数を含むフィールドや数式を集計できないことがわかりました。簡単に言うと:
次に、@duration を要約できます。私は何が欠けていますか?それは単純なものでなければなりませんが、私はそれを見ていません。ここで取得しようとしていることを達成するためのカスタム関数を作成する方法はありますか? それともそれよりもさらに簡単ですか?
ある人は、データがレポートに届く前に計算を行うために SQL コマンドを作成することを提案しました。私はSQLの初心者なので、どこから始めればよいかわかりませんでした。
crystal-reports - Crystal Reports 2011 - 特定の基準に基づく情報の抑制
混乱しすぎないように、この質問を言葉で表現しようと思います。
私たちは、各患者とその保険を見せたいレポートを持っています。患者の記録にある各保険は、注文番号によって番号付けされています。ただし、それを示したいだけではありません。保険 A の患者 ID の下に注文番号 1 がある場合に、この患者のすべての保険を表示するように、特定の基準を設定したいと考えています。患者が注文番号 1 の保険 A に加入していない場合は、この患者やその情報をレポートに表示しないでください。
以下のコードでは、保証人は保険を指しています。そのため、注文番号と保証人名が注目されています。以下は、Suppress オプションのために Section Expert に入力したコードです。私が想定しているのは、基準を満たしている場合、TRUE は情報を抑制し、そうでない場合は FALSE は情報を許可するということです。ただし、これは他のすべての情報を抑制するため、十分ではありません。
私が想定しているのは、すべての患者を反復またはループする必要があり、この情報が見つかった場合は、患者のすべての情報をリストして先に進み、そうでない場合は抑制して先に進むことです。これが理にかなっていることを願っています。
例:
上記の例では、レポートに患者 #1 のすべて (すべてのオーダー番号を含む) を表示し、レポートに患者 #2 を表示しないようにしたいと考えています。ただし、何が起こっているのかというと、患者 #1 が現れますが、注文番号 1 だけです。他のすべての情報を抑制します。
私は何が欠けていますか?
crystal-reports - Crystal Reports でグループの収入を昇順で表示する式を作成する
おはようございます。Crystal で書いているレポートの数式を作成しようとしています。このレポートでは、年収を 10,000 単位で昇順にグループ化しています。これまでのところ、適切な「if-then」パターンであると信じていたものに従ってきました。しかし、「残りのテキストは数式の一部ではないようです」というエラーが表示されます。コードの内容は次のとおりです。
crAscendingOrder
if{ss_client_data_set.income}< 10001 then "$0 to $10,000"
if{ss_client_data_set.income}< 20001.00 then "$10,001 to $20,000"
if{ss_client_data_set.income}< 30001.00 then "$20,001 to $30,000"
if{ss_client_data_set.income}< 40001.00 then "$30,001 to $40,000"
if{ss_client_data_set.income}< 50001.00 then "$40,001 to $50,000"
if{ss_client_data_set.income}< 60001.00 then "$50,001 to $60,000"
if{ss_client_data_set.income}< 70001.00 then "$60,001 to $70,000"
if{ss_client_data_set.income}< 80001.00 then "$70,001 to $80,000"
if{ss_client_data_set.income}< 90001.00 then "$80,001 to $90,000"
if{ss_client_data_set.income}< 100001.00 then "$90,001 to $100,000"
if{ss_client_data_set.income}< 110001.00 then "$100,001 to $110,000"
if{ss_client_data_set.income}< 120001.00 then "$110,001 to $120,000"
if{ss_client_data_set.income}< 130001.00 then "$130,000 and over"
エラー チェッカーはコードの最後の 12 行のみを強調表示します。私は少しさびているので、誰かアドバイスがあれば、とても感謝しています。
ありがとうございました
crystal-reports - If文と分割関数
次のような私のメモ行:
また
|
がある場合はの前のすべてを返す必要があり、ない場合はメモ行全体を返す必要があり|
ます。現在、の前にすべてを与えるか、存在し|
ない場合は何も与えない2つの式があります。|
|
aが存在する場合は return @Memo2
、そうでない場合は return になるように構成するにはどうすればよい{table.memo}
ですか?