Patch level : 12.0 492

Files correlati     : tf
Commento            : Adattato TF alle richieste di Alessandra

git-svn-id: svn://10.65.10.50/branches/R_10_00@24245 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
mtollari 2017-12-27 11:01:20 +00:00
parent 2d2597c77e
commit 9df346f464

View File

@ -824,12 +824,6 @@ TString TTrFa_app::getKey(TToken_string* strarr)
TString TTrFa_app::getHeader(TToken_string* strarr)
{
/*
// Chiave header (20): TIPOCF(1) + NANANANANA(10) + CODCF(6)
TString header; header.format("%c3753N4108E%06ld", strarr->get_char(_tipocf), strarr->get_int(_codcf));
return header;
*/
/* Devo crearmi una struttura dove immagazzino delle strutture di clienti e all'interno ci metto i numeratori che mi chiedono
* Così facendo mando a puttane persino l'append che potevo tranquillamente implementare prima e creare fastidiose query per capire dove cazzo sto
*/
@ -871,13 +865,13 @@ TString TTrFa_app::getHeader(TToken_string* strarr)
static TString formatString; formatString.cut(0) << "%c%0";
if(occas.blank())
{
formatString << 18 - codcf.len() << "d";
formatString << 13 - codcf.len() << "d";
header.format(formatString, tipocf[0], 0);
header << codcf; // Perchè cazzo non va il %s!?
}
else
{
formatString << 18 - occas.len() << "d";
formatString << 13 - occas.len() << "d";
header.format(formatString, 'O', 0);
header << occas;
}
@ -888,13 +882,6 @@ TString TTrFa_app::getHeader(TToken_string* strarr)
TString TTrFa_app::getBody(TToken_string* strarr, bool add)
{
/*
// Chiave body (20): TIPODOC(2) + DATADOC[YEAR](4) + NUMDOC(7) + AAA(3) + CODALIQUOTA(4)
TDate datadoc(strarr->get(_datadoc));
TString body; body.format("%02s%04d%07s%04s", strarr->get(_codnum), datadoc.year(), strarr->get(_numdoc), strarr->get(_aliquota));
return body;
*/
/* Sembra che utilizzare identificatori chiari e sensati in questo mondo non è concesso, quindi adesso vi sbatto un bell'ID numerico
* Ok per OGNI cliente devo assegnarli un identificativo del numero della fattura
*/
@ -909,7 +896,7 @@ TString TTrFa_app::getBody(TToken_string* strarr, bool add)
}
mCliDoc[keyMap] = app;
static TString body; body.format("%010d%010d", app.contCliFo, app.docID[numDoc]);
static TString body; body.format("%07d%07d", app.contCliFo, app.docID[numDoc]);
return body;
}
@ -1356,7 +1343,9 @@ bool TTrFa_app::tff0700(TSheet_field& sheet)
// <DatiFatturaBody>
TTrFa_record tff0700f("TFF0700F");
tff0700f.set("P7_KEYPRGINVIO", getKey(strarr));
tff0700f.set("P7_KEYHEADERFATT", getHeader(strarr));
static TString header;
header.cut(0) << getHeader(strarr);
tff0700f.set("P7_KEYHEADERFATT", header);
tff0700f.set("P7_KEYBODYFATT", getBody(strarr));
TString natura = strarr->get(_natura);
@ -1365,10 +1354,20 @@ bool TTrFa_app::tff0700(TSheet_field& sheet)
// Controllo il tipo di esigilità
tff0700f.set("P7_DATA", toDate(strarr->get(_datadoc)));
tff0700f.set("P7_NUMERO", strarr->get(_numdoc));
tff0700f.set("P7_NRODOC", cache().get(LF_MOV, strarr->get(_numero), "NUMDOCEXT"));
static TString ndoc;
ndoc.cut(0) << cache().get(LF_MOV, strarr->get(_numero), "NUMDOCEXT");
if(ndoc.blank())
ndoc.cut(0) << strarr->get(_numdoc);
tff0700f.set("P7_NUMERO", ndoc);
tff0700f.set("P7_DATAREG", toDate(strarr->get(_datareg))); // Obbligatoria nei DTR
tff0700f.set("P7_GESTIONE", "");
// Campi di controllo
tff0700f.set("P7_CLIFOR", header);
tff0700f.set("P7_NRODOC", ndoc);
tff0700f.set("P7_DATADOC", toDate(strarr->get(_datadoc)));
ok = tff0700f.insert();
// Controllo dopo l'inserimento del tff0700f