u_incassi.pas

来自「基于OOP设计的一套较好的ERP系统」· PAS 代码 · 共 210 行

PAS
210
字号
unit u_incassi;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ActnList, ImgList, ToolWin, ComCtrls, StdCtrls, ExtCtrls, Db, DBTables,
  Grids, DBGridEh, ppEndUsr, ppProd, ppClass, ppReport, ppComm, ppRelatv,
  ppCache, ppDB, ppDBPipe, ppDBBDE, ppBands, ppCtrls, ppPrnabl;

type
  TIncassi_form = class(TForm)
    Listaimmagini: TImageList;
    ToolBar1: TToolBar;
    ToolButton2: TToolButton;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    dal: TDateTimePicker;
    al: TDateTimePicker;
    ToolButton1: TToolButton;
    ActionList1: TActionList;
    Chiudi: TAction;
    Stampa: TAction;
    Personalizza: TAction;
    Tutti: TAction;
    GrigliaIncassi: TDBGridEh;
    QIncassi: TQuery;
    DSIncassi: TDataSource;
    ToolButton3: TToolButton;
    Incassi: TppBDEPipeline;
    Incassi_report: TppReport;
    incassi_report_designer: TppDesigner;
    ppGroup1: TppGroup;
    ppGroupHeaderBand1: TppGroupHeaderBand;
    ppGroupFooterBand1: TppGroupFooterBand;
    ppDBText1: TppDBText;
    ppDBText2: TppDBText;
    ppDBText3: TppDBText;
    ppDBText4: TppDBText;
    ppDBText5: TppDBText;
    ppSummaryBand1: TppSummaryBand;
    ppDBCalc1: TppDBCalc;
    ppDBCalc5: TppDBCalc;
    ppLabel1: TppLabel;
    ppLabel2: TppLabel;
    ppDBText8: TppDBText;
    ppLabel3: TppLabel;
    ppLabel4: TppLabel;
    ppLabel5: TppLabel;
    ppLabel6: TppLabel;
    ppLabel7: TppLabel;
    ppLabel8: TppLabel;
    ppLabel9: TppLabel;
    QIncassiArticolo: TStringField;
    QIncassiPrezzoivato: TCurrencyField;
    QIncassiAliquotaiva: TFloatField;
    QIncassiSconto: TFloatField;
    QIncassiSconto2: TCurrencyField;
    QIncassiData: TDateField;
    QIncassiQuantita: TFloatField;
    QIncassiImportoIvato: TCurrencyField;
    QIncassiImportoNetto: TCurrencyField;
    QIncassiImposta: TCurrencyField;
    QIncassiDescrizione: TStringField;
    QIncassiArticolointerno: TStringField;
    Valuta: TRadioGroup;
    QIncassiCambioL: TCurrencyField;
    QIncassiCambioE: TCurrencyField;
    QIncassiPrezzo: TCurrencyField;
    ppDBText6: TppDBText;
    ppDBText7: TppDBText;
    ppDBCalc6: TppDBCalc;
    ppDBCalc7: TppDBCalc;
    ppDBCalc8: TppDBCalc;
    ppDBCalc2: TppDBCalc;
    ppDBCalc4: TppDBCalc;
    ppDBCalc3: TppDBCalc;
    procedure ChiudiExecute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure dalChange(Sender: TObject);
    procedure QIncassiCalcFields(DataSet: TDataSet);
    procedure PersonalizzaExecute(Sender: TObject);
    procedure StampaExecute(Sender: TObject);
    procedure incassi_report_designerCustomSaveDoc(Sender: TObject);
    procedure ValutaClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Procedure Aggiorna_incassi ;
  end;

var
  Incassi_form: TIncassi_form;

implementation

uses main;

{$R *.DFM}

Procedure TIncassi_form.Aggiorna_Incassi ;
Var
   formato : string ;
begin
 If Valuta.ItemIndex = 0 then
  formato := '#,##0.00'
 else
  formato := '#,##0' ;
 If QIncassi.Active then
    QIncassi.Close ;
 QincassiImportoIvato.DisplayFormat := formato ;
 QincassiImportoNetto.DisplayFormat := formato ;
 QIncassiImposta.DisplayFormat := formato ;
 QIncassiPrezzo.DisplayFormat := formato ;
 QIncassi.Params[0].value := dal.date ;
 Qincassi.Params[1].value := al.date;
 Qincassi.Prepare ;
 Qincassi.Open ;
 
end ;
procedure TIncassi_form.ChiudiExecute(Sender: TObject);
begin
     release ;
end;

procedure TIncassi_form.FormCreate(Sender: TObject);
begin
     dal.Date := Now ;
     Al.Date := Now ;
     Aggiorna_incassi ;
end;

procedure TIncassi_form.dalChange(Sender: TObject);
begin
     Aggiorna_incassi ;
end;

procedure TIncassi_form.QIncassiCalcFields(DataSet: TDataSet);
Var
   Cambio : Real ;
   Valuta_L : String ;
begin
     If Valuta.ItemIndex = 0 then
      begin
        cambio := QincassiCambioE.asFloat ;
        Valuta_L := 'E' ;
      end
     else
      begin
        cambio := QincassiCambioL.AsFloat ;
        Valuta_L := 'L' ;
      end;
     QincassiImportoIvato.asCurrency := Main_form.ArrotondaImponibile4((
                                        (QincassiPrezzoIvato.asCurrency *
                                        ( 1 - QIncassiSconto.asFloat / 100)*
                                        QincassiQuantita.asFloat ) -
                                        QincassiSconto2.asCurrency
                                        )* cambio, Valuta_L) ;
     QincassiImportoNetto.asCurrency := Main_form.ArrotondaImponibile4((QincassiImportoIvato.asCurrency / (1  + QIncassiAliquotaIva.asFloat / 100)) ,Valuta_L) ;
     QincassiImposta.AsCurrency := Main_form.ArrotondaImponibile4(QincassiImportoIvato.asCurrency - QincassiImportoNetto.AsCurrency ,Valuta_L) ;
     QincassiPrezzo.AsCurrency := Main_form.ArrotondaImponibile4(QincassiPrezzoIvato.asCurrency * Cambio,Valuta_L) ;
end;

procedure TIncassi_form.PersonalizzaExecute(Sender: TObject);
VAr
   Nome_Report : string ;

begin
     Nome_report := Main_form.TTconfigStampaIncassi.AsString ;
     If FileExists(nome_report) then
         begin
          incassi_report.Template.filename := nome_report ;
          incassi_report.Template.LoadFromFile ;
         end ;
     incassi_report_designer.show ;

end;

procedure TIncassi_form.StampaExecute(Sender: TObject);
VAr
   Nome_Report : string ;

begin
     Nome_report := Main_form.TTconfigStampaIncassi.AsString ;
     If FileExists(nome_report) then
         begin
          incassi_report.Template.filename := nome_report ;
          incassi_report.Template.LoadFromFile ;
         end ;
     incassi_report.Print ;
end;

procedure TIncassi_form.incassi_report_designerCustomSaveDoc(
  Sender: TObject);
begin
     Main_form.TTConfig.Edit ;
     Main_form.TTconfigStampaIncassi.AsString := incassi_report.Template.Filename ;
     incassi_report.Template.SaveToFile ;
     Main_form.TTconfig.Post ;
end;

procedure TIncassi_form.ValutaClick(Sender: TObject);
begin
 Aggiorna_incassi ;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?