Patch level : 4.0 666
Files correlati : or1.exe Ricompilazione Demo : [ ] Commento : Bugs 0000689 Aggiungere ai documenti un campo data rientro (DATASCIMP) da considerare nella disponibilità per articolo git-svn-id: svn://10.65.10.50/trunk@14623 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f58394143c
commit
e51725555c
@ -208,9 +208,9 @@ bool TStampa_ordini::document_row_filter(const TRectype& row) const
|
||||
{
|
||||
const TDate datacons = row.get(RDOC_DATACONS);
|
||||
if (_from_cons.ok() && datacons < _from_cons)
|
||||
return FALSE;
|
||||
return false;
|
||||
if (_to_cons.ok() && datacons > _from_cons)
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (_TEA_rord > ' ')
|
||||
|
@ -168,9 +168,10 @@ void TStampa_dettaglio_articoli::set_form()
|
||||
|
||||
if (_data_oss.ok())
|
||||
{
|
||||
s.format("&& (ANSI(%d->DATACONS)<=\"%s\")", LF_RIGHEDOC,
|
||||
(const char*)_data_oss.string(ANSI));
|
||||
s.format("&& (ANSI(%d->DATACONS)<=\"%s\")", LF_RIGHEDOC, (const char*) _data_oss.string(ANSI));
|
||||
filter_expr << s;
|
||||
// s.format("&& ((ANSI(%d->DATASCIMP)==\"\")||(ANSI(%d->DATASCIMP)>=\"%s\"))", LF_DOC, LF_DOC, (const char*) _data_oss.string(ANSI));
|
||||
// filter_expr << s;
|
||||
}
|
||||
|
||||
// Setta i range per il codice articolo
|
||||
|
@ -22,14 +22,21 @@ TOrdine_form::~TOrdine_form()
|
||||
|
||||
const int TOrdine_form::find_period(const TDate& dc)
|
||||
{
|
||||
|
||||
CHECK(_date_array, "Invalid date array in TOrdine_form");
|
||||
for (int i = _date_array->last(); i >= 0; i--) // ciuccialo alla rovescia... ehehe ;)
|
||||
{
|
||||
TDate& dt = (TDate&)*_date_array->objptr(i);
|
||||
if (dc > dt)
|
||||
break;
|
||||
}
|
||||
return i+1;
|
||||
|
||||
if (dc <= (TDate&)*_date_array->objptr(0))
|
||||
return 0;
|
||||
|
||||
const int last = _date_array->last();
|
||||
|
||||
for (int i = last; i >= 0; i--)
|
||||
{
|
||||
TDate& dt = (TDate&)*_date_array->objptr(i);
|
||||
if (dc > dt)
|
||||
return i + 1;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool TOrdine_form::genera_intestazione_supplementare(pagetype p, short y)
|
||||
@ -252,7 +259,7 @@ bool TOrdine_form::validate(TForm_item &cf, TToken_string &s)
|
||||
const bool is_ordine_cliente = doc.get(DOC_TIPOCF)[0] == 'C';
|
||||
const TString16 causmag(doc.get(DOC_CAUSMAG));
|
||||
const TString16 um(rdoc.get(RDOC_UMQTA));
|
||||
const TDate datacons(doc.get_date(RDOC_DATACONS));
|
||||
const TDate datacons(rdoc.get_date(RDOC_DATACONS));
|
||||
int segno = is_ordine_cliente ? -1 : +1; // default
|
||||
if (causmag.not_empty()) // se la causale esiste consulta il segno
|
||||
{
|
||||
@ -270,6 +277,18 @@ bool TOrdine_form::validate(TForm_item &cf, TToken_string &s)
|
||||
_totdisp.add(ZERO, index); // Added by Guy! Should never happen :-)
|
||||
real& rv = (real&) _totdisp[index];
|
||||
rv += qtares;
|
||||
|
||||
const TDate datascimp(doc.get_date("DATASCIMP"));
|
||||
|
||||
if (datascimp.ok())
|
||||
{
|
||||
const int last_index = find_period(datascimp);
|
||||
if (last_index >= 0)
|
||||
{
|
||||
real& rv = (real&) _totdisp[last_index];
|
||||
rv -= qtares;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if (command == "PRNUM") // Stampa l'unita' di misura principale
|
||||
|
@ -1,3 +1,3 @@
|
||||
33
|
||||
0
|
||||
$doc|0|0|523|0|Documenti di vendita|NDOC*3||
|
||||
$doc|0|0|531|0|Documenti di vendita|NDOC||
|
||||
|
@ -1,5 +1,5 @@
|
||||
33
|
||||
79
|
||||
80
|
||||
CODNUM|1|4|0|Codice della numerazione
|
||||
ANNO|2|4|0|Anno
|
||||
PROVV|1|1|0|Tipo numerazione <P>rovvisorio <D>efinitivo
|
||||
@ -79,6 +79,7 @@ CODCOSTO|1|20|0|Centro di costo
|
||||
NUMREG|3|7|0|Numero movimento contabilizzato
|
||||
NUMANT|3|7|0|Numero movimento anticipo contabilizzato
|
||||
NUMREGCA|3|7|0|Numero di operazione contabilita' analitica
|
||||
DATASCIMP|5|8|0|Data fine impegno
|
||||
4
|
||||
PROVV+ANNO+CODNUM+NDOC|
|
||||
TIPOCF+CODCF+PROVV+ANNO+DATADOC+CODNUM+NDOC|X
|
||||
|
Loading…
x
Reference in New Issue
Block a user