/// <summary> /// setUriageSuiiHyo /// データグリッドビューにデータを表示 /// </summary> private void setTokuisakimotocho() { //年月日の日付フォーマット後を入れる用 string strYMDformat = ""; //記入項目の空白削除 labelSet_TokuisakiStart.CodeTxtText.Trim(); labelSet_TokuisakiEnd.CodeTxtText.Trim(); txtStartYM.Text.Trim(); txtEndYM.Text.Trim(); txtZenZan.Text.Trim(); txtNyukin.Text.Trim(); txtUriage.Text.Trim(); txtZei.Text.Trim(); txtZandaka.Text.Trim(); //得意先コードの検索開始項目 if (labelSet_TokuisakiStart.codeTxt.blIsEmpty() == false || StringUtl.blIsEmpty(labelSet_TokuisakiStart.ValueLabelText) == false || labelSet_TokuisakiStart.chkTxtTorihikisaki() == true) { labelSet_TokuisakiStart.Focus(); return; } //得意先コードの終了開始項目 if (labelSet_TokuisakiEnd.codeTxt.blIsEmpty() == true) { //得意先コードの範囲指定は出来ないメッセージ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_VIEW, "複数の得意先コードは指定できません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); labelSet_TokuisakiEnd.Focus(); return; } //年月日の検索開始項目 if (txtStartYM.blIsEmpty() == false) { txtStartYM.Focus(); return; } //年月日の検索終了項目 if (txtEndYM.blIsEmpty() == false) { txtEndYM.Focus(); return; } //得意先コードの検索開始項目 if (labelSet_TokuisakiStart.chkTxtTorihikisaki()) { labelSet_TokuisakiStart.Focus(); return; } //日付フォーマット生成、およびチェック strYMDformat = txtStartYM.chkDateYMDataFormat(txtStartYM.Text); //開始年月日の日付チェック if (strYMDformat == "") { // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtStartYM.Focus(); return; } else { txtStartYM.Text = strYMDformat; } //日付フォーマット生成、およびチェック strYMDformat = txtEndYM.chkDateYMDataFormat(txtEndYM.Text); //終了年月日の日付チェック if (strYMDformat == "") { // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtEndYM.Focus(); return; } else { txtEndYM.Text = strYMDformat; } //データ検索用 List <string> lstUriageSuiiLoad = new List <string>(); //検索時のデータ取り出し先 DataTable dtSetView; // 得意先情報取得用 DataTable dtTokuisakiInfo; // 消費税区分 string kbnZei = ""; // 消費税計算区分 string kbnZeiKeisan = ""; string StartYMD; string EndYMD; decimal wkin1; decimal wkin2; decimal wkin3; decimal wkin4; decimal wkin5; decimal wkin6; decimal wkin7; decimal decZengetsuZandaka; decimal decSiireKingaku; decimal decShiharaiKingaku; StartYMD = txtStartYM.Text + "/01"; EndYMD = txtEndYM.Text + "/01"; //入力値の月末を取得 EndYMD = DateTime.Parse(EndYMD).AddMonths(1).ToString(); EndYMD = DateTime.Parse(EndYMD).AddDays(-1).ToString("yyyy/MM/dd"); //データの存在確認を検索する情報を入れる /*[0]得意先コード*/ lstUriageSuiiLoad.Add(labelSet_TokuisakiStart.CodeTxtText); /*[1]スタート日付(yyyy/MM/dd)*/ lstUriageSuiiLoad.Add(StartYMD); /*[2]スタート日付(yyyy/MM/dd)*/ lstUriageSuiiLoad.Add(EndYMD); //ビジネス層のインスタンス生成 E0330_TokuisakiMotocyoKakunin_B tokuisakimotocyokakuninB = new E0330_TokuisakiMotocyoKakunin_B(); try { // 得意先情報取得 dtTokuisakiInfo = tokuisakimotocyokakuninB.getTokuisakiInfo(this.labelSet_TokuisakiStart.CodeTxtText); if (dtTokuisakiInfo.Rows.Count > 0) { kbnZei = dtTokuisakiInfo.Rows[0]["消費税区分"].ToString(); kbnZeiKeisan = dtTokuisakiInfo.Rows[0]["消費税計算区分"].ToString(); } //ビジネス層、前月残高取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getZenzan(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { txtZenZan.Text = decimal.Parse(dtSetView.Rows[0]["前月残高"].ToString()).ToString(""); } else { txtZenZan.Text = "0"; } //ビジネス層、売上金額取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getUriage(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { wkin1 = decimal.Parse(dtSetView.Rows[0]["売上金額"].ToString()); } else { wkin1 = 0; } // テキストボックス売上金額に値を入れる txtUriage.Text = wkin1.ToString(); /*[3]売上金額 */ lstUriageSuiiLoad.Add(txtUriage.Text); //ビジネス層、消費税額取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getZei(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { wkin1 = decimal.Parse(dtSetView.Rows[0]["消費税額"].ToString()); } else { wkin1 = 0; } txtZei.Text = wkin1.ToString(); //ビジネス層、請求消費税取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getSotozei(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { if (kbnZei.Equals("0") && kbnZeiKeisan.Equals("2")) { wkin1 = decimal.Parse(dtSetView.Rows[0]["請求消費税"].ToString()); } //内税の場合売上金額から内税を減算 if (kbnZei.Equals("1")) { txtUriage.Text = (decimal.Parse(txtUriage.Text) - wkin1).ToString(); } } else { wkin1 = 0; } txtZei.Text = wkin1.ToString(); //ビジネス層、入金現金取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getNyukinGenkin(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { wkin1 = decimal.Parse(dtSetView.Rows[0]["入金現金"].ToString()); } else { wkin1 = 0; } //ビジネス層、入金小切手取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getNyukinKogitte(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { wkin2 = decimal.Parse(dtSetView.Rows[0]["入金小切手"].ToString()); } else { wkin2 = 0; } //ビジネス層、入金振込取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getNyukinHurikomi(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { wkin3 = decimal.Parse(dtSetView.Rows[0]["入金振込"].ToString()); } else { wkin3 = 0; } //ビジネス層、入金手形取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getNyukinTegata(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { wkin4 = decimal.Parse(dtSetView.Rows[0]["入金手形"].ToString()); } else { wkin4 = 0; } //ビジネス層、入金相殺取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getNyukinSousatu(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { wkin5 = decimal.Parse(dtSetView.Rows[0]["入金相殺"].ToString()); } else { wkin5 = 0; } //ビジネス層、入金手数料取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getNyukinTesuryou(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { wkin6 = decimal.Parse(dtSetView.Rows[0]["入金手数料"].ToString()); } else { wkin6 = 0; } //ビジネス層、入金_その他取得ロジックに移動 dtSetView = tokuisakimotocyokakuninB.getNyukinSonota(lstUriageSuiiLoad); if (dtSetView.Rows.Count > 0) { wkin7 = decimal.Parse(dtSetView.Rows[0]["入金その他"].ToString()); } else { wkin7 = 0; } //Wkin1~7の合計を入金金額に設定 txtNyukin.Text = (wkin1 + wkin2 + wkin3 + wkin4 + wkin5 + wkin6 + wkin7).ToString(); //当月残高を求める txtZandaka.Text = (decimal.Parse(txtZenZan.Text) - decimal.Parse(txtNyukin.Text) + decimal.Parse(txtUriage.Text) + decimal.Parse(txtZei.Text)).ToString(); //ビジネス層、グリッドビュー表示情報取得に移動 dtSetView = tokuisakimotocyokakuninB.getTokuisakiMotocyo(lstUriageSuiiLoad); gridTorihiki.DataSource = dtSetView; if (dtSetView != null && dtSetView.Rows.Count > 0) { string strDate = ""; string strDenpyoNo = ""; for (int cnt = 0; cnt < gridTorihiki.RowCount; cnt++) { // 伝票年月日と伝票番号が同じ場合、伝票年月日と伝票番号を表示しない if (gridTorihiki.Rows[cnt].Cells["伝票年月日"].Value.ToString().Equals(strDate) && gridTorihiki.Rows[cnt].Cells["伝票番号"].Value.ToString().Equals(strDenpyoNo)) { // 仕入の場合、区分を表示しない if (gridTorihiki.Rows[cnt].Cells["取引区分"].Value.ToString().Equals("11")) { gridTorihiki.Rows[cnt].Cells["取引区分名"].Value = DBNull.Value; } gridTorihiki.Rows[cnt].Cells["伝票年月日"].Value = DBNull.Value; gridTorihiki.Rows[cnt].Cells["伝票番号"].Value = DBNull.Value; } else { strDate = gridTorihiki.Rows[cnt].Cells["伝票年月日"].Value.ToString(); strDenpyoNo = gridTorihiki.Rows[cnt].Cells["伝票番号"].Value.ToString(); } // 入金の場合はフォントカラーを変更 int intKubun = int.Parse(gridTorihiki.Rows[cnt].Cells["取引区分"].Value.ToString()); if (intKubun >= 31 && intKubun <= 37) { gridTorihiki.Rows[cnt].DefaultCellStyle.ForeColor = Color.Blue; } // 数量又は金額の空白チェック用フラグ bool blnBlankFlg = false; // 数量 decimal decSuuryo = 0; if (!decimal.TryParse(gridTorihiki.Rows[cnt].Cells["数量"].Value.ToString(), out decSuuryo)) { blnBlankFlg = true; } // 金額 decimal decKingaku = 0; if (!decimal.TryParse(gridTorihiki.Rows[cnt].Cells["売上金額"].Value.ToString(), out decKingaku)) { blnBlankFlg = true; } // 数量又は金額が空白ではなく、かつ、マイナスの場合はフォントカラーを変更 if (!blnBlankFlg && (decSuuryo < 0 || decKingaku < 0)) { gridTorihiki.Rows[cnt].DefaultCellStyle.ForeColor = Color.Red; } // 1行目の場合 if (cnt == 0) { decZengetsuZandaka = decimal.Parse(txtZenZan.Text); } else { decZengetsuZandaka = decimal.Parse(gridTorihiki.Rows[cnt - 1].Cells["差引残高"].Value.ToString()); } // 売上金額がなかった場合 if (!decimal.TryParse(gridTorihiki.Rows[cnt].Cells["売上金額"].Value.ToString(), out decSiireKingaku)) { decSiireKingaku = 0; } // 入金金額がなかった場合 if (!decimal.TryParse(gridTorihiki.Rows[cnt].Cells["入金額"].Value.ToString(), out decShiharaiKingaku)) { decShiharaiKingaku = 0; } // 差引残高 decimal decSashihikiZandaka = decZengetsuZandaka + decSiireKingaku - decShiharaiKingaku; gridTorihiki.Rows[cnt].Cells["差引残高"].Value = decSashihikiZandaka.ToString("#,0"); } Control cNow = this.ActiveControl; cNow.Focus(); //整数になるようにフォーマット txtZenZan.Text = decimal.Parse(txtZenZan.Text.ToString()).ToString("#,0"); txtNyukin.Text = decimal.Parse(txtNyukin.Text.ToString()).ToString("#,0"); txtUriage.Text = decimal.Parse(txtUriage.Text.ToString()).ToString("#,0"); txtZei.Text = decimal.Parse(txtZei.Text.ToString()).ToString("#,0"); txtZandaka.Text = decimal.Parse(txtZandaka.Text.ToString()).ToString("#,0"); } // DataTableのレコード数取得 int dtCnt = dtSetView.Rows.Count; if (dtCnt > 0) { // ステータスバーに検索結果表示 this.lblStatusMessage.Text = "検索終了(該当件数" + dtCnt + "件)"; } else { // ステータスバーに検索結果表示 this.lblStatusMessage.Text = "検索終了(該当なし)"; } } catch (Exception ex) { //データロギング new CommonException(ex); //例外発生メッセージ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, CommonTeisu.LABEL_ERROR_MESSAGE, CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); return; } return; }
///<summary> /// excelTokuisakiMotocyoKakunin /// F10:Excel出力 ///</summary> private void excelTokuisakiMotocyoKakunin() { //SQL実行時に取り出したデータを入れる用 DataTable dtPrintData = new DataTable(); //PDF作成後の入れ物 string strFile = ""; //印刷対象の選択用 string strInsatsuSelect = ""; //年月日の日付フォーマット後を入れる用 string strYMDformat = ""; //得意先コードの検索開始項目のチェック if (labelSet_TokuisakiStart.codeTxt.blIsEmpty() == false || StringUtl.blIsEmpty(labelSet_TokuisakiStart.ValueLabelText) == false || labelSet_TokuisakiStart.chkTxtTorihikisaki() == true) { labelSet_TokuisakiStart.Focus(); return; } //得意先コードの終了開始項目のチェック if (labelSet_TokuisakiEnd.codeTxt.blIsEmpty() == false || StringUtl.blIsEmpty(labelSet_TokuisakiEnd.ValueLabelText) == false || labelSet_TokuisakiEnd.chkTxtTorihikisaki() == true) { //例外発生メッセージ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, "得意先コードを範囲で指定してください。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); labelSet_TokuisakiEnd.Focus(); return; } //空文字判定(検索開始年月) if (txtStartYM.blIsEmpty() == false) { // メッセージボックスの処理、項目が空の場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "項目が空です。\r\n条件を指定してください。 ", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtStartYM.Focus(); return; } //空文字判定(検索終了年月) if (txtEndYM.blIsEmpty() == false) { // メッセージボックスの処理、項目が空の場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "項目が空です。\r\n条件を指定してください。 ", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtEndYM.Focus(); return; } //得意先開始チェック if (labelSet_TokuisakiStart.chkTxtTorihikisaki()) { labelSet_TokuisakiStart.Focus(); return; } //得意先終了チェック if (labelSet_TokuisakiEnd.chkTxtTorihikisaki()) { labelSet_TokuisakiEnd.Focus(); return; } //日付フォーマット生成、およびチェック strYMDformat = txtStartYM.chkDateYMDataFormat(txtStartYM.Text); //開始年月日の日付チェック if (strYMDformat == "") { // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtStartYM.Focus(); return; } else { txtStartYM.Text = strYMDformat; } //初期化 strYMDformat = ""; //日付フォーマット生成、およびチェック strYMDformat = txtEndYM.chkDateYMDataFormat(txtEndYM.Text); //終了年月日の日付チェック if (strYMDformat == "") { // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtEndYM.Focus(); return; } else { txtEndYM.Text = strYMDformat; } //印刷対象の範囲指定をする場合 if (radSet_Insatsu.radbtn1.Checked == true) { strInsatsuSelect = "0"; } else { strInsatsuSelect = "1"; } //その月の最終日を求める(年月日検索終了項目用) int intDay = DateTime.DaysInMonth(DateTime.Parse(txtEndYM.Text).Year, DateTime.Parse(txtEndYM.Text).Month); //印刷用データを入れる用 List <string> lstPrintData = new List <string>(); //印刷用データを入れる lstPrintData.Add(labelSet_TokuisakiStart.CodeTxtText); lstPrintData.Add(labelSet_TokuisakiEnd.CodeTxtText); lstPrintData.Add(DateTime.Parse(txtStartYM.Text).ToString("yyyy/MM/dd")); lstPrintData.Add(DateTime.Parse(txtEndYM.Text).ToString("yyyy/MM/") + intDay.ToString()); lstPrintData.Add(strInsatsuSelect); //得意先コード範囲内の取引先を取得 E0330_TokuisakiMotocyoKakunin_B tokuisakimotocyokakuninB = new E0330_TokuisakiMotocyoKakunin_B(); try { //待機状態 Cursor.Current = Cursors.WaitCursor; dtPrintData = tokuisakimotocyokakuninB.getPrintData(lstPrintData); //元に戻す Cursor.Current = Cursors.Default; BaseMessageBox basemessagebox; //取得したデータがない場合 if (dtPrintData == null || dtPrintData.Rows.Count == 0) { //例外発生メッセージ(OK) basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, "対象のデータはありません", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); return; } // SaveFileDialogクラスのインスタンスを作成 SaveFileDialog sfd = new SaveFileDialog(); // ファイル名の指定 sfd.FileName = "得意先元帳_" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".xlsx"; // デフォルトパス取得(デスクトップ) string Init_dir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //はじめに表示されるフォルダを指定する sfd.InitialDirectory = Init_dir; // ファイルフィルタの設定 sfd.Filter = "すべてのファイル(*.*)|*.*"; //ダイアログを表示する if (sfd.ShowDialog() == DialogResult.OK) { CreatePdf cpdf = new CreatePdf(); // 出力するヘッダを設定 // Linqで必要なデータをselect var outDataAll = dtPrintData.AsEnumerable() .Select(dat => new { TokuiCd = dat["得意先コード"], //[0]ヘッダー表示のみ使用 TokuiName = dat["得意先名"], //[1]ヘッダー表示のみ使用 TokuiYMD = dat["年月日"], //[2] Tokuikbn = dat["取引区分名"], //[3] TokuiShohinName = dat["商品名"], //[4] TokuiSu = dat["数量"], //[5] TokuiTan = dat["売上単価"], //[6] TokuiUrikin = (decimal)dat["売上金額"], //[7] TokuiNyukin = (decimal)dat["入金金額"], //[8] TokuiSashiZankin = (decimal)dat["差引残高"], //[9] TokuiBiko = dat["備考"], //[11] }).ToList(); // リストをデータテーブルに変換 DataTable dtChkList = cpdf.ConvertToDataTable(outDataAll); string[] header = { "コード", "得意先名", "年月日", "取引区分名", "商品名", "数量", "売上単価", "売上金額", "入金金額", "差引残高", "備考", }; string outFile = sfd.FileName; // Excel作成処理 cpdf.DtToXls(dtChkList, "得 意 先 元 帳", outFile, 3, 1, header); // メッセージボックスの処理、Excel作成完了の場合のウィンドウ(OK) basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_VIEW, "Excelファイルを作成しました。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_INFOMATION); basemessagebox.ShowDialog(); } } catch (Exception ex) { //データロギング new CommonException(ex); //例外発生メッセージ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, CommonTeisu.LABEL_ERROR_MESSAGE, CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); return; } }
///<summary> ///printTokuisakiMotocyoKakunin ///印刷ダイアログ ///</summary> private void printTokuisakiMotocyoKakunin() { //SQL実行時に取り出したデータを入れる用 DataTable dtPrintData = new DataTable(); //PDF作成後の入れ物 string strFile = ""; //印刷対象の選択用 string strInsatsuSelect = ""; //年月日の日付フォーマット後を入れる用 string strYMDformat = ""; //得意先コードの検索開始項目のチェック if (labelSet_TokuisakiStart.codeTxt.blIsEmpty() == false || StringUtl.blIsEmpty(labelSet_TokuisakiStart.ValueLabelText) == false || labelSet_TokuisakiStart.chkTxtTorihikisaki() == true) { labelSet_TokuisakiStart.Focus(); return; } //得意先コードの終了開始項目のチェック if (labelSet_TokuisakiEnd.codeTxt.blIsEmpty() == false || StringUtl.blIsEmpty(labelSet_TokuisakiEnd.ValueLabelText) == false || labelSet_TokuisakiEnd.chkTxtTorihikisaki() == true) { //例外発生メッセージ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, "得意先コードを範囲で指定してください。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); labelSet_TokuisakiEnd.Focus(); return; } //空文字判定(検索開始年月) if (txtStartYM.blIsEmpty() == false) { // メッセージボックスの処理、項目が空の場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "項目が空です。\r\n条件を指定してください。 ", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtStartYM.Focus(); return; } //空文字判定(検索終了年月) if (txtEndYM.blIsEmpty() == false) { // メッセージボックスの処理、項目が空の場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "項目が空です。\r\n条件を指定してください。 ", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtEndYM.Focus(); return; } //得意先開始チェック if (labelSet_TokuisakiStart.chkTxtTorihikisaki()) { labelSet_TokuisakiStart.Focus(); return; } //得意先終了チェック if (labelSet_TokuisakiEnd.chkTxtTorihikisaki()) { labelSet_TokuisakiEnd.Focus(); return; } //日付フォーマット生成、およびチェック strYMDformat = txtStartYM.chkDateYMDataFormat(txtStartYM.Text); //開始年月日の日付チェック if (strYMDformat == "") { // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtStartYM.Focus(); return; } else { txtStartYM.Text = strYMDformat; } //初期化 strYMDformat = ""; //日付フォーマット生成、およびチェック strYMDformat = txtEndYM.chkDateYMDataFormat(txtEndYM.Text); //終了年月日の日付チェック if (strYMDformat == "") { // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); txtEndYM.Focus(); return; } else { txtEndYM.Text = strYMDformat; } //印刷対象の範囲指定をする場合 if (radSet_Insatsu.radbtn1.Checked == true) { strInsatsuSelect = "0"; } else { strInsatsuSelect = "1"; } //その月の最終日を求める(年月日検索終了項目用) int intDay = DateTime.DaysInMonth(DateTime.Parse(txtEndYM.Text).Year, DateTime.Parse(txtEndYM.Text).Month); //印刷用データを入れる用 List <string> lstPrintData = new List <string>(); //印刷用データを入れる lstPrintData.Add(labelSet_TokuisakiStart.CodeTxtText); lstPrintData.Add(labelSet_TokuisakiEnd.CodeTxtText); lstPrintData.Add(DateTime.Parse(txtStartYM.Text).ToString("yyyy/MM/dd")); lstPrintData.Add(DateTime.Parse(txtEndYM.Text).ToString("yyyy/MM/") + intDay.ToString()); lstPrintData.Add(strInsatsuSelect); //得意先コード範囲内の取引先を取得 E0330_TokuisakiMotocyoKakunin_B tokuisakimotocyokakuninB = new E0330_TokuisakiMotocyoKakunin_B(); try { //待機状態 Cursor.Current = Cursors.WaitCursor; dtPrintData = tokuisakimotocyokakuninB.getPrintData(lstPrintData); //元に戻す Cursor.Current = Cursors.Default; //データが無ければ if (dtPrintData.Rows.Count < 1) { //例外発生メッセージ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, "印刷", "対象のデータがありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); return; } //初期値 Common.Form.PrintForm pf = new Common.Form.PrintForm(this, "", CommonTeisu.SIZE_A4, YOKO); pf.ShowDialog(this); //プレビューの場合 if (this.printFlg == CommonTeisu.ACTION_PREVIEW) { //待機状態 Cursor.Current = Cursors.WaitCursor; //結果セットをレコードセットに strFile = tokuisakimotocyokakuninB.dbToPdf(dtPrintData, lstPrintData); //元に戻す Cursor.Current = Cursors.Default; //印刷できなかった場合 if (strFile == "") { //印刷時エラーメッセージ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, "印刷", "印刷時エラーです。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); return; } // プレビュー pf.execPreview(strFile); } // 一括印刷の場合 else if (this.printFlg == CommonTeisu.ACTION_PRINT) { // PDF作成 strFile = tokuisakimotocyokakuninB.dbToPdf(dtPrintData, lstPrintData); //印刷できなかった場合 if (strFile == "") { //印刷時エラーメッセージ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, "印刷", "印刷時エラーです。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); return; } // 一括印刷 pf.execPrint(null, strFile, CommonTeisu.SIZE_A4, CommonTeisu.YOKO, true); } } catch (Exception ex) { //データロギング new CommonException(ex); //例外発生メッセージ(OK) BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, CommonTeisu.LABEL_ERROR_MESSAGE, CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR); basemessagebox.ShowDialog(); return; } }