Patch level : 12.0 412

Files correlati     : ve2.exe md1.exe ve0.exe ve1.exe ve5.exe ve6.exe

Modificato il modo di aggiornare le giacenze di magazzino:
1) Viene bloccato il record di giacenza singolo.
2) l'aggiornamento dell'anagrafica non scrive più le giacenze, l'aggiornamento si può attivare premendo Shift-F12
3) l'aggiornamento dall'anagrafica di magazzino aggiorna solo i record cambiati di giacenza e di giacenza per cliente.



git-svn-id: svn://10.65.10.50/branches/R_10_00@23902 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
bonazzi 2017-07-02 21:58:50 +00:00
parent 5ed80b3ffb
commit a90d9a4176
3 changed files with 4295 additions and 4026 deletions

View File

@ -3,11 +3,43 @@
#include "ve2401.h" #include "ve2401.h"
#include "../ca/calib01.h" #include "../ca/calib01.h"
#include "../lv/lvrcondv.h"
#include <defmask.h> #include <defmask.h>
#include <modaut.h> #include <modaut.h>
#include <progind.h>
#include <tabutil.h> #include <tabutil.h>
const char * get_token(TSheet_field & s, int r, int dlg)
{
TString & tmp = get_tmp_string(50);
TToken_string & row = s.row(r);
tmp = row.get(s.cid2index(dlg));
tmp.rpad(s.sheet_mask().field(dlg).size());
return tmp;
}
int cmp_rows(TSheet_field & s, int r1, int r2)
{
TString key1(get_token(s, r1, F_LIV1));
TString key2(get_token(s, r2, F_LIV1));
key1 << get_token(s, r1, F_LIV2);
key1 << get_token(s, r1, F_LIV3);
key1 << get_token(s, r1, F_LIV4);
key1 << get_token(s, r1, F_CODMAG);
key1 << get_token(s, r1, F_CODDEP);
key2 << get_token(s, r2, F_LIV2);
key2 << get_token(s, r2, F_LIV3);
key2 << get_token(s, r2, F_LIV4);
key2 << get_token(s, r2, F_CODMAG);
key2 << get_token(s, r2, F_CODDEP);
return key1.compare(key2);
}
//--------------------------------------------------- //---------------------------------------------------
// MASCHERA ANAGRAFICA MAGAZZINO // MASCHERA ANAGRAFICA MAGAZZINO
//--------------------------------------------------- //---------------------------------------------------
@ -25,6 +57,7 @@ class TMask_anamag: public TMask
TString8 _ean13_pref; TString8 _ean13_pref;
bool _ean8_cin; bool _ean8_cin;
TString16 _generated_code; TString16 _generated_code;
TString_array _giacs;
TMagazzini *_magazzini; TMagazzini *_magazzini;
@ -48,6 +81,7 @@ class TMask_anamag: public TMask
static bool handle_sheet_giac_valgiac(TMask_field &, KEY); // handler static bool handle_sheet_giac_valgiac(TMask_field &, KEY); // handler
static bool handle_sheet_stomag_stoval(TMask_field &, KEY); // handler static bool handle_sheet_stomag_stoval(TMask_field &, KEY); // handler
static bool handle_autoinsert_livgiac(TMask_field &, KEY); // handler del campo static bool handle_autoinsert_livgiac(TMask_field &, KEY); // handler del campo
static bool handle_valconv(TMask_field&, KEY); // handler del valore convenzionale
static void sheetgiac_get(TSheet_field &fld_righe, int item); static void sheetgiac_get(TSheet_field &fld_righe, int item);
static void sheetgiac_put(TSheet_field &fld_righe, int item); static void sheetgiac_put(TSheet_field &fld_righe, int item);
@ -61,12 +95,15 @@ class TMask_anamag: public TMask
void update_totali_storico(TString & codmag); void update_totali_storico(TString & codmag);
bool check_totali_storico(); bool check_totali_storico();
void create_user_fields(); void create_user_fields();
void write_enable(bool on);
virtual bool on_key(KEY key);
public: public:
bool generate_code(int _type = 0, const char * codart = NULL); bool generate_code(int _type = 0, const char * codart = NULL);
void update_ordc_ordf(); void update_ordc_ordf();
void set_parametered_fields(); void set_parametered_fields();
void ricalcola_giacenze(); void ricalcola_giacenze();
TString_array & giacs() { return _giacs;}
void disable_user_page() { disable_page(_disabled_user_page);} void disable_user_page() { disable_page(_disabled_user_page);}
TCodart_livelli * get_livelli_art() const { return livelli_art; } TCodart_livelli * get_livelli_art() const { return livelli_art; }
@ -86,6 +123,11 @@ class TAnagrafica_magazzino : public TRelation_application
{ {
TMask_anamag *_msk; // maschera principale TMask_anamag *_msk; // maschera principale
TRelation *_rel; // relazione principale di un solo file (anagrafiche di magazzino) TRelation *_rel; // relazione principale di un solo file (anagrafiche di magazzino)
real _uc1;
TDate _duc1;
real _uc2;
TDate _duc2;
bool _write_giacenze;
protected: protected:
virtual bool user_create(); virtual bool user_create();
@ -112,7 +154,10 @@ protected:
static bool handle_copia(TMask_field &, KEY); // handler della copia articolo static bool handle_copia(TMask_field &, KEY); // handler della copia articolo
public: public:
virtual TRelation *get_relation() const { return _rel; } bool write_giacenze() const {return _write_giacenze;}
void set_write_giacenze(bool on) {_write_giacenze = on;}
virtual TRelation *get_relation() const { return _rel; }
// @cmember Disabilita la verifica del modulo : essendo una anagrafica, va sempre abilitata // @cmember Disabilita la verifica del modulo : essendo una anagrafica, va sempre abilitata
virtual bool check_autorization() const { return false; } virtual bool check_autorization() const { return false; }
TAnagrafica_magazzino() { _rel = NULL; _msk = NULL;} TAnagrafica_magazzino() { _rel = NULL; _msk = NULL;}
@ -374,8 +419,11 @@ void TMask_anamag::set_parametered_fields()
enable_page(PAGE_GIACENZE,gestmag); enable_page(PAGE_GIACENZE,gestmag);
enable_page(PAGE_STORICO,gestmag); enable_page(PAGE_STORICO,gestmag);
/* Obsoleto
// abilita la visualizzazione dei campi per la vendita al dettaglio // if (app().has_module(LVAUT))
// set_handler(F_VALCONV, handle_valconv);
/* abilita la visualizzazione dei campi per la vendita al dettaglio
const bool dettaglio = app().has_module(VDAUT); const bool dettaglio = app().has_module(VDAUT);
show(-G_VD, dettaglio); show(-G_VD, dettaglio);
*/ */
@ -471,7 +519,8 @@ TMask_anamag::TMask_anamag(TRelation * rel) : TMask("ve2400")
{ {
_rel=rel; _rel=rel;
// sheet unità di misura
// sheet unità di misura
set_handler(F_SHEETUM, handle_sheet_um); set_handler(F_SHEETUM, handle_sheet_um);
TSheet_field &f= sfield(F_SHEETUM); TSheet_field &f= sfield(F_SHEETUM);
f.set_notify(notify_sheet_um); f.set_notify(notify_sheet_um);
@ -572,17 +621,12 @@ void TMask_anamag::sheetsto_get(TSheet_field &sheet_sto, int item)
bool TMask_anamag::info_sto_dirty() bool TMask_anamag::info_sto_dirty()
{ {
return return field(F_STOULTCOS1).focusdirty() || field(F_STOULTCOS2).focusdirty() ||
field(F_STOULTCOS1).focusdirty() || field(F_STOCOSTOSTD).focusdirty() || field(F_STOCOSTOMEDIO).focusdirty()||
field(F_STOULTCOS2).focusdirty() || field(F_STOCATVEN ).focusdirty()|| field(F_STOCODLIST).focusdirty()||
field(F_STOCOSTOSTD).focusdirty() || field(F_STOPREZZOLIST).focusdirty();
field(F_STOCOSTOMEDIO).focusdirty()||
field(F_STOCATVEN ).focusdirty()||
field(F_STOCODLIST).focusdirty()||
field(F_STOPREZZOLIST).focusdirty();
} }
void TMask_anamag::clear_info_sto() void TMask_anamag::clear_info_sto()
{ {
reset(F_STOULTCOS1); reset(F_STOULTCOS1);
@ -594,6 +638,26 @@ void TMask_anamag::clear_info_sto()
reset(F_STOPREZZOLIST); reset(F_STOPREZZOLIST);
} }
void TMask_anamag::write_enable(bool on)
{
TSheet_field& sgiac = sfield(F_SHEETGIAC);
int annoes = get_int(F_ANNORIF);
app().set_write_giacenze(on);
show(F_WRITEON, on);
}
bool TMask_anamag::on_key(KEY key)
{
if (key == K_SHIFT + K_F12)
{
TMask_field& w = field(F_WRITEON);
const bool write = !w.shown();
write_enable(write);
}
return TMask::on_key(key);
}
TMask_anamag::~TMask_anamag() TMask_anamag::~TMask_anamag()
{ {
@ -839,19 +903,57 @@ bool TMask_anamag::handle_anno(TMask_field &fld, KEY k)
} }
if (mask.last_annogiac>0 && mask.last_annogiac!=fld.mask().get_int(F_ANNO)) if (mask.last_annogiac>0 && mask.last_annogiac!=fld.mask().get_int(F_ANNO))
{ {
if (fld_giac.dirty() && handle_sheetgiac(fld_giac,K_ENTER)) if (app().write_giacenze() && fld_giac.dirty() && handle_sheetgiac(fld_giac,K_ENTER))
{ {
if (fld.yesno_box("Salvare le righe di giacenza per l'anno %d",mask.last_annogiac )) if (fld.yesno_box("Salvare le righe di giacenza per l'anno %d",mask.last_annogiac ))
{ {
int annoes = mask.last_annogiac;
const int original_rows = mask.giacs().items();
int rows = fld_giac.items();
TLocalisamfile mag(LF_MAG);
mag.setkey(2);
rows = min(original_rows, rows);
for (int i = 0; i < rows; i++)
{
TToken_string & original_row = mask.giacs().row(i);
TToken_string & row = fld_giac.row(i);
if (original_row == row)
{
mag.zero();
TString16 codmag = original_row.get(fld_giac.cid2index(F_CODMAG));
codmag.rpad(3);
codmag << original_row.get(fld_giac.cid2index(F_CODDEP));
mag.put(MAG_CODMAG, codmag);
mag.put(MAG_CODART, mask.get(F_CODART));
TString livello = original_row.get(fld_giac.cid2index(F_LIV1));
livello << original_row.get(fld_giac.cid2index(F_LIV2));
livello << original_row.get(fld_giac.cid2index(F_LIV3));
livello << original_row.get(fld_giac.cid2index(F_LIV4));
mag.put(MAG_LIVELLO, livello);
mag.put(MAG_ANNOES, annoes);
if (mag.read(_isequal) == NOERR)
fld_giac.autoload_line(i + 1, mag.curr());
}
}
mask._giacs = fld_giac.rows_array();
fld_giac.autosave(*mask._rel); fld_giac.autosave(*mask._rel);
fld_giac.record()->rewrite(); fld_giac.record()->rewrite();
} }
} }
mask.write_enable(false);
mask.field(F_ANNORIF).set(fld.get()); mask.field(F_ANNORIF).set(fld.get());
// rilegge le giacenze relative a quell'anno ed aggiorna il layout // rilegge le giacenze relative a quell'anno ed aggiorna il layout
fld_giac.record()->read(*fld_giac.putkey(*mask._rel)); fld_giac.record()->read(*fld_giac.putkey(*mask._rel));
fld_giac.autoload(*mask._rel); fld_giac.autoload(*mask._rel);
fld_giac.force_update(); fld_giac.sort(cmp_rows);
fld_giac.force_update();
mask.update_ordc_ordf(); //chiamata del metodo successivo mask.update_ordc_ordf(); //chiamata del metodo successivo
} }
@ -1187,6 +1289,63 @@ bool TMask_anamag::handle_sheetgiac(TMask_field &fld, KEY k)
return TRUE; return TRUE;
} }
bool TMask_anamag::handle_valconv(TMask_field& f, KEY k)
{
if (k == K_ENTER && f.dirty())
{
if (f.noyes_box(TR("Devo aggiornare il valore convenzionale sui contratti")))
{
TString filter("(CODART=='"); filter << f.mask().get(F_CODART) << "')";
TCursor c(new TRelation(LF_LVRCONDV), filter, 1);
const int items = c.items();
const real val(f.get());
TProgind * p = NULL;
if (items > 100)
p = new TProgind(items, TR("Aggiornamento valore convenzionale"));
for (c = 0L; c.pos() < items; ++c)
{
if (p!= NULL)
{
p->addstatus(1L);
if (p->iscancelled())
break;
}
c.curr().put(LVRCONDV_VALCONV, val);
c.relation()->rewrite();
}
if (p != NULL)
delete p;
}
if (f.noyes_box(TR("Devo aggiornare il prezzo dei danneggiati sui contratti")))
{
TString filter("(CODART=='"); filter << f.mask().get(F_CODART) << "')";
TCursor c(new TRelation(LF_LVRCONDV), filter, 1);
const int items = c.items();
const real val(f.get());
TProgind * p = NULL;
if (items > 100)
p = new TProgind(items, TR("Aggiornamento articoli"));
for (c = 0L; c.pos() < items; ++c)
{
if (p!= NULL)
{
p->addstatus(1L);
if (p->iscancelled())
break;
}
c.curr().put(LVRCONDV_PREZDAN, val);
c.relation()->rewrite();
}
if (p != NULL)
delete p;
}
}
return true;
}
int TMask_anamag::add_totali_storico(TString & codmag) int TMask_anamag::add_totali_storico(TString & codmag)
{ {
TSheet_field &s =(TSheet_field &)field(F_SHEETSTOMAG); TSheet_field &s =(TSheet_field &)field(F_SHEETSTOMAG);
@ -1743,33 +1902,33 @@ void TMask_anamag::ricalcola_giacenze()
// ciclo sugli esercizi // ciclo sugli esercizi
do do
{ {
mag.zero(); mag.zero();
mag.put(MAG_ANNOES,annoes); mag.put(MAG_ANNOES,annoes);
mag.put(MAG_CODART,get(F_CODART)); mag.put(MAG_CODART,get(F_CODART));
mag.read(_isgteq); mag.read(_isgteq);
// ciclo per le giacenze di questo esercizio // ciclo per le giacenze di questo esercizio
while (!mag.eof() && get(F_CODART)==mag.get(MAG_CODART) && annoes==mag.get_int(MAG_ANNOES)) while (!mag.eof() && get(F_CODART)==mag.get(MAG_CODART) && annoes==mag.get_int(MAG_ANNOES))
{ {
mag.put(MAG_LIVRIOR,mag.get_real(MAG_LIVRIOR)*fc); // update .. mag.put(MAG_LIVRIOR,mag.get_real(MAG_LIVRIOR)*fc); // update ..
mag.put(MAG_LOTTORIOR,mag.get_real(MAG_LOTTORIOR)*fc); mag.put(MAG_LOTTORIOR,mag.get_real(MAG_LOTTORIOR)*fc);
// saldi // saldi
mag.put(MAG_GIAC,mag.get_real(MAG_GIAC)*fc); // update .. mag.put(MAG_GIAC,mag.get_real(MAG_GIAC)*fc); // update ..
mag.put(MAG_ACQ,mag.get_real(MAG_ACQ)*fc); mag.put(MAG_ACQ,mag.get_real(MAG_ACQ)*fc);
mag.put(MAG_ENT,mag.get_real(MAG_ENT)*fc); mag.put(MAG_ENT,mag.get_real(MAG_ENT)*fc);
mag.put(MAG_VEN,mag.get_real(MAG_VEN)*fc); mag.put(MAG_VEN,mag.get_real(MAG_VEN)*fc);
mag.put(MAG_USC,mag.get_real(MAG_USC)*fc); mag.put(MAG_USC,mag.get_real(MAG_USC)*fc);
mag.put(MAG_ORDC,mag.get_real(MAG_ORDC)*fc); mag.put(MAG_ORDC,mag.get_real(MAG_ORDC)*fc);
mag.put(MAG_ORDF,mag.get_real(MAG_ORDF)*fc); mag.put(MAG_ORDF,mag.get_real(MAG_ORDF)*fc);
mag.put(MAG_RIM,mag.get_real(MAG_RIM)*fc); mag.put(MAG_RIM,mag.get_real(MAG_RIM)*fc);
mag.put(MAG_SCARTI,mag.get_real(MAG_SCARTI)*fc); mag.put(MAG_SCARTI,mag.get_real(MAG_SCARTI)*fc);
mag.put(MAG_INCL,mag.get_real(MAG_INCL)*fc); mag.put(MAG_INCL,mag.get_real(MAG_INCL)*fc);
mag.put(MAG_ACL,mag.get_real(MAG_ACL)*fc); mag.put(MAG_ACL,mag.get_real(MAG_ACL)*fc);
mag.put(MAG_PRODCOMP,mag.get_real(MAG_PRODCOMP)*fc); mag.put(MAG_PRODCOMP,mag.get_real(MAG_PRODCOMP)*fc);
mag.put(MAG_PRODFIN,mag.get_real(MAG_PRODFIN)*fc); mag.put(MAG_PRODFIN,mag.get_real(MAG_PRODFIN)*fc);
mag.put(MAG_SCORTAMIN,mag.get_real(MAG_SCORTAMIN)*fc); mag.put(MAG_SCORTAMIN,mag.get_real(MAG_SCORTAMIN)*fc);
mag.rewrite(); mag.rewrite();
mag.next(); mag.next();
} }
stomag.zero(); stomag.zero();
stomag.put(STOMAG_ANNOESRIF,annoes); stomag.put(STOMAG_ANNOESRIF,annoes);
stomag.put(STOMAG_CODART,get(F_CODART)); stomag.put(STOMAG_CODART,get(F_CODART));
@ -1785,7 +1944,7 @@ void TMask_anamag::ricalcola_giacenze()
} }
while ((annoes = esercizi().next(annoes)) > 0); // qui verificare while ((annoes = esercizi().next(annoes)) > 0); // qui verificare
} }
return; write_enable(false);
} }
//--------------------------------------- //---------------------------------------
@ -1865,6 +2024,11 @@ int TAnagrafica_magazzino::read(TMask& m)
int err= TRelation_application::read(m); int err= TRelation_application::read(m);
if (err == NOERR) if (err == NOERR)
{ {
_write_giacenze = false;
_uc1 = get_relation()->file().get_real(ANAMAG_ULTCOS1);
_duc1 = get_relation()->file().get_date(ANAMAG_DULTCOS1);
_uc2 = get_relation()->file().get_real(ANAMAG_ULTCOS2);
_duc2 = get_relation()->file().get_date(ANAMAG_DULTCOS2);
// LETTURA SHEET STORICO MAGAZZINO IN AUTOMATICO // LETTURA SHEET STORICO MAGAZZINO IN AUTOMATICO
TSheet_field &fld_stomag= m.sfield(F_SHEETSTOMAG); TSheet_field &fld_stomag= m.sfield(F_SHEETSTOMAG);
fld_stomag.sheet_mask().field(F_STOCODART).set(m.field(F_CODART).get()); // necessario se lo sheet è vuoto fld_stomag.sheet_mask().field(F_STOCODART).set(m.field(F_CODART).get()); // necessario se lo sheet è vuoto
@ -1874,6 +2038,10 @@ int TAnagrafica_magazzino::read(TMask& m)
load_um(m); load_um(m);
((TMask_anamag&) m).update_ordc_ordf(); //chiama la funzione che calcola i totali degli ordinati ((TMask_anamag&) m).update_ordc_ordf(); //chiama la funzione che calcola i totali degli ordinati
} }
TSheet_field &fld_giac= m.sfield(F_SHEETGIAC);
fld_giac.sort(cmp_rows);
((TMask_anamag&) m).giacs() = fld_giac.rows_array();
return err; return err;
} }
@ -1922,6 +2090,7 @@ bool TAnagrafica_magazzino::remove()
int TAnagrafica_magazzino::write(const TMask& m) int TAnagrafica_magazzino::write(const TMask& m)
{ {
int err = TRelation_application::write(m); int err = TRelation_application::write(m);
if (err == NOERR) if (err == NOERR)
{ {
@ -1933,8 +2102,83 @@ int TAnagrafica_magazzino::write(const TMask& m)
int TAnagrafica_magazzino::rewrite(const TMask& m) int TAnagrafica_magazzino::rewrite(const TMask& m)
{ {
int err =TRelation_application::rewrite(m); TSheet_field & fld_giac= m.sfield(F_SHEETGIAC);
if (err==NOERR)
if (_uc1 == get_relation()->file().get_real(ANAMAG_ULTCOS1) &&
_duc1 == get_relation()->file().get_date(ANAMAG_DULTCOS1) &&
_uc2 == get_relation()->file().get_real(ANAMAG_ULTCOS2) &&
_duc2 == get_relation()->file().get_date(ANAMAG_DULTCOS2))
{
TLocalisamfile anag(LF_ANAMAG);
const TString40 codice(get_relation()->file().get(ANAMAG_CODART));
anag.put(ANAMAG_CODART, codice);
const int err = anag.read(_isequal);
if (err == NOERR)
{
get_relation()->file().put(ANAMAG_ULTCOS1, anag.get(ANAMAG_ULTCOS1));
get_relation()->file().put(ANAMAG_DULTCOS1, anag.get(ANAMAG_DULTCOS1));
get_relation()->file().put(ANAMAG_ULTCOS2, anag.get(ANAMAG_ULTCOS2));
get_relation()->file().put(ANAMAG_DULTCOS2, anag.get(ANAMAG_DULTCOS2));
}
else
{
error_box(FR("non riesco a leggere il codice %s : Errore %d"), (const char *) codice, err);
fld_giac.record()->read(*fld_giac.putkey(*get_relation()));
fld_giac.autoload(*get_relation());
fld_giac.sort(cmp_rows);
return err;
}
}
if (_write_giacenze)
{
int annoes = m.get_int(F_ANNORIF);
const int original_rows = ((TMask_anamag&)m).giacs().items();
int rows = fld_giac.items();
TLocalisamfile mag(LF_MAG);
mag.setkey(2);
rows = min(original_rows, rows);
for (int i = 0; i < rows; i++)
{
TToken_string & original_row = ((TMask_anamag&)m).giacs().row(i);
TToken_string & row = fld_giac.row(i);
if (original_row == row)
{
mag.zero();
mag.put(MAG_ANNOES, annoes);
TString16 codmag = original_row.get(fld_giac.cid2index(F_CODMAG));
codmag.rpad(3);
codmag << original_row.get(fld_giac.cid2index(F_CODDEP));
mag.put(MAG_CODMAG, codmag);
mag.put(MAG_CODART, m.get(F_CODART));
TString livello = original_row.get(fld_giac.cid2index(F_LIV1));
livello << original_row.get(fld_giac.cid2index(F_LIV2));
livello << original_row.get(fld_giac.cid2index(F_LIV3));
livello << original_row.get(fld_giac.cid2index(F_LIV4));
mag.put(MAG_LIVELLO, livello);
if (mag.read(_isequal) == NOERR)
fld_giac.autoload_line(i + 1, mag.curr());
}
}
}
else
{
fld_giac.record()->read(*fld_giac.putkey(*get_relation()));
fld_giac.autoload(*get_relation());
fld_giac.sort(cmp_rows);
}
int err =TRelation_application::rewrite(m);
if (err == NOERR)
{ {
TSheet_field& f= m.sfield(F_SHEETUM); // prende lo sheet delle unità di misura TSheet_field& f= m.sfield(F_SHEETUM); // prende lo sheet delle unità di misura
err|=f.record()->write(TRUE); err|=f.record()->write(TRUE);
@ -2027,7 +2271,7 @@ void TAnagrafica_magazzino::init_query_mode(TMask &m)
if (advanced_codart_enabled()) if (advanced_codart_enabled())
m.show(F_ADVANCED); m.show(F_ADVANCED);
write_enable(false);
((TMask_anamag&)m).set_um_principale(""); ((TMask_anamag&)m).set_um_principale("");
} }
@ -2040,6 +2284,7 @@ void TAnagrafica_magazzino::init_insert_mode(TMask &m)
if (advanced_codart_enabled()) if (advanced_codart_enabled())
m.hide(F_ADVANCED); m.hide(F_ADVANCED);
write_enable(false);
((TMask_anamag&)m).disable_user_page(); ((TMask_anamag&)m).disable_user_page();
} }
@ -2050,6 +2295,7 @@ void TAnagrafica_magazzino::init_modify_mode(TMask &m)
if (advanced_codart_enabled()) if (advanced_codart_enabled())
m.hide(F_ADVANCED); m.hide(F_ADVANCED);
write_enable(false);
((TMask_anamag&)m).disable_user_page(); ((TMask_anamag&)m).disable_user_page();
} }

View File

@ -94,6 +94,8 @@
#define F_LIVART7 196 #define F_LIVART7 196
#define F_LIVART8 197 #define F_LIVART8 197
#define F_LIVART9 198 #define F_LIVART9 198
#define F_DESLIVART1 390 #define F_DESLIVART1 390
#define F_DESLIVART2 391 #define F_DESLIVART2 391
#define F_DESLIVART3 392 #define F_DESLIVART3 392
@ -114,7 +116,6 @@
#define F_SHEETCOD 203 #define F_SHEETCOD 203
#define F_SHEETGIAC 204 #define F_SHEETGIAC 204
#define F_SHEETSTOMAG 205 #define F_SHEETSTOMAG 205
#define F_STOULTCOS1 210 #define F_STOULTCOS1 210
#define F_STOULTCOS2 211 #define F_STOULTCOS2 211
#define F_STOCOSTOSTD 212 #define F_STOCOSTOSTD 212
@ -125,6 +126,8 @@
#define F_STOTOTALE_RIM 217 #define F_STOTOTALE_RIM 217
#define F_STOTOTALE_VAL 218 #define F_STOTOTALE_VAL 218
#define F_WRITEON 219
#define F_SEARCHLAV 260 #define F_SEARCHLAV 260
#define F_CODICELAV 261 #define F_CODICELAV 261
@ -191,6 +194,7 @@
#define F_ECMAGIC3 342 #define F_ECMAGIC3 342
#define F_ECMAGIC4 343 #define F_ECMAGIC4 343
#define F_ECMAGIC_DESCR 344 #define F_ECMAGIC_DESCR 344
#define F_VALCONV 345
#define F_USER1 371 #define F_USER1 371
#define F_USER2 372 #define F_USER2 372

View File

@ -261,8 +261,8 @@ STRING F_REPARTO 3
BEGIN BEGIN
PROMPT 1 6 "Reparto " PROMPT 1 6 "Reparto "
HELP "Codice reparto" HELP "Codice reparto"
FIELD LF_ANAMAG->REPARTO FIELD LF_ANAMAG->REPARTO
FLAGS "UZ" FLAGS "UZH"
USE RPD USE RPD
INPUT CODTAB F_REPARTO INPUT CODTAB F_REPARTO
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
@ -270,17 +270,20 @@ BEGIN
OUTPUT F_REPARTO CODTAB OUTPUT F_REPARTO CODTAB
OUTPUT F_DESREPARTO S0 OUTPUT F_DESREPARTO S0
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP G_VD
END END
STRING F_DESREPARTO 70 50 STRING F_DESREPARTO 70 50
BEGIN BEGIN
PROMPT 23 6 "" PROMPT 23 6 ""
FLAGS "H"
USE RPD KEY 2 USE RPD KEY 2
INPUT S0 F_DESREPARTO INPUT S0 F_DESREPARTO
DISPLAY "Descrizione@70" S0 DISPLAY "Descrizione@70" S0
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
COPY OUTPUT F_REPARTO COPY OUTPUT F_REPARTO
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP G_VD
END END
STRING F_STAGIONE 4 STRING F_STAGIONE 4
@ -288,26 +291,29 @@ BEGIN
PROMPT 1 7 "Stagione " PROMPT 1 7 "Stagione "
HELP "Codice stagione" HELP "Codice stagione"
FIELD LF_ANAMAG->STAGIONE FIELD LF_ANAMAG->STAGIONE
FLAGS "UZ" FLAGS "UZH"
USE STG USE %STG
INPUT CODTAB F_STAGIONE INPUT CODTAB F_STAGIONE
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione @70" S0 DISPLAY "Descrizione @70" S0
OUTPUT F_STAGIONE CODTAB OUTPUT F_STAGIONE CODTAB
OUTPUT F_DESSTAGIONE S0 OUTPUT F_DESSTAGIONE S0
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP G_VD
END END
STRING F_DESSTAGIONE 70 50 STRING F_DESSTAGIONE 70 50
BEGIN BEGIN
PROMPT 23 7 "" PROMPT 23 7 ""
HELP "Descrizione stagione" HELP "Descrizione stagione"
USE STG KEY 2 FLAGS "H"
USE %STG KEY 2
INPUT S0 F_DESSTAGIONE INPUT S0 F_DESSTAGIONE
DISPLAY "Descrizione@70" S0 DISPLAY "Descrizione@70" S0
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
COPY OUTPUT F_STAGIONE COPY OUTPUT F_STAGIONE
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP G_VD
END END
STRING F_CATCONV 3 STRING F_CATCONV 3
@ -1035,6 +1041,12 @@ BEGIN
FIELD LIVPERART FIELD LIVPERART
END END
TEXT F_WRITEON
BEGIN
PROMPT 60 5 "@bSCRITTURA ATTIVA"
FLAGS "H"
END
SPREADSHEET F_SHEETGIAC 0 -2 SPREADSHEET F_SHEETGIAC 0 -2
BEGIN BEGIN
PROMPT 0 6 "Giacenze" PROMPT 0 6 "Giacenze"
@ -1561,6 +1573,13 @@ BEGIN
GROUP G_LV GROUP G_LV
END END
CURRENCY F_VALCONV
BEGIN
PROMPT 1 16 "Valore convenzionale "
FIELD 41@->R0 //LVAUT = 41
GROUP G_LV
END
ENDPAGE ENDPAGE
PAGE "Personalizzazioni" 0 0 80 20 PAGE "Personalizzazioni" 0 0 80 20