Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@22282 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3c5feed51f
commit
3daa9722f9
@ -6,6 +6,9 @@ int main(int argc, char** argv)
|
||||
const int n = argc > 1 ? argv[1][1]-'0' : 0;
|
||||
switch (n)
|
||||
{
|
||||
case 4:
|
||||
hacnv500(argc, argv); //Conversione cespiti HARDY
|
||||
break;
|
||||
case 3:
|
||||
hacnv400(argc, argv); //Conversione movimenti di magazzino HARDY
|
||||
break;
|
||||
|
@ -1,4 +1,5 @@
|
||||
int hacnv100(int argc, char* argv[]);
|
||||
int hacnv200(int argc, char* argv[]);
|
||||
int hacnv300(int argc, char* argv[]);
|
||||
int hacnv400(int argc, char* argv[]);
|
||||
int hacnv400(int argc, char* argv[]);
|
||||
int hacnv500(int argc, char* argv[]);
|
@ -609,6 +609,14 @@ I50=B
|
||||
// causali magazzino per apertura
|
||||
APERTURA=APE
|
||||
|
||||
[Cespiti]
|
||||
// campi fissi per anagrafica cespiti
|
||||
CODCGRA=1
|
||||
CODSPA=1
|
||||
CODCGR=1
|
||||
CODSP=1
|
||||
CODCAT=1
|
||||
|
||||
// parametri generali della maschera (dns user password)
|
||||
[Main]
|
||||
201 = OS1_HAR
|
||||
|
201
ha/hacnv500.cpp
Executable file
201
ha/hacnv500.cpp
Executable file
@ -0,0 +1,201 @@
|
||||
#include "halib.h"
|
||||
#include "hacnvlib.h"
|
||||
#include "hacnv500a.h"
|
||||
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <defmask.h>
|
||||
#include <execp.h>
|
||||
#include <progind.h>
|
||||
#include <reprint.h>
|
||||
#include <reputils.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include "../ce/cespi.h"
|
||||
#include "../ce/salce.h"
|
||||
#include "../ce/ammce.h"
|
||||
|
||||
const char* const APPNAME = TR("Conversione cespiti");
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Cespiti
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class THardy_cespiti : public THardy_transfer
|
||||
{
|
||||
int _anno; // parametri per la query
|
||||
public:
|
||||
virtual bool trasferisci();
|
||||
THardy_cespiti(const int anno);
|
||||
};
|
||||
|
||||
// procedura principale di conversione
|
||||
bool THardy_cespiti::trasferisci()
|
||||
{
|
||||
// trasferisce anagrafica cespiti (cespi)
|
||||
TString query =
|
||||
"SELECT * "
|
||||
"FROM dbo.SchedeCespiti ";
|
||||
TRecordset& recset = create_recordset(query);
|
||||
TSystemisamfile cespi(LF_CESPI);
|
||||
cespi.open(_lock);
|
||||
TRectype& rec = cespi.curr();
|
||||
|
||||
TConfig& ini = config();
|
||||
TString_array lista_campi;
|
||||
THardy_iterator hi(this);
|
||||
|
||||
while (++hi)
|
||||
{
|
||||
rec.zero();
|
||||
rec.put(CESPI_IDCESPITE, recset.get("IdScheda").as_string());
|
||||
rec.put(CESPI_DESC, recset.get("DsScheda1").as_string());
|
||||
rec.put(CESPI_DTFUNZ, recset.get("DataInizioAmm").as_string());
|
||||
rec.put(CESPI_DTALIEN, recset.get("DataCessione").as_string());
|
||||
rec.put(CESPI_CODCGRA, ini.get("CODCGRA", "Cespiti"));
|
||||
rec.put(CESPI_CODSPA, ini.get("CODSPA", "Cespiti"));
|
||||
rec.put(CESPI_CODCGR, ini.get("CODCGR", "Cespiti"));
|
||||
rec.put(CESPI_CODSP, ini.get("CODSP", "Cespiti"));
|
||||
rec.put(CESPI_CODCAT, ini.get("CODCAT", "Cespiti"));
|
||||
test_write(cespi);
|
||||
}
|
||||
cespi.close();
|
||||
|
||||
// trasferisce saldi cespiti (SALCE)
|
||||
if (write_enabled())
|
||||
{
|
||||
TString query =
|
||||
"SELECT * "
|
||||
"FROM dbo.TotaliCespiti "
|
||||
"WHERE Esercizio = ";
|
||||
query << _anno;
|
||||
|
||||
TRecordset& recset = create_recordset(query);
|
||||
TSystemisamfile salce(LF_SALCE);
|
||||
salce.open(_lock);
|
||||
TRectype& rec = salce.curr();
|
||||
THardy_iterator hi(this);
|
||||
while (++hi)
|
||||
{
|
||||
rec.zero();
|
||||
rec.put(SALCE_IDCESPITE, recset.get("IdScheda").as_string());
|
||||
rec.put(SALCE_CODES, recset.get("Esercizio").as_string());
|
||||
rec.put(SALCE_TPSALDO, 1);
|
||||
rec.put(SALCE_NUMELE, 1);
|
||||
rec.put(SALCE_CSTO, recset.get("Totale01").as_real() - recset.get("Totale02").as_real());
|
||||
rec.put(SALCE_VNONAMM, recset.get("Totale13").as_real());
|
||||
rec.put(SALCE_RIVGF, recset.get("Totale07").as_real());
|
||||
rec.put(SALCE_RIVGC, recset.get("Totale07C").as_real());
|
||||
rec.put(SALCE_VNONAMMC, recset.get("Totale13C").as_real());
|
||||
test_write(salce);
|
||||
}
|
||||
salce.close();
|
||||
}
|
||||
return write_enabled();
|
||||
}
|
||||
|
||||
THardy_cespiti::THardy_cespiti(const int anno) : _anno(anno)
|
||||
{
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TConvCespitiHardy_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TConvCespitiHardy_mask : public TAutomask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
void serialize(bool bSave);
|
||||
|
||||
public:
|
||||
void trasferisci();
|
||||
|
||||
TConvCespitiHardy_mask();
|
||||
virtual ~TConvCespitiHardy_mask();
|
||||
};
|
||||
|
||||
// Funzione di trasferimento dati da/verso file .ini con lo stesso nome della maschera
|
||||
// Andrebbe messo in libreria
|
||||
void TConvCespitiHardy_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 TConvCespitiHardy_mask::trasferisci()
|
||||
{
|
||||
TString query_header;
|
||||
query_header << "ODBC(" << get(F_DSN) << ',' << get(F_USR) << ',' << get(F_PWD) << ")\n";
|
||||
|
||||
const int anno = get_int(F_ANNO);
|
||||
if (anno!=0)
|
||||
{
|
||||
THardy_log log;
|
||||
THardy_cespiti pc(anno);
|
||||
pc.init(TR("Cespiti"), query_header, log);
|
||||
pc.trasferisci();
|
||||
}
|
||||
}
|
||||
|
||||
bool TConvCespitiHardy_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;
|
||||
}
|
||||
|
||||
TConvCespitiHardy_mask::TConvCespitiHardy_mask() : TAutomask("hacnv500a")
|
||||
{
|
||||
serialize(false);
|
||||
}
|
||||
|
||||
TConvCespitiHardy_mask::~TConvCespitiHardy_mask()
|
||||
{
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TConvCespitiHardy
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TConvCespitiHardy : public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
};
|
||||
|
||||
void TConvCespitiHardy::main_loop()
|
||||
{
|
||||
TConvCespitiHardy_mask mask;
|
||||
while (mask.run() == K_ENTER)
|
||||
mask.trasferisci();
|
||||
}
|
||||
|
||||
int hacnv500(int argc, char* argv[])
|
||||
{
|
||||
TConvCespitiHardy ih;
|
||||
ih.run(argc, argv, APPNAME);
|
||||
return 0;
|
||||
}
|
||||
|
13
ha/hacnv500a.h
Executable file
13
ha/hacnv500a.h
Executable file
@ -0,0 +1,13 @@
|
||||
#ifndef __HACNV500A_H
|
||||
#define __HACNV500A_H
|
||||
|
||||
#define F_FIRM 101
|
||||
#define F_RAGSOC 102
|
||||
|
||||
#define F_ANNO 111
|
||||
|
||||
#define F_DSN 201
|
||||
#define F_USR 202
|
||||
#define F_PWD 203
|
||||
|
||||
#endif
|
70
ha/hacnv500a.uml
Executable file
70
ha/hacnv500a.uml
Executable file
@ -0,0 +1,70 @@
|
||||
#include "hacnv500a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
#include <elabar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Conversione cespiti" 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 4
|
||||
BEGIN
|
||||
PROMPT 1 4 "@bSelezioni"
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 5 "Esercizio "
|
||||
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
|
@ -49,6 +49,7 @@ Item_02 = "Conversione anagrafiche", "hacnv -0 /uADMIN", "F"
|
||||
Item_03 = "Conversione movimenti", "hacnv -1 /uADMIN", "F"
|
||||
Item_04 = "Conversione scadenze", "hacnv -2 /uADMIN", "F"
|
||||
Item_05 = "Conversione movimenti magazzino", "hacnv -3 /uADMIN", "F"
|
||||
Item_06 = "Conversione cespiti", "hacnv -4 /uADMIN", "F"
|
||||
|
||||
[HAMENU_006]
|
||||
Caption = "Procedura Esselunga"
|
||||
|
Loading…
x
Reference in New Issue
Block a user