Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@22258 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0838913ed5
commit
c3149487f7
@ -399,6 +399,8 @@ void TEdit_rdocs_mask::fill_sheet()
|
||||
TString query;
|
||||
query << "USE DOC KEY 2";
|
||||
query << "\nSELECT (CODNUM=#CODNUM)";
|
||||
//se vengono incluse le BEM evase -> ci vuole un anno da cui partire per non passare..
|
||||
//..il tempo a scandire documenti dello scorso millennio!
|
||||
if (includi_evasi)
|
||||
query << "&&(ANNO>=#DAANNO)";
|
||||
else
|
||||
@ -434,16 +436,23 @@ void TEdit_rdocs_mask::fill_sheet()
|
||||
|
||||
//per ogni documento prende le sole righe non evase e le carica sullo sheet
|
||||
TDocumento doc(rec);
|
||||
bool rdoc_da_considerare = false;
|
||||
FOR_EACH_PHYSICAL_RDOC(doc, r, rdoc)
|
||||
{
|
||||
//di default pensa di scartare la riga
|
||||
bool rdoc_da_considerare = false;
|
||||
//solo le righe BEM con una qta iniziale > 0 contano qualcosa!
|
||||
const real qta = rdoc->get_real(RDOC_QTA);
|
||||
if (qta > ZERO)
|
||||
{
|
||||
//guy mi perdoni!
|
||||
const bool riga_bem_evasa = rdoc->is_evasa();
|
||||
const bool riga_bem_evadibile = rdoc->is_evadibile();
|
||||
if (includi_evasi)
|
||||
rdoc_da_considerare = rdoc->is_evadibile();
|
||||
rdoc_da_considerare = riga_bem_evadibile;
|
||||
else
|
||||
rdoc_da_considerare = !rdoc->is_evasa() && rdoc->is_evadibile();
|
||||
rdoc_da_considerare = !riga_bem_evasa && riga_bem_evadibile;
|
||||
|
||||
//se la riga ha passato i primi controlli...
|
||||
if (rdoc_da_considerare)
|
||||
{
|
||||
if (lav.full() && rdoc->get(RDOC_CODCMS) != lav)
|
||||
@ -452,12 +461,52 @@ void TEdit_rdocs_mask::fill_sheet()
|
||||
continue;
|
||||
if (codart.full() && rdoc->get(RDOC_CODART) != codart)
|
||||
continue;
|
||||
|
||||
//se sono richieste anche le righe evase, vuole solo quelle evase le cui bolle di consegna appartengono..
|
||||
//..all'intervallo di date selezionato sulla maschera (contorto ma vero...)
|
||||
if (includi_evasi && riga_bem_evasa)
|
||||
{
|
||||
//date limite per documento di consegna
|
||||
const TDate da_data = get_date(F_DADATA_EV);
|
||||
const TDate a_data = get_date(F_ADATA_EV);
|
||||
|
||||
sf_righe.autoload_line(++k, *rdoc); //aggiunge una riga nuova riempiendola con tutti i campi che hanno FIELD nella maschera
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//campi riga BEM corrente in esame
|
||||
const long daanno = rdoc->get_long(RDOC_ANNO);
|
||||
const TString& dacodnum = rdoc->get(RDOC_CODNUM);
|
||||
const long dandoc = rdoc->get_long(RDOC_NDOC);
|
||||
const long daidriga = rdoc->get_long(RDOC_IDRIGA);
|
||||
|
||||
TString rquery;
|
||||
rquery << "USE RDOC KEY 4";
|
||||
rquery << "\nFROM DAPROVV=D DAANNO=#DAANNO DACODNUM=#DACODNUM DANDOC=#DANDOC DAIDRIGA=#DAIDRIGA";
|
||||
rquery << "\nTO DAPROVV=D DAANNO=#DAANNO DACODNUM=#DACODNUM DANDOC=#DANDOC DAIDRIGA=#DAIDRIGA";
|
||||
TISAM_recordset righe_recset(rquery);
|
||||
|
||||
righe_recset.set_var("#DAANNO", daanno);
|
||||
righe_recset.set_var("#DACODNUM", dacodnum);
|
||||
righe_recset.set_var("#DANDOC", dandoc);
|
||||
righe_recset.set_var("#DAIDRIGA", daidriga);
|
||||
//ricava il recordset delle righe di bolla di consegna che hanno evaso la riga BEM in esame
|
||||
const int ritems = righe_recset.items();
|
||||
for (bool ok = righe_recset.move_first(); ok; ok = righe_recset.move_next())
|
||||
{
|
||||
TToken_string doc_babbo_key;
|
||||
doc_babbo_key.add(righe_recset.get(RDOC_PROVV).as_string());
|
||||
doc_babbo_key.add(righe_recset.get(RDOC_ANNO).as_int());
|
||||
doc_babbo_key.add(righe_recset.get(RDOC_CODNUM).as_string());
|
||||
doc_babbo_key.add(righe_recset.get(RDOC_NDOC).as_int());
|
||||
const TRectype& doc_babbo = cache().get(LF_DOC, doc_babbo_key);
|
||||
const TDate datadoc_babbo = doc_babbo.get_date(DOC_DATADOC);
|
||||
if (datadoc_babbo < da_data || datadoc_babbo > a_data)
|
||||
rdoc_da_considerare = false;
|
||||
}
|
||||
} //if (includi_evasi && riga_bem_evasa)..
|
||||
if (rdoc_da_considerare)
|
||||
sf_righe.autoload_line(++k, *rdoc); //aggiunge una riga nuova riempiendola con tutti i campi che hanno FIELD nella maschera
|
||||
} //if (rdoc_da_considerare)...
|
||||
} //if (qta > ZERO)...
|
||||
} //FOR_EACH_PHYSICAL_RDOC(doc, r, rdoc)...
|
||||
} //for (bool ok...
|
||||
|
||||
//richiesta del cazzo della euroforesi: ordinare le righe per codart; si sono poi resi conto loro stessi che era..
|
||||
//..una richiesta del cazzo e l'hanno abbandonata
|
||||
|
@ -14,9 +14,9 @@
|
||||
#define F_CODART 314
|
||||
#define F_DESCR 315
|
||||
#define F_INCL_EVASI 316
|
||||
#define F_DA_ANNO 317
|
||||
//#define F_DADATA_EV 317
|
||||
//#define F_ADATA_EV 318
|
||||
#define F_DA_ANNO 317
|
||||
#define F_DADATA_EV 318
|
||||
#define F_ADATA_EV 319
|
||||
|
||||
#define F_RIGHE 320
|
||||
|
||||
|
@ -33,7 +33,7 @@ ENDPAGE
|
||||
|
||||
PAGE "Produttivita' giornaliera" 0 0 0 -3
|
||||
|
||||
GROUPBOX DLG_NULL 76 10
|
||||
GROUPBOX DLG_NULL 76 11
|
||||
BEGIN
|
||||
PROMPT 0 0 "@bParametri documenti"
|
||||
END
|
||||
@ -207,28 +207,37 @@ END
|
||||
BOOLEAN F_INCL_EVASI
|
||||
BEGIN
|
||||
PROMPT 2 8 "Includi evasi"
|
||||
MESSAGE FALSE HIDE,F_DA_ANNO
|
||||
MESSAGE TRUE SHOW,F_DA_ANNO
|
||||
MESSAGE FALSE HIDE,3@
|
||||
MESSAGE TRUE SHOW,3@
|
||||
END
|
||||
|
||||
NUMBER F_DA_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 20 8 "Dall' anno "
|
||||
PROMPT 20 8 "BEM dall' anno:"
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "A"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
/*DATA F_DADATA_EV
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 20 8 "Dalla data "
|
||||
PROMPT 2 9 "@bConsegnato"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
DATA F_DADATA_EV
|
||||
BEGIN
|
||||
PROMPT 15 9 "Dal "
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
DATA F_ADATA_EV
|
||||
BEGIN
|
||||
PROMPT 45 8 "Alla data "
|
||||
PROMPT 35 9 "al "
|
||||
CHECKTYPE REQUIRED
|
||||
END*/
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
SPREADSHEET F_RIGHE
|
||||
BEGIN
|
||||
|
Loading…
x
Reference in New Issue
Block a user