Ultimato collegamento con EasyDoc
git-svn-id: svn://10.65.10.50/trunk@5471 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1e3e665e63
commit
1e90bd48fb
@ -39,7 +39,7 @@ public:
|
|||||||
|
|
||||||
TPrimanota_application::TPrimanota_application()
|
TPrimanota_application::TPrimanota_application()
|
||||||
: _rel(NULL), _mode(0), _iva(nessuna_iva), _causale(NULL), _giornale(NULL),
|
: _rel(NULL), _mode(0), _iva(nessuna_iva), _causale(NULL), _giornale(NULL),
|
||||||
_lastreg(0), _last_dreg(TODAY), _last_dcom(TODAY), _incasso(NULL)
|
_lastreg(0), _last_dreg(TODAY), _last_dcom(TODAY), _incasso(NULL), _EasyDocPath("")
|
||||||
{
|
{
|
||||||
memset(_msk, 0, sizeof(_msk));
|
memset(_msk, 0, sizeof(_msk));
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,9 @@ class TPrimanota_application : public TRelation_application
|
|||||||
|
|
||||||
TEsercizi_contabili _esercizi; // Tabella degli esercizi contabili
|
TEsercizi_contabili _esercizi; // Tabella degli esercizi contabili
|
||||||
|
|
||||||
TAssoc_array _colori; // Colori delle righe
|
TAssoc_array _colori; // Colori delle righe
|
||||||
|
|
||||||
|
TString _EasyDocPath; // Path eseguibile EasyDoc
|
||||||
|
|
||||||
static bool showpartite_handler(TMask_field& f, KEY k);
|
static bool showpartite_handler(TMask_field& f, KEY k);
|
||||||
static bool speserimb_handler(TMask_field& f, KEY k);
|
static bool speserimb_handler(TMask_field& f, KEY k);
|
||||||
@ -287,8 +289,8 @@ public:
|
|||||||
TString_array& pag_rows() { return _pag_rows; }
|
TString_array& pag_rows() { return _pag_rows; }
|
||||||
TImporto get_cgs_imp(int n);
|
TImporto get_cgs_imp(int n);
|
||||||
|
|
||||||
bool easydoc_installed() const;
|
bool easydoc_installed();
|
||||||
bool easydoc_connected() const;
|
bool easydoc_connected();
|
||||||
bool run_easydoc(const char* azione) const;
|
bool run_easydoc(const char* azione) const;
|
||||||
|
|
||||||
TPrimanota_application();
|
TPrimanota_application();
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include <modaut.h>
|
#include <modaut.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <varmask.h>
|
#include <varmask.h>
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
#include "cg2100.h"
|
#include "cg2100.h"
|
||||||
#include "cg2102.h"
|
#include "cg2102.h"
|
||||||
@ -385,14 +386,32 @@ bool TPrimanota_application::prorata_handler(TMask_field& f, KEY k)
|
|||||||
// Gestione EasyDoc
|
// Gestione EasyDoc
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
bool TPrimanota_application::easydoc_installed() const
|
bool TPrimanota_application::easydoc_installed()
|
||||||
{
|
{
|
||||||
bool ok = has_module(AIAUT);
|
// check autorization
|
||||||
ok &= fexist("C:/EASYDOC/EASYDOC.EXE");
|
if (!has_module(AIAUT))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// where is EasyDoc installed?
|
||||||
|
char szBuf[50];
|
||||||
|
int entrylen = GetPrivateProfileString("Easydoc", "Path", "", szBuf, sizeof(szBuf), "EasyDoc.ini");
|
||||||
|
|
||||||
|
// EasyDoc there isn't
|
||||||
|
if (!entrylen)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// paste EasyDoc path
|
||||||
|
szBuf[entrylen] = '\0';
|
||||||
|
_EasyDocPath = szBuf;
|
||||||
|
_EasyDocPath << "EASYDOC.EXE";
|
||||||
|
|
||||||
|
// is EasyDoc present?
|
||||||
|
bool ok = fexist(_EasyDocPath);
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TPrimanota_application::easydoc_connected() const
|
bool TPrimanota_application::easydoc_connected()
|
||||||
{
|
{
|
||||||
return easydoc_installed();
|
return easydoc_installed();
|
||||||
}
|
}
|
||||||
@ -401,30 +420,72 @@ bool TPrimanota_application::run_easydoc(const char* azione) const
|
|||||||
{
|
{
|
||||||
const TMask& m = curr_mask();
|
const TMask& m = curr_mask();
|
||||||
|
|
||||||
TString cmdline = "c:/EASYDOC/EASYDOC ";
|
TString cmdline = _EasyDocPath;
|
||||||
TFilename ininame;
|
TFilename ininame;
|
||||||
|
|
||||||
if (azione && *azione)
|
if (azione && *azione)
|
||||||
{
|
{
|
||||||
ininame.tempdir(); ininame.add("easydoc.ini");
|
// linea comando EasyDoc
|
||||||
|
ininame.tempdir();
|
||||||
|
ininame.add("easydoc.ini");
|
||||||
cmdline << ' ' << ininame;
|
cmdline << ' ' << ininame;
|
||||||
|
|
||||||
|
// path dei dati della ditta
|
||||||
|
TFilename dati_dir = get_firm_dir();
|
||||||
|
// completa path relativo,
|
||||||
|
// ma che male c'era a registrarlo sempre assoluto??
|
||||||
|
if (dati_dir[1] != ':')
|
||||||
|
{
|
||||||
|
TFilename modulename(argv(0));
|
||||||
|
dati_dir = modulename.path();
|
||||||
|
dati_dir.add(get_firm_dir());
|
||||||
|
}
|
||||||
|
|
||||||
|
// rimuove barre e controbarre per dargli un aspetto decente
|
||||||
|
dati_dir.replace('/','\\');
|
||||||
|
for (int pos = dati_dir.find("\\\\"); pos != -1; pos = dati_dir.find("\\\\"))
|
||||||
|
dati_dir[pos] = ' ';
|
||||||
|
dati_dir.strip_spaces();
|
||||||
|
|
||||||
TConfig ini(ininame, "EASYDOC");
|
// nome archivio
|
||||||
|
TFilename archivio(dati_dir);
|
||||||
|
archivio.add("easydoc.mdb");
|
||||||
|
|
||||||
|
// drive di archiviazione
|
||||||
|
TString drv_di_arch = dati_dir.mid(0,2);
|
||||||
|
|
||||||
|
// directory di archiviazione
|
||||||
|
TString dir_di_arch = dati_dir.mid(2);
|
||||||
|
dir_di_arch << '\\';
|
||||||
|
|
||||||
|
// prepara sempre sezione "EASYDOC"
|
||||||
|
TConfig ini(ininame, "EASYDOC");
|
||||||
ini.set("Azione", azione);
|
ini.set("Azione", azione);
|
||||||
|
|
||||||
TFilename archivio = get_firm_dir(); archivio.add("easydoc.mdb");
|
|
||||||
ini.set("Archivio", archivio);
|
ini.set("Archivio", archivio);
|
||||||
ini.set("Cartella", "mov");
|
ini.set("Cartella", "Movimenti primanota");
|
||||||
ini.set("Campo1", m.get(F_NUMREG));
|
ini.set("Campo0", m.get(F_NUMREG));
|
||||||
if (stricmp("Azione", "Scan") == 0 || stricmp("Azione", "Aggiungi") == 0)
|
ini.set("Campo1", m.get(F_DATAREG));
|
||||||
|
ini.set("Descrizione", m.get(F_DESCR));
|
||||||
|
|
||||||
|
// prepara la sezione "DefinizioneDoc1" (se non esiste l'archivio mdb)
|
||||||
|
if (!fexist(archivio))
|
||||||
{
|
{
|
||||||
ini.set("Campo2", m.get(F_DATAREG));
|
ini.set_paragraph("DefinizioneDoc1");
|
||||||
ini.set("Descrizione", m.get(F_DESCR));
|
ini.set("Archivio", archivio);
|
||||||
}
|
ini.set("NomeDoc", "Movimenti primanota");
|
||||||
|
ini.set("DirDiArchiviazione", dir_di_arch);
|
||||||
|
ini.set("DriveDiArchiviazione", drv_di_arch);
|
||||||
|
ini.set("DirDocumento", "eddoc");
|
||||||
|
ini.set("Campo0", "Numero registrazione");
|
||||||
|
ini.set("Tipo0", "Numero");
|
||||||
|
ini.set("Campo1", "Data registrazione");
|
||||||
|
ini.set("Tipo1", "Data");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TExternal_app app(cmdline);
|
TExternal_app app(cmdline);
|
||||||
bool ok = app.run(FALSE, FALSE) == 0;
|
bool ok = app.run(FALSE, FALSE) == 0;
|
||||||
|
|
||||||
if (ininame.not_empty())
|
if (ininame.not_empty())
|
||||||
::remove(ininame);
|
::remove(ininame);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user