Patch level : 12.0 966

Files correlati     : f90.exe d181.des f181.dir f181.trr all-masks
Commento            : Aggiunto controllo se importi un annesso per una categoria annesso che e' un prospetto integrativo per il reverse charge.
This commit is contained in:
Simone Palacino 2020-06-09 17:24:14 +02:00
parent d14564d7e1
commit 1f6e110e68
2 changed files with 39 additions and 47 deletions

View File

@ -119,7 +119,15 @@ bool TImport_msk::catdocann_handler(TMask_field& field, KEY key)
if (annessi && annessi->items() > 0)
{
if (annessi->run() == K_ENTER)
msk.set(F_CATDOCANN, annessi->row(annessi->selected()).get(0));
{
const char* s = annessi->row(annessi->selected()).get(0);
TCategorie_doc::annesso annesso;
categorie_doc().get_ann(s, annesso);
if (annesso.opcee != "RC")
msk.set(F_CATDOCANN, annesso.catdoc);
else
warning_box("Impossibile importare un annesso cartaceo per un prospetto integrativo per Reverse Charge.");
}
}
else
warning_box(msg_notexist);
@ -210,6 +218,7 @@ class TGestione_doc_cartacei_f9_msk : public TAutomask
TString user;
};
const TString& _addr_cart; // Indirizzo cartella doc. cartacei F9
std::unique_ptr<TMask> _config_msk;
std::unique_ptr<std::set<TString>> _extensions; // todo: controllare che con TString funzioni l'ordinamento, quindi la find
std::unique_ptr<TImport_msk> _import_msk;
std::map<TString, doc_cart_t> _list_file;
@ -217,7 +226,7 @@ class TGestione_doc_cartacei_f9_msk : public TAutomask
bool on_field_event(TOperable_field& o, TField_event e, long jolly) override;
void check_addr_cart() const;
void check_addr_cart();
static void check_deleted();
bool check_file_exist(const TString& file) const;
void delete_file();
@ -228,8 +237,8 @@ class TGestione_doc_cartacei_f9_msk : public TAutomask
void fill_docs();
static TToken_string& get_valid_extensions();
void load_extensions();
bool load_file(const TFilename& file, const TString& numreg, bool is_annesso, const TString& catannpadre, const TString& catdocann);
void open_config_win() const;
static bool load_file(const TFilename& file, const TString& numreg, bool is_annesso, const TString& catannpadre, const TString& catdocann);
void open_config_win();
void open_import_win();
static void remove_file_from_f9cart(const std::set<TString>& files);
bool verify_extension(const TFilename& file);
@ -260,7 +269,7 @@ bool TGestione_doc_cartacei_f9_msk::on_field_event(TOperable_field& o, TField_ev
case DLG_USER:
if (e == fe_button)
{
int page = curr_page();
const int page = curr_page();
if (!page)
edit_file();
else
@ -271,7 +280,7 @@ bool TGestione_doc_cartacei_f9_msk::on_field_event(TOperable_field& o, TField_ev
return true;
}
void TGestione_doc_cartacei_f9_msk::check_addr_cart() const
void TGestione_doc_cartacei_f9_msk::check_addr_cart()
{
const TFilename f(_addr_cart);
if (f.full() && !f.exist())
@ -502,7 +511,7 @@ void TGestione_doc_cartacei_f9_msk::fill_annessi()
}
msg << "\n" << *it << " [Num. Reg.: " << _list_ann.find(*it)->second.numreg << "]";
}
const bool del = warning_box(msg);
warning_box(msg);
}
}
@ -695,47 +704,46 @@ bool TGestione_doc_cartacei_f9_msk::load_file(const TFilename& file, const TStri
return true;
}
void TGestione_doc_cartacei_f9_msk::open_config_win() const
void TGestione_doc_cartacei_f9_msk::open_config_win()
{
static std::unique_ptr<TMask> msk;
if(msk == nullptr)
if(_config_msk == nullptr)
{
msk = std::make_unique<TMask>("Configurazione", 1, 78, 14);
msk->add_button_tool(DLG_OK, "Conferma", TOOL_OK);
msk->add_button_tool(DLG_NULL, "", 0);
msk->add_button_tool(DLG_QUIT, "Esci", TOOL_QUIT);
_config_msk = std::make_unique<TMask>("Configurazione", 1, 78, 14);
_config_msk->add_button_tool(DLG_OK, "Conferma", TOOL_OK);
_config_msk->add_button_tool(DLG_NULL, "", 0);
_config_msk->add_button_tool(DLG_QUIT, "Esci", TOOL_QUIT);
msk->add_groupbox(DLG_NULL, 0, "", 1, 0, 76, 4, "");
msk->add_static (DLG_NULL, 0, "@BInserire estensioni file riconosciute, separate da virgola.", 2, 1);
msk->add_string (101, 0, "Estensioni:", 2, 2, 255, "", 60);
msk->add_groupbox(DLG_NULL, 0, "@BCartella documenti cartacei", 1, 4, 76, 4);
msk->add_static (DLG_NULL, 0, "@BInserire nome cartella, all'interno della area dati della ditta", 2, 5);
msk->add_string (102, 0, "", 2, 6, 64, "", 30);
_config_msk->add_groupbox(DLG_NULL, 0, "", 1, 0, 76, 4, "");
_config_msk->add_static (DLG_NULL, 0, "@BInserire estensioni file riconosciute, separate da virgola.", 2, 1);
_config_msk->add_string (101, 0, "Estensioni:", 2, 2, 255, "", 60);
_config_msk->add_groupbox(DLG_NULL, 0, "@BCartella documenti cartacei", 1, 4, 76, 4);
_config_msk->add_static (DLG_NULL, 0, "@BInserire nome cartella, all'interno della area dati della ditta", 2, 5);
_config_msk->add_string (102, 0, "", 2, 6, 64, "", 30);
msk->set(101, F9CONF.get_estensioni());
_config_msk->set(101, F9CONF.get_estensioni());
TString s = F9CONF.get_addr_cart();
s.rtrim(1);
s.ltrim(s.rfind('\\') + 1);
msk->set(102, s);
_config_msk->set(102, s);
}
while (true)
{
if (msk->run() != K_ENTER)
if (_config_msk->run() != K_ENTER)
{
if (msk->get(102).empty())
if (_config_msk->get(102).empty())
{
warning_box("Si prega di inserire il nome della cartella per i documenti cartacei.");
continue;
}
break;
}
F9CONF.set_estensioni(msk->get(101));
TString dir = msk->get(102);
F9CONF.set_estensioni(_config_msk->get(101));
TString dir = _config_msk->get(102);
if (dir.empty())
{
if(yesno_box("Nome cartella vuoto.\nCreare cartella con nome 'Cartacei_F9'?"))
msk->set(102, dir = "Cartacei_F9");
_config_msk->set(102, dir = "Cartacei_F9");
else continue;
}

View File

@ -575,18 +575,7 @@ const char* TEstrazione::diagnostica_mov()
TString numreg; numreg << mov_i.numreg;
TLocalisamfile mov(LF_MOV);
mov.put(MOV_NUMREG, numreg);
#ifdef DBG
if(mov.read() != NOERR)
warning_box("OOOOOOOOOHH! E DICE SIII!!");
if (it->numreg == 96956)
bool simo = true; // Rev charge
if (it->numreg == 95752)
bool simo = true; // Cartaceo
if (it->numreg == 95740)
bool simo = true; // Annessi
if (it->numreg == 95222)
bool simo = true; // Annessi
#endif
/* Controlli per vendite cambiati:
* Elettroniche solo quelle agli italiani, tutti gli altri sono cartacei
*/
@ -757,14 +746,6 @@ bool TEstrazione::estrazione_iva(bool escluso)
{
if (!bar.add_status())
break;
#ifdef DBG
if (it->numreg == 95752) // Cartaceo
bool simo = true;
if (it->numreg == 95747) // idfisc errato Arredamenti Riva
bool simo = true;
if (it->numreg == 95740) // Annessi
bool simo = true;
#endif
if (!it->estratto)
continue;
@ -1435,6 +1416,9 @@ TCategorie_doc::TCategorie_doc() : _mode_sheet(MODE_SHEETS)
load_all();
}
///////////////////////////////////////////////////////////////////////////////
// TRecord_categorie
///////////////////////////////////////////////////////////////////////////////