Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :riporti CA da 5.0 (stampa commesse e mastrini) git-svn-id: svn://10.65.10.50/trunk@17758 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e0d4518697
commit
6f66498571
@ -47,9 +47,21 @@ TMask_print_cms::TMask_print_cms()
|
||||
|
||||
bool TMask_print_cms::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
/* switch (o.dlg())
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_DADATA:
|
||||
case F_ANNO:
|
||||
if (e == fe_modify && !o.empty())
|
||||
{
|
||||
TEsercizi_contabili esc;
|
||||
TDate inies, fines;
|
||||
if (esc.code2range(atoi(o.get()), inies, fines))
|
||||
{
|
||||
set(F_DADATA, inies);
|
||||
set(F_ADATA, fines);
|
||||
}
|
||||
}
|
||||
break;
|
||||
/*case F_DADATA:
|
||||
case F_ADATA:
|
||||
if (e == fe_close)
|
||||
{
|
||||
@ -62,10 +74,10 @@ bool TMask_print_cms::on_field_event(TOperable_field& o, TField_event e, long jo
|
||||
return error_box(TR("La data deve appartenere all'anno selezionato"));
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;*/
|
||||
default:
|
||||
break;
|
||||
}*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -114,21 +126,37 @@ void TPrint_cms::main_loop()
|
||||
if (anno > 0 || dadata.ok() || adata.ok() || cdc.full())
|
||||
{
|
||||
TString query;
|
||||
//se ANNO è specificato sono possibili i casi:
|
||||
//a) vengono specificate entrambe le date limite: cms con anno=ANNO,dadata>=DATAINIZIO,adata<=DATAFINE
|
||||
//b) non vengono specificate entrambe le date limite: sono le cms con anno=ANNO
|
||||
//c) specificata solo dadata: cms con anno=ANNO,dadata>=DATAINIZIO,finiscono quando gli pare
|
||||
//d) specificata solo adata: cms con anno=ANNO,adata<=DATAIFINE,cominciano quando gli pare
|
||||
//Se si vuole indicare periodi specifici non legati al campo anno si ottengono le commesse che,nel corso della...
|
||||
//...loro vita,sono interessate dalle date indicate
|
||||
//e) specificando adata prende le cms che abbiano DATAINIZIO>=dadata, ovvero che comincino dopo dadata
|
||||
//f) specificando dadata prende le cms che abbiano DATAFINE<=adata, ovvero che terminino entro adata
|
||||
|
||||
if (query.full())
|
||||
query << "&&";
|
||||
|
||||
if (dadata.ok() || adata.ok())
|
||||
{
|
||||
if (dadata.ok())
|
||||
query << "(NUM(ANSI(DATAINIZIO))>=" << dadata.date2ansi() << ")";
|
||||
if (dadata.ok() && adata.ok())
|
||||
query << "&&";
|
||||
if (adata.ok())
|
||||
query << "(NUM(ANSI(DATAFINE))<=" << adata.date2ansi() << ")";
|
||||
|
||||
}
|
||||
|
||||
if (anno > 0)
|
||||
{
|
||||
if (query.full()) query << "&&";
|
||||
if (query.full())
|
||||
query << "&&";
|
||||
query << "(ANNO='" << anno << "')";
|
||||
}
|
||||
if (adata.ok())
|
||||
{
|
||||
if (query.full()) query << "&&";
|
||||
query << "(NUM(ANSI(DATAINIZIO))<=" << adata.date2ansi() << ")";
|
||||
}
|
||||
if (dadata.ok())
|
||||
{
|
||||
if (query.full()) query << "&&";
|
||||
query << "(NUM(ANSI(DATAFINE))>=" << dadata.date2ansi() << ")";
|
||||
}
|
||||
|
||||
if (cdc.full())
|
||||
{
|
||||
if (query.full()) query << "&&";
|
||||
|
@ -1,17 +1,7 @@
|
||||
#include "ca1600a.h"
|
||||
|
||||
TOOLBAR "" 0 -2 0 2
|
||||
|
||||
BUTTON DLG_PRINT 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -11 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -11 ""
|
||||
END
|
||||
|
||||
TOOLBAR "topbar" 0 -2 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa commesse" 0 0 0 -2
|
||||
@ -40,23 +30,19 @@ BEGIN
|
||||
DISPLAY "Data inizio esercizio" D0
|
||||
DISPLAY "Data fine esercizio " D1
|
||||
OUTPUT F_ANNO CODTAB
|
||||
OUTPUT F_DADATA D0
|
||||
OUTPUT F_ADATA D1
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "RZ"
|
||||
MESSAGE EMPTY ENABLE,F_DADATA|ENABLE,F_ADATA
|
||||
MESSAGE CLEAR,F_DADATA|CLEAR,F_ADATA
|
||||
ADD NONE
|
||||
END
|
||||
|
||||
DATE F_DADATA
|
||||
BEGIN
|
||||
PROMPT 17 14 "Da data "
|
||||
PROMPT 17 14 "Da data inizio "
|
||||
END
|
||||
|
||||
DATE F_ADATA
|
||||
BEGIN
|
||||
PROMPT 40 14 "A data "
|
||||
PROMPT 48 14 "A data fine "
|
||||
END
|
||||
|
||||
STRING F_REPORT 20
|
||||
|
@ -90,6 +90,18 @@ bool TPrint_mastrini_ca_mask::on_field_event(TOperable_field& o, TField_event e,
|
||||
if (!test_compatible_report())
|
||||
return error_box(TR("Impossibile trovare un report compatibile"));
|
||||
}
|
||||
break;
|
||||
case F_ANNO:
|
||||
if (e == fe_modify && !o.empty())
|
||||
{
|
||||
TEsercizi_contabili esc;
|
||||
TDate inies, fines;
|
||||
if (esc.code2range(atoi(o.get()), inies, fines))
|
||||
{
|
||||
set(F_DATAINI, inies);
|
||||
set(F_DATAFIN, fines);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case F_DATAINI:
|
||||
case F_DATAFIN:
|
||||
@ -187,6 +199,17 @@ bool TPrint_mastrini_ca_recordset::valid_record(const TRelation& rel) const
|
||||
if ((_tipimov & tipomov_int) == 0)
|
||||
return false;
|
||||
|
||||
//aggiunta 01/12/08; se non si specifica l'esercizio si DEVE tener conto della DATAREG e non della DATACOMP; quindi..
|
||||
//..deve effettuare tale controllo e controllare se la datareg rientra nell'intervallo di date selezionato sulla maschera
|
||||
if (_anno <= 0)
|
||||
{
|
||||
const TDate datareg = mov.get_date(MOVANA_DATAREG);
|
||||
if (_dadata.ok() && datareg < _dadata)
|
||||
return false;
|
||||
if (_adata.ok() && datareg > _adata)
|
||||
return false;
|
||||
}
|
||||
|
||||
//..poi le righe (devono comparire solo le righe con cdc/cms/fsc che appaiono nello sheet)
|
||||
const TRectype& rmov = rel.curr(LF_RMOVANA);
|
||||
|
||||
@ -224,12 +247,12 @@ void TPrint_mastrini_ca_recordset::set_custom_filter(TCursor& cur) const
|
||||
|
||||
if (_daconto.not_empty())
|
||||
darec.put(RMOVANA_CODCONTO, _daconto);
|
||||
if (_dadata.ok())
|
||||
if (_dadata.ok() && _anno > 0)
|
||||
darec.put(RMOVANA_DATACOMP, _dadata);
|
||||
|
||||
if (_aconto.not_empty())
|
||||
arec.put(RMOVANA_CODCONTO, _aconto);
|
||||
if (_adata.ok())
|
||||
if (_adata.ok() && _anno > 0)
|
||||
arec.put(RMOVANA_DATACOMP, _adata);
|
||||
|
||||
cur.setregion(darec, arec);
|
||||
|
Loading…
x
Reference in New Issue
Block a user