cg2100.cpp Corretto errore MI3637 sull'incasso immediato

cg2102.h    Trasformato in TFilename il path di EasyDoc
cg2106.cpp  Reso piu' robusto il collegamento ad EasyDoc


git-svn-id: svn://10.65.10.50/trunk@5508 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1997-10-31 15:55:14 +00:00
parent 40210c6fb7
commit f5f8ac49a5
3 changed files with 41 additions and 37 deletions

View File

@ -615,7 +615,7 @@ const char* TPrimanota_application::get_next_key()
else
_tmp.add(m.get(F_DATACOMP));
if (iva() == iva_vendite)
if (iva() == iva_vendite || _incasso->_step == 2)
{
_tmp.add(F_DATADOC); _tmp.add(m.get(F_DATADOC)); // Ricopia data documento

View File

@ -74,7 +74,7 @@ class TPrimanota_application : public TRelation_application
TAssoc_array _colori; // Colori delle righe
TString _EasyDocPath; // Path eseguibile EasyDoc
TFilename _EasyDocPath; // Path eseguibile EasyDoc
static bool showpartite_handler(TMask_field& f, KEY k);
static bool speserimb_handler(TMask_field& f, KEY k);

View File

@ -327,7 +327,6 @@ bool TPrimanota_application::test_prorata()
ok = !esiste_riga_iva_detraibile;
else
ok = esiste_riga_iva_detraibile;
}
return ok;
@ -390,20 +389,21 @@ bool TPrimanota_application::easydoc_installed()
{
// check autorization
if (!has_module(AIAUT))
return FALSE;
return FALSE;
// where is EasyDoc installed?
char szBuf[50];
int entrylen = GetPrivateProfileString("Easydoc", "Path", "", szBuf, sizeof(szBuf), "EasyDoc.ini");
TFilename szBuf;
int entrylen = GetPrivateProfileString("Easydoc", "Path", "C:\\EASYDOC",
szBuf.get_buffer(), szBuf.size(),
"EasyDoc.ini");
// EasyDoc there isn't
if (!entrylen)
return FALSE;
return FALSE;
// paste EasyDoc path
szBuf[entrylen] = '\0';
_EasyDocPath = szBuf;
_EasyDocPath << "EASYDOC.EXE";
_EasyDocPath.add("EASYDOC.EXE");
// is EasyDoc present?
bool ok = fexist(_EasyDocPath);
@ -411,9 +411,10 @@ bool TPrimanota_application::easydoc_installed()
return ok;
}
// Il documento attuale e' connesso a easydoc?
bool TPrimanota_application::easydoc_connected()
{
return easydoc_installed();
return TRUE;
}
bool TPrimanota_application::run_easydoc(const char* azione) const
@ -434,32 +435,36 @@ bool TPrimanota_application::run_easydoc(const char* azione) const
TFilename dati_dir = get_firm_dir();
// completa path relativo,
// ma che male c'era a registrarlo sempre assoluto??
if (dati_dir[1] != ':')
if (dati_dir[0] == '\\' || dati_dir[0] == '/' || dati_dir[1] != ':')
{
TFilename modulename(argv(0));
dati_dir = modulename.path();
dati_dir.add(get_firm_dir());
}
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();
for (int pos = dati_dir.find("\\\\"); pos >= 0; pos = dati_dir.find("\\\\"))
dati_dir[pos] = ' ';
dati_dir.strip_spaces();
// nome archivio
TFilename archivio(dati_dir);
archivio.add("easydoc.mdb");
// drive di archiviazione
TString drv_di_arch = dati_dir.mid(0,2);
TString drv_di_arch;
if (dati_dir[1] == ':')
drv_di_arch = dati_dir.left(2);
// directory di archiviazione
TString dir_di_arch = dati_dir.mid(2);
dir_di_arch << '\\';
TString dir_di_arch(dati_dir);
if (dir_di_arch[1] == ':')
dir_di_arch.ltrim(2);
dir_di_arch << SLASH;
// prepara sempre sezione "EASYDOC"
TConfig ini(ininame, "EASYDOC");
// prepara sempre sezione "EASYDOC"
TConfig ini(ininame, "EASYDOC");
ini.set("Azione", azione);
ini.set("Archivio", archivio);
ini.set("Cartella", "Movimenti primanota");
@ -470,18 +475,17 @@ bool TPrimanota_application::run_easydoc(const char* azione) const
// prepara la sezione "DefinizioneDoc1" (se non esiste l'archivio mdb)
if (!fexist(archivio))
{
ini.set_paragraph("DefinizioneDoc1");
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");
}
ini.set_paragraph("DefinizioneDoc1");
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);