Patch level : 2.0 480
Files correlati : sv0.exe sv1.exe sv2.exe sv0400a.msk sv1100a.frm sv1100b.frm Ricompilazione Demo : [ ] Commento : GF20028 La selezione per omaggi non può essere effettuata ATTENZIONE: Ci risulta che il bottone omaggi sia sempre selezionabile. Inoltre abilitando gli omaggi nei parametri statistiche, questi vengono stampati correttamente. Necessita segnalazione piu' chiara. GF20029 La stampa schede di vendita arrotonda glie importi all'intero. git-svn-id: svn://10.65.10.50/trunk@11194 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
7c77333860
commit
4f569ec3c4
@ -5,42 +5,29 @@
|
||||
|
||||
class TParametri_stat : public TConfig_application
|
||||
{
|
||||
bool _recalculated;
|
||||
|
||||
protected:
|
||||
virtual const char* get_mask_name() const { return "sv0400a"; }
|
||||
virtual bool postprocess_config_changed (const char*, const char*, const char*, const char*);
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
|
||||
public:
|
||||
TParametri_stat();
|
||||
virtual ~TParametri_stat() { }
|
||||
};
|
||||
|
||||
bool TParametri_stat::postprocess_config_changed (const char*, const char*, const char*, const char*)
|
||||
{
|
||||
bool recalc = yesno_box("Si desidera ricalcolare le statistiche ora?");
|
||||
bool recalc = !_recalculated && yesno_box("Si desidera ricalcolare le statistiche ora?");
|
||||
if (recalc)
|
||||
{
|
||||
TExternal_app app("sv2 -0");
|
||||
app.run();
|
||||
_recalculated = app.run() == 0;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TParametri_stat::user_create()
|
||||
{
|
||||
TConfig cd(CONFIG_DITTA,"sv");
|
||||
if (cd.get("EdMask").empty())
|
||||
cd.set("EdMask","sv0400a","sv");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TParametri_stat::user_destroy()
|
||||
{
|
||||
return TConfig_application::user_destroy();
|
||||
}
|
||||
|
||||
TParametri_stat::TParametri_stat()
|
||||
: TConfig_application(CONFIG_DITTA)
|
||||
: TConfig_application(CONFIG_DITTA), _recalculated(FALSE)
|
||||
{ }
|
||||
|
||||
int sv0400(int argc, char* argv[])
|
||||
|
@ -14,7 +14,7 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Parametri Ditta Statistiche" -1 -1 76 17
|
||||
PAGE "Parametri Statistiche" -1 -1 76 17
|
||||
|
||||
GROUPBOX DLG_NULL 76 3
|
||||
BEGIN
|
||||
@ -184,7 +184,7 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pag. 2" -1 -1 76 17
|
||||
PAGE "Parametri Avanzati" -1 -1 76 17
|
||||
|
||||
STRING F_VALFLD 15
|
||||
BEGIN
|
||||
|
@ -1,5 +1,4 @@
|
||||
#include <xvt.h>
|
||||
#include <checks.h>
|
||||
|
||||
#include "sv1.h"
|
||||
|
||||
@ -8,9 +7,8 @@ int main(int argc, char** argv)
|
||||
int n = argc > 1 ? atoi(argv[1]+1) : 0;
|
||||
switch(n)
|
||||
{
|
||||
case 0 : sv1100(argc, argv); break;
|
||||
case 1 : sv1200(argc, argv); break;
|
||||
default: error_box("Invalid argument %s", argv[1]); break;
|
||||
default: sv1100(argc, argv); break;
|
||||
}
|
||||
exit(0);
|
||||
return 0;
|
||||
|
@ -1132,7 +1132,6 @@ bool TStampa_schede::stampa_selezione(TCursor& clifocur, const TSheet& clifoshee
|
||||
// Inizializzazione solo per stampa agenti/articoli/clienti/documenti
|
||||
if (stampa_per_ageart())
|
||||
{
|
||||
|
||||
TForm_item& tit = _form->find_field('H',odd_page,FF_TITOLO);
|
||||
tit.set("agenti");
|
||||
|
||||
@ -1148,14 +1147,15 @@ bool TStampa_schede::stampa_selezione(TCursor& clifocur, const TSheet& clifoshee
|
||||
_form->relation()->replace(tab);
|
||||
_progressivo = 0;
|
||||
}
|
||||
|
||||
|
||||
printer().open();
|
||||
for (clifocur = 0; clifocur.pos() < clifos && toprint > 0 && !cancel; ++clifocur)
|
||||
{
|
||||
if (all || clifosheet.checked(clifocur.pos()))
|
||||
{
|
||||
const char tipocf = clifocur.curr().get_char(CLI_TIPOCF);
|
||||
const long codcf = clifocur.curr().get_long(CLI_CODCF);
|
||||
ragsoc = tipocf == 'C' ? "Cliente" : "Fornitore";
|
||||
ragsoc = tipocf == 'C' ? TR("Cliente") : TR("Fornitore");
|
||||
ragsoc << ' ' << codcf << " - " << clifocur.file().get(CLI_RAGSOC);
|
||||
|
||||
if (pi)
|
||||
@ -1188,6 +1188,7 @@ bool TStampa_schede::stampa_selezione(TCursor& clifocur, const TSheet& clifoshee
|
||||
// In modo che venga automaticamente cancellato il precedente file temporaneo
|
||||
_form->relation()->replace(new TLocalisamfile(LF_TAB));
|
||||
}
|
||||
printer().close();
|
||||
|
||||
if (pi)
|
||||
delete pi;
|
||||
@ -1358,9 +1359,9 @@ void TStampa_schede::main_loop()
|
||||
if (all)
|
||||
{
|
||||
TString msg;
|
||||
msg.format("Attenzione: e' stata selezionata la stampa di tutti i %s!\n"
|
||||
"Si desidera continuare ugualmente?",
|
||||
m.get_who() == 'C' ? "clienti" : "fornitori");
|
||||
msg.format(FR("Attenzione: e' stata selezionata la stampa di tutti i %s!\n"
|
||||
"Si desidera continuare ugualmente?"),
|
||||
m.get_who() == 'C' ? TR("clienti") : TR("fornitori"));
|
||||
cancel = !yesno_box(msg);
|
||||
}
|
||||
|
||||
|
@ -127,7 +127,7 @@ BEGIN
|
||||
FIELD S1
|
||||
END
|
||||
|
||||
NUMERO FF_FIRSTCOLUMN 17
|
||||
VALUTA FF_FIRSTCOLUMN 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Base sconto" "Base sconto"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -149,7 +149,7 @@ BEGIN
|
||||
FIELD R1
|
||||
END
|
||||
|
||||
NUMERO 104 17
|
||||
VALUTA 104 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly1" "Jolly1"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -160,7 +160,7 @@ BEGIN
|
||||
FIELD R2
|
||||
END
|
||||
|
||||
NUMERO 105 17
|
||||
VALUTA 105 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly2" "Jolly2"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -171,7 +171,7 @@ BEGIN
|
||||
FIELD R3
|
||||
END
|
||||
|
||||
NUMERO 106 17
|
||||
VALUTA 106 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly3" "Jolly3"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -182,7 +182,7 @@ BEGIN
|
||||
FIELD R4
|
||||
END
|
||||
|
||||
NUMERO 107 17
|
||||
VALUTA 107 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly4" "Jolly4"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -193,7 +193,7 @@ BEGIN
|
||||
FIELD R5
|
||||
END
|
||||
|
||||
NUMERO 108 17
|
||||
VALUTA 108 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly5" "Jolly5"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -204,7 +204,7 @@ BEGIN
|
||||
FIELD R6
|
||||
END
|
||||
|
||||
NUMERO 109 17
|
||||
VALUTA 109 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly6" "Jolly6"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -215,7 +215,7 @@ BEGIN
|
||||
FIELD R7
|
||||
END
|
||||
|
||||
NUMERO 110 17
|
||||
VALUTA 110 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly7" "Jolly7"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -226,7 +226,7 @@ BEGIN
|
||||
FIELD R8
|
||||
END
|
||||
|
||||
NUMERO 111 17
|
||||
VALUTA 111 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly8" "Jolly8"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
|
@ -69,7 +69,7 @@ BEGIN
|
||||
FIELD S1
|
||||
END
|
||||
|
||||
NUMERO FF_FIRSTCOLUMN 17
|
||||
VALUTA FF_FIRSTCOLUMN 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Netto scontato" "Netto scontato"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -80,7 +80,7 @@ BEGIN
|
||||
FIELD R0
|
||||
END
|
||||
|
||||
NUMERO FF_SECONDCOLUMN 17
|
||||
VALUTA FF_SECONDCOLUMN 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Lordo scontato" "Lordo scontato"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -91,7 +91,7 @@ BEGIN
|
||||
FIELD R1
|
||||
END
|
||||
|
||||
NUMERO 104 17
|
||||
VALUTA 104 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly1" "Jolly1"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -102,7 +102,7 @@ BEGIN
|
||||
FIELD R2
|
||||
END
|
||||
|
||||
NUMERO 105 17
|
||||
VALUTA 105 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly2" "Jolly2"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -113,7 +113,7 @@ BEGIN
|
||||
FIELD R3
|
||||
END
|
||||
|
||||
NUMERO 106 17
|
||||
VALUTA 106 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly3" "Jolly3"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -124,7 +124,7 @@ BEGIN
|
||||
FIELD R4
|
||||
END
|
||||
|
||||
NUMERO 107 17
|
||||
VALUTA 107 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly4" "Jolly4"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -135,7 +135,7 @@ BEGIN
|
||||
FIELD R5
|
||||
END
|
||||
|
||||
NUMERO 108 17
|
||||
VALUTA 108 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly5" "Jolly5"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -146,7 +146,7 @@ BEGIN
|
||||
FIELD R6
|
||||
END
|
||||
|
||||
NUMERO 109 17
|
||||
VALUTA 109 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly6" "Jolly6"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -157,7 +157,7 @@ BEGIN
|
||||
FIELD R7
|
||||
END
|
||||
|
||||
NUMERO 110 17
|
||||
VALUTA 110 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly7" "Jolly7"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -168,7 +168,7 @@ BEGIN
|
||||
FIELD R8
|
||||
END
|
||||
|
||||
NUMERO 111 17
|
||||
VALUTA 111 17
|
||||
BEGIN
|
||||
SPECIAL STRINGA INTESTAZIONE "Jolly8" "Jolly8"
|
||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||
@ -179,14 +179,14 @@ BEGIN
|
||||
FIELD R9
|
||||
END
|
||||
|
||||
SECTION RIGAVUOTA 2 1 1 NORMAL STREXPR (5->B8!="")
|
||||
SECTION RIGAVUOTA 2 1 1 NORMAL STREXPR (5->B8!="")
|
||||
|
||||
STRINGA 883
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
END // Fine body
|
||||
|
@ -60,16 +60,18 @@ bool TRicalcolo_stats::kill_stats(const TDate& dfr, const TDate& dto)
|
||||
TProgind pi(items, "Azzeramento statistiche", FALSE, TRUE);
|
||||
cur.freeze();
|
||||
|
||||
int err = NOERR;
|
||||
for (cur = 0; cur.pos() < items; ++cur)
|
||||
{
|
||||
pi.addstatus(1);
|
||||
err = cur.file().remove();
|
||||
const int err = rel.remove();
|
||||
if (err != NOERR)
|
||||
break;
|
||||
{
|
||||
error_box(FR("Errore %d durante l'azzeramento archivi"), err);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return err == NOERR;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@ -77,9 +79,15 @@ void TRicalcolo_stats::calc_stats(const TDate& dfr, const TDate& dto)
|
||||
{
|
||||
TRectype recfrom(LF_DOC), recto(LF_DOC);
|
||||
if (dfr.ok())
|
||||
{
|
||||
recfrom.put(DOC_DATADOC, dfr);
|
||||
recfrom.put(DOC_PROVV, "D");
|
||||
}
|
||||
if (dto.ok())
|
||||
{
|
||||
recto.put(DOC_DATADOC, dto);
|
||||
recto.put(DOC_PROVV, "D");
|
||||
}
|
||||
|
||||
TRelation rel(LF_DOC);
|
||||
TCursor cur(&rel, "PROVV='D'", 3, &recfrom, &recto);
|
||||
@ -119,7 +127,7 @@ void TRicalcolo_stats::calc_stats(const TDate& dfr, const TDate& dto)
|
||||
}
|
||||
_agg.update();
|
||||
if (_agg.empty())
|
||||
message_box("Attenzione: l'archivio riepilogativo delle statistiche ora ricalcolato risulta vuoto");
|
||||
warning_box(TR("L'archivio riepilogativo delle statistiche ora ricalcolato risulta vuoto"));
|
||||
}
|
||||
|
||||
bool TRicalcolo_stats::datein_handler(TMask_field& f, KEY k)
|
||||
|
Loading…
x
Reference in New Issue
Block a user