diff --git a/cg/cg2100.cpp b/cg/cg2100.cpp index f9b412fc3..5c4b2364d 100755 --- a/cg/cg2100.cpp +++ b/cg/cg2100.cpp @@ -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 diff --git a/cg/cg2102.h b/cg/cg2102.h index 49b4b2857..46cda7010 100755 --- a/cg/cg2102.h +++ b/cg/cg2102.h @@ -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); diff --git a/cg/cg2106.cpp b/cg/cg2106.cpp index 8e8356e28..63c2f7774 100755 --- a/cg/cg2106.cpp +++ b/cg/cg2106.cpp @@ -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);