1996-08-08 09:24:17 +00:00
|
|
|
#include <applicat.h>
|
1996-03-20 16:15:18 +00:00
|
|
|
#include <mask.h>
|
|
|
|
#include <urldefid.h>
|
|
|
|
|
1996-08-08 09:24:17 +00:00
|
|
|
#include "velib01.h"
|
1996-06-14 15:48:34 +00:00
|
|
|
|
1996-08-08 09:24:17 +00:00
|
|
|
#include "ve6000.h"
|
1996-03-20 16:15:18 +00:00
|
|
|
|
1996-08-13 13:59:21 +00:00
|
|
|
class TFatturazione_bolle_app : public TApplication
|
1996-08-08 09:24:17 +00:00
|
|
|
{
|
1996-08-14 16:32:11 +00:00
|
|
|
TArray _file;
|
|
|
|
void open_files(int logicnum, ...);
|
|
|
|
|
1996-08-08 09:24:17 +00:00
|
|
|
protected: // TApplication
|
|
|
|
virtual bool create();
|
|
|
|
virtual bool menu(MENU_TAG mt);
|
1996-03-20 16:15:18 +00:00
|
|
|
|
1996-08-08 09:24:17 +00:00
|
|
|
public:
|
1996-08-13 13:59:21 +00:00
|
|
|
TFatturazione_bolle_app() { }
|
|
|
|
virtual ~TFatturazione_bolle_app() { }
|
1996-08-08 09:24:17 +00:00
|
|
|
};
|
1996-03-20 16:15:18 +00:00
|
|
|
|
1996-08-14 16:32:11 +00:00
|
|
|
void TFatturazione_bolle_app::open_files(int logicnum, ...)
|
|
|
|
{
|
|
|
|
va_list marker;
|
|
|
|
va_start(marker, logicnum);
|
|
|
|
while (logicnum > 0)
|
|
|
|
{
|
|
|
|
CHECKD(_file.objptr(logicnum) == NULL, "File gia' aperto: ", logicnum);
|
|
|
|
_file.add(new TLocalisamfile(logicnum), logicnum);
|
|
|
|
logicnum = va_arg(marker, int);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1996-08-13 13:59:21 +00:00
|
|
|
bool TFatturazione_bolle_app::create()
|
1996-03-20 16:15:18 +00:00
|
|
|
{
|
1996-08-14 16:32:11 +00:00
|
|
|
open_files(LF_TABCOM, LF_CLIFO, LF_CFVEN, LF_DOC, LF_RIGHEDOC, 0);
|
1996-08-08 09:24:17 +00:00
|
|
|
dispatch_e_menu(MENU_ITEM(1));
|
1996-03-20 16:15:18 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1996-08-13 13:59:21 +00:00
|
|
|
bool TFatturazione_bolle_app::menu(MENU_TAG)
|
1996-03-20 16:15:18 +00:00
|
|
|
{
|
1996-08-08 09:24:17 +00:00
|
|
|
TMask m("ve6000");
|
|
|
|
while (m.run() == K_ENTER)
|
|
|
|
{
|
1996-08-14 16:32:11 +00:00
|
|
|
begin_wait();
|
|
|
|
|
1996-08-13 13:59:21 +00:00
|
|
|
const TDate data_elab = m.get(F_DATA_ELAB);
|
|
|
|
const int anno = data_elab.year();
|
|
|
|
|
1996-08-08 09:24:17 +00:00
|
|
|
const long dc = m.get_long(F_CODICE_CLIFO_DA);
|
|
|
|
const long ac = m.get_long(F_CODICE_CLIFO_A);
|
|
|
|
const long da = m.get_long(F_CODICE_AGENTE_DA);
|
|
|
|
const long aa = m.get_long(F_CODICE_AGENTE_A);
|
|
|
|
const long dz = m.get_long(F_CODICE_ZONA_DA);
|
|
|
|
const long az = m.get_long(F_CODICE_ZONA_A);
|
1996-03-20 16:15:18 +00:00
|
|
|
|
1996-08-13 13:59:21 +00:00
|
|
|
const TDate dd = m.get(F_DATA_DOCUMENTO_DA);
|
|
|
|
const TDate ad = m.get(F_DATA_DOCUMENTO_A);
|
|
|
|
const TString& codnum = m.get(F_CODICE_NUMERAZIONE);
|
|
|
|
const long dn = m.get_long(F_NUMERO_DOCUMENTO_DA);
|
|
|
|
const long an = m.get_long(F_NUMERO_DOCUMENTO_A);
|
|
|
|
|
|
|
|
TFatturazione_bolle eld(m.get(F_CODICE_ELAB));
|
|
|
|
|
1996-08-08 09:24:17 +00:00
|
|
|
TLista_clienti clienti;
|
1996-08-13 13:59:21 +00:00
|
|
|
const int tot_cli = clienti.leggi(dc, ac, da, aa, dz, az);
|
|
|
|
for (int c = 0; c < tot_cli; c++)
|
|
|
|
{
|
|
|
|
TLista_documenti din, dout;
|
|
|
|
din.read('C', clienti[c], anno, dd, ad, codnum, dn, an);
|
1996-08-19 10:32:13 +00:00
|
|
|
const bool ok = eld.elabora(din, dout, data_elab);
|
1996-08-14 16:32:11 +00:00
|
|
|
if (ok)
|
|
|
|
{
|
|
|
|
din.rewrite();
|
|
|
|
dout.write();
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
error_box("I documenti relativi al cliente %ld non sono stati elaborati.",
|
|
|
|
clienti[c]);
|
|
|
|
break;
|
|
|
|
}
|
1996-08-13 13:59:21 +00:00
|
|
|
}
|
1996-08-14 16:32:11 +00:00
|
|
|
end_wait();
|
1996-03-20 16:15:18 +00:00
|
|
|
}
|
1996-08-08 09:24:17 +00:00
|
|
|
return FALSE;
|
1996-03-20 16:15:18 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
int ve6200 (int argc, char **argv)
|
|
|
|
{
|
1996-08-13 13:59:21 +00:00
|
|
|
TFatturazione_bolle_app a;
|
1996-08-08 09:24:17 +00:00
|
|
|
a.run (argc, argv, "Fatturazione Bolle");
|
1996-03-20 16:15:18 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|