📄 u_analisi_scadenza.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 + -