Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : aggiunti metodi jolly per ricavare le numerazioni dati i tipi documento git-svn-id: svn://10.65.10.50/branches/R_10_00@20745 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
9237436c3b
commit
dc03bcaac1
12
ve/velib.h
12
ve/velib.h
@ -9,6 +9,10 @@
|
||||
#include <multirec.h>
|
||||
#endif
|
||||
|
||||
#ifndef __RECSET_H
|
||||
#include <recset.h>
|
||||
#endif
|
||||
|
||||
#ifndef __VISWIN_H
|
||||
class TViswin;
|
||||
#endif
|
||||
@ -349,7 +353,7 @@ public:
|
||||
|
||||
const TTipo_documento& cached_tipodoc(const char* tipodoc);
|
||||
|
||||
class TCodice_numerazione : public TRectype
|
||||
class TCodice_numerazione : public TRectype //velib01
|
||||
{
|
||||
int _status;
|
||||
|
||||
@ -387,6 +391,12 @@ public:
|
||||
|
||||
const TCodice_numerazione& cached_numerazione(const char * codnum);
|
||||
|
||||
//metodi jolly per ricavare le numerazioni dati i tipi documento (ca3800,ca3900,ps1001 ecc.) //velib01
|
||||
int numerazioni_documenti(TString_array& num_doc, TString_array& tip_doc, const int tipo);
|
||||
int numerazioni_ordini(TString_array& num_ordini, TString_array& tip_ordini);
|
||||
int numerazioni_fatture(TString_array& num_fatture, TString_array& tip_fatture);
|
||||
|
||||
|
||||
class TTipo_riga_documento : public TRectype // velib02
|
||||
{
|
||||
static TAssoc_array _formule_riga;
|
||||
|
@ -61,6 +61,67 @@ int TCodice_numerazione::read(const char* codnum)
|
||||
return err;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// trova le numerazioni documenti in base ai tipi richiesti (ca3800,ca3900,ps1001)
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
int numerazioni_documenti(TString_array& num_doc, TString_array& tip_doc, const int tipo)
|
||||
{
|
||||
//cominciamo con i tipi
|
||||
TISAM_recordset tipi_recset("USE %TIP\nSELECT STR(I1=#TIPO)");
|
||||
tipi_recset.set_var("#TIPO", TVariant(long(tipo)));
|
||||
for (bool ok = tipi_recset.move_first(); ok; ok = tipi_recset.move_next()) //giro sui vari tipi ordine
|
||||
{
|
||||
const TString4 tipo = tipi_recset.get("CODTAB").as_string();
|
||||
tip_doc.add(tipo);
|
||||
}
|
||||
|
||||
//e adesso cerca le numerazioni che contengono tipi ordine
|
||||
TISAM_recordset num_recset("USE %NUM");
|
||||
for (bool ok = num_recset.move_first(); ok; ok = num_recset.move_next()) //giro sui vari tipi numerazione
|
||||
{
|
||||
const TString4 codtab = num_recset.get("CODTAB").as_string();
|
||||
|
||||
const TCodice_numerazione numerazione(codtab);
|
||||
for (int t = numerazione.ntipi_doc() - 1; t >= 0; t--)
|
||||
{
|
||||
const TString& tipo_doc = numerazione.tipo_doc(t);
|
||||
if (tip_doc.find(tipo_doc) >= 0)
|
||||
{
|
||||
if (num_doc.find(codtab) < 0) // Evito aggiunta di doppioni
|
||||
num_doc.add(codtab);
|
||||
break;
|
||||
}
|
||||
} //for (int t = codnum..
|
||||
} //for (bool ok = num_recset...
|
||||
|
||||
return num_doc.items();
|
||||
}
|
||||
|
||||
|
||||
int numerazioni_ordini(TString_array& num_ordini, TString_array& tip_ordini)
|
||||
{
|
||||
//i documenti che vanno presi in cosiderazione sono quelli che generano un IMPEGNATO secondo le auree regole del..
|
||||
//..nostro invincibile Adolf!
|
||||
num_ordini.destroy();
|
||||
tip_ordini.destroy();
|
||||
|
||||
numerazioni_documenti(num_ordini, tip_ordini, 3);
|
||||
|
||||
return num_ordini.items();
|
||||
}
|
||||
|
||||
int numerazioni_fatture(TString_array& num_fatture, TString_array& tip_fatture)
|
||||
{
|
||||
//i documenti che vanno presi in cosiderazione sono quelli non ancora contabilizzati di tipo 0=Altro 2=Fattura
|
||||
num_fatture.destroy();
|
||||
tip_fatture.destroy();
|
||||
|
||||
numerazioni_documenti(num_fatture, tip_fatture, 0);
|
||||
numerazioni_documenti(num_fatture, tip_fatture, 2);
|
||||
|
||||
return num_fatture.items();
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
// TSpesa_prest
|
||||
/////////////////////////////////////////////////////////////
|
||||
|
Loading…
x
Reference in New Issue
Block a user