campo-sirio/src/f9/f90400.cpp
Alessandro Bonazzi 8e27155893 Patch level : 12.0 1214
Files correlati     : fp0.exe

Archiviazione cartacei
2022-11-04 16:05:52 +01:00

196 lines
7.0 KiB
C++

#include "f90.h"
#include "annessif9.h"
#include "applicat.h"
#include "report.h"
#include "f9lib.h"
#include "f90100.h"
/**
* \brief Some test for F9 classes
*/
class TF9_test_app : public TSkeleton_application
{
public:
void main_loop() override;
TF9_test_app() = default;
};
void TF9_test_app::main_loop()
{
TLocalisamfile f(LF_F9ANNESSI);
TString search_numreg; search_numreg << 95223;
f.zero();
f.setkey(1);
f.put(F9A_NUMREG, search_numreg);
TString filename = f.get(F9A_FILENAME);
TString numreg;
for (f.read(_isgteq); (numreg = f.get(F9A_NUMREG)) == search_numreg; f.next())
{
filename = f.get(F9A_FILENAME);
numreg = f.get(F9A_NUMREG);
//message_box("Filename: %s\nNumreg: %s", (const char*)filename, (const char*)numreg);
CHECK(numreg == search_numreg, "This shit sucks.");
CHECK(filename == "annmid.pdf" || filename == "annmid2.pdf", "YOU'RE WRONG");
}
TF9_doccart d;
TString_array sa;
//CHECK(d.mov2listann(search_numreg, sa) && sa.items() == 2, "COSA STAI LEGGENDO??");
FOR_EACH_ARRAY_ITEM(sa, nr, file)
{
TString namefile = (*(TToken_string*)file).get(1);
TLocalisamfile ann(LF_F9ANNESSI);
ann.put(F9A_NUMREG, search_numreg);
ann.put(F9A_FILENAME, namefile);
CHECK(ann.read() == NOERR, "Non esiste questo numreg??");
filename = ann.get(F9A_FILENAME);
TString rec; rec <<
filename << "\n" <<
ann.get(F9A_NUMREG) << "\n" <<
ann.get(F9A_CATDOCPAD) << "\n" <<
ann.get(F9A_CATDOCANN) << "\n" <<
ann.get(F9A_LOADDATE) << "\n" <<
ann.get(F9A_USER);
CHECK(filename == "annmid.pdf" || filename == "annmid2.pdf", "YOU'RE WRONG");
//message_box(rec);
}
/////////////////////////
// Preload some cat doc.
if (noyes_box("Attenzione: procedere all'eliminazione e caricamento di categorie documentali e annessi di prova?"))
{
TCategorie_doc preload;
preload.remove_all();
preload.reload();
preload.add_categoria("FATTACQ", "FATTURE DI ACQUISTI", "FTA", "TD01", "", "FA");
preload.add_categoria("FATTVEN", "FATTURE DI VENDITA", "FTV", "TD01", "", "FV");
preload.add_categoria("NOTCREDACQ", "Nota credito di acquisto", "FTA", "TD04", "", "NC");
preload.add_categoria("NOTDEBVEN", "Nota debito di vendita", "FTV", "TD05", "", "ND");
preload.add_categoria("FATTCORR", "Fattura corrispettivi", "FTA", "TD01", "", "CR");
preload.add_categoria("ACQREV", "Fattura acq. con rev. charge", "FTA", "TD01", "052", "FA");
preload.add_annesso("FATTACQ", "GENACQ", "Annesso generico acq", "DC");
preload.add_annesso("FATTVEN", "GENVEN", "Annesso gen. ven.", "DC");
preload.add_annesso("ACQREV", "INTREVC", "Prosp. integr. rev.ch.", "RC", true);
preload.add_annesso("FATTACQ", "LEASING", "Annesso leasing", "DC");
CHECK(preload.get_array_rows().items() > 0, "Errore aggiunta o caricamento categorie documentali.");
TAnnesso * annesso = nullptr;
if (preload.get_ann("FATTACQ","GENACQ") != nullptr)
{ }
TClasse_doc get_classe_doc_right{ "ACQREV", "Fattura acq. con rev. charge", "FTA", "TD01", "052", "FA" };
const TClasse_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() &&
get_classe_doc->caus_sost() == get_classe_doc_right.caus_sost() &&
get_classe_doc->causcont() == get_classe_doc_right.causcont() &&
get_classe_doc->tipocaus() == get_classe_doc_right.tipocaus(), "get_classe_doc failed"
);
TString_array * catdocs = preload.get_name_catdocs();
CHECK(catdocs->find("FATTACQ") >= 0 && catdocs->find("FATTVEN") >= 0 && catdocs->find("NOTCREDACQ") >= 0 &&
catdocs->find("NOTDEBVEN") >= 0 && catdocs->find("FATTCORR") >= 0 && catdocs->find("ACQREV") >= 0, "Get catdocs failed");
const TClasse_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.");
const TString cat_selected = "FATTACQ";
TCategorie_doc catdoc;
TArray_sheet * annessi = catdoc.get_sheet_ann(cat_selected);
CHECK(annessi->items() == 2, format(FR("TCategorie_doc::get_sheet_ann() failed: retrived %d elements instead of 2"), (int)annessi->items()));
TArray_sheet * sheet_catdocs = catdoc.get_sheet_catdocs();
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);
TRecord_categorie rec2(TRecord_categorie::annessi);
rec.put("NAME", "FATTACQ");
rec.read();
TString name = rec.get("NAME");
TString descr = rec.get("DESCR");
TString classdo = rec.get("CLASSDOCSOS");
TString caussos = rec.get("CAUSSOS");
TString causcon = rec.get("CAUSCONT");
TString tipodoc = rec.get("TIPODOC");
CHECK(name == "FATTACQ" && descr.starts_with("FATTURE") && classdo == "FTA" && caussos == "TD01"&& causcon.blank() && tipodoc == "FA", "TRecord_categorie failed to retrieve FATTACQ");
rec2.put("CATDOC", "FATTACQ");
bool ok = rec2.read();
CHECK(ok, "TRecord_categorie (annessi) failed to retrieve annessi FATTACQ");
for (; ok; ok = rec2.next())
{
TString s_catdoc = rec2.get("CATDOC");
TString s_name = rec2.get("NAME");
TString s_descr = rec2.get("DESCR");
TString s_tipoann = rec2.get("TIPOANN");
bool s_obblig = rec2.get("OBBLIG") == "X";
CHECK(s_catdoc == "FATTACQ" && s_tipoann == "DC" && !s_obblig && (s_name == "GENACQ" && s_descr.starts_with("Annesso generico") ||
s_name == "LEASING" && s_descr.starts_with("Annesso lea")),
"TRecord_categorie (annessi) failed to retrive annessi FATTACQ");
}
}
if(false)
{
TF9Prospetto_integr prosp;
if (prosp(96951, 96952))
{
TFilename tmp; tmp.tempdir();
tmp.add(prosp.filename().name());
tmp.ext("pdf");
#ifndef DBG
bool exp = prosp.export_pdf(tmp);
#else
bool exp = prosp.preview();
#endif
}
}
TLocalisamfile clifo(LF_CLIFO);
clifo.put(CLI_TIPOCF, "C");
clifo.put(CLI_CODCF, 230);
int iss = clifo.read();
TString statopaiv;
TString idfisc;
TString paiv;
TString codfisc;
//TEstrazione::fill_id(clifo, statopaiv, idfisc, paiv, codfisc);
TAnnesso *annesso = nullptr;
TCategorie_doc categorie_doc;
if(categorie_doc.get_ann("FATTACQ","INTREVC") != nullptr)
TEstrazione::make_prosp_int_revc(153480, annesso);
TString s = get_numdoc_exp_fp(105396);
message_box("TESTS COMPLETELY SUCCESSFUL");
}
int f90400(const int argc, char* argv[])
{
TF9_test_app test_app;
test_app.run(argc, argv, "F9 Test Application");
return 0;
}