PrimeKarte > PkReport > CrystalReports
SAP BUSINESSOBJECTS社の帳票作成ツール
新CrystalReport導入時調査、検証作業結果が以下のフォルダに入っています。
\\eagle01b\SEC2\作業履歴\kawamura\32_開発調査\20170830 新CrystalReport
以下の記述を書かないと印刷エラーとなります。
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup>
主にラベル印刷時に自動縮小がされて印字がずれますので、自動縮小を無効とします。
32bitOS [HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\DesignerOptions] "DealWithMinimalMarginsWhenPrinting"="0" 64bitOS [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\DesignerOptions] "DealWithMinimalMarginsWhenPrinting"="0"
調査結果は以下のフォルダに入っています。
\\eagle01b\SEC2\作業履歴\kawamura\32_開発調査\20171213 .Net4.0でラベルを印字するとずれる
印刷処理:$/H102Toro/01Source/PrimeKarte2/PkReport/PkReportTestApp/Helper/RptOther.csのPrintStudyChohyo()メソッド
レポートファイル:$/H102Toro/01Source/PrimeKarte2/PkReportFile/Report/000/9999/99990002_A4P.rpt
PkReportのテストアプリで社内H012に接続していれば印刷ができます。(学習用印刷ボタンクリック)
こちらページが参考になります。
詳細は開発担当まで
繰り返しフィールドを作ります。
こちら(レポートのデザインを作ります付近)
//基本的な流れ
//各オブジェクトを宣言
SosaCrpe crpeObj = new SosaCrpe();
RptDataset dataset = new RptDataset();
//印刷する帳票を指定
crpeObj.SetChohyoCode((int)PkChohyoCode.ChemoBumonTherapyKanjaIchiran)
crpeObj.JobOpen();
//固定フィールドに値をセット
crpeObj.SetFieldData("BUMON_NAME", "部門名");
/*繰り返し(詳細フィールド)に値をセット データセットを使用します。*/
//行の開始
RptDataset.RptDataRow rptRowObj = dataset.RptData.NewRow() as RptDataset.RptDataRow;
rptRowObj.BeginEdit();
//各値をセット
rptRowObj.FLG = 1;
rptRowObj.STR_01 = kanjaId.ToString();
//行の終了
rptRowObj.EndEdit();
dataset.RptData.Rows.Add(rptRowObj);
//データセットを登録
crpeObj.SetDetailData(dataset);
//印刷処理
crpeObj.Print()
A4以外の時は実際に使用するプリンタで開発をしてください。
またレポートファイル内にある用紙サイズとプリンタ名は必ず実際に使用するプリンタと合わせてください。
改行を含む文字をレポートのフィールドに入れるとエラーとなります。
改行で区切って複数行のフィールドを用意する、または改行を半角スペース等の別文字に置換して入れるが主な代替案です。
斜線を引くことができません。
「/」で強引にはできますが・・・。
点線,破線は太さを変えることができません。常に極細となります。
ヘッダーとフッターの領域の高さが用紙サイズの高さより大きいとエラーとなります。
基本ソースでの記述順ですが、
レポートファイルで指定することもできます。
(詳細フィールドをグループ化し、データセットのあるカラムの値順にすることができます。)
恐らく機能がありません。
座標計算またはグリッド数で合わせるしかないようです。
以下のことを確認してください。
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup>