Aggiunta conversione causali di pagamento
git-svn-id: svn://10.65.10.50/trunk@2404 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f32b35bfa1
commit
67c4f0bef0
114
ba/bacnv.cpp
114
ba/bacnv.cpp
@ -2,15 +2,17 @@
|
|||||||
|
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <assoc.h>
|
#include <assoc.h>
|
||||||
#include <isam.h>
|
|
||||||
#include <mailbox.h>
|
#include <mailbox.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <prefix.h>
|
#include <prefix.h>
|
||||||
|
#include <relation.h>
|
||||||
#include <scanner.h>
|
#include <scanner.h>
|
||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <extcdecl.h>
|
#include <extcdecl.h>
|
||||||
|
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_WIN
|
#if XVT_OS == XVT_OS_WIN
|
||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
#define RMDIR _rmdir
|
#define RMDIR _rmdir
|
||||||
@ -18,6 +20,7 @@
|
|||||||
#define RMDIR rmdir
|
#define RMDIR rmdir
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <causali.h>
|
||||||
#include <rmov.h>
|
#include <rmov.h>
|
||||||
|
|
||||||
#define usage "Errore - uso : bacnv [1|2|3|4|5|6|7|8] ditta"
|
#define usage "Errore - uso : bacnv [1|2|3|4|5|6|7|8] ditta"
|
||||||
@ -157,14 +160,15 @@ public:
|
|||||||
void liala(const char* table);
|
void liala(const char* table);
|
||||||
bool patch_uff(TRectype & rec, const char * const fnames[]);
|
bool patch_uff(TRectype & rec, const char * const fnames[]);
|
||||||
bool collate(TRectype & rec, const char * f1, const char * f2);
|
bool collate(TRectype & rec, const char * f1, const char * f2);
|
||||||
void patch_com(void);
|
void patch_com();
|
||||||
void zero_770(void);
|
void zero_770();
|
||||||
void convert_patty(void);
|
void convert_patty();
|
||||||
void convert_codconc(void);
|
void convert_codconc();
|
||||||
void convert_profili(void);
|
void convert_profili();
|
||||||
void convert_caus_attiv(void);
|
void convert_caus_attiv();
|
||||||
void rebuild_indexes(void);
|
void rebuild_indexes();
|
||||||
void rebuild_dir_indexes(void);
|
void rebuild_dir_indexes();
|
||||||
|
void aggiorna_causali_pagamento() const;
|
||||||
|
|
||||||
TConversione_archivi() : _oldditta(0), _codditta(0), _error(0) {}
|
TConversione_archivi() : _oldditta(0), _codditta(0), _error(0) {}
|
||||||
};
|
};
|
||||||
@ -228,20 +232,19 @@ bool TConversione_archivi::menu(MENU_TAG)
|
|||||||
f.load(lf, '|', '\0', '\n', TRUE, TRUE);
|
f.load(lf, '|', '\0', '\n', TRUE, TRUE);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
liala("LIA");
|
liala("LIA");
|
||||||
liala("PLA");
|
liala("PLA");
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (_codditta == 0)
|
if (_codditta == 0)
|
||||||
patch_com();
|
patch_com();
|
||||||
case 4:
|
case 4:
|
||||||
if (_codditta == 0)
|
if (_codditta == 0)
|
||||||
zero_770();
|
zero_770();
|
||||||
case 5:
|
case 5:
|
||||||
convert_patty();
|
convert_patty();
|
||||||
case 6:
|
case 6:
|
||||||
{
|
|
||||||
if (_codditta == 0)
|
if (_codditta == 0)
|
||||||
{
|
{
|
||||||
convert_codconc();
|
convert_codconc();
|
||||||
@ -252,22 +255,19 @@ bool TConversione_archivi::menu(MENU_TAG)
|
|||||||
|
|
||||||
//Cancella tutti i vecchi profili, sostituendoli con i nuovi
|
//Cancella tutti i vecchi profili, sostituendoli con i nuovi
|
||||||
convert_profili();
|
convert_profili();
|
||||||
}
|
}
|
||||||
case 7:
|
case 7:
|
||||||
{
|
if (_codditta == 0)
|
||||||
if (_codditta == 0)
|
convert_caus_attiv();
|
||||||
convert_caus_attiv();
|
break;
|
||||||
break;
|
|
||||||
}
|
|
||||||
case 8:
|
case 8:
|
||||||
{
|
if (_codditta == 0)
|
||||||
if (_codditta == 0)
|
rebuild_indexes();
|
||||||
rebuild_indexes();
|
case 9:
|
||||||
break;
|
aggiorna_causali_pagamento();
|
||||||
}
|
break;
|
||||||
}
|
default:
|
||||||
default:
|
break;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -843,6 +843,46 @@ void TConversione_archivi::rebuild_dir_indexes()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TConversione_archivi::aggiorna_causali_pagamento() const
|
||||||
|
{
|
||||||
|
const int NEWROW = 8;
|
||||||
|
|
||||||
|
TLocalisamfile caus(LF_CAUSALI);
|
||||||
|
TRecord_array rcaus(LF_RCAUSALI, CAU_NRIGA);
|
||||||
|
|
||||||
|
for (int err = caus.first(); err == NOERR; err = caus.next())
|
||||||
|
{
|
||||||
|
const int tipomov = caus.get_int(CAU_TIPOMOV);
|
||||||
|
if (tipomov != 3)
|
||||||
|
continue; // Considera solo pagamenti
|
||||||
|
|
||||||
|
TRectype* key = new TRectype(LF_RCAUSALI);
|
||||||
|
key->put(CAU_CODCAUS, caus.get(CAU_CODCAUS));
|
||||||
|
rcaus.read(key); // Leggi righe causale
|
||||||
|
|
||||||
|
if (rcaus.exist(NEWROW))
|
||||||
|
{
|
||||||
|
const TRectype& riga = rcaus.row(NEWROW);
|
||||||
|
if (riga.get_int(CAU_GRUPPO) == 0) // Se il gruppo e' vuoto ...
|
||||||
|
return; // ... allora conversione gia' effettuata
|
||||||
|
}
|
||||||
|
for (int r = rcaus.last_row(); r >= NEWROW; r = rcaus.pred_row(r))
|
||||||
|
{
|
||||||
|
TRectype riga = rcaus.row(r); // Memorizzo vecchia riga
|
||||||
|
rcaus.destroy_row(r); // Cancello vecchia riga
|
||||||
|
riga.put(CAU_NRIGA, r+1);
|
||||||
|
rcaus.add_row(riga); // Spostala avanti di un posto
|
||||||
|
}
|
||||||
|
if (rcaus.last_row() >= NEWROW)
|
||||||
|
{
|
||||||
|
rcaus.row(NEWROW, TRUE); // Aggiungi riga vuota di sentinella
|
||||||
|
rcaus.rewrite(); // Aggiorna righe causale
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// Programma di conversione archivi speciale
|
// Programma di conversione archivi speciale
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
Loading…
x
Reference in New Issue
Block a user