Merge branch 'R_10_00' of http://10.65.20.33/sirio/CAMPO/campo into R_10_00

This commit is contained in:
Sirio Builder 2019-08-02 11:15:20 +02:00
commit 356be8417d
6 changed files with 79 additions and 30 deletions

View File

@ -1026,15 +1026,27 @@ bool TDoc_fp::initialize(TDocumentoEsteso& doc)
}
const TRectype& TDoc_fp::cco(const TRectype& doc) const
{
TString80 conkey;
const TString& con = doc.get(DOC_CONTRATTO);
if (con.full())
{
char tcon = doc.get_char(DOC_MODPAG);
if (tcon < 'C') tcon = 'C';
conkey.format("%c%6ld%s", tcon, doc.get_long(DOC_CODCF), static_cast<const char*>(con));
}
return cache().get("&CON", conkey);
TString80 conkey;
const TString& con = doc.get(DOC_CONTRATTO);
if (con.full())
{
char tcon = doc.get_char(DOC_MODPAG);
if (tcon < 'C') tcon = 'C';
conkey.format("%c%6ld%s", tcon, doc.get_long(DOC_CODCF), static_cast<const char*>(con));
}
static TLocalisamfile tabmod(LF_TABMOD);
// Controllo se non sono già sul record, così evito read inutili
// Lo sto facendo a mano perchè usare cache() metterebbe FP nella colonna "MOD"
if (tabmod.get("MOD") != "PA" || tabmod.get("COD") != "CON" || tabmod.get("CODTAB") != conkey)
{
tabmod.zero();
tabmod.put("MOD", "PA");
tabmod.put("COD", "CON");
tabmod.put("CODTAB", conkey);
tabmod.read();
}
return tabmod.curr();
}
void TDoc_fp::log(int severity, const char* msg)
{
@ -1575,7 +1587,15 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
// Fuori dallo scope per dopo
const TString16 cup = doc.get(DOC_CUP);
const TString16 cig = doc.get(DOC_CIG);
const TString80 com = doc.get(DOC_CODCMS);
// Codice commessa, spostato nel campo S5 di TABCOM
TString80 com = cco(doc).get("S5");
// Se è una commessa della sanità bisogna aggiungere un cancelletto davanti e dietro
if(cco(doc).get_bool("B0"))
{
com.add_front_and_back("#");
}
// SEMPRE
// Azzera contratti
TPaf_record& paf1000f = _paf_container.get_paf("PAF1000F");

View File

@ -639,8 +639,6 @@ TVariant& TFP_expression::parse_search(const TString& str, TRiga_documento& rdoc
{
return get_value(cache().get(tabella, search, key), campo);
}
else
{
return get_value(cache().get(file, search, key), campo);
}
return get_value(cache().get(file, search, key), campo);
}

View File

@ -1038,6 +1038,17 @@ TString & TString::add_front(const char * s)
return *this;
}
TString& TString::add_back(const char* s)
{
return operator<<(s);
}
TString& TString::add_front_and_back(const char* front, const char* back)
{
add_front(front);
return add_back(back);
}
// Certified 90%
word TString::hash() const
{

View File

@ -161,6 +161,12 @@ public:
TString& insert(const char* s, int pos = 0);
// @cmember Aggiunge la stringa passata davanti
TString& add_front(const char* s);
// @cmember Aggiunge la stringa passata dietro, sta funzione non serve a un tubo, solo per rendere più bello il codice se chiamata con add_front
TString& add_back(const char* s);
// @cmember Aggiunge la prima stringa passata davanti e la seconda dietro
TString& add_front_and_back(const char * front, const char* back);
// @cmember Aggiunge la stringa passata davanti e dietro
TString& add_front_and_back(const char * s) { return add_front_and_back(s, s); }
// @cmember Elimina tutti i caratteri contenuti in k
TString& strip(const char* k);

View File

@ -1,16 +1,18 @@
#ifndef __PATBCON_H
#define __PATBCON_H
#define F_CON_TIPO 101
#define F_CON_CODCF 102
#define F_CON_RAGSOC 112
#define F_CON_CODICE 103
#define F_CON_DESCRIZIONE 113
#define F_CON_DATA 104
#define F_CON_RIFAMM 105
#define F_CON_CAUS1 121
#define F_CON_CAUS2 122
#define F_CON_CAUS3 123
#define F_CON_TIPO 101
#define F_CON_CODCF 102
#define F_CON_RAGSOC 112
#define F_CON_CODICE 103
#define F_CON_DESCRIZIONE 113
#define F_CON_DATA 104
#define F_CON_RIFAMM 105
#define F_CON_CAUS1 121
#define F_CON_CAUS2 122
#define F_CON_CAUS3 123
#define F_CON_COMCON 124
#define B_CON_ASL 125
#endif

View File

@ -79,7 +79,7 @@ BEGIN
END
GROUPBOX DLG_NULL 78 5
GROUPBOX DLG_NULL 78 6
BEGIN
PROMPT 1 5 "@bDati contratto/convenzione/ordine P.A."
END
@ -109,30 +109,42 @@ END
STRING F_CON_RIFAMM 20
BEGIN
PROMPT 24 7 "Riferimento amministrazione "
PROMPT 2 8 "Riferimento amministrazione "
FIELD S4
END
STRING F_CON_COMCON 20
BEGIN
PROMPT 2 9 "Codice commessa o convenzione "
FIELD S5
END
BOOLEAN B_CON_ASL
BEGIN
PROMPT 55 9 "Commessa per sanità"
FIELD B0
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 10 "@bCausale"
PROMPT 1 11 "@bCausale"
END
STRING F_CON_CAUS1 50
BEGIN
PROMPT 14 11 ""
PROMPT 14 12 ""
FIELD S1
END
STRING F_CON_CAUS2 50
BEGIN
PROMPT 14 12 ""
PROMPT 14 13 ""
FIELD S2
END
STRING F_CON_CAUS3 50
BEGIN
PROMPT 14 13 ""
PROMPT 14 14 ""
FIELD S3
END