Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@21548 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3d0c1d184a
commit
c0753cb00e
@ -6,6 +6,9 @@ int main(int argc, char** argv)
|
|||||||
const int n = argc > 1 ? argv[1][1]-'0' : 0;
|
const int n = argc > 1 ? argv[1][1]-'0' : 0;
|
||||||
switch (n)
|
switch (n)
|
||||||
{
|
{
|
||||||
|
case 2:
|
||||||
|
hacnv300(argc, argv); //Conversione scadenze HARDY
|
||||||
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
hacnv200(argc, argv); //Conversione movimenti HARDY
|
hacnv200(argc, argv); //Conversione movimenti HARDY
|
||||||
break;
|
break;
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
int hacnv100(int argc, char* argv[]);
|
int hacnv100(int argc, char* argv[]);
|
||||||
int hacnv200(int argc, char* argv[]);
|
int hacnv200(int argc, char* argv[]);
|
||||||
|
int hacnv300(int argc, char* argv[]);
|
@ -190,6 +190,7 @@ bool THardy_movimenti::test_moviva()
|
|||||||
"WHERE KMovconT=";
|
"WHERE KMovconT=";
|
||||||
query << _kmovcont;
|
query << _kmovcont;
|
||||||
TODBC_recordset recset(query);
|
TODBC_recordset recset(query);
|
||||||
|
real totdoc = ZERO;
|
||||||
long kregivat = -1;
|
long kregivat = -1;
|
||||||
if (recset.items() > 0)
|
if (recset.items() > 0)
|
||||||
{
|
{
|
||||||
@ -209,7 +210,7 @@ bool THardy_movimenti::test_moviva()
|
|||||||
conto2campo(hdtipoc, key, tipoc, gr, co, so);
|
conto2campo(hdtipoc, key, tipoc, gr, co, so);
|
||||||
_conf->set(MOV_TIPO, tipoc);
|
_conf->set(MOV_TIPO, tipoc);
|
||||||
_conf->set(MOV_CODCF, so);
|
_conf->set(MOV_CODCF, so);
|
||||||
real totdoc = recset.get("TotDocumento").as_real();
|
totdoc = recset.get("TotDocumento").as_real();
|
||||||
if (totdoc == ZERO)
|
if (totdoc == ZERO)
|
||||||
_conf->set("SOLAIVA", "X");
|
_conf->set("SOLAIVA", "X");
|
||||||
_conf->set(MOV_TOTDOC, totdoc.string(0,2));
|
_conf->set(MOV_TOTDOC, totdoc.string(0,2));
|
||||||
@ -229,6 +230,7 @@ bool THardy_movimenti::test_moviva()
|
|||||||
_righeiva->destroy();
|
_righeiva->destroy();
|
||||||
TLocalisamfile rmoviva(LF_RMOVIVA);
|
TLocalisamfile rmoviva(LF_RMOVIVA);
|
||||||
TRectype& rec_rmoviva = rmoviva.curr();
|
TRectype& rec_rmoviva = rmoviva.curr();
|
||||||
|
real totdoc_calc = ZERO;
|
||||||
for (bool ok=recset_righe.move_first();ok;ok=recset_righe.move_next())
|
for (bool ok=recset_righe.move_first();ok;ok=recset_righe.move_next())
|
||||||
{
|
{
|
||||||
recset2rec(recset_righe, rec_rmoviva, lista_campi_righeiva);
|
recset2rec(recset_righe, rec_rmoviva, lista_campi_righeiva);
|
||||||
@ -251,7 +253,15 @@ bool THardy_movimenti::test_moviva()
|
|||||||
if (codind != NULL)
|
if (codind != NULL)
|
||||||
rec_rmoviva.put(RMI_TIPODET, *codind);
|
rec_rmoviva.put(RMI_TIPODET, *codind);
|
||||||
_righeiva->add(new TRectype(rec_rmoviva));
|
_righeiva->add(new TRectype(rec_rmoviva));
|
||||||
|
if (!_ivaoma->is_key(codiva))
|
||||||
|
totdoc_calc+=recset_righe.get("Imponibile").as_real();
|
||||||
|
totdoc_calc+=recset_righe.get("Imposta").as_real();
|
||||||
}
|
}
|
||||||
|
if (totdoc == ZERO)
|
||||||
|
{
|
||||||
|
_conf->set("SOLAIVA", " ");
|
||||||
|
_conf->set(MOV_TOTDOC, totdoc_calc.string(0,2));
|
||||||
|
}
|
||||||
return (kregivat > 0);
|
return (kregivat > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,6 +377,11 @@ bool THardy_movimenti::scrivi_righe()
|
|||||||
const int gruppo_omaggi = sconto_omaggi.get_int(0);
|
const int gruppo_omaggi = sconto_omaggi.get_int(0);
|
||||||
const int conto_omaggi = sconto_omaggi.get_int(1);
|
const int conto_omaggi = sconto_omaggi.get_int(1);
|
||||||
const long sottoconto_omaggi = sconto_omaggi.get_long(2);
|
const long sottoconto_omaggi = sconto_omaggi.get_long(2);
|
||||||
|
|
||||||
|
// la sezione della riga 1 mi serve per verificare il segno e la sezione delle righe contabili
|
||||||
|
TString16 causale = get_str("IdCausale");
|
||||||
|
causale << "|1";
|
||||||
|
const char sez_cau = (cache().get(LF_RCAUSALI, causale, RCA_SEZIONE)[0] == 'D' ? 'A' : 'D');
|
||||||
|
|
||||||
// se è un movimento iva metto in atto il meccanismo di ricerca per assegnare le aliquote ai conti
|
// se è un movimento iva metto in atto il meccanismo di ricerca per assegnare le aliquote ai conti
|
||||||
if (_righeiva->items()>0)
|
if (_righeiva->items()>0)
|
||||||
@ -408,6 +423,17 @@ bool THardy_movimenti::scrivi_righe()
|
|||||||
if (!found)
|
if (!found)
|
||||||
_righecont->destroy(i);
|
_righecont->destroy(i);
|
||||||
}
|
}
|
||||||
|
if (found)
|
||||||
|
{
|
||||||
|
const char sezione = rec_rmov.get_char(RMV_SEZIONE);
|
||||||
|
if (sezione != sez_cau)
|
||||||
|
{
|
||||||
|
real importo = rec_rmov.get_real(RMV_IMPORTO);
|
||||||
|
importo = -importo;
|
||||||
|
rec_rmov.put(RMV_SEZIONE, sez_cau);
|
||||||
|
rec_rmov.put(RMV_IMPORTO, importo);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_righecont->pack();
|
_righecont->pack();
|
||||||
|
181
ha/hacnv300.cpp
Executable file
181
ha/hacnv300.cpp
Executable file
@ -0,0 +1,181 @@
|
|||||||
|
#include "halib.h"
|
||||||
|
#include "hacnvlib.h"
|
||||||
|
#include "hacnv300a.h"
|
||||||
|
|
||||||
|
#include <applicat.h>
|
||||||
|
#include <automask.h>
|
||||||
|
#include <defmask.h>
|
||||||
|
#include <progind.h>
|
||||||
|
#include <reprint.h>
|
||||||
|
#include <reputils.h>
|
||||||
|
#include <tabutil.h>
|
||||||
|
|
||||||
|
|
||||||
|
const char* const APPNAME = TR("Importazione scadenze");
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// Trasferimenti veri e propri
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class THardy_scadenze : public THardy_transfer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual bool trasferisci();
|
||||||
|
};
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// THardy_scadenze
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
bool THardy_scadenze::trasferisci()
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
TString query =
|
||||||
|
"SELECT * "
|
||||||
|
"FROM dbo.Scadenze"
|
||||||
|
"ORDER BY dbo.Scadenze.Esercizio, dbo.Scadenze.Protocollo ";
|
||||||
|
|
||||||
|
TRecordset& recset = create_recordset(query);
|
||||||
|
THardy_iterator hi(this);
|
||||||
|
|
||||||
|
TPartita* game = NULL;
|
||||||
|
int curr_ese = 0;
|
||||||
|
int curr_pro = 0;
|
||||||
|
real importo = ZERO;
|
||||||
|
|
||||||
|
while (++hi)
|
||||||
|
{
|
||||||
|
const int esercizio = get("Esercizio").as_int();
|
||||||
|
const int protocollo = get("Protocollo").as_int();
|
||||||
|
if ((esercizio != curr_ese) || (protocollo != curr_pro))
|
||||||
|
{
|
||||||
|
// se la partita non è a zero, scrivo una scadenza
|
||||||
|
if (importo != ZERO)
|
||||||
|
write_scadenza();
|
||||||
|
importo = ZERO;
|
||||||
|
curr_ese = esercizio;
|
||||||
|
curr_pro = protocollo;
|
||||||
|
}
|
||||||
|
real importo_dare = get_real("Dare");
|
||||||
|
real importo_avere = get_real("Avere");
|
||||||
|
importo+=(importo_dare-importo_avere);
|
||||||
|
const long codcf = hd_key2cli(key);
|
||||||
|
if (curr_cliente != codcf)
|
||||||
|
curr_contratto=0;
|
||||||
|
curr_contratto++;
|
||||||
|
aggiorna_record(rec, lista_campi);
|
||||||
|
rec.put(CONDV_CODCF, codcf);
|
||||||
|
rec.put(CONDV_COD, curr_contratto);
|
||||||
|
contratti.add(kcontrattot, rec);
|
||||||
|
test_write(condv);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
return write_enabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TImpScadHardy_mask
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TImpScadHardy_mask : public TAutomask
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
|
void serialize(bool bSave);
|
||||||
|
|
||||||
|
public:
|
||||||
|
void trasferisci();
|
||||||
|
|
||||||
|
TImpScadHardy_mask();
|
||||||
|
virtual ~TImpScadHardy_mask();
|
||||||
|
};
|
||||||
|
|
||||||
|
// Funzione di trasferimento dati da/verso file .ini con lo stesso nome della maschera
|
||||||
|
// Andrebbe messo in libreria
|
||||||
|
void TImpScadHardy_mask::serialize(bool bSave)
|
||||||
|
{
|
||||||
|
TFilename n = source_file(); n.ext("ini"); // Construisce il nome del .ini in base al .msk
|
||||||
|
TConfig cfg(n, "Main"); // Crea il file di configurazione
|
||||||
|
TString4 id;
|
||||||
|
for (int i = fields()-1; i >= 0; i--) // Scandisce tutti i campi della maschera ...
|
||||||
|
{
|
||||||
|
TMask_field& f = fld(i);
|
||||||
|
if (f.active() && f.is_loadable()) // ... selezionando solo quelli editabili
|
||||||
|
{
|
||||||
|
id.format("%d", f.dlg());
|
||||||
|
if (bSave) // A seconda del flag di scrittura ...
|
||||||
|
cfg.set(id, f.get()); // ... o scrive sul .ini
|
||||||
|
else
|
||||||
|
f.set(cfg.get(id)); // ... o legge dal .ini
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TImpScadHardy_mask::trasferisci()
|
||||||
|
{
|
||||||
|
TString query_header;
|
||||||
|
query_header << "ODBC(" << get(F_DSN) << ',' << get(F_USR) << ',' << get(F_PWD) << ")\n";
|
||||||
|
|
||||||
|
TReport_book book;
|
||||||
|
THardy_log log;
|
||||||
|
|
||||||
|
bool rep_to_print = false;
|
||||||
|
bool go_on = true;
|
||||||
|
|
||||||
|
if (go_on && get_bool(F_SCAD))
|
||||||
|
{
|
||||||
|
THardy_scadenze pc;
|
||||||
|
pc.init(TR("Scadenze aperte"), query_header, log);
|
||||||
|
go_on = pc.trasferisci();
|
||||||
|
book.add(log);
|
||||||
|
rep_to_print = true;
|
||||||
|
}
|
||||||
|
if (rep_to_print && book.pages() > 0)
|
||||||
|
book.preview();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TImpScadHardy_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
|
{
|
||||||
|
switch (o.dlg())
|
||||||
|
{
|
||||||
|
case DLG_OK:
|
||||||
|
if (e == fe_button)
|
||||||
|
serialize(true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
TImpScadHardy_mask::TImpScadHardy_mask() : TAutomask("hacnv300a")
|
||||||
|
{
|
||||||
|
serialize(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
TImpScadHardy_mask::~TImpScadHardy_mask()
|
||||||
|
{ }
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TImpScadHardy
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TImpScadHardy : public TSkeleton_application
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual void main_loop();
|
||||||
|
};
|
||||||
|
|
||||||
|
void TImpScadHardy::main_loop()
|
||||||
|
{
|
||||||
|
TImpScadHardy_mask mask;
|
||||||
|
while (mask.run() == K_ENTER)
|
||||||
|
mask.trasferisci();
|
||||||
|
}
|
||||||
|
|
||||||
|
int hacnv300(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
TImpScadHardy ih;
|
||||||
|
ih.run(argc, argv, APPNAME);
|
||||||
|
return 0;
|
||||||
|
}
|
12
ha/hacnv300a.h
Executable file
12
ha/hacnv300a.h
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#ifndef __HACNV300A_H
|
||||||
|
#define __HACNV300A_H
|
||||||
|
|
||||||
|
#define F_FIRM 101
|
||||||
|
#define F_RAGSOC 102
|
||||||
|
#define F_SCAD 111
|
||||||
|
|
||||||
|
#define F_DSN 201
|
||||||
|
#define F_USR 202
|
||||||
|
#define F_PWD 203
|
||||||
|
|
||||||
|
#endif
|
70
ha/hacnv300a.uml
Executable file
70
ha/hacnv300a.uml
Executable file
@ -0,0 +1,70 @@
|
|||||||
|
#include "hacnv300a.h"
|
||||||
|
|
||||||
|
TOOLBAR "topbar" 0 0 0 2
|
||||||
|
|
||||||
|
#include <elabar.h>
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "Conversione scadenze Hardy" 0 2 0 0
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "@bDitta"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_FIRM 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 2 ""
|
||||||
|
USE LF_NDITTE
|
||||||
|
INPUT CODDITTA F_FIRM
|
||||||
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
FLAGS "DF"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOC 60
|
||||||
|
BEGIN
|
||||||
|
PROMPT 17 2 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "@bStorico da importare"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_SCAD
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 5 "Scadenze aperte"
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "Configurazione" -1 -1 78 18
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "@bDatabase"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DSN 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 2 "DSN "
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_USR 16
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 3 "User "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_PWD 16
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Password "
|
||||||
|
FLAGS "*"
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user