Patch level : 12.0 1076

Files correlati     : ve0.exe ve1.exe ve5.exe ve6.exe fp0.exe li0300a.msk
Commento        :
In fatturazione bolle scritto il cliente originale della fattura nel campo CFORIG quando uso il cliente FATTURARE A per poterlo recuperae nelle lettere d'intento
In configurazione delle lettere d'intento c'è il parametro "Uitlizza il cliente originale nelle fatture" per attivare il meccanismo.
This commit is contained in:
Alessandro Bonazzi 2021-09-08 16:35:13 +02:00
parent 7a7bf88038
commit b2b083be6f
4 changed files with 16 additions and 4 deletions

View File

@ -52,6 +52,7 @@ void TDI_mask::load_config()
set(F_CODIVA_ALT, ini_get_string(CONFIG_DITTA, "li", "CODIVALT"));
set(F_ENABLE_FATTURE, ini_get_bool(CONFIG_DITTA, "li", "ENABLEFATT"));
set(F_ADD_UTILIZZATO, ini_get_bool(CONFIG_DITTA, "li", "ADDUTILIZZATO"));
set(F_CF_ORIG, ini_get_bool(CONFIG_DITTA, "li", "CFORIGINAL"));
TToken_string tipidoc(ini_get_string(CONFIG_DITTA, "li", "TIPIDOC"));
TString_array& strarr = sheet.rows_array();
@ -92,6 +93,7 @@ void TDI_mask::save_config()
ini_set_string(CONFIG_DITTA, "li", "CODIVALT", get(F_CODIVA_ALT));
ini_set_bool(CONFIG_DITTA, "li", "ENABLEFATT", get_bool(F_ENABLE_FATTURE));
ini_set_bool(CONFIG_DITTA, "li", "ADDUTILIZZATO", get_bool(F_ADD_UTILIZZATO));
ini_set_bool(CONFIG_DITTA, "li", "CFORIGINAL", get_bool(F_CF_ORIG));
ini_set_string(CONFIG_DITTA, "li", "TIPIDOC", tipidoc);
message_box(TR("Impostazioni salvate correttamente"));
}

View File

@ -6,4 +6,5 @@
#define F_CODIVA_ALT 202
#define F_ENABLE_FATTURE 203
#define F_ADD_UTILIZZATO 204
#define F_DOC_SHEET 205
#define F_CF_ORIG 205
#define F_DOC_SHEET 206

View File

@ -64,9 +64,14 @@ BEGIN
PROMPT 2 4 "Aggiungi l'importo utilizzato insieme al protocollo nelle fatture"
END
BOOLEAN F_CF_ORIG
BEGIN
PROMPT 2 5 "Uitlizza il cliente originale nelle fatture"
END
SPREADSHEET F_DOC_SHEET 45 -1
BEGIN
PROMPT 2 6 ""
PROMPT 2 8 ""
ITEM "Tipo Documento"
ITEM "Da stato"
ITEM "A stato"

View File

@ -359,6 +359,7 @@ bool TLi_manager::utilizza_plafond(const TDocumento & d, TToken_string & plafs,
}
const bool storna = imp_plafond < ZERO;
bool tipo_per_periodo = true;
for (int k = storna ? letitems - 1 : 0; imp_plafond != ZERO && (storna ? k >= 0: k < letitems); storna ? k-- : k++)
{
@ -375,6 +376,7 @@ bool TLi_manager::utilizza_plafond(const TDocumento & d, TToken_string & plafs,
const real totale = totale_utilizzato + utilizzo;
const real utilizzo_plaf = plaf.get_real(_plimporto);
tipo_per_periodo &= rec.get_int(LETINT_TIPOOP) == A_TEMPO;
if (d.is_nota_credito())
{
if (utilizzo > ZERO)
@ -398,7 +400,7 @@ bool TLi_manager::utilizza_plafond(const TDocumento & d, TToken_string & plafs,
add2lint(rec, utilizzo);
}
}
if (imp_plafond > ZERO)
if (!tipo_per_periodo && imp_plafond > ZERO)
{
TString msg(TR("Attenzione il plafond del cliente "));
@ -443,7 +445,7 @@ int TLi_manager::get_plafond_row(const TDocumento & d, TString & protinf, TStrin
{
field = rectype.get("S4");
descr = rectype.get("S1");
to_print = !rectype.get("B0");
to_print = !rectype.get_bool("B0");
}
else
{
@ -671,6 +673,8 @@ TLi_manager::TLi_manager(const char t, const long c, const int anno)
_utilizzato(), _valid_plafond(false),
_dirty(false), _plafonds()
{
if (_anno == 0)
_anno = today.year();
read();
}