Patch level : 4.0
Files correlati : ve2 Ricompilazione Demo : [ ] Commento : Aggiunto supporto per livelli avanzati anche in sede di copia articoli git-svn-id: svn://10.65.10.50/trunk@15477 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
bfcf98e179
commit
4584ecb070
@ -3,11 +3,6 @@
|
|||||||
#include "ve2401.h"
|
#include "ve2401.h"
|
||||||
|
|
||||||
#include "../ca/calib01.h"
|
#include "../ca/calib01.h"
|
||||||
#include "../cg/cglib01.h"
|
|
||||||
#include "../mg/mglib.h"
|
|
||||||
#include "../mg/stomag.h"
|
|
||||||
#include "../mg/anamag.h"
|
|
||||||
#include "../mg/codcorr.h"
|
|
||||||
|
|
||||||
#include <modaut.h>
|
#include <modaut.h>
|
||||||
#include <relapp.h>
|
#include <relapp.h>
|
||||||
@ -1903,10 +1898,20 @@ bool TAnagrafica_magazzino::handle_copia(TMask_field &fld, KEY k)
|
|||||||
{
|
{
|
||||||
if (k == K_SPACE)
|
if (k == K_SPACE)
|
||||||
{
|
{
|
||||||
TMask ask("ve2400k");
|
|
||||||
TMask_anamag & m = (TMask_anamag &) fld.mask();
|
TMask_anamag & m = (TMask_anamag &) fld.mask();
|
||||||
|
|
||||||
|
TString codart, descart;
|
||||||
|
if (advanced_codart_enabled())
|
||||||
|
{
|
||||||
|
codart = m.get(F_CODART);
|
||||||
|
if (!advanced_codart_ask(codart, descart))
|
||||||
|
codart.cut(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
const TCodart_livelli* liv_art = m.get_livelli_art();
|
const TCodart_livelli* liv_art = m.get_livelli_art();
|
||||||
|
|
||||||
|
TMask ask("ve2400k");
|
||||||
ask.set_handler(F_CODART, non_esiste_handler);
|
ask.set_handler(F_CODART, non_esiste_handler);
|
||||||
if(liv_art && liv_art->enabled())
|
if(liv_art && liv_art->enabled())
|
||||||
{
|
{
|
||||||
@ -1918,10 +1923,16 @@ bool TAnagrafica_magazzino::handle_copia(TMask_field &fld, KEY k)
|
|||||||
}
|
}
|
||||||
ask.reset(F_CODART);
|
ask.reset(F_CODART);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ask.run() == K_ENTER)
|
if (ask.run() == K_ENTER)
|
||||||
|
codart = ask.get(F_CODART);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (codart.full())
|
||||||
{
|
{
|
||||||
m.set(F_CODART, ask.get(F_CODART), TRUE);
|
if (descart.full())
|
||||||
|
m.set(F_DESCR, descart);
|
||||||
|
|
||||||
|
m.set(F_CODART, codart, TRUE);
|
||||||
|
|
||||||
m.sfield(F_SHEETGIAC).destroy();
|
m.sfield(F_SHEETGIAC).destroy();
|
||||||
m.sfield(F_SHEETSTOMAG).destroy();
|
m.sfield(F_SHEETSTOMAG).destroy();
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
const TString& root_code()
|
const TString& root_code()
|
||||||
{
|
{
|
||||||
static TString4 _root_code;
|
static TString8 _root_code; // Solitamente lungo 3
|
||||||
if (_root_code.empty())
|
if (_root_code.empty())
|
||||||
{
|
{
|
||||||
const TString query = "USE FSA SELECT B0=\"X\"";
|
const TString query = "USE FSA SELECT B0=\"X\"";
|
||||||
@ -37,7 +37,7 @@ static const TRectype& get_sublevel_info(const TString& code)
|
|||||||
|
|
||||||
class TCodart_mask : public TAutomask
|
class TCodart_mask : public TAutomask
|
||||||
{
|
{
|
||||||
static TString4 _restart;
|
static TString8 _restart; // Solitamente lungo 3
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
@ -46,11 +46,12 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
bool restart() const { return _restart.full(); }
|
bool restart() const { return _restart.full(); }
|
||||||
|
static void restart_with(const char* cod) { _restart = cod; }
|
||||||
|
|
||||||
TCodart_mask();
|
TCodart_mask();
|
||||||
};
|
};
|
||||||
|
|
||||||
TString4 TCodart_mask::_restart;
|
TString8 TCodart_mask::_restart;
|
||||||
|
|
||||||
bool TCodart_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
bool TCodart_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
{
|
{
|
||||||
@ -59,6 +60,7 @@ bool TCodart_mask::on_field_event(TOperable_field& o, TField_event e, long jolly
|
|||||||
case 101:
|
case 101:
|
||||||
if (e == fe_init && restart())
|
if (e == fe_init && restart())
|
||||||
{
|
{
|
||||||
|
_restart.cut(o.size()); // Taglia alla lunghezza vera del campo
|
||||||
o.set(_restart);
|
o.set(_restart);
|
||||||
_restart.cut(0);
|
_restart.cut(0);
|
||||||
o.check(STARTING_CHECK);
|
o.check(STARTING_CHECK);
|
||||||
@ -148,10 +150,18 @@ TCodart_mask::TCodart_mask() : TAutomask(TR("Articolo guidato"), 1, 78, 13)
|
|||||||
create_level(1, EMPTY_STRING);
|
create_level(1, EMPTY_STRING);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool advanced_get_codart(TString& code, TString& desc)
|
bool advanced_codart_ask(TString& code, TString& desc)
|
||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
bool running = true;
|
bool running = true;
|
||||||
|
|
||||||
|
if (code.full())
|
||||||
|
{
|
||||||
|
code.cut(4); // Taglio grossolano, poi la TCodart_mask tagliera' meglio
|
||||||
|
TCodart_mask::restart_with(code);
|
||||||
|
code.cut(0);
|
||||||
|
}
|
||||||
|
|
||||||
while (running)
|
while (running)
|
||||||
{
|
{
|
||||||
TCodart_mask m;
|
TCodart_mask m;
|
||||||
@ -189,7 +199,7 @@ bool advanced_codart_handler(TMask_field& fld, KEY key)
|
|||||||
if (key == K_SPACE)
|
if (key == K_SPACE)
|
||||||
{
|
{
|
||||||
TString code, desc;
|
TString code, desc;
|
||||||
if (advanced_get_codart(code, desc))
|
if (advanced_codart_ask(code, desc))
|
||||||
{
|
{
|
||||||
TMask& msk = fld.mask();
|
TMask& msk = fld.mask();
|
||||||
msk.set(F_DESCR, desc);
|
msk.set(F_DESCR, desc);
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool advanced_codart_enabled();
|
bool advanced_codart_enabled();
|
||||||
|
bool advanced_codart_ask(TString& code, TString& desc);
|
||||||
bool advanced_codart_handler(TMask_field& fld, KEY key);
|
bool advanced_codart_handler(TMask_field& fld, KEY key);
|
||||||
|
|
||||||
#endif
|
#endif
|
Loading…
x
Reference in New Issue
Block a user