Patch level : 12.0

Files correlati     : f9

Commento:
Il tipo documento sdi viene ora preso dall'FPPRO se possibile
This commit is contained in:
smen 2022-05-11 16:52:06 +02:00
parent f47d95a356
commit a775393ef7
3 changed files with 30 additions and 7 deletions

View File

@ -58,7 +58,7 @@ bool TImport_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
case F_IMPNUMREG:
if(e == fe_modify)
{
const std::shared_ptr<TCategorie_doc::classe_doc> c = TCategorie_doc().mov2cat(o.get_int());
const TCategorie_doc::classe_doc* c = TCategorie_doc().mov2cat(o.get_int());
if (c != nullptr)
{
set(F_CATANNPADRE, c->catdoc);

View File

@ -85,7 +85,7 @@ void TF9_test_app::main_loop()
if (preload.get_ann("FATTACQ","GENACQ", annesso))
{ }
TCategorie_doc::classe_doc get_classe_doc_right{ "ACQREV", "Fattura acq. con rev. charge", "FTA", "TD01", "052", "FA" };
std::shared_ptr<TCategorie_doc::classe_doc> get_classe_doc = preload.get_classe_doc("ACQREV");
const TCategorie_doc::classe_doc* get_classe_doc = preload.get_classe_doc("ACQREV");
CHECK(get_classe_doc->catdoc == get_classe_doc_right.catdoc &&
get_classe_doc->descr == get_classe_doc_right.descr &&
get_classe_doc->class_sost == get_classe_doc_right.class_sost &&
@ -101,7 +101,7 @@ void TF9_test_app::main_loop()
get_name_catdocs.find("FATTCORR") != get_name_catdocs.end() &&
get_name_catdocs.find("ACQREV") != get_name_catdocs.end(), "Get catdocs failed"
);
std::shared_ptr<TCategorie_doc::classe_doc> mov2cat = preload.mov2cat(95752);
const TCategorie_doc::classe_doc* mov2cat = preload.mov2cat(95752);
CHECK(mov2cat, "mov2cat failed: classe doc is null");
mov2cat = preload.mov2cat(96955); // Rev. charge causale 052
CHECK(mov2cat->causcont == "052", "Error retriving cat.doc. from numreg for causale.");
@ -109,10 +109,10 @@ void TF9_test_app::main_loop()
const TString cat_selected = "FATTACQ";
TCategorie_doc catdoc;
std::shared_ptr<TArray_sheet> annessi = catdoc.get_sheet_ann(cat_selected);
CHECK(annessi->items() == 2, "TCategorie_doc::get_sheet_ann() failed: retrived %d elements instead of 2", (int)annessi->items());
CHECK(annessi->items() == 2, format(FR("TCategorie_doc::get_sheet_ann() failed: retrived %d elements instead of 2"), (int)annessi->items()));
std::shared_ptr<TArray_sheet> sheet_catdocs = catdoc.get_sheet_catdocs();
CHECK(sheet_catdocs->items() == 6, "TCategorie_doc::get_sheet_catdocs() failed: retrived %d elements instead of 6", (int)sheet_catdocs->items());
CHECK(sheet_catdocs->items() == 6, format(FR("TCategorie_doc::get_sheet_catdocs() failed: retrived %d elements instead of 6"), (int)sheet_catdocs->items()));
TRecord_categorie rec(TRecord_categorie::catdocs);
@ -205,7 +205,7 @@ void TF9_test_app::main_loop()
if(categorie_doc.get_ann("FATTACQ","INTREVC", annesso))
TEstrazione::make_prosp_int_revc(153480, annesso);
TString s = TEstrai_mask::get_numdoc_exp_fp(105396);
TString s = get_numdoc_exp_fp(105396);
message_box("TESTS COMPLETELY SUCCESSFUL");
}

View File

@ -1090,7 +1090,30 @@ bool TEstrazione::estrazione_iva(bool escluso)
iva_query.add(IVA_PIVA, paiv, 28);
iva_query.add(IVA_CODFIS, codfis, 16);
iva_query.add(IVA_CATDOC, it->catdoc()->catdoc, 10);
iva_query.add(IVA_CAUSSOS, it->catdoc()->caus_sost, 6);
const TRegistro& reg = cached_registro(mov.get(MOV_REG), mov.get_int(MOV_ANNOIVA));
if (reg.iva() == iva_vendite)
iva_query.add(IVA_CAUSSOS, it->catdoc()->caus_sost, 6); //
else
{
TToken_string key(mov.get((MOV_KEYFPPRO)), ';');
if (key.full())
{
TFppro fppro(key);
const TString& tipodoc = fppro.get_tipodoc();
if(tipodoc.full())
iva_query.add(IVA_CAUSSOS, tipodoc, 6);
else
iva_query.add(IVA_CAUSSOS, it->catdoc()->caus_sost, 6);
}
else
iva_query.add(IVA_CAUSSOS, it->catdoc()->caus_sost, 6);
}
iva_query.add(IVA_NUMDOC, it->numdoc(), 20);
iva_query.add(IVA_DATADOC, datadoc);