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

📄 ucalcpma.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, DbPrgrss, StdCtrls, Buttons, Db, DBTables;

type
  TCalcolo_PM = class(TForm)
    EstrazioneRighe: TQuery;
    EstrazioneRigheArticolo: TStringField;
    EstrazioneRigheDeposito: TStringField;
    EstrazioneRighePrezzo: TCurrencyField;
    EstrazioneRigheSconto: TFloatField;
    EstrazioneRigheSconto2: TFloatField;
    EstrazioneRigheSconto3: TFloatField;
    EstrazioneRigheQta: TFloatField;
    EstrazioneRigheCambioL: TCurrencyField;
    EstrazioneRigheCambioE: TCurrencyField;
    EstrazioneRighePrezzoScL: TCurrencyField;
    EstrazioneRighePrezzoSCE: TCurrencyField;
    Messaggio: TMemo;
    Operazione: TProgressBar;
    Fasi: TProgressBar;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    DBProgress1: TDBProgress;
    StatusBar1: TStatusBar;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Calcolo_PM: TCalcolo_PM;

implementation

{$R *.DFM}

procedure TCalcolo_PM.BitBtn1Click(Sender: TObject);
Var
   Articolo_old : string ;


begin
 Fasi.Max := 2 ;
 Fasi.Position :=  0;
 Messaggio.Lines.Add('Estrazione righe...') ;
 Update ;
 EstrazioneRighe.Open ;
 Fasi.Position := 1 ;
 Messaggio.Lines.Add('Elaborazione prezzo medio...') ;
 Operazione.Max := EstrazioneRighe.RecordCount ;
 Operazione.Position := 0 ;
 EstrazioneRighe.first ;
 articolo_old := '' ;
 While not EstrazioneRighe.Eof do
  begin
   UpDate ;
   (*
    Calcolo prezzo medio e inserimento per articolo, ovviamente su tutte le righe di tutti gli articolietichetta per articolo interno per deposito
    Quindi :
    1. calcolo prezzo medio per articolo interno
    2. Scansione di artbase per Articolo interno
    2b.Scasione depositi
    3. Locate su Giacenza.DB con artbase.articoloetichetta,deposito.deposito
    4. somma con media tra PMINV e PM con memorizzazione in PMATT
    5. Post del record
    *)
   If Articolo_old <> EstrazioneRigheArticolo.AsString then
    begin
     Articolo_old := EstrazioneRigheArticolo.AsString ;
    end ;
   Operazione.Position := EstrazioneRighe.RecNo ;
   EstrazioneRighe.Next ;
   Update ;
  end ;

end;

end.

⌨️ 快捷键说明

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