Patch level : 2.0 nopatch
Files correlati : ve0.exe ve0100b.msk velib04d.msk Ricompilazione Demo : [ ] Commento : Migliorata la gestione dell'evasione ordini a valore: Corretta intestazione campi (trasformata "quantita' residua" in "residuo") Azzerato campo quantita' evasa sulla bolla nel caso questo sia diverso dallo standard (es. QTAGG1 al posto di QTAEVASA) git-svn-id: svn://10.65.10.50/trunk@11475 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
b97c0cfb64
commit
c477d3021c
@ -123,7 +123,7 @@ END
|
||||
|
||||
NUMBER F_ANNO_ELAB 4
|
||||
BEGIN
|
||||
PROMPT 2 5 "Esercizio "
|
||||
PROMPT 2 5 "Anno documento "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
|
@ -21,13 +21,13 @@ protected:
|
||||
public:
|
||||
void doc2mask(const TDocumento& doc, const TString & articolo);
|
||||
|
||||
TConsegna_mask(int header_code = 0, bool per_codice = FALSE);
|
||||
TConsegna_mask(int header_code = 0, bool per_codice = false);
|
||||
virtual ~TConsegna_mask() { }
|
||||
};
|
||||
|
||||
bool TConsegna_mask::on_field_event(class TOperable_field& f, TField_event e, long jolly)
|
||||
{
|
||||
bool update_row = FALSE;
|
||||
bool update_row = false;
|
||||
switch (f.dlg())
|
||||
{
|
||||
case S_QTADAEVADERE:
|
||||
@ -63,7 +63,7 @@ bool TConsegna_mask::on_field_event(class TOperable_field& f, TField_event e, lo
|
||||
if (qta_daevadere.is_zero())
|
||||
{
|
||||
const TString& residuo = m.get(S_QTARESIDUA);
|
||||
m.set(S_QTADAEVADERE, residuo, TRUE);
|
||||
m.set(S_QTADAEVADERE, residuo, true);
|
||||
update_row = !m.is_running();
|
||||
}
|
||||
}
|
||||
@ -72,33 +72,32 @@ bool TConsegna_mask::on_field_event(class TOperable_field& f, TField_event e, lo
|
||||
if (e == fe_button)
|
||||
{
|
||||
TSheet_field& s = sfield(F_ROWS);
|
||||
FOR_EACH_SHEET_ROW(s, n, row)
|
||||
if (!s.cell_disabled(n,S_RIGACONSEGNATA-FIRST_FIELD))
|
||||
FOR_EACH_SHEET_ROW(s, n, row) if (!s.cell_disabled(n,S_RIGACONSEGNATA-FIRST_FIELD))
|
||||
{
|
||||
bool select = true;
|
||||
const real residuo = row->get(S_QTARESIDUA-FIRST_FIELD);
|
||||
const real evaso = row->get(S_QTADAEVADERE-FIRST_FIELD);
|
||||
if (evaso == ZERO && residuo > ZERO)
|
||||
{
|
||||
bool select = true;
|
||||
const real residuo = row->get(S_QTARESIDUA-FIRST_FIELD);
|
||||
const real evaso = row->get(S_QTADAEVADERE-FIRST_FIELD);
|
||||
if (evaso == ZERO && residuo > ZERO)
|
||||
{
|
||||
row->add(residuo.string(), S_QTADAEVADERE-FIRST_FIELD);
|
||||
row->add("X", S_RIGAEVASA-FIRST_FIELD);
|
||||
s.disable_cell(n, S_RIGAEVASA-FIRST_FIELD);
|
||||
}
|
||||
if (evaso == ZERO && residuo == ZERO)
|
||||
{
|
||||
const int nriga = row->get_int(S_NUMRIGA-FIRST_FIELD);
|
||||
const TRiga_documento& rdoc = (*_doc)[nriga];
|
||||
select = rdoc.quantita().is_zero();
|
||||
}
|
||||
if (select)
|
||||
row->add("X", S_RIGACONSEGNATA-FIRST_FIELD);
|
||||
row->add(residuo.string(), S_QTADAEVADERE-FIRST_FIELD);
|
||||
row->add("X", S_RIGAEVASA-FIRST_FIELD);
|
||||
s.disable_cell(n, S_RIGAEVASA-FIRST_FIELD);
|
||||
}
|
||||
if (evaso == ZERO && residuo == ZERO)
|
||||
{
|
||||
const int nriga = row->get_int(S_NUMRIGA-FIRST_FIELD);
|
||||
const TRiga_documento& rdoc = (*_doc)[nriga];
|
||||
select = rdoc.quantita().is_zero();
|
||||
}
|
||||
if (select)
|
||||
row->add("X", S_RIGACONSEGNATA-FIRST_FIELD);
|
||||
}
|
||||
s.force_update();
|
||||
}
|
||||
break;
|
||||
case F_ROWS:
|
||||
if (e == se_query_add || e == se_query_del)
|
||||
return FALSE;
|
||||
return false;
|
||||
default:break;
|
||||
}
|
||||
|
||||
@ -110,7 +109,7 @@ bool TConsegna_mask::on_field_event(class TOperable_field& f, TField_event e, lo
|
||||
s.force_update(riga);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
rows_sort_func(TSheet_field & s, int i, int j)
|
||||
@ -265,7 +264,7 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
||||
CHECK(items_in == 1 || items_out == 1 || items_out == items_in,
|
||||
"Numero di documenti da elaborare 'strano'");
|
||||
|
||||
bool ok = TRUE;
|
||||
bool ok = true;
|
||||
|
||||
const int header_code = intestazioni_sheet();
|
||||
|
||||
@ -376,33 +375,31 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
||||
params().set("QUANTITA", qta + params().get_real("QUANTITA"));
|
||||
}
|
||||
|
||||
bool elaborata = FALSE;
|
||||
bool elaborata = false;
|
||||
if (ragg_rig)
|
||||
{
|
||||
for (int i = 1; i <= outdoc.physical_rows(); i++)
|
||||
{
|
||||
TRiga_documento& outrec = outdoc[i];
|
||||
|
||||
if (outrec.sola_descrizione()) // Ignora le righe descrittive
|
||||
if (outrec.sola_descrizione()) // Ignora le righe descrittive
|
||||
continue;
|
||||
if (inrec.raggruppabile(outrec, campi_riga)) // Se esiste una riga compatibile ...
|
||||
{
|
||||
const TString& qta_field = outrec.field_qta();
|
||||
const real qta = outrec.get_real(qta_field) + daeva;
|
||||
outrec.put(qta_field, qta);
|
||||
if (qta_field != RDOC_QTA)
|
||||
outrec.put(RDOC_QTA, UNO); // Pezza temporanea
|
||||
outrec.dirty_fields(); // Forza ricalcolo peso etc.
|
||||
elaborata = TRUE; // Ricorda di averla gia' elaborata
|
||||
elaborata = true; // Ricorda di averla gia' elaborata
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!elaborata) // Se la riga non e' stata gia' sommata ...
|
||||
{
|
||||
const TString16 tiporiga = inrec.get(RDOC_TIPORIGA);
|
||||
TRiga_documento & outrec = outdoc.new_row(tiporiga);
|
||||
const TString4 tiporiga = inrec.get(RDOC_TIPORIGA);
|
||||
TRiga_documento& outrec = outdoc.new_row(tiporiga);
|
||||
const TString& qta_field = outrec.field_qta();
|
||||
const TString& qtaevasa_field = outrec.field_qtaevasa();
|
||||
|
||||
TDocumento::copy_data(outrec, inrec);
|
||||
outrec.put(qta_field, daeva);
|
||||
@ -413,8 +410,8 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
||||
outrec.put(RDOC_QTA, UNO); // Pezza temporanea
|
||||
}
|
||||
outrec.dirty_fields(); // Forza ricalcolo peso etc.
|
||||
outrec.zero(RDOC_QTAEVASA);
|
||||
outrec.zero(RDOC_RIGAEVASA);
|
||||
outrec.zero(qtaevasa_field); // Azzera quantita' evasa erroneamente copiata dall'ordine
|
||||
outrec.zero(RDOC_RIGAEVASA); // Azzera flag di evasa erroneamente copiata dall'ordine
|
||||
outrec.set_original_rdoc_key(inrec);
|
||||
}
|
||||
}
|
||||
|
@ -173,8 +173,8 @@ SPREADSHEET F_ROWS
|
||||
BEGIN
|
||||
PROMPT 0 8 ""
|
||||
ITEM "@F1"
|
||||
ITEM "Quantita'\nresidua@F13"
|
||||
ITEM "Quantita'\nda evadere@F13"
|
||||
ITEM "Residuo@13"
|
||||
ITEM "Da evadere@13"
|
||||
ITEM "Evasa@F5"
|
||||
ITEM "Mag@3"
|
||||
ITEM "Dep@3"
|
||||
@ -290,13 +290,13 @@ END
|
||||
|
||||
NUMBER S_QTARESIDUA 13 5
|
||||
BEGIN
|
||||
PROMPT 2 9 "Quantita' residua "
|
||||
PROMPT 2 9 "Residuo "
|
||||
FLAGS "DU"
|
||||
END
|
||||
|
||||
NUMBER S_QTADAEVADERE 13 5
|
||||
BEGIN
|
||||
PROMPT 2 10 "Quantita' da evadere "
|
||||
PROMPT 2 10 "Da evadere "
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
|
@ -2073,6 +2073,7 @@ void TElabora_mask::update_ndoc_filter(bool is_tipo_elaborazione)
|
||||
{
|
||||
cur = 0L;
|
||||
const TRectype& curr = cur.curr();
|
||||
set(F_ANNO_ELAB, curr.get(DOC_ANNO));
|
||||
set(F_NDOC_ELAB, curr.get(DOC_NDOC));
|
||||
set(F_DATADOC_ELAB, curr.get(DOC_DATADOC));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user