亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产激情视频一区二区三区欧美| 日韩伦理免费电影| 国产日韩欧美不卡| 最新久久zyz资源站| 一区二区不卡在线播放 | 色综合欧美在线| 欧美精品日韩一本| 欧美videofree性高清杂交| 中文一区在线播放| 亚洲成在人线在线播放| 国产伦精品一区二区三区免费迷| 91同城在线观看| 欧美一级高清大全免费观看| 国产精品网站导航| 日韩电影一区二区三区四区| 成人午夜视频在线观看| 欧美三级韩国三级日本一级| 久久精品一二三| 亚洲影院理伦片| 国产成人自拍网| 欧美日韩一二区| 国产精品理论在线观看| 免费人成黄页网站在线一区二区| eeuss影院一区二区三区| 欧美顶级少妇做爰| 中文字幕一区二区三区色视频| 日韩高清一区在线| 91蜜桃网址入口| 久久这里只有精品6| 亚洲午夜日本在线观看| 国产成人免费视频一区| 欧美一区二区高清| 亚洲男女一区二区三区| 国产成人无遮挡在线视频| 欧美日本在线一区| 亚洲猫色日本管| 国产不卡在线视频| 日韩女优电影在线观看| 夜夜嗨av一区二区三区网页 | 国产亚洲精品bt天堂精选| 亚洲成人自拍网| 色综合久久久网| 久久久久久电影| 麻豆精品国产91久久久久久| 色视频一区二区| 国产精品全国免费观看高清| 精品综合久久久久久8888| 欧美在线看片a免费观看| 国产精品少妇自拍| 国产一区二区伦理片| 正在播放亚洲一区| 亚洲影视在线观看| 91麻豆国产精品久久| 国产精品入口麻豆原神| 国产在线精品不卡| 精品国产亚洲在线| 久久精品国产99国产| 91精品国产欧美一区二区18| 亚洲精品国产a久久久久久| 波多野结衣亚洲| 国产片一区二区| 国产成人h网站| 国产三级久久久| 国产v日产∨综合v精品视频| wwwwww.欧美系列| 久久激五月天综合精品| 欧美一区日本一区韩国一区| 性久久久久久久久久久久| 色狠狠一区二区三区香蕉| 亚洲老妇xxxxxx| 色综合天天做天天爱| 1024亚洲合集| 91蜜桃传媒精品久久久一区二区| 亚洲视频一区在线| 色狠狠色狠狠综合| 亚洲一区二区三区四区五区中文| 色综合天天做天天爱| 一区二区三区精品| 欧美性猛片xxxx免费看久爱| 亚洲成av人**亚洲成av**| 91精品国产综合久久久久久久 | 日韩一区二区三区精品视频| 日韩国产成人精品| 欧美刺激脚交jootjob| 久久99久久久欧美国产| 久久亚洲春色中文字幕久久久| 国产精品99久久久久久久女警| 国产日韩欧美亚洲| 91伊人久久大香线蕉| 亚洲综合色在线| 欧美二区三区91| 国产一区在线精品| 国产精品久久久久久久久果冻传媒 | 欧美三级在线视频| 奇米综合一区二区三区精品视频| 欧美一区二区三区免费大片| 久久精品国产亚洲aⅴ| 久久久影视传媒| 91猫先生在线| 日本欧美加勒比视频| 欧美tickle裸体挠脚心vk| 国产91精品欧美| 亚洲精品成人少妇| 91精品中文字幕一区二区三区| 蜜乳av一区二区三区| 国产欧美视频一区二区三区| 91麻豆国产在线观看| 日本欧美在线看| 国产精品热久久久久夜色精品三区 | 久久综合狠狠综合| 91色综合久久久久婷婷| 日本欧美久久久久免费播放网| 久久久噜噜噜久久中文字幕色伊伊| 99久久婷婷国产综合精品电影| 亚洲国产综合91精品麻豆| 欧美电影免费观看高清完整版| 国产伦精品一区二区三区免费迷 | 色婷婷av一区二区三区之一色屋| 亚洲成人资源在线| 久久久精品人体av艺术| 日本黄色一区二区| 精品一区精品二区高清| 国产精品看片你懂得| 91精品免费观看| 丁香婷婷深情五月亚洲| 午夜精品福利在线| 国产欧美一区二区精品婷婷| 欧美日韩精品欧美日韩精品一 | 国产精品久久久久久久久图文区| 欧美日韩mp4| 成人深夜视频在线观看| 日韩黄色片在线观看| 亚洲视频一区二区在线| 久久综合五月天婷婷伊人| 日本精品视频一区二区| 国模一区二区三区白浆| 亚洲高清免费观看高清完整版在线观看| 精品国产3级a| 欧美亚洲另类激情小说| 成人免费高清视频| 久久精品国产精品青草| 夜夜精品浪潮av一区二区三区| 国产亚洲一区字幕| 69堂国产成人免费视频| 色综合久久综合中文综合网| 国产精品一区二区在线看| 婷婷中文字幕一区三区| 亚洲欧美另类在线| 国产女人水真多18毛片18精品视频| 91超碰这里只有精品国产| 色婷婷av一区二区三区gif | 成人欧美一区二区三区黑人麻豆| 日韩三级av在线播放| 欧美日韩mp4| 色猫猫国产区一区二在线视频| 国产精品99久久久久久久女警 | 日本一区二区成人| 欧美一级在线观看| 欧美日韩国产一级片| 色噜噜狠狠色综合中国| 成人国产亚洲欧美成人综合网| 麻豆国产精品一区二区三区 | 91精品国产美女浴室洗澡无遮挡| 一本色道久久综合亚洲aⅴ蜜桃| 国产激情视频一区二区三区欧美 | 国产丝袜欧美中文另类| 2020日本不卡一区二区视频| 日韩一区二区在线观看视频播放| 在线观看国产91| 91一区二区在线| www.成人网.com| 丰满少妇久久久久久久| 风间由美一区二区av101| 国产传媒日韩欧美成人| 国产精品一区专区| 国产精品羞羞答答xxdd| 国产剧情一区二区三区| 精品一区二区三区在线播放视频| 欧美a一区二区| 蜜桃一区二区三区在线观看| 免费视频一区二区| 另类欧美日韩国产在线| 日本美女一区二区| 日本网站在线观看一区二区三区| 日本va欧美va瓶| 久久国产精品色| 久久 天天综合| 国产成人精品免费| 国产成人激情av| 99久久综合国产精品| 99视频在线观看一区三区| 91免费在线看| 欧美视频在线观看一区二区| 欧美日韩国产免费| 91精品国产综合久久久久久久 | 国产精品夜夜嗨| 懂色一区二区三区免费观看| 国产成人8x视频一区二区| 99国产精品久久久久| 在线中文字幕不卡|