亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? invoiceprintbrowsefrm.pas

?? 供水營銷打印程序源碼
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit InvoicePrintBrowseFrm;

interface

{$I InvPrinter.inc}

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, SJCustomBrowseFrm, wwDialog, wwfltdlg, ActnList, XPMenu, Menus,
  PropStorageEh, Grids, DBGridEh, ExtCtrls, StdCtrls, cxControls, IniFiles,
  cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDBEdit, cxCheckBox,
  cxDropDownEdit, cxCalendar, cxLookAndFeelPainters, cxButtons,
  cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox, ImgList, fcLabel,
  cxSpinEdit, RM_FormReport, RM_Desgn;

type
  TfrmBrowseInvoicePrint = class(TSJCustomBrowseForm)
    ControlPanel: TPanel;
    Label1: TLabel;
    edtCustID: TcxDBMaskEdit;
    Label2: TLabel;
    Label3: TLabel;
    edtInvoice: TcxMaskEdit;
    chkStopUpdateInvoice: TcxCheckBox;
    Label4: TLabel;
    edtPaydate: TcxDateEdit;
    Label5: TLabel;
    Label6: TLabel;
    edtPriorQty: TcxDBMaskEdit;
    Label7: TLabel;
    edtDerate: TcxDBMaskEdit;
    Label8: TLabel;
    edtQty: TcxDBMaskEdit;
    Label9: TLabel;
    btnPrint: TcxButton;
    chkShowall: TcxCheckBox;
    chkSeriesPrint: TcxCheckBox;
    actBrowseLoadSetting: TAction;
    cxButton1: TcxButton;
    actBrowsePrintSetting: TAction;
    L1: TMenuItem;
    actBrowseMonthChargeGroupReport: TAction;
    T1: TMenuItem;
    N6: TMenuItem;
    edtName: TcxLookupComboBox;
    actBrowsePrintInvoice: TAction;
    edtCurrQty: TcxDBMaskEdit;
    edtBigAmont: TcxDBMaskEdit;
    InvoicePanel: TPanel;
    Label10: TLabel;
    edtCustomer: TcxLookupComboBox;
    Label11: TLabel;
    edtInvoiceNO: TcxMaskEdit;
    spinYear: TcxSpinEdit;
    Label12: TLabel;
    spinMonth: TcxSpinEdit;
    Label13: TLabel;
    spinDay: TcxSpinEdit;
    Label14: TLabel;
    DBGridEh1: TDBGridEh;
    Label18: TLabel;
    edtCharge: TcxLookupComboBox;
    Label19: TLabel;
    Label20: TLabel;
    edtCompany: TcxMaskEdit;
    btnPrintInvoice: TcxButton;
    chkSeriesPrint1: TcxCheckBox;
    chkShowAll1: TcxCheckBox;
    edtCollector: TcxLookupComboBox;
    Panel1: TPanel;
    BigAmontPanel: TPanel;
    Bevel2: TBevel;
    Panel2: TPanel;
    Label15: TLabel;
    Label16: TLabel;
    Shape1: TShape;
    AmontPanel: TPanel;
    Splitter1: TSplitter;
    Panel3: TPanel;
    Label17: TLabel;
    Bevel4: TBevel;
    Shape2: TShape;
    labBigAmont: TfcLabel;
    fcLabel1: TfcLabel;
    Label21: TLabel;
    fcLabel2: TfcLabel;
    actBrowseBlankoutInvoice: TAction;
    B1: TMenuItem;
    N7: TMenuItem;
    R2: TMenuItem;
    N8: TMenuItem;
    actBrowseMonthChargeDetailReport: TAction;
    procedure FormCreate(Sender: TObject);
    procedure edtCustIDExit(Sender: TObject);
    procedure chkShowallClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure edtCustIDKeyPress(Sender: TObject; var Key: Char);
    procedure actBrowsePrintExecute(Sender: TObject);
    procedure actBrowsePrintSettingExecute(Sender: TObject);
    procedure actBrowseLoadSettingExecute(Sender: TObject);
    procedure actBrowseMonthChargeGroupReportExecute(Sender: TObject);
    procedure edtNamePropertiesCloseUp(Sender: TObject);
    procedure edtNamePropertiesInitPopup(Sender: TObject);
    procedure DBGridEh1ColWidthsChanged(Sender: TObject);
    procedure edtCustomerPropertiesChange(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure actBrowseBlankoutInvoiceExecute(Sender: TObject);
  private
    FPrinting, FopPreview, FopShowDialog: Boolean;
    FopInvoiceLength: Integer;
    FopCompany, FopAddress, FopItem, FopUnits, FopCollector: string;
    FopStartInv, FopEndInv, FopCurrInvoice: string;

    procedure LocateRecord;
    procedure LoadSetting;
    procedure SaveCurrInvoice;
    function  PrepareData: Boolean;
  public
    property Item: string read FopItem;
    property Units: string read FopUnits;
  end;

var
  frmBrowseInvoicePrint: TfrmBrowseInvoicePrint;
  
implementation

uses InvPrintDM, MainFrm, SJInvPrintGlobal, sjUtils, OptionsPropertyFrm,
  BlankoutInvoicePropertyFrm, MonthStatReportDialogFrm;

{$R *.dfm}

procedure TfrmBrowseInvoicePrint.FormCreate(Sender: TObject);
begin
  inherited;
  FPrinting := False;
  LoadSetting;
end;

procedure TfrmBrowseInvoicePrint.edtCustIDExit(Sender: TObject);
// 顯示用戶選定的客戶未繳費資料
begin
  inherited;
  if not edtCustID.EditModified then
    Exit;
  LocateRecord;
end;

procedure TfrmBrowseInvoicePrint.chkShowallClick(Sender: TObject);
// 顯示所有未打印發票的用水記錄
begin
  inherited;
  if not {$IFDEF DJSR}chkShowAll1.Checked{$ELSE}chkShowAll.Checked{$ENDIF DJSR} then
  with dmInvPrint.AqryPrint do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from Waterfee where CustID = ''9999999999'' and Payflag = False');
    Open;
    Exit;
  end;

  with dmInvPrint.AqryPrint do
  try
    Screen.Cursor := crHourGlass;
    Close;
    SQL.Clear;
    SQL.Add('select * from Waterfee where Payflag = False order by CustID, WRID');
    try
      Open;
    except
      ShowMessage('打開未打印發票的客戶用水資料時失敗,請稍后再試 。');
      Exit;
    end;
    if not IsEmpty then
      btnPrint.SetFocus
    else
      ShowMessage('當前還沒有未打印發票的用水記錄 。');
    actBrowsePrint.Enabled := not IsEmpty;
  finally
    Screen.Cursor := crDefault;
  end;

end;

procedure TfrmBrowseInvoicePrint.FormShow(Sender: TObject);
var
  Ayear, Amonth, Aday: Word;
begin
  inherited;
  edtPaydate.Date := Date;
  edtCustID.SetFocus;
  edtInvoice.Text := FopCurrInvoice;
  edtInvoice.Properties.MaxLength := FopInvoiceLength;

  // 顯示廣東省商品統一發票相關字段信息
  {$IFDEF DJSR}
  DecodeDate(Date, Ayear, Amonth, Aday);
  spinYear.Value         := Ayear;
  spinMonth.Value        := Amonth;
  spinDay.Value          := Aday;
  edtCharge.EditValue    := GUserID;
  edtCollector.EditValue := FopCollector;
  edtCompany.Text        := FopCompany;
  edtInvoiceNO.Text      := FopCurrInvoice;
  edtInvoiceNO.Properties.MaxLength := FopInvoiceLength;
  edtCustomer.SetFocus;
  {$ENDIF DJSR}
end;

procedure TfrmBrowseInvoicePrint.edtCustIDKeyPress(Sender: TObject;
  var Key: Char);
begin
  inherited;
  if Key = #13 then
    edtCustIDExit(Sender);
end;

procedure TfrmBrowseInvoicePrint.actBrowsePrintExecute(Sender: TObject);
// 打印發票
const
  ReportTitle = '廣東省商品銷售統一發票';
var
  ARepfile, Astr: string;
  APrintCount: Integer;

  procedure ResetMtabPrint;
  // 打開內存表,并清空
  begin
    with dmInvPrint.mtabPrint do
    begin
      Close;
      Open;
      Last;
      while not Bof do
      begin
        Delete; Prior;
      end;
    end;
  end;

  function PrintRecord: Boolean;
  // 打印一筆用水記錄
  var
    ARepared: Boolean;
    AID: Integer;
    Ayear, Amonth, Aday: Word;
    APayment: Double;
    APaydate: TDateTime;
    AInvoice: string;
  begin
    ResetMtabPrint;
    ARepared := PrepareData;  // 準備數據
    if not ARepared then
    begin
      Result := ARepared;
      Exit;
    end;

    with dmInvPrint, dmInvPrint.AqryPrint do
    begin
      AID      := FieldByName('WRID').AsInteger;
      APayment := FieldByName('Amont').AsFloat;
      // 此處沒有考慮多用戶并發操作,嚴格的應該從全局文件中取出當前發票號碼
      {$IFDEF DJSR}
      Ayear    := spinYear.Value;
      Amonth   := spinMonth.Value;
      Aday     := spinDay.Value;
      APaydate := EncodeDate(Ayear, Amonth, Aday);
      AInvoice := edtInvoiceNO.Text;
      {$ELSE}
      APaydate := edtPaydate.Date;
      AInvoice := edtInvoice.Text;
      {$ENDIF DJSR}


      if not ChargeWaterfee(AID, True, APayment, APaydate, FopCollector, AInvoice) then
      begin
        ShowMessage('保存打印信息失敗,請稍后再試 。');
        Result := False;
        Exit;
      end;
      RMDataSet.DataSet := mtabPrint;
      RMReport.Title    := ReportTitle + Format(',發票號:%s', [{$IFDEF DJSR}edtInvoiceNO.Text{$ELSE}edtInvoice.Text{$ENDIF DJSR}]);
      RMReport.PrepareReport;
      // 只在第一次打印時允許用戶進行格式設置
      if APrintCount > 1 then
        RMReport.PrintPreparedReportDlg
      else
        if FopPreview then  // 預覽
          RMReport.ShowReport
        else
          if FopShowDialog then // 顯示打印對話框
            RMReport.PrintReport
          else
            RMReport.PrintPreparedReportDlg; // 直接打印

      // 更新發票號碼,此處沒有考慮多用戶并發操作
      if not chkStopUpdateInvoice.Checked then
      {$IFDEF DJSR}
        edtInvoiceNO.Text := PrefixStr('0', IntToStr(StrToInt(edtInvoiceNO.Text) + 1), FopInvoiceLength);
      {$ELSE}
        edtInvoice.Text := PrefixStr('0', IntToStr(StrToInt(edtInvoice.Text) + 1), FopInvoiceLength);
      {$ENDIF}
    end;
    Result := True;
  end;

  procedure RefreshTable;
  begin
    with dmInvPrint.AqryPrint do
    try
      Close;
      Open;
    except
      ShowMessage('刷新當前已經打印的資料時失敗 。');
    end;
  end;

  function IsSeriesPrint: Boolean;
  // 檢查是否需要連續打印所有發票
  begin
    Result := {$IFDEF DJSR}chkSeriesPrint1.Checked {$ELSE} chkSeriesPrint.Checked{$ENDIF DJSR};
  end;

  function CheckInvoice: Boolean;
  // 檢查發票號碼是否已經用完
  begin
    {$IFDEF DJSR}
    Result := (StrToInt(edtInvoiceNO.Text) >= StrToInt(FopStartInv)) and (StrToInt(edtInvoiceNO.Text) <= StrToInt(FopEndInv));
    {$ELSE}
    Result := (StrToInt(edtInvoice.Text) >= StrToInt(FopStartInv)) and (StrToInt(edtInvoice.Text) <= StrToInt(FopEndInv));
    {$ENDIF DJSR}
  end;
  
begin
  //inherited;
  LoadSetting; // 加載打印選項
  ARepfile  := ExtractFilePath(Application.ExeName) + 'Report\' + ReportTitle + '.rmf';
  if not FileExists(ARepfile) then
  begin
    ShowMessage(Format('發票格式文件 “%s” 丟失,請與系統開發商聯系 。', [ReportTitle]));
    Exit;
  end;

  try
    {$IFDEF DJSR}
    StrToInt(edtInvoiceNO.Text);
    {$ELSE}
    StrToInt(edtInvoice.Text);
    {$ENDIF DJSR}
  except
    ShowMessage('你沒有輸入正確的發票號碼,請確認后再試 。');
    {$IFDEF DJSR}
    edtInvoiceNO.SetFocus;
    {$ELSE}
    edtInvoice.SetFocus;
    {$ENDIF DJSR}
    Exit;
  end;
  if not CheckInvoice then
  begin
    ShowMessage('您領用的發票已經使用完,請重新設置開始和結束號碼 。');
    Exit;
  end;

  // 詢問用戶是否打印發票
  if IsSeriesPrint then
    Astr := Format('當前一共有 %d 筆數據,請準備好發票。現在打印嗎?', [dmInvPrint.AqryPrint.RecordCount])
  else
    Astr := '請準備好發票,現在就打印這筆數據嗎?';
  if Application.MessageBox(Pchar(Astr), Pchar('提示'), MB_YESNO) = IDNO then
    Exit;

  if grdBrowse.DataSource.DataSet.IsEmpty then
  begin
    ShowMessage('當前沒有待打印的發票資料 。');
    Exit;
  end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品视频一区| 精品在线观看视频| 亚洲人成人一区二区在线观看| 2022国产精品视频| 精品日韩成人av| 久久伊人中文字幕| 欧美精品一区二区久久久| 精品捆绑美女sm三区| 精品日韩欧美在线| 国产日韩欧美a| 国产精品女人毛片| 亚洲欧美综合色| 亚洲日本青草视频在线怡红院| 国产精品久久久久婷婷二区次| 国产精品福利一区二区三区| 中文字幕在线不卡一区二区三区| 中文字幕在线观看一区二区| 亚洲日本护士毛茸茸| 一区二区成人在线| 无码av免费一区二区三区试看 | 成人99免费视频| 成人一区二区三区| 色又黄又爽网站www久久| 在线观看亚洲精品视频| 欧美三级日韩三级国产三级| 91精品国产综合久久久久| 欧美大胆一级视频| 欧美激情中文字幕| 亚洲制服丝袜av| 麻豆freexxxx性91精品| 国产成人免费视频网站| 94色蜜桃网一区二区三区| 欧美日韩一区二区三区高清| 日韩一级成人av| 久久久久久黄色| 亚洲免费在线视频| 天天免费综合色| 国产精品一区二区你懂的| 白白色 亚洲乱淫| 欧美日韩国产在线观看| 久久久精品影视| 亚洲综合丝袜美腿| 精品一区二区三区在线视频| a亚洲天堂av| 欧美一区日本一区韩国一区| 日本一区二区免费在线观看视频 | 日韩亚洲欧美在线| 国产精品乱码一区二区三区软件| 亚洲午夜久久久久久久久电影院| 麻豆精品视频在线观看免费| 不卡电影免费在线播放一区| 欧美丰满一区二区免费视频| 国产欧美日韩精品一区| 亚洲成人在线免费| 成人午夜在线播放| 91.com视频| 国产精品久久久久9999吃药| 日日摸夜夜添夜夜添亚洲女人| 国产成人av一区二区三区在线观看| 欧美曰成人黄网| 中文字幕乱码亚洲精品一区| 日本三级亚洲精品| 91免费看视频| 久久亚洲欧美国产精品乐播| 日韩中文字幕区一区有砖一区| 不卡一区在线观看| 久久综合色天天久久综合图片| 亚洲一区日韩精品中文字幕| 成人午夜短视频| 精品蜜桃在线看| 亚洲成人在线网站| 91丨九色丨蝌蚪富婆spa| 久久婷婷综合激情| 日韩成人精品在线| 色婷婷久久综合| 国产精品女人毛片| 国产专区综合网| 91精品国产乱| 亚洲一区二区美女| 一本久道中文字幕精品亚洲嫩| 久久九九久久九九| 毛片av中文字幕一区二区| 欧美视频完全免费看| 中文字幕综合网| 成人国产精品免费网站| 久久美女高清视频| 黄一区二区三区| 日韩一区二区在线看| 日韩经典一区二区| 欧美日本一区二区在线观看| 一区二区高清在线| 99国产欧美久久久精品| 中文字幕av一区二区三区免费看| 久久电影网站中文字幕| 日韩一区二区电影在线| 日韩精品高清不卡| 91精品国产综合久久久久久| 日韩精品视频网| 9191精品国产综合久久久久久| 亚洲国产精品人人做人人爽| 色屁屁一区二区| 一区二区三区四区激情| 色8久久人人97超碰香蕉987| 亚洲天堂免费在线观看视频| youjizz久久| 中文字幕亚洲一区二区va在线| 粉嫩在线一区二区三区视频| 国产精品三级视频| 不卡视频在线观看| 亚洲另类春色国产| 在线观看免费亚洲| 午夜精品福利在线| 制服丝袜中文字幕一区| 麻豆成人91精品二区三区| 精品国内二区三区| 国产一二精品视频| 国产欧美精品一区二区三区四区 | 久久久久亚洲综合| 国产suv精品一区二区6| 国产精品激情偷乱一区二区∴| 成人av片在线观看| 亚洲天堂av一区| 欧美色图天堂网| 青娱乐精品在线视频| 精品国产伦一区二区三区免费| 国产精品自在在线| 中文字幕在线不卡一区二区三区| 91原创在线视频| 亚洲国产精品自拍| 欧美变态tickling挠脚心| 国产激情精品久久久第一区二区 | 成人的网站免费观看| 一区二区三区鲁丝不卡| 777亚洲妇女| 国产一区二区精品久久| 亚洲免费看黄网站| 91精品欧美综合在线观看最新| 韩国成人在线视频| 中文字幕日本不卡| 欧美高清dvd| 国产91清纯白嫩初高中在线观看| 亚洲美女在线一区| 91精品国产高清一区二区三区蜜臀 | 欧美一区二区福利视频| 国产一区视频导航| 亚洲婷婷综合色高清在线| 91精品国产一区二区人妖| 国产乱人伦偷精品视频免下载| 国产精品久久久久久久浪潮网站| 欧美在线观看一区二区| 免费一级片91| 亚洲美女区一区| 精品日韩一区二区| 在线亚洲+欧美+日本专区| 国产毛片精品视频| 亚洲欧美在线aaa| 欧美一个色资源| 日本韩国一区二区三区| 久久99精品国产91久久来源| 亚洲精品欧美专区| 久久久久久久久99精品| 欧美色综合网站| 成人激情校园春色| 蜜芽一区二区三区| 亚洲精品免费电影| 久久理论电影网| 日韩一区二区中文字幕| 91国产成人在线| 国产成人精品三级麻豆| 日韩高清中文字幕一区| 亚洲人一二三区| 久久综合九色综合欧美亚洲| 欧美日韩激情一区二区| 成人激情免费网站| 极品美女销魂一区二区三区| 亚洲一区二区成人在线观看| 国产精品三级在线观看| 亚洲精品在线观| 91精品久久久久久久99蜜桃| 91福利在线导航| 成人av网站免费观看| 国产精品18久久久久久vr| 免费在线视频一区| 亚洲图片自拍偷拍| 亚洲色欲色欲www在线观看| 国产肉丝袜一区二区| 26uuu久久天堂性欧美| 91麻豆精品国产91久久久使用方法| 欧洲精品在线观看| 成a人片国产精品| 国产激情精品久久久第一区二区| 狂野欧美性猛交blacked| 青娱乐精品视频在线| 日韩精品亚洲一区二区三区免费| 亚洲午夜精品久久久久久久久| 一区二区三区国产精品| 中文字幕在线视频一区| 中文字幕乱码日本亚洲一区二区 | 久久久99精品久久| 精品国精品国产尤物美女|