⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_analisi_scadenza.pas

📁 基于OOP设计的一套较好的ERP系统
💻 PAS
字号:
unit u_analisi_scadenza;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, Grids, DBGrids, RxMemDS, StdCtrls, Mask, ToolEdit, ExtCtrls,
  ppCtrls, ppVar, ppPrnabl, ppClass, ppBands, ppCache, ppProd, ppReport,
  ppDB, ppComm, ppRelatv, ppDBPipe, ppDBBDE;

type
  TAnalisi_Scadenza = class(TForm)
    Carico: TQuery;
    RxScadenza: TRxMemoryData;
    DBGrid2: TDBGrid;
    DsScadenza: TDataSource;
    Scarico: TQuery;
    ScaricoDescrizione: TStringField;
    ScaricoArticolo: TStringField;
    ScaricoDeposito: TStringField;
    ScaricoSUM_ddoc_Qta: TFloatField;
    CaricoDescrizione: TStringField;
    CaricoArticolo: TStringField;
    CaricoDeposito: TStringField;
    CaricoData_scadenza: TDateField;
    CaricoSUM_ddoc_Qta: TFloatField;
    Panel1: TPanel;
    Button1: TButton;
    Dal: TDateEdit;
    Al: TDateEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button2: TButton;
    Button3: TButton;
    RxScadenzaFornitore: TStringField;
    RxScadenzaCategoria: TStringField;
    RxScadenzaTipo: TStringField;
    RxScadenzaEtichetta: TStringField;
    RxScadenzaArticolofornitore: TStringField;
    RxScadenzaData: TDateTimeField;
    RxScadenzaQta: TFloatField;
    CaricoSoggetto: TStringField;
    CaricoTipoarticolo: TStringField;
    CaricoCategoriamerceologica: TStringField;
    CaricoArticolofornitore: TStringField;
    ppScadenza: TppBDEPipeline;
    StpScadenza: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppFooterBand1: TppFooterBand;
    ppGroup1: TppGroup;
    ppGroupHeaderBand1: TppGroupHeaderBand;
    ppGroupFooterBand1: TppGroupFooterBand;
    ppGroup2: TppGroup;
    ppGroupHeaderBand2: TppGroupHeaderBand;
    ppGroupFooterBand2: TppGroupFooterBand;
    ppGroup3: TppGroup;
    ppGroupHeaderBand3: TppGroupHeaderBand;
    ppGroupFooterBand3: TppGroupFooterBand;
    ppLabel1: TppLabel;
    ppSystemVariable1: TppSystemVariable;
    ppSystemVariable2: TppSystemVariable;
    ppDBText1: TppDBText;
    ppDBText2: TppDBText;
    ppDBText3: TppDBText;
    ppDBText4: TppDBText;
    ppDBText5: TppDBText;
    ppDBText6: TppDBText;
    ppDBText7: TppDBText;
    ppDBText8: TppDBText;
    ppLabel2: TppLabel;
    ppLabel3: TppLabel;
    ppLabel4: TppLabel;
    ppLabel5: TppLabel;
    ppLabel6: TppLabel;
    ppLabel7: TppLabel;
    ppLine1: TppLine;
    RxScadenzaDescrizione: TStringField;
    RxScadenzaDeposito: TStringField;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Analisi_Scadenza: TAnalisi_Scadenza;

implementation

uses ana_mod;

{$R *.DFM}

procedure TAnalisi_Scadenza.Button1Click(Sender: TObject);
var qta : real ;
    Articolo : String ;
begin
     Carico.Close ;
     Carico.Open ;
     Scarico.Close ;
     Scarico.Open ;
     RxScadenza.Close ;
     RxScadenza.Open ;

     Articolo := '' ;
     Qta := 0 ;
     Carico.First ;
     while not carico.Eof do
       begin
         if scarico.Locate('Articolo',Carico.fieldByName('Articolo').AsString,[]) then
           begin
              if Articolo <> Carico.FieldByName('Articolo').asString then
               begin
                 Qta := Scarico.FieldByName('SUM_ddoc_Qta').AsFloat ;
                 Articolo := Scarico.FieldByName('Articolo').AsString ;
               end ;
              if (Carico.FieldByName('SUM_ddoc_Qta').AsFloat - Qta) > 0 then
                begin
                  if (Carico.FieldByName('Data_Scadenza').AsDateTime >= Dal.Date) and  (Carico.FieldByName('Data_Scadenza').AsDateTime <= Al.Date) then
                    begin
                      RxScadenza.Insert ;
                      RxScadenza.FieldByName('Etichetta').AsString := Carico.FieldByName('Articolo').AsString ;
                      RxScadenza.FieldByName('Data').AsDateTime := Carico.FieldByName('Data_Scadenza').AsDateTime ;
                      if Qta > 0 then
                        RxScadenza.FieldByName('Qta').AsFloat := Carico.FieldByName('SUM_ddoc_Qta').AsFloat - Qta
                      else
                        RxScadenza.FieldByName('Qta').AsFloat := Carico.FieldByName('SUM_ddoc_Qta').AsFloat ;
                      RxScadenza.FieldByName('Descrizione').AsString := Carico.FieldByName('Descrizione').AsString ;
                      RxScadenza.FieldByName('Tipo').AsString := Carico.FieldByName('Tipo Articolo').AsString ;
                      RxScadenza.FieldByName('Categoria').AsString := Carico.FieldByName('Categoria Merceologica').AsString ;
                      if ModuloDatiAnagrafiche.TTSoggetti.FindKey([Carico.FieldByName('Soggetto').AsString]) then
                              RxScadenza.FieldByName('Fornitore').AsString := ModuloDatiAnagrafiche.TTSoggettiRagioneSociale.AsString ;
                      RxScaDenza.FieldByName('Articolo fornitore').AsString := Carico.FieldByName('Articolo fornitore').AsString ;
                      RxScadenza.Post ;
                    end ;
                  Qta := Qta - Carico.FieldByName('SUM_ddoc_Qta').AsFloat ;
                end
              else
                Qta := Qta - Carico.FieldByName('SUM_ddoc_Qta').AsFloat ;
           end
         else
          begin
              if (Carico.FieldByName('Data_Scadenza').AsDateTime >= Dal.Date) and  (Carico.FieldByName('Data_Scadenza').AsDateTime <= Al.Date) then
                begin
                  RxScadenza.Insert ;
                  RxScadenza.FieldByName('Etichetta').AsString := Carico.FieldByName('Articolo').AsString ;
                  RxScadenza.FieldByName('Data').AsDateTime := Carico.FieldByName('Data_Scadenza').AsDateTime ;
                  RxScadenza.FieldByName('Descrizione').AsString := Carico.FieldByName('Descrizione').AsString ;
                  RxScadenza.FieldByName('Qta').AsFloat := carico.FieldByName('SUM_ddoc_Qta').AsFloat ;
                  RxScadenza.FieldByName('Tipo').AsString := Carico.FieldByName('Tipo Articolo').AsString ;
                  RxScadenza.FieldByName('Categoria').AsString := Carico.FieldByName('Categoria Merceologica').AsString ;
                  if ModuloDatiAnagrafiche.TTSoggetti.FindKey([Carico.FieldByName('Soggetto').AsString]) then
                          RxScadenza.FieldByName('Fornitore').AsString := ModuloDatiAnagrafiche.TTSoggettiRagioneSociale.AsString ;
                  RxScaDenza.FieldByName('Articolo fornitore').AsString := Carico.FieldByName('Articolo fornitore').AsString ;
                  RxScadenza.Post ;
                end ;
          end ;
         carico.next ;
       end ;

     Carico.Close ;
     Scarico.Close ;
end;

procedure TAnalisi_Scadenza.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
     release ;
end;

procedure TAnalisi_Scadenza.Button2Click(Sender: TObject);
begin
     close ;
end;

procedure TAnalisi_Scadenza.Button3Click(Sender: TObject);
begin
     StpScadenza.Print ;
end;

end.

⌨️ 快捷键说明

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