Files correlati : nessuno Ricompilazione Demo : [ ] Commento : Riportata la versione aga 07.150 sul main trunk git-svn-id: svn://10.65.10.50/trunk@9871 c028cbd2-c16b-5b4b-a496-9718f37d4682
165 lines
3.7 KiB
C++
Executable File
165 lines
3.7 KiB
C++
Executable File
#include <applicat.h>
|
|
#include <automask.h>
|
|
#include <execp.h>
|
|
#include <progind.h>
|
|
#include <relation.h>
|
|
|
|
#include "baeur.h"
|
|
#include "../mg/mglib.h"
|
|
#include "../cg/cglib01.h"
|
|
|
|
#include <doc.h>
|
|
#include <rdoc.h>
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// Main app
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class TEuro05_app : public TEuro_app
|
|
{
|
|
protected:
|
|
virtual void main_loop();
|
|
void convert_last_mag_eser(int eser);
|
|
void convert_last_sto_eser(int eser);
|
|
|
|
public:
|
|
};
|
|
|
|
inline TEuro05_app& app() { return (TEuro05_app&)main_app(); }
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// Main
|
|
///////////////////////////////////////////////////////////
|
|
|
|
void TEuro05_app::convert_last_mag_eser(int eser)
|
|
{
|
|
// Cursore su file in lire
|
|
TRelation rel(LF_MAG);
|
|
TCursor cur(&rel);
|
|
TRectype& curr = rel.curr();
|
|
|
|
curr.put("ANNOES", eser);
|
|
|
|
cur.setregion(curr, curr);
|
|
|
|
// zap_file(lf, TRUE); // Azzera file in euro
|
|
|
|
// File destinazione in euro
|
|
TEuroisamfile fileur(LF_MAG, TRUE);
|
|
TRectype& receur = fileur.curr();
|
|
|
|
receur.put("ANNOES", eser);
|
|
|
|
for (fileur.read(_isgteq); fileur.good() && eser == fileur.get_int("ANNOES"); fileur.next())
|
|
fileur.remove();
|
|
|
|
TString str;
|
|
str << "Conversione " << rel.lfile().description() << " anno " << eser << " ... ";
|
|
|
|
|
|
const long items = cur.items();
|
|
cur.freeze();
|
|
TProgind pi(items, str, FALSE, TRUE);
|
|
TString fields;
|
|
|
|
fields << "VALRIM|VALACQ|VALENT|VALVEN|VALUSC|VALORDF|VALORDF|SCARTI|VALSCARTI|";
|
|
fields << "USERVAL1|USERVAL2|USERVAL3|USERVAL4|USERVAL5|USERVAL6";
|
|
|
|
for (cur = 0L; cur.pos() < items; ++cur)
|
|
{
|
|
pi.addstatus(1);
|
|
receur = curr;
|
|
convert_import(receur, fields);
|
|
zero_import(receur, "ORDC|VALORDC|ORDF|VALORDF");
|
|
fileur.write();
|
|
}
|
|
}
|
|
|
|
void TEuro05_app::convert_last_sto_eser(int eser)
|
|
{
|
|
// Cursore su file in lire
|
|
TRelation rel(LF_STOMAG);
|
|
TCursor cur(&rel);
|
|
TRectype& curr = rel.curr();
|
|
|
|
curr.put("ANNOESRIF", eser);
|
|
|
|
cur.setregion(curr, curr);
|
|
|
|
// zap_file(lf, TRUE); // Azzera file in euro
|
|
|
|
// File destinazione in euro
|
|
TEuroisamfile fileur(LF_STOMAG, TRUE);
|
|
TRectype& receur = fileur.curr();
|
|
|
|
receur.put("ANNOESRIF", eser);
|
|
|
|
for (fileur.read(_isgteq); fileur.good() && eser == fileur.get_int("ANNOESRIF"); fileur.next())
|
|
fileur.remove();
|
|
|
|
TString str;
|
|
str << "Conversione " << rel.lfile().description() << " anno " << eser << " ... ";
|
|
|
|
|
|
const long items = cur.items();
|
|
cur.freeze();
|
|
TProgind pi(items, str, FALSE, TRUE);
|
|
const char* prices = "VALORE|ULTCOS1|ULTCOS2|COSTSTD|COSTOMEDIO|PRZLIST";
|
|
|
|
for (cur = 0L; cur.pos() < items; ++cur)
|
|
{
|
|
pi.addstatus(1);
|
|
receur = curr;
|
|
convert_import(receur, prices, TRUE);
|
|
fileur.write();
|
|
}
|
|
}
|
|
|
|
void TEuro05_app::main_loop()
|
|
{
|
|
goto_lire();
|
|
if (!set_firm())
|
|
return;
|
|
const long firm = get_firm();
|
|
if (!dbf_exists(LF_MAG, TRUE))
|
|
{
|
|
error_box("Non esistono gli archivi della ditta %ld nell'area in Euro", firm);
|
|
return;
|
|
}
|
|
|
|
TDate apertura(1,1,2002);
|
|
TFilename dati, datie;
|
|
get_aree_dati(dati, datie);
|
|
|
|
TString8 ditta;
|
|
ditta.format("%05ldA", firm);
|
|
|
|
TFilename inie = datie;
|
|
inie.add(ditta);
|
|
inie.add("prassid.ini");
|
|
|
|
bool adotta = FALSE, inizio = FALSE;
|
|
if (inie.exist())
|
|
adotta = data_adozione_euro(firm, apertura, inizio);
|
|
TEsercizi_contabili esc;
|
|
|
|
const int annoes = esc.date2prevesc(apertura);
|
|
|
|
convert_last_mag_eser(annoes);
|
|
convert_last_sto_eser(annoes);
|
|
|
|
{
|
|
TExternal_app app("baeur -6 A");
|
|
|
|
app.run(FALSE, 3);
|
|
}
|
|
}
|
|
|
|
int baeur05(int argc, char* argv[])
|
|
{
|
|
TEuro05_app ma;
|
|
ma.run(argc, argv, "Apertura magazzino");
|
|
|
|
return 0;
|
|
}
|