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

📄 scade_mod.pas

📁 基于OOP设计的一套较好的ERP系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit scade_mod;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables;

type
  TModuloDatiScadenziario = class(TDataModule)
    TTEconto: TTable;
    TTEcontoDocumento: TIntegerField;
    TTEcontoDareL: TCurrencyField;
    TTEcontoDareE: TCurrencyField;
    TTEcontoAvereL: TCurrencyField;
    TTEcontoAvereE: TCurrencyField;
    TTEcontoConto: TStringField;
    TTEcontoPagamento: TStringField;
    TTEcontoSoggetto: TStringField;
    TTEcontoSaldato: TBooleanField;
    TTEcontoManuale: TBooleanField;
    TTEcontoSollecito: TStringField;
    TTEcontoRagionesociale: TStringField;
    TTEcontoDescrizionepagamento: TStringField;
    TTEcontoDescrizioneconto: TStringField;
    TTSoggetti: TTable;
    TTModPag: TTable;
    TTConti: TTable;
    TTDocumenti: TTable;
    TTEcontoDatadoc: TDateField;
    TTEcontoTotaledocumentoE: TCurrencyField;
    TTEcontoTotaledocumentoL: TCurrencyField;
    TTEcontoValutaDoc: TStringField;
    TTEcontoSaldoL: TCurrencyField;
    TTEcontoSaldoE: TCurrencyField;
    TTEcontoNumerodoc: TIntegerField;
    TTEcontoScadenza: TDateField;
    TTParam: TTable;
    TTParamOrdinamento: TStringField;
    TTParamSoggetto: TStringField;
    TTParamScadenzedal: TDateField;
    TTParamScadenzaal: TDateField;
    TTParamDocumentidal: TDateField;
    TTParamDocumential: TDateField;
    TTParamRicerca_soggetto: TStringField;
    TTParamPartite: TStringField;
    TTParamTotaleAvereL: TCurrencyField;
    TTParamTotaleDareL: TCurrencyField;
    TTParamTotaleSaldoL: TCurrencyField;
    TTParamTotaleAvereE: TCurrencyField;
    TTParamTotaleDareE: TCurrencyField;
    TTParamTotaleSaldoE: TCurrencyField;
    TTEcontoAP: TStringField;
    TTParamAP: TStringField;
    TTEcontoAccontoL: TCurrencyField;
    TTEcontoAccontoE: TCurrencyField;
    TTEcontoDatapagamento: TDateField;
    TTModPagCodice: TStringField;
    TTModPagDescrizione: TStringField;
    TTModPagDF_FM: TStringField;
    TTModPagCalcola: TBooleanField;
    TTModPagSalda: TBooleanField;
    TTModPagContoanticipo: TStringField;
    TTModPagFrazioneanticipo: TFloatField;
    TTModPagContoincasso: TStringField;
    TTModPagSconto: TFloatField;
    TTTpnota: TTable;
    TTTpnotaRegistrazione: TIntegerField;
    TTTpnotaData: TDateField;
    TTTpnotaDescrizione: TStringField;
    TTTpnotaMezzo: TStringField;
    TTTpnotaPartita: TIntegerField;
    TTTpnotaC1E: TCurrencyField;
    TTTpnotaC1U: TCurrencyField;
    TTTpnotaC2E: TCurrencyField;
    TTTpnotaC2U: TCurrencyField;
    TTTpnotaC3E: TCurrencyField;
    TTTpnotaC3U: TCurrencyField;
    TTTpnotaC4E: TCurrencyField;
    TTTpnotaC4U: TCurrencyField;
    TTTpnotaSaldoC1: TCurrencyField;
    TTTpnotaSaldoC2: TCurrencyField;
    TTTpnotaSaldoC3: TCurrencyField;
    TTTpnotaSaldoC4: TCurrencyField;
    TTContiConto: TStringField;
    TTContiDescrizione: TStringField;
    TTContiTipoconto: TStringField;
    TTTpnotaStampato: TBooleanField;
    TTEcontoDescrizione: TStringField;
    TTpagamRit: TTable;
    TTpagamRitProgressivo: TAutoIncField;
    TTpagamRitDatascadenza: TDateField;
    TTpagamRitDocumento: TIntegerField;
    TTpagamRitImportoL: TCurrencyField;
    TTpagamRitImportoE: TCurrencyField;
    TTpagamRitPagata: TBooleanField;
    TTpagamRitDatapagamento: TDateField;
    TTpagamRitEsattoria: TStringField;
    TTpagamRitCodiceritenuta: TStringField;
    TTpagamRitNumeroquietanza: TStringField;
    TTEcontoCodiceritenuta: TStringField;
    TTpagamRitEstremiDoc: TStringField;
    TTDocumentiDocumento: TIntegerField;
    TTDocumentiValuta: TStringField;
    TTDocumentiData: TDateField;
    TTDocumentiNumero: TIntegerField;
    TTDocumentiSerie: TStringField;
    TTDocumentiTipo: TStringField;
    TTDocumentiCausale: TStringField;
    TTDocumentiSoggetto: TStringField;
    TTDocumentiRagionesocialemerce: TStringField;
    TTDocumentiIndirizzomerce: TStringField;
    TTDocumentiCapmerce: TStringField;
    TTDocumentiLocalitamerce: TStringField;
    TTDocumentiProvinciamerce: TStringField;
    TTDocumentiStatomerce: TStringField;
    TTDocumentiRagionesocialedocumento: TStringField;
    TTDocumentiIndirizzodocumento: TStringField;
    TTDocumentiCapdocumento: TStringField;
    TTDocumentiLocalitadocumento: TStringField;
    TTDocumentiProvinciadocumento: TStringField;
    TTDocumentiStatodocumento: TStringField;
    TTDocumentiDepositouscita: TStringField;
    TTDocumentiDepositoentrata: TStringField;
    TTDocumentiColli: TSmallintField;
    TTDocumentiCuradeltrasporto: TStringField;
    TTDocumentiVettore: TStringField;
    TTDocumentiDatapartenza: TDateField;
    TTDocumentiOrapartenza: TTimeField;
    TTDocumentiDataconsegna: TDateField;
    TTDocumentiOraconsegna: TTimeField;
    TTDocumentiFirmadocumento: TStringField;
    TTDocumentiSconto: TCurrencyField;
    TTDocumentiSconto2: TFloatField;
    TTDocumentiImponibile: TCurrencyField;
    TTDocumentiImponibilescontato: TCurrencyField;
    TTDocumentiImposta: TCurrencyField;
    TTDocumentiTotaleE: TCurrencyField;
    TTDocumentiTotaleL: TCurrencyField;
    TTDocumentiImballo: TStringField;
    TTDocumentiPagamento: TStringField;
    TTDocumentiBanca: TStringField;
    TTDocumentiAgente: TStringField;
    TTDocumentiEvaso: TBooleanField;
    TTDocumentiSospeso: TBooleanField;
    TTDocumentiNote: TMemoField;
    TTDocumentiNomefilereport: TStringField;
    TTDocumentiStampato: TBooleanField;
    TTDocumentiAnnullato: TBooleanField;
    TTDocumentiCompletato: TBooleanField;
    TTDocumentiEsenzioneIVA: TStringField;
    TTDocumentiTestoesenzioneIVA: TMemoField;
    TTDocumentiAccontoL: TCurrencyField;
    TTDocumentiAccontoE: TCurrencyField;
    TTDocumentiSpesebancarie: TCurrencyField;
    TTDocumentiSpesetrasporto: TCurrencyField;
    TTDocumentiSpesevarie: TCurrencyField;
    TTDocumentiRegistrazione: TIntegerField;
    TTDocumentiCodiceritenuta: TStringField;
    TTDocumentiAliquotaritenuta: TFloatField;
    TTpagamRitDenominazioneEsattoria: TStringField;
    TTpagamRitAbi: TStringField;
    TTpagamRitCab: TStringField;
    TTDocumentiTipoDocumento: TStringField;
    TTTpnotaProgressivoC1: TCurrencyField;
    TTTpnotaProgressivoC2: TCurrencyField;
    TTTpnotaProgressivoC3: TCurrencyField;
    TTTpnotaProgressivoC4: TCurrencyField;
    TTEcontoDenominazionesoggetto: TStringField;
    TTDEconto: TTable;
    TTDEcontoDocumento: TIntegerField;
    TTDEcontoScadenza: TDateField;
    TTDEcontoRegistrazione: TIntegerField;
    dsEconto: TDataSource;
    TTTpnotaSaldo: TCurrencyField;
    TTTpnotaEntrata: TCurrencyField;
    TTTpnotaUscita: TCurrencyField;
    QueryPnota: TQuery;
    QueryPnotaDocumento: TIntegerField;
    QueryPnotaScadenza: TDateField;
    QueryPnotaRegistrazione: TIntegerField;
    QueryPnotaData: TDateField;
    QueryPnotaDescrizione: TStringField;
    QueryPnotaMezzo: TStringField;
    QueryPnotaEntrata: TCurrencyField;
    QueryPnotaUscita: TCurrencyField;
    TTEcontoDatadocumento: TDateField;
    TTEcontoNumerodocumento: TIntegerField;
    TTEcontoRegistrazione: TIntegerField;
    TTEcontoNote: TMemoField;
    QueryPnotaSaldo: TCurrencyField;
    TTTpnotaID: TIntegerField;
    TTDEcontoIdGiornale: TStringField;
    TTTpnotaIdGiornale: TStringField;
    TTEcontoIdGiornale: TStringField;
    TTSoggettiIdGiornale: TStringField;
    TTModPagIdGiornale: TStringField;
    TTContiIdGiornale: TStringField;
    TTDocumentiIdGiornale: TStringField;
    TTpagamRitIdGiornale: TStringField;
    TTSoggettiCodice: TStringField;
    TTSoggettiTiporapporto: TStringField;
    TTSoggettiRagionesociale: TStringField;
    TTSoggettiRagionesocialeMerce: TStringField;
    TTSoggettiIndirizzo: TStringField;
    TTSoggettiCap: TStringField;
    TTSoggettiLocalita: TStringField;
    TTSoggettiProvincia: TStringField;
    TTSoggettiStato: TStringField;
    TTSoggettiPartitaIVA: TStringField;
    TTSoggettiCodiceFiscale: TStringField;
    TTSoggettiEL: TStringField;
    TTSoggettiIndirizzofatture: TStringField;
    TTSoggettiCapfatture: TStringField;
    TTSoggettiLocalitafatture: TStringField;
    TTSoggettiProvinciafatture: TStringField;
    TTSoggettiStatofatture: TStringField;
    TTSoggettiPersonadacontattare: TStringField;
    TTSoggettiTelefono: TStringField;
    TTSoggettiFax: TStringField;
    TTSoggettiDati: TStringField;
    TTSoggettiEmail: TStringField;
    TTSoggettiURL: TStringField;
    TTSoggettiLogin: TStringField;
    TTSoggettiPassword: TStringField;
    TTSoggettiHost: TStringField;
    TTSoggettiPathlistino: TStringField;
    TTSoggettiNomefilelistino: TStringField;
    TTSoggettiNomeproceduralistino: TStringField;
    TTSoggettiFido: TCurrencyField;
    TTSoggettiAgente: TStringField;
    TTSoggettiZona: TStringField;
    TTSoggettiDepositopreferenziale: TStringField;
    TTSoggettiVettorepreferenziale: TStringField;
    TTSoggettiListino: TStringField;
    TTSoggettiBanca: TStringField;
    TTSoggettiConto: TStringField;
    TTSoggettiValutaconto: TStringField;
    TTSoggettiPagamento: TStringField;
    TTSoggettiGruppo: TStringField;
    TTSoggettiIva: TStringField;
    TTSoggettiTestoesenzioniIVA: TMemoField;
    TTSoggettiContocorrente: TStringField;
    TTSoggettiSconto: TFloatField;
    TTSoggettiNote: TMemoField;
    TTSoggettiPartitaPC: TStringField;
    TTSoggettiCausalecontabile: TStringField;
    TTSoggettiCodiceritenuta: TStringField;
    procedure TTEcontoCalcFields(DataSet: TDataSet);
    procedure TTParamBeforePost(DataSet: TDataSet);
    procedure TTParamOrdinamentoChange(Sender: TField);
    procedure TTEcontoSaldatoChange(Sender: TField);
    procedure TTEcontoDareLChange(Sender: TField);
    procedure ModuloDatiScadenziarioCreate(Sender: TObject);
    procedure TTEcontoAvereLChange(Sender: TField);
    procedure TTEcontoAvereEChange(Sender: TField);
    procedure TTEcontoDareEChange(Sender: TField);
    procedure TTTpnotaAfterInsert(DataSet: TDataSet);
    procedure TTTpnotaCalcFields(DataSet: TDataSet);
    procedure TTpagamRitCalcFields(DataSet: TDataSet);
    procedure TTDocumentiCalcFields(DataSet: TDataSet);
    procedure TTTpnotaBeforePost(DataSet: TDataSet);
    procedure TTTpnotaBeforeInsert(DataSet: TDataSet);
    procedure TTTpnotaAfterPost(DataSet: TDataSet);
    procedure TTTpnotaAfterDelete(DataSet: TDataSet);
    procedure TTTpnotaAfterOpen(DataSet: TDataSet);
    procedure TTEcontoBeforeOpen(DataSet: TDataSet);
    procedure TTTpnotaBeforeDelete(DataSet: TDataSet);
    procedure QueryPnotaCalcFields(DataSet: TDataSet);
    procedure TTEcontoAfterInsert(DataSet: TDataSet);
    procedure TTEcontoAfterPost(DataSet: TDataSet);
    procedure TTEcontoBeforeDelete(DataSet: TDataSet);
    procedure TTSoggettiAfterInsert(DataSet: TDataSet);
    procedure TTModPagAfterInsert(DataSet: TDataSet);
    procedure TTContiAfterInsert(DataSet: TDataSet);
    procedure TTDocumentiAfterInsert(DataSet: TDataSet);
    procedure TTpagamRitAfterInsert(DataSet: TDataSet);
    procedure TTDEcontoAfterInsert(DataSet: TDataSet);
    procedure TTSoggettiAfterPost(DataSet: TDataSet);
    procedure TTModPagAfterPost(DataSet: TDataSet);
    procedure TTContiAfterPost(DataSet: TDataSet);
    procedure TTDocumentiAfterPost(DataSet: TDataSet);
    procedure TTpagamRitAfterPost(DataSet: TDataSet);
    procedure TTDEcontoAfterPost(DataSet: TDataSet);
    procedure TTSoggettiBeforeDelete(DataSet: TDataSet);
    procedure TTModPagBeforeDelete(DataSet: TDataSet);
    procedure TTContiBeforeDelete(DataSet: TDataSet);
    procedure TTDocumentiBeforeDelete(DataSet: TDataSet);
    procedure TTpagamRitBeforeDelete(DataSet: TDataSet);
    procedure TTDEcontoBeforeDelete(DataSet: TDataSet);
  private
    { Private declarations }
    Procedure CalcolaSaldoProgressivoPnota ;
    Procedure RefreshSoggettiEconto ;
  public
    { Public declarations }
    Procedure Rinfresca_scadenze ;
    Procedure Salda_Dissalda ;
    Procedure SpostaRigaPnota(passi:integer) ;
    Function MilleniumBugStr(dataora : TDateTime) : string ;
    procedure Registra;
    procedure modifica_pag;
  end;

var
  ModuloDatiScadenziario: TModuloDatiScadenziario;
  mod_manuale : boolean ;
  P1,P2,P3,P4 : Currency ;

implementation

uses ana_mod, Doc_mod, pagamenti_u;

{$R *.DFM}

Function TModuloDatiScadenziario.MilleniumBugStr(dataora : TDateTime) : string ;
Var
   Anno, Mese, Giorno : Word ;

begin
   DecodeDate(DataOra,Anno,Mese,Giorno) ;
   Result := FormatFloat('00',Giorno) + '/' +
             FormatFloat('00',Mese) + '/' +
             FormatFloat('0000',Anno) ;
end ;

Procedure TModuloDatiScadenziario.RefreshSoggettiEconto ;
Var
 EcontoDb : TTable ;
begin
 EcontoDb := TTable.Create(nil) ;
 EcontoDb.DatabaseName := 'euro2000' ;
 EcontoDb.TableName := 'Econto.db' ;
 EcontoDb.Open ;
 EcontoDb.First ;
 While Not EcontoDb.Eof do
  begin
   if (EcontoDb.FieldByname('Denominazione soggetto').asString = '') and
    ModuloDatianagrafiche.TTsoggetti.FindKey([EcontoDb.FieldByname('Soggetto').asString])then
    begin
     EcontoDb.Edit ;
     EcontoDb.FieldByName('Denominazione soggetto').asString := ModuloDatianagrafiche.TTsoggettiRagioneSociale.asString ;
     EcontoDb.Post ;
    end ;
   if (EcontoDb.FieldByname('Data documento').asString = '') then
    if ModuloDatiDocumenti.TTTestata.locate('Documento',EcontoDb.FieldByName('Documento').Value,[]) then
    begin
     EcontoDb.Edit ;
     EcontoDb.FieldByName('Data documento').AsDateTime := ModuloDatiDocumenti.TTTestataData.AsDateTime ;
     EcontoDb.FieldBYname('Numero documento').asInteger := moduloDatiDocumenti.TTTestataNumero.AsInteger ;
     EcontoDb.Post ;
    end ;
   EcontoDb.next ;    
  end ;
 EcontoDb.Close ;
 EcontoDb.Free ;
end ;

Procedure TmoduloDatiScadenziario.SpostaRigaPnota(passi:integer) ;
Var
   Progressivo_Attuale : integer ;
   Progressivo_futuro : integer ;
   Passi_fatti : integer ;
   LocalizzaPnota,Pnota,PnotaAttuale : TTable ;

⌨️ 快捷键说明

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