📄 doc_mod.pas
字号:
TTFilialiProvincia: TStringField;
TTFilialiStato: TStringField;
TTFilialiIdGiornale: TStringField;
TTTestataRagione_Filiale: TStringField;
TTFilialiCodicefiliale: TStringField;
TTVettori: TTable;
TTVettoriCodice: TStringField;
TTVettoriVettore: TStringField;
TTVettoriIndirizzo: TStringField;
TTVettoriTelefono: TStringField;
TTVettoriFax: TStringField;
TTVettoriEmail: TStringField;
TTVettoriWEB: TStringField;
TTVettoriIdGiornale: TStringField;
ppBDEPipeline1: TppBDEPipeline;
DsVettori: TDataSource;
TTArticoliPrezzoconsigliatoL: TCurrencyField;
TTArticoliPrezzoconsigliatoE: TCurrencyField;
TTArticoliPrezzoconsigliatoivatoL: TCurrencyField;
TTArticoliPrezzoconsigliatoivatoE: TCurrencyField;
TTTestataDataannullato: TDateField;
TTConvDocSpesebancarie: TCurrencyField;
TTConvDocSpesetrasporto: TCurrencyField;
TTConvDocSpesevarie: TCurrencyField;
QselTesteSpesebancarie: TCurrencyField;
QselTesteSpesetrasporto: TCurrencyField;
QselTesteSpesevarie: TCurrencyField;
TTDettaglioQta_imballo: TFloatField;
TTDettaglioQta_imballoMov: TFloatField;
TTDettaglioDatascadenza: TDateField;
MaxDoc: TQuery;
MaxDocMassimo: TIntegerField;
MaxScontr: TQuery;
MaxScontrMassimo: TFloatField;
MaxResi: TQuery;
MaxResiMassimo: TIntegerField;
MaxMovMerce: TQuery;
MaxMovMerceMassimo: TIntegerField;
TTGiacenzaDataultimoinventario: TDateField;
TTGiacenzaIdDocInv: TIntegerField;
TTGiacenzaIdScontrInv: TIntegerField;
TTGiacenzaIdResiInv: TIntegerField;
TTGiacenzaIdMovMerceInv: TIntegerField;
TTCausaliTipoimpegno: TStringField;
TTTestataTipoImpegno: TStringField;
TTContattiStampa: TBooleanField;
TTDettaglioProvvigione_capo: TBooleanField;
TTTestataAliquotaenasarco: TFloatField;
TTTestataRitenutaAcconto: TCurrencyField;
TTTestataRitenutaEnasarco: TCurrencyField;
TTDettaglioCoefficiente: TFloatField;
TTDconvDocQta_imballo: TFloatField;
TTDconvDocCoefficiente: TFloatField;
TTTestataTotalesaldo: TCurrencyField;
QselTesteSegnodocumento: TStringField;
QselTestePrefissodocumento: TStringField;
TTConvDocSegnodocumento: TStringField;
TTConvDocPrefissodocumento: TStringField;
TTDettaglioQtapagata: TFloatField;
TTDettaglioPromozione: TStringField;
procedure ModuloDatiDocumentiCreate(Sender: TObject);
procedure TTTestataAfterInsert(DataSet: TDataSet);
procedure TTTestataTipoValidate(Sender: TField);
procedure TTDettaglioCalcFields(DataSet: TDataSet);
procedure TTTestataAfterOpen(DataSet: TDataSet);
procedure TTTestataBeforeDelete(DataSet: TDataSet);
procedure TTDettaglioArticolointernoChange(Sender: TField);
procedure TTTestataBeforeEdit(DataSet: TDataSet);
procedure TTDettaglioAfterPost(DataSet: TDataSet);
procedure TTDettaglioBeforeDelete(DataSet: TDataSet);
procedure TTTestataAfterPost(DataSet: TDataSet);
procedure TTEcontoCalcFields(DataSet: TDataSet);
procedure TTDettaglioArticolofornitoreChange(Sender: TField);
procedure TTDettaglioArticoloetichettaChange(Sender: TField);
procedure TTTestataAccontoLChange(Sender: TField);
procedure TTTestataAccontoEChange(Sender: TField);
procedure TTEtichetteArticolointernoChange(Sender: TField);
procedure TTEtichetteArticolofornitoreChange(Sender: TField);
procedure TTEtichetteArticoloetichettaChange(Sender: TField);
procedure modifica_etichetteCustomSaveDoc(Sender: TObject);
procedure TTDocVarAfterPost(DataSet: TDataSet);
procedure TTTestataCalcFields(DataSet: TDataSet);
procedure TTDettaglioAfterInsert(DataSet: TDataSet);
procedure TTDocVarAfterInsert(DataSet: TDataSet);
procedure TTDocVarBeforeDelete(DataSet: TDataSet);
procedure TTDettaglioBeforePost(DataSet: TDataSet);
procedure TTIntestazioneCalcFields(DataSet: TDataSet);
procedure TTTestataCuradeltrasportoChange(Sender: TField);
procedure TTTestataVettoreChange(Sender: TField);
procedure TTDettaglioPrezzoChange(Sender: TField);
procedure TTDettaglioPrezzoIvatoChange(Sender: TField);
procedure TTDettaglioDescrizioneChange(Sender: TField);
procedure TTTestataValutaChange(Sender: TField);
procedure SogRif_ricercaCalcFields(DataSet: TDataSet);
procedure TTTestataBeforePost(DataSet: TDataSet);
procedure TTEcontoSoggettoChange(Sender: TField);
procedure TTImpostazioniSpeseditrasportoLChange(Sender: TField);
procedure TTImpostazioniSpeseditrasportoEChange(Sender: TField);
procedure TTImpostazioniSpesebancarieLChange(Sender: TField);
procedure TTImpostazioniSpesebancarieEChange(Sender: TField);
procedure TTImpostazioniSpesevarieLChange(Sender: TField);
procedure TTImpostazioniSpesevarieEChange(Sender: TField);
procedure TTTestataEvasoChange(Sender: TField);
procedure TTDettaglioEvasoChange(Sender: TField);
procedure TTTestataScontoChange(Sender: TField);
procedure TTTestataSconto2Change(Sender: TField);
procedure EtiSelDbArticoloInternoChange(Sender: TField);
procedure TTGiacenzaAfterPost(DataSet: TDataSet);
procedure TTTestataDataChange(Sender: TField);
procedure TTTestataPagamentoChange(Sender: TField);
procedure TTDettaglioIstatChange(Sender: TField);
procedure TTEcontoDareLChange(Sender: TField);
procedure TTEcontoAvereLChange(Sender: TField);
procedure TTEcontoDareEChange(Sender: TField);
procedure TTEcontoAvereEChange(Sender: TField);
procedure TTGiacenzaAfterInsert(DataSet: TDataSet);
procedure TTIvaAfterInsert(DataSet: TDataSet);
procedure TTArticoliAfterInsert(DataSet: TDataSet);
procedure TTEcontoAfterInsert(DataSet: TDataSet);
procedure TTCausaliAfterInsert(DataSet: TDataSet);
procedure TTCaudocAfterInsert(DataSet: TDataSet);
procedure TTImpostazioniAfterInsert(DataSet: TDataSet);
procedure Soggetti_RicercaAfterInsert(DataSet: TDataSet);
procedure TTFiltroDocAfterInsert(DataSet: TDataSet);
procedure SogRif_ricercaAfterInsert(DataSet: TDataSet);
procedure TTCastivaAfterInsert(DataSet: TDataSet);
procedure TTGrusogCodAfterInsert(DataSet: TDataSet);
procedure TTEtichetteAfterInsert(DataSet: TDataSet);
procedure TTPrzStoryAfterInsert(DataSet: TDataSet);
procedure TTDettAfterInsert(DataSet: TDataSet);
procedure EtiSelDbAfterInsert(DataSet: TDataSet);
procedure TTIvaAfterPost(DataSet: TDataSet);
procedure TTArticoliAfterPost(DataSet: TDataSet);
procedure TTEcontoAfterPost(DataSet: TDataSet);
procedure TTCausaliAfterPost(DataSet: TDataSet);
procedure TTCaudocAfterPost(DataSet: TDataSet);
procedure TTImpostazioniAfterPost(DataSet: TDataSet);
procedure Soggetti_RicercaAfterPost(DataSet: TDataSet);
procedure TTFiltroDocAfterPost(DataSet: TDataSet);
procedure SogRif_ricercaAfterPost(DataSet: TDataSet);
procedure TTCastivaAfterPost(DataSet: TDataSet);
procedure TTGrusogCodAfterPost(DataSet: TDataSet);
procedure TTEtichetteAfterPost(DataSet: TDataSet);
procedure TTPrzStoryAfterPost(DataSet: TDataSet);
procedure TTDettAfterPost(DataSet: TDataSet);
procedure EtiSelDbAfterPost(DataSet: TDataSet);
procedure TTGiacenzaBeforeDelete(DataSet: TDataSet);
procedure TTIvaBeforeDelete(DataSet: TDataSet);
procedure TTArticoliBeforeDelete(DataSet: TDataSet);
procedure TTEcontoBeforeDelete(DataSet: TDataSet);
procedure TTCausaliBeforeDelete(DataSet: TDataSet);
procedure TTCaudocBeforeDelete(DataSet: TDataSet);
procedure TTImpostazioniBeforeDelete(DataSet: TDataSet);
procedure Soggetti_RicercaBeforeDelete(DataSet: TDataSet);
procedure TTFiltroDocBeforeDelete(DataSet: TDataSet);
procedure SogRif_ricercaBeforeDelete(DataSet: TDataSet);
procedure TTCastivaBeforeDelete(DataSet: TDataSet);
procedure TTGrusogCodBeforeDelete(DataSet: TDataSet);
procedure TTEtichetteBeforeDelete(DataSet: TDataSet);
procedure TTPrzStoryBeforeDelete(DataSet: TDataSet);
procedure TTDettBeforeDelete(DataSet: TDataSet);
procedure EtiSelDbBeforeDelete(DataSet: TDataSet);
procedure TTDettaglioQtaChange(Sender: TField);
procedure TTDettaglioIvaChange(Sender: TField);
procedure doc_mailerSendStart(Sender: TObject);
procedure doc_mailerSuccess(Sender: TObject);
procedure TTTestataFilialeChange(Sender: TField);
private
{ Private declarations }
Qta_old : real ;
public
{ Public declarations }
Procedure Compila_dettaglio_varianti ;
Procedure ImpostaFormati ;
Procedure StampaDoc(DaImpostazioni,Anteprima : boolean) ;
Procedure CalcolaImponibili ;
Function Impostadoc(nomefileReport : string):string ;
Function Pulisci_Scadenziario : boolean ;
Procedure Compila_Scadenziario ;
Procedure Stampa_etichette_documento(over:boolean) ;
Procedure Seleziona_articolo(listino_prezzi:string;articolo_etichetta,articolo_interno:string ; qta:integer; qta_assoluta : boolean;descrizione2 : String);
Procedure Stampa_eti ;
Procedure ELimina_coda_etichette ;
Procedure MuoviMag(Riga_old : mov_mag ; Riga_new: mov_mag) ;
Procedure Svuota_varianti ;
Procedure Copia ;
Procedure Incolla ;
Function CheckCLip : boolean ;
Procedure CreanuovoArticolo(cod_int,cod_forn,cod_eti:string) ;
Function NumeratoreDettaglio : integer ;
Function ConvertiDocs(Soggetto,TipoDocFiglio:string;Var Documento:integer;Var Datadoc:TdateTime;Creadoc,PulisciBuffer:boolean):boolean ;
Procedure SmarcaDocs ;
Procedure NascondiDescrizione ;
Procedure RicercaArticolo(fornitore:string) ;
Procedure MemorizzaPrezzi(scrivi:boolean) ;
Procedure MostraStoricoPrezzi ;
Function TrovaNelloStorico : boolean ;
Procedure MostraTabelleIva ;
Function ControllaEsistenzaDoc : boolean ;
Procedure AssociaArticoliFornitore ;
procedure ComparativaPrezziFornitori;
function LeggiIvaDefault: String;
procedure RicercaArticoloDescr(Descr:string);
procedure ricercaArticoloForn(art: string);
procedure Seleziona_Articolo_Lista(listino_prezzi:string;articolo_etichetta,articolo_interno:string ; qta:integer; qta_assoluta : boolean;descrizione2 : String);
procedure AggiornaSoggetto;
function Controlla_Istat: boolean;
function ArrotondaImponibile(imponibile: currency;
valuta: string): currency;
function ArrotondaImponibile4(imponibile: real;
valuta: string): real;
function Etichetta_to_interno(etichetta: string): string;
procedure InviaDoc;
function StaInviando: boolean;
function movimenti_giacenza: boolean;
function round2(x: real): int64;
procedure calcola_qta_pagata;
end;
var
ModuloDatiDocumenti: TModuloDatiDocumenti;
Mod_manuale : boolean ;
Prezzi_da_Anagrafica: boolean;
Prezzi_vendita_da_listino : boolean ;
Vendita_con_listino : boolean ;
Acquisto_da_anagrafica : boolean ;
dettaglio_old : mov_mag ;
dettaglio_new : mov_mag ;
Gestione_varianti_old : boolean ;
Apri_griglia : Boolean ;
SmarcaConvertiti : boolean ;
Descrizione_visibile : boolean ;
IVADEFAULT : String ;
mod_istat: boolean;
Sconto_Old: Integer;
In_invio: boolean;
doc_mailer : TNMSmtp ;
valuta_prec : string ;
incrementa_inventario: boolean ;
importa_documenti: boolean ;
Fatturazione_riepilogativa: boolean; // Importa documenti
implementation
uses ana_mod, etichette_u, u_griglia_varianti, gestModExt, nuovo_articolo_u,
seleziona_Documenti_u, u_editdescrizione, ricerca_u, rica_art_u_fornit,
u_StoricoPrezzi, u_tabIVA, Prezzi_fornitore, Umenu, scade_mod,
mail_doc_invia_U, u_request, aboutOS;
{$R *.DFM}
Function TModuloDatiDocumenti.TrovaNelloStorico : boolean ;
begin
result := false ;
If (Acquisto_Da_Anagrafica) and (Vendita_con_listino) then exit ;
TTPrzStory.Filtered := false ;
TTPrzStory.Filter := 'Soggetto = ''' + TTTestataSoggetto.asString + ''' and Articolo = ''' + TTDettaglioArticoloInterno.AsString + '''' ;
TTPrzStory.Filtered := True ;
If (TTPrzStory.Eof) and TTPrzStory.Bof then
begin
result := False ;
exit ;
end ;
TTPrzStory.Last ;
If TTPrzStoryValuta.asString = TTTestataValuta.AsString then
TTDettaglioPrezzo.AsCurrency := TTPrzStoryPrezzo.asCurrency
else
begin
If TTPrzStoryValuta.asString = 'E' then
TTDettaglioPrezzo.asCurrency := ModuloDatiAnagrafiche.EuroLire(TTPrzStoryPrezzo.asCurrency)
else
TTDettaglioPrezzo.asCurrency := ModuloDatiAnagrafiche.LireEuro(TTPrzStoryPrezzo.asCurrency)
end ;
TTDettaglioSconto.asFloat := TTPrzStorySconto.asFloat ;
TTDettaglioSconto2.asFloat := TTPrzStorySconto2.asFloat ;
TTDettaglioSconto3.asFloat := TTPrzStorySconto3.asFloat ;
Result := True ;
end;
Procedure TmoduloDatiDocumenti.MostraTabelleIva ;
begin
TabelleIva_form := TTabelleIva_form.Create(self) ;
TabelleIva_form.ShowModal ;
If TabelleIva_form.ModalResult = mrOk then
begin
TTDettaglio.Edit ;
TTDettaglioIVA.AsString := ModuloDatiAnagrafiche.TTIvaCodice.asString ;
end ;
TabelleIva_form.Free ;
end ;
Procedure TmoduloDatiDocumenti.MostraStoricoPrezzi ;
begin
If ModuloDatiAnagrafiche.TTarticoli.FindKey([TTdettaglioArticoloInterno.asString]) then
begin
StoriaPrezzi_form := TStoriaPrezzi_form.Create(Self) ;
StoriaPrezzi_form.QStorico.ParamByName('soggetto').Value := TTTestataSoggetto.asString ;
StoriaPrezzi_form.Qstorico.ParamByname('articolo').Value := TTDettaglioArticoloInterno.asString ;
StoriaPrezzi_form.QStorico.Prepare ;
StoriaPrezzi_form.QStorico.Open ;
StoriaPrezzi_form.QStorico.Last ;
StoriaPrezzi_form.Showmodal ;
If StoriaPrezzi_form.ModalResult = mrOk then
begin
TTdettaglio.Edit ;
If StoriaPrezzi_form.QStoricoValuta.asString = TTTestataValuta.AsString then
TTDettaglioPrezzo.AsCurrency := StoriaPrezzi_form.QStoricoPrezzo.asCurrency
else
begin
If StoriaPrezzi_form.QStoricoValuta.asString = 'E' then
TTDettaglioPrezzo.asCurrency := ModuloDatiAnagrafiche.EuroLire(StoriaPrezzi_form.QStoricoPrezzo.asCurrency)
else
TTDettaglioPrezzo.asCurrency := ModuloDatiAnagrafiche.LireEuro(StoriaPrezzi_form.QStoricoPrezzo.asCurrency)
end ;
TTDettaglioSconto.asFloat := StoriaPrezzi_form.QStoricoSconto.asFloat ;
TTDettaglioSconto2.asFloat := StoriaPrezzi_form.QStoricoSconto2.asFloat ;
TTDettaglioSconto3.asFloat := StoriaPrezzi_form.QStoricoSconto3.asFloat ;
end ;
StoriaPrezzi_form.QStorico.Close ;
StoriaPrezzi_form.Release ;
end
else
ShowMessage('Articolo non esistente....') ;
end ;
Procedure TModuloDatiDocumenti.AssociaArticoliFornitore ;
Var
Dettaglio : TTable ;
Articoli : TTable ;
Artforn : TTable ;
Articolo,FornAtt : string ;
begin
If TTTestataTipoMovimento.AsString = 'Scarico' then exit ;
Dettaglio := TTable.Create(nil) ;
Dettaglio.DatabaseName := 'euro2000' ;
Dettaglio.Tablename := 'ddoc.db' ;
Dettaglio.Open ;
if Dettaglio.Locate('Documento',TTTestataDocumento.asString,[]) then
begin
Articoli := TTable.Create(nil) ;
Articoli.DataBaseName := 'euro2000' ;
Articoli.TableName := 'Articoli.db' ;
Articoli.Open ;
ArtForn := TTable.Create(nil) ;
ArtForn.DatabaseName := 'euro2000' ;
ArtForn.TableName := 'Artforn.db' ;
// Scansione del dettaglio documento ;
While (Dettaglio.FieldByName('Documento').asInteger = TTTestataDocumento.asInteger) and
(Not Dettaglio.Eof) do
begin
Articolo := Dettaglio.FieldByName('Articolo interno').asString ;
// Se articolo esiste ...
If Articoli.FindKey([articolo]) then
begin
fornAtt := Articoli.FieldByName('Fornitore').asString ;
// Se articolo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -