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:
guy 2003-05-29 08:05:53 +00:00
parent 7c77333860
commit 4f569ec3c4
7 changed files with 50 additions and 56 deletions

View File

@ -5,42 +5,29 @@
class TParametri_stat : public TConfig_application class TParametri_stat : public TConfig_application
{ {
bool _recalculated;
protected: 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 postprocess_config_changed (const char*, const char*, const char*, const char*);
virtual bool user_create();
virtual bool user_destroy();
public: public:
TParametri_stat(); TParametri_stat();
virtual ~TParametri_stat() { }
}; };
bool TParametri_stat::postprocess_config_changed (const char*, const char*, const char*, const char*) 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) if (recalc)
{ {
TExternal_app app("sv2 -0"); TExternal_app app("sv2 -0");
app.run(); _recalculated = app.run() == 0;
} }
return TRUE; 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() TParametri_stat::TParametri_stat()
: TConfig_application(CONFIG_DITTA) : TConfig_application(CONFIG_DITTA), _recalculated(FALSE)
{ } { }
int sv0400(int argc, char* argv[]) int sv0400(int argc, char* argv[])

View File

@ -14,7 +14,7 @@ END
ENDPAGE ENDPAGE
PAGE "Parametri Ditta Statistiche" -1 -1 76 17 PAGE "Parametri Statistiche" -1 -1 76 17
GROUPBOX DLG_NULL 76 3 GROUPBOX DLG_NULL 76 3
BEGIN BEGIN
@ -184,7 +184,7 @@ END
ENDPAGE ENDPAGE
PAGE "Pag. 2" -1 -1 76 17 PAGE "Parametri Avanzati" -1 -1 76 17
STRING F_VALFLD 15 STRING F_VALFLD 15
BEGIN BEGIN

View File

@ -1,5 +1,4 @@
#include <xvt.h> #include <xvt.h>
#include <checks.h>
#include "sv1.h" #include "sv1.h"
@ -8,9 +7,8 @@ int main(int argc, char** argv)
int n = argc > 1 ? atoi(argv[1]+1) : 0; int n = argc > 1 ? atoi(argv[1]+1) : 0;
switch(n) switch(n)
{ {
case 0 : sv1100(argc, argv); break;
case 1 : sv1200(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); exit(0);
return 0; return 0;

View File

@ -1132,7 +1132,6 @@ bool TStampa_schede::stampa_selezione(TCursor& clifocur, const TSheet& clifoshee
// Inizializzazione solo per stampa agenti/articoli/clienti/documenti // Inizializzazione solo per stampa agenti/articoli/clienti/documenti
if (stampa_per_ageart()) if (stampa_per_ageart())
{ {
TForm_item& tit = _form->find_field('H',odd_page,FF_TITOLO); TForm_item& tit = _form->find_field('H',odd_page,FF_TITOLO);
tit.set("agenti"); tit.set("agenti");
@ -1148,14 +1147,15 @@ bool TStampa_schede::stampa_selezione(TCursor& clifocur, const TSheet& clifoshee
_form->relation()->replace(tab); _form->relation()->replace(tab);
_progressivo = 0; _progressivo = 0;
} }
printer().open();
for (clifocur = 0; clifocur.pos() < clifos && toprint > 0 && !cancel; ++clifocur) for (clifocur = 0; clifocur.pos() < clifos && toprint > 0 && !cancel; ++clifocur)
{ {
if (all || clifosheet.checked(clifocur.pos())) if (all || clifosheet.checked(clifocur.pos()))
{ {
const char tipocf = clifocur.curr().get_char(CLI_TIPOCF); const char tipocf = clifocur.curr().get_char(CLI_TIPOCF);
const long codcf = clifocur.curr().get_long(CLI_CODCF); 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); ragsoc << ' ' << codcf << " - " << clifocur.file().get(CLI_RAGSOC);
if (pi) 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 // In modo che venga automaticamente cancellato il precedente file temporaneo
_form->relation()->replace(new TLocalisamfile(LF_TAB)); _form->relation()->replace(new TLocalisamfile(LF_TAB));
} }
printer().close();
if (pi) if (pi)
delete pi; delete pi;
@ -1358,9 +1359,9 @@ void TStampa_schede::main_loop()
if (all) if (all)
{ {
TString msg; TString msg;
msg.format("Attenzione: e' stata selezionata la stampa di tutti i %s!\n" msg.format(FR("Attenzione: e' stata selezionata la stampa di tutti i %s!\n"
"Si desidera continuare ugualmente?", "Si desidera continuare ugualmente?"),
m.get_who() == 'C' ? "clienti" : "fornitori"); m.get_who() == 'C' ? TR("clienti") : TR("fornitori"));
cancel = !yesno_box(msg); cancel = !yesno_box(msg);
} }

View File

@ -127,7 +127,7 @@ BEGIN
FIELD S1 FIELD S1
END END
NUMERO FF_FIRSTCOLUMN 17 VALUTA FF_FIRSTCOLUMN 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Base sconto" "Base sconto" SPECIAL STRINGA INTESTAZIONE "Base sconto" "Base sconto"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -149,7 +149,7 @@ BEGIN
FIELD R1 FIELD R1
END END
NUMERO 104 17 VALUTA 104 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly1" "Jolly1" SPECIAL STRINGA INTESTAZIONE "Jolly1" "Jolly1"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -160,7 +160,7 @@ BEGIN
FIELD R2 FIELD R2
END END
NUMERO 105 17 VALUTA 105 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly2" "Jolly2" SPECIAL STRINGA INTESTAZIONE "Jolly2" "Jolly2"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -171,7 +171,7 @@ BEGIN
FIELD R3 FIELD R3
END END
NUMERO 106 17 VALUTA 106 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly3" "Jolly3" SPECIAL STRINGA INTESTAZIONE "Jolly3" "Jolly3"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -182,7 +182,7 @@ BEGIN
FIELD R4 FIELD R4
END END
NUMERO 107 17 VALUTA 107 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly4" "Jolly4" SPECIAL STRINGA INTESTAZIONE "Jolly4" "Jolly4"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -193,7 +193,7 @@ BEGIN
FIELD R5 FIELD R5
END END
NUMERO 108 17 VALUTA 108 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly5" "Jolly5" SPECIAL STRINGA INTESTAZIONE "Jolly5" "Jolly5"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -204,7 +204,7 @@ BEGIN
FIELD R6 FIELD R6
END END
NUMERO 109 17 VALUTA 109 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly6" "Jolly6" SPECIAL STRINGA INTESTAZIONE "Jolly6" "Jolly6"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -215,7 +215,7 @@ BEGIN
FIELD R7 FIELD R7
END END
NUMERO 110 17 VALUTA 110 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly7" "Jolly7" SPECIAL STRINGA INTESTAZIONE "Jolly7" "Jolly7"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -226,7 +226,7 @@ BEGIN
FIELD R8 FIELD R8
END END
NUMERO 111 17 VALUTA 111 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly8" "Jolly8" SPECIAL STRINGA INTESTAZIONE "Jolly8" "Jolly8"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"

View File

@ -69,7 +69,7 @@ BEGIN
FIELD S1 FIELD S1
END END
NUMERO FF_FIRSTCOLUMN 17 VALUTA FF_FIRSTCOLUMN 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Netto scontato" "Netto scontato" SPECIAL STRINGA INTESTAZIONE "Netto scontato" "Netto scontato"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -80,7 +80,7 @@ BEGIN
FIELD R0 FIELD R0
END END
NUMERO FF_SECONDCOLUMN 17 VALUTA FF_SECONDCOLUMN 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Lordo scontato" "Lordo scontato" SPECIAL STRINGA INTESTAZIONE "Lordo scontato" "Lordo scontato"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -91,7 +91,7 @@ BEGIN
FIELD R1 FIELD R1
END END
NUMERO 104 17 VALUTA 104 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly1" "Jolly1" SPECIAL STRINGA INTESTAZIONE "Jolly1" "Jolly1"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -102,7 +102,7 @@ BEGIN
FIELD R2 FIELD R2
END END
NUMERO 105 17 VALUTA 105 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly2" "Jolly2" SPECIAL STRINGA INTESTAZIONE "Jolly2" "Jolly2"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -113,7 +113,7 @@ BEGIN
FIELD R3 FIELD R3
END END
NUMERO 106 17 VALUTA 106 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly3" "Jolly3" SPECIAL STRINGA INTESTAZIONE "Jolly3" "Jolly3"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -124,7 +124,7 @@ BEGIN
FIELD R4 FIELD R4
END END
NUMERO 107 17 VALUTA 107 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly4" "Jolly4" SPECIAL STRINGA INTESTAZIONE "Jolly4" "Jolly4"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -135,7 +135,7 @@ BEGIN
FIELD R5 FIELD R5
END END
NUMERO 108 17 VALUTA 108 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly5" "Jolly5" SPECIAL STRINGA INTESTAZIONE "Jolly5" "Jolly5"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -146,7 +146,7 @@ BEGIN
FIELD R6 FIELD R6
END END
NUMERO 109 17 VALUTA 109 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly6" "Jolly6" SPECIAL STRINGA INTESTAZIONE "Jolly6" "Jolly6"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -157,7 +157,7 @@ BEGIN
FIELD R7 FIELD R7
END END
NUMERO 110 17 VALUTA 110 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly7" "Jolly7" SPECIAL STRINGA INTESTAZIONE "Jolly7" "Jolly7"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -168,7 +168,7 @@ BEGIN
FIELD R8 FIELD R8
END END
NUMERO 111 17 VALUTA 111 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Jolly8" "Jolly8" SPECIAL STRINGA INTESTAZIONE "Jolly8" "Jolly8"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -179,14 +179,14 @@ BEGIN
FIELD R9 FIELD R9
END END
SECTION RIGAVUOTA 2 1 1 NORMAL STREXPR (5->B8!="") SECTION RIGAVUOTA 2 1 1 NORMAL STREXPR (5->B8!="")
STRINGA 883 STRINGA 883
BEGIN BEGIN
PROMPT 1 1 "" PROMPT 1 1 ""
END END
END END
END // Fine body END // Fine body

View File

@ -60,16 +60,18 @@ bool TRicalcolo_stats::kill_stats(const TDate& dfr, const TDate& dto)
TProgind pi(items, "Azzeramento statistiche", FALSE, TRUE); TProgind pi(items, "Azzeramento statistiche", FALSE, TRUE);
cur.freeze(); cur.freeze();
int err = NOERR;
for (cur = 0; cur.pos() < items; ++cur) for (cur = 0; cur.pos() < items; ++cur)
{ {
pi.addstatus(1); pi.addstatus(1);
err = cur.file().remove(); const int err = rel.remove();
if (err != NOERR) 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); TRectype recfrom(LF_DOC), recto(LF_DOC);
if (dfr.ok()) if (dfr.ok())
{
recfrom.put(DOC_DATADOC, dfr); recfrom.put(DOC_DATADOC, dfr);
recfrom.put(DOC_PROVV, "D");
}
if (dto.ok()) if (dto.ok())
{
recto.put(DOC_DATADOC, dto); recto.put(DOC_DATADOC, dto);
recto.put(DOC_PROVV, "D");
}
TRelation rel(LF_DOC); TRelation rel(LF_DOC);
TCursor cur(&rel, "PROVV='D'", 3, &recfrom, &recto); 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(); _agg.update();
if (_agg.empty()) 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) bool TRicalcolo_stats::datein_handler(TMask_field& f, KEY k)