Patch level : 4.0

Files correlati     : ve0
Ricompilazione Demo : [ ]
Commento            :
Migliorata decodifica articoli: ora usa anche l'eventuale distinta corrispondente al codice


git-svn-id: svn://10.65.10.50/trunk@15373 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2007-05-30 16:46:56 +00:00
parent daebbf55bf
commit 85981a9b26
4 changed files with 36 additions and 20 deletions

View File

@ -307,7 +307,7 @@ public:
TFormula_documento* succ_formula(bool restart = false);
const int ncopie() const { return get_int("I0"); }
const int additional_ncopie() const { return get_int("I2"); }
const int additional_ncopie() const { return get_int("I2"); }
bool spese_aut() const { return get_bool("B0"); }
bool nota_credito() const { return get_bool("B7"); }
bool add_conai() const { return get_bool("B6"); }
@ -808,7 +808,7 @@ class TDocumento_mask : public TVariable_mask // velib06
TPointer_array _handlers;
TBit_array _calculated_pages;
bool _ges_mag, _ges_dep;
bool _ges_mag, _ges_dep, _ges_ca;
TString _std_mag, _std_dep;
TSmart_card * _smartcard;
short _last_cdc_dlg;

View File

@ -877,15 +877,15 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const
{
if(tipo().spese_aut() && !get_bool("SPESEUPD"))
{
TString16 name("CODSP0");
char name[8] = "CODSP0";
TString_array spese;
const TRectype & ven_rec = clifor().vendite();
for (int i = 1; i <= 4; i++)
{
name.rtrim(1); name << i;
const TString16 s(ven_rec.get(name));
name[5] = '0' + i;
const TString& s = ven_rec.get(name);
if (s.not_empty())
if (s.full())
spese.add(s);
}
myself.update_spese_aut(spese);

View File

@ -83,7 +83,13 @@ TDocumento_mask::TDocumento_mask(const char* td)
listbox.replace_items(keys, descrs);
// Controlla se deve generare la pagina di analitica
if (dongle().active(CAAUT) || dongle().active(CMAUT))
_ges_ca = dongle().active(CAAUT) || dongle().active(CMAUT);
if (_ges_ca)
{
TConfig& caini = ca_config();
_ges_ca = caini.get("Level", NULL, 1).full();
}
if (_ges_ca)
insert_anal_page();
configura_sheet(*_sheet);
@ -444,8 +450,7 @@ void TDocumento_mask::configura_sheet(TSheet_field& sheet)
to_delete.set(sheet.cid2index(FR_CODARTMAG));
to_delete.set(sheet.cid2index(FR_CHECKED));
const bool ca_active = dongle().active(CMAUT) || dongle().active(CAAUT);
if (ca_active)
if (_ges_ca)
{
const TMultilevel_code_info& cdc = ca_multilevel_code_info(LF_CDC);
const TMultilevel_code_info& cms = ca_multilevel_code_info(LF_COMMESSE);
@ -1115,8 +1120,8 @@ TVariable_mask* TDocumento_mask::riga_mask(int numriga)
m->set_handler(DLG_USER, link_handler);
}
bool ca_active = dongle().active(CMAUT) || dongle().active(CAAUT); // Qualsiasi cosa analitica va bene
ca_active &= !(riga.is_descrizione() || riga.is_omaggio() || riga.is_sconto()); // Ignora 'ste righe
// Quasi qualsiasi cosa analitica va bene
const bool ca_active = _ges_ca && !(riga.is_descrizione() || riga.is_omaggio() || riga.is_sconto());
if (ca_active)
{
const int page = m->win2page(m->fld(m->fields()-1).parent()); // Calcolo bastardo dell'ultima pagina

View File

@ -1078,7 +1078,7 @@ bool codart_handler(TMask_field& f, KEY key )
found = !anamag.empty();
if (found)
{
row_mask.set(FR_CODARTMAG, codart, true);
row_mask.set(FR_CODARTMAG, codart, true);
umcorr = codalt.get(CODCORR_UM);
const TString & liv1 = codalt.get(CODCORR_LIV1);
@ -1104,13 +1104,26 @@ bool codart_handler(TMask_field& f, KEY key )
}
}
row_mask.set(FR_CHECKED, "X");
if (!found)
TString desc;
if (!found)
{
row_mask.set(FR_CODARTMAG, "", true);
if (main_app().has_module(DBAUT))
{
const TRectype& dist = cache().get(LF_DIST, codart);
if (!dist.empty())
{
desc = dist.get("DESCR");
umcorr = dist.get("UM");
}
}
}
else
{
const TString8 lingua = mask.get(F_CODLIN);
const TCodice_articolo codart(row_mask.get(FR_CODARTMAG));
TString desc(anamag.get("DESCR"));
const TString4 lingua = mask.get(F_CODLIN);
const TCodice_articolo codart = row_mask.get(FR_CODARTMAG);
desc = anamag.get(ANAMAG_DESCR);
if (mask.doc()[current_doc_row].is_omaggio())
{
@ -1148,14 +1161,12 @@ bool codart_handler(TMask_field& f, KEY key )
}
}
const TString& descest = anamag.get("DESCRAGG");
if (descest.not_empty())
desc << "\n" << descest;
if (!mask.doc()[current_doc_row].tipo().no_desc())
row_mask.set(FR_DESCR, desc);
if (!mask.doc()[current_doc_row].tipo().no_desc())
row_mask.set(FR_DESCR, desc);
TString80 key; key << codart << "|1";
const TRectype& umart = cache().get(LF_UMART, key);