Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :aggiunta la possibilità di scegliere se includere o meno i documenti nella stampa bilancio di commessa e corretto errore sulla query dei docs stessi (segnalazioni dell'amato fuhrer del 29/05/09) git-svn-id: svn://10.65.10.50/trunk@18968 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
962492b999
commit
920bf7f880
@ -6,7 +6,7 @@ ENDPAGE
|
||||
|
||||
PAGE "Stampa bilancio commessa" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
GROUPBOX DLG_NULL 76 5
|
||||
BEGIN
|
||||
PROMPT 0 1 ""
|
||||
END
|
||||
@ -38,25 +38,30 @@ END
|
||||
|
||||
BOOLEAN F_VITAINTERA
|
||||
BEGIN
|
||||
PROMPT 1 3 "Inclusi esercizi successivi (vita intera)"
|
||||
PROMPT 1 3 "Includere esercizi successivi (vita intera)"
|
||||
MESSAGE FALSE ENABLE,F_FINE_ES
|
||||
MESSAGE TRUE CLEAR,F_FINE_ES
|
||||
END
|
||||
|
||||
BOOLEAN F_INCLUDE_DOCUMENTI
|
||||
BEGIN
|
||||
PROMPT 1 4 "Includere documenti non contabilizzati (di tipo ordine)"
|
||||
END
|
||||
|
||||
DATE F_DATASTAMPA
|
||||
BEGIN
|
||||
PROMPT 2 5 "Data stampa "
|
||||
PROMPT 2 6 "Data stampa "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 8
|
||||
GROUPBOX DLG_NULL 76 7
|
||||
BEGIN
|
||||
PROMPT 0 6 "@bParametri"
|
||||
PROMPT 0 7 "@bParametri"
|
||||
END
|
||||
|
||||
LISTBOX F_TIPOSTAMPA 1 30
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stampa "
|
||||
PROMPT 1 8 "Stampa "
|
||||
ITEM "0|Normale"
|
||||
MESSAGE CLEAR,F_FASE|CLEAR,F_CDC
|
||||
ITEM "1|Dettaglia per Fase"
|
||||
@ -73,12 +78,12 @@ END
|
||||
|
||||
STRING F_FASE 10
|
||||
BEGIN
|
||||
PROMPT 2 8 "Fase "
|
||||
PROMPT 2 9 "Fase "
|
||||
END
|
||||
|
||||
STRING F_CDC 20
|
||||
BEGIN
|
||||
PROMPT 2 9 "CdC "
|
||||
PROMPT 2 10 "CdC "
|
||||
USE LF_CDC
|
||||
INPUT CODCOSTO F_CDC
|
||||
DISPLAY "Codice centro di costo" CODCOSTO
|
||||
@ -99,7 +104,7 @@ END
|
||||
|
||||
BOOLEAN F_TIPODETR
|
||||
BEGIN
|
||||
PROMPT 1 10 "Utilizzare consuntivi per le detrazioni "
|
||||
PROMPT 1 11 "Utilizzare consuntivi per le detrazioni "
|
||||
END
|
||||
|
||||
GROUPBOX F_PRE0 76 5
|
||||
@ -133,7 +138,7 @@ PAGE "Istruzioni" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 9
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bUtilizzo campi dalla/alla data ed esercizio"
|
||||
PROMPT 1 1 "@bUtilizzo campi data Inizio/Fine ed esercizio"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
@ -171,6 +176,21 @@ BEGIN
|
||||
PROMPT 1 8 " a quello selezionato."
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 9
|
||||
BEGIN
|
||||
PROMPT 1 10 "@bUtilizzo Parametri"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 1 11 "3) Includere documenti equivale a considerare nel calcolo anche i documenti"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 1 12 " non contabilizzati di tipo ordine con data inclusa nell'intervallo selezionato"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -1298,6 +1298,8 @@ void TPrint_saldana_recordset::parse_rmovana(TAssoc_array* cms, const TDate& dat
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
query << "JOIN MOVANA INTO NUMREG==NUMREG\nFROM DATACOMP=#MINDATACOMP\nTO DATACOMP=#DATACALCOLO";
|
||||
@ -1351,7 +1353,8 @@ int TPrint_saldana_recordset::numerazioni_ordini(TString_array& num_ordini, TStr
|
||||
for (bool ok = num_recset.move_first(); ok; ok = num_recset.move_next()) //giro sui vari tipi numerazione
|
||||
{
|
||||
const TString4 codtab = num_recset.get("CODTAB").as_string();
|
||||
const TCodice_numerazione& numerazione = cached_numerazione(codtab);
|
||||
|
||||
const TCodice_numerazione numerazione(codtab);
|
||||
for (int t = numerazione.ntipi_doc() - 1; t >= 0; t--)
|
||||
{
|
||||
const TString& tipo_doc = numerazione.tipo_doc(t);
|
||||
@ -1383,7 +1386,7 @@ void TPrint_saldana_recordset::parse_rdoc(TAssoc_array* cms, const TDate& datain
|
||||
TString query;
|
||||
query << "USE RDOC KEY 3\n";
|
||||
|
||||
query << "SELECT (BETWEEN(DOC.DATADOC, #DATAINIES, #DATACALCOLO))&&(RIGAEVASA!=\"X\")";
|
||||
query << "SELECT (BETWEEN(DOC.DATADOC,#DATAINIES,#DATACALCOLO))&&(RIGAEVASA!=\"X\")";
|
||||
|
||||
//filtro su cdc/cms/fasi (fatto come per saldi e rmovana; purtroppo non si può metodizzare perchè in tutti i files..
|
||||
//..i nomi dei campi sono diversi!
|
||||
@ -1392,33 +1395,35 @@ void TPrint_saldana_recordset::parse_rdoc(TAssoc_array* cms, const TDate& datain
|
||||
case 1:
|
||||
case 4:
|
||||
if (_fase.full())
|
||||
query << "&&(FASCMS=\"" << _fase << "\")\n";
|
||||
query << "&&(FASCMS=\"" << _fase << "\")";
|
||||
break;
|
||||
case 2:
|
||||
case 8:
|
||||
if (_cdc.full())
|
||||
query << "&&(CODCOSTO=\"" << _cdc << "\")\n";
|
||||
query << "&&(CODCOSTO=\"" << _cdc << "\")";
|
||||
break;
|
||||
case 3:
|
||||
if (_fase.full() || _cdc.full())
|
||||
{
|
||||
if (_fase.full() && _cdc.full())
|
||||
query << "&&(FASCMS=\"" << _fase << "\")&&(CODCOSTO=\"" << _cdc << "\")\n";
|
||||
query << "&&(FASCMS=\"" << _fase << "\")&&(CODCOSTO=\"" << _cdc << "\")";
|
||||
else
|
||||
{
|
||||
if (_fase.full())
|
||||
query << "&&(FASCMS=\"" << _fase << "\")\n";
|
||||
query << "&&(FASCMS=\"" << _fase << "\")";
|
||||
else
|
||||
query << "&&(CODCOSTO=\"" << _cdc << "\")\n";
|
||||
query << "&&(CODCOSTO=\"" << _cdc << "\")";
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
query << "JOIN DOC INTO PROVV=='D' ANNO==ANNO CODNUM==CODNUM\nFROM PROVV='D' ANNO=#ANNO CODNUM=#CODNUM\nTO PROVV='D' ANNO=#ANNO CODNUM=#CODNUM";
|
||||
query << "\nJOIN DOC INTO PROVV=='D' ANNO==ANNO CODNUM==CODNUM\nFROM PROVV='D' ANNO=#ANNO CODNUM=#CODNUM\nTO PROVV='D' ANNO=#ANNO CODNUM=#CODNUM";
|
||||
TISAM_recordset recset(query);
|
||||
recset.set_var("#ANNO", (long)_datacalcolo.year());
|
||||
recset.set_var("#CODNUM", codnum);
|
||||
recset.set_var("#CODNUM", TVariant(codnum));
|
||||
recset.set_var("#DATAINIES", datainiesc);
|
||||
recset.set_var("#DATACALCOLO", _datacalcolo);
|
||||
|
||||
@ -1474,8 +1479,8 @@ void TPrint_saldana_recordset::parse_rdoc(TAssoc_array* cms, const TDate& datain
|
||||
if (!rigadoc.is_evasa())
|
||||
{
|
||||
//trasforma tutte le righe a valore, assegnando al prezzo il valore del residuo
|
||||
const real valore = rigadoc.valore(true);
|
||||
const real residuo = rigadoc.valore(false);
|
||||
const real valore = rigadoc.valore(true, AUTO_DECIMALS);
|
||||
const real residuo = rigadoc.valore(false, AUTO_DECIMALS);
|
||||
//ovviamente questo è vero se il residuo è inferiore al valore; se fosse uguale sarebbe riga ancora da evadere,..
|
||||
//..se fosse maggiore sarebbe riga del cazzo
|
||||
if (residuo < valore)
|
||||
@ -1544,6 +1549,8 @@ void TPrint_saldana_recordset::create_lines_to_print(const TString& query)
|
||||
parse_rmovana(cms, datainiesc, datafinesc);
|
||||
|
||||
// 2_b) calcolo dei saldi da documenti non ancora contabilizzati e quindi senza movana e saldana
|
||||
// si fa solo se l'utente Adolfo lo ha deciso sulla maschera
|
||||
if (_include_documenti)
|
||||
parse_rdoc(cms, datainiesc, datafinesc);
|
||||
} //if((_datacalcolo<datafinesc...
|
||||
} //if(_tipo==8)...
|
||||
@ -1782,6 +1789,7 @@ void TPrint_saldana_recordset::set_filter(const TMask& msk, const TString& curr_
|
||||
{
|
||||
_tipostima = msk.get(F_TIPOSTIMA)[0];
|
||||
_vitaintera = msk.get_bool(F_VITAINTERA);
|
||||
_include_documenti = msk.get_bool(F_INCLUDE_DOCUMENTI);
|
||||
_depth = msk.get_int(F_DEPTH);
|
||||
_tipodetr = msk.get_bool(F_TIPODETR);
|
||||
_tipostampa = msk.get_int(F_TIPOSTAMPA);
|
||||
|
@ -71,6 +71,7 @@ class TPrint_saldana_recordset : public TRecordset
|
||||
int _depth;
|
||||
int _tipostampa;
|
||||
bool _vitaintera;
|
||||
bool _include_documenti;
|
||||
bool _tipodetr;
|
||||
bool _forza_maturato;
|
||||
char _tipostima;
|
||||
|
@ -16,6 +16,7 @@
|
||||
#define F_TIPOSTAMPA 113
|
||||
#define F_TIPODETR 114
|
||||
#define F_FORZA_MATURATO 115
|
||||
#define F_INCLUDE_DOCUMENTI 116
|
||||
|
||||
/* campi per la generazione automatica
|
||||
#define F_FASE1 112
|
||||
|
Loading…
x
Reference in New Issue
Block a user