u_analisi_scadenza.pas
来自「大型企业管理源码,JAVA类,包括销售,采购,财务,OA辅助办公处理,有学习JA」· PAS 代码 · 共 187 行
PAS
187 行
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 + =
减小字号Ctrl + -
显示快捷键?