Patch level : 10.0 500
Files correlati : ve2.exe ve2700a.msk Ricompilazione Demo : [ ] Commento : Corretta selezione nuovi articoli da aggiungere al listino git-svn-id: svn://10.65.10.50/trunk@19575 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
89d8a61d76
commit
b2667c6cde
107
ve/ve2700.cpp
107
ve/ve2700.cpp
@ -515,7 +515,7 @@ void TAggiorna_listini_edit_mask::add_art()
|
|||||||
TString query;
|
TString query;
|
||||||
query << "USE ANAMAG\n";
|
query << "USE ANAMAG\n";
|
||||||
query << "SELECT ((GRMERC?=#GRMERC)||(GRMERC=\"\"))&&(RCONDV.CODRIGA=\"\")\n";
|
query << "SELECT ((GRMERC?=#GRMERC)||(GRMERC=\"\"))&&(RCONDV.CODRIGA=\"\")\n";
|
||||||
query << "JOIN RCONDV INTO TIPO=\"L\" CATVEN=#CATVEN COD=#COD TIPORIGA=\"A\" CODRIGA=CODART\n";
|
query << "JOIN RCONDV INTO TIPO=\"L\" CATVEN==#CATVEN COD==#COD TIPORIGA=\"A\" CODRIGA==CODART\n";
|
||||||
query << "JOIN UMART INTO CODART=CODART\n";
|
query << "JOIN UMART INTO CODART=CODART\n";
|
||||||
TISAM_recordset recset(query);
|
TISAM_recordset recset(query);
|
||||||
TString8 grmerc, grmerc_filter;
|
TString8 grmerc, grmerc_filter;
|
||||||
@ -748,7 +748,6 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S2_PREZZO:
|
case S2_PREZZO:
|
||||||
if (e == fe_modify && jolly == 2)
|
if (e == fe_modify && jolly == 2)
|
||||||
{
|
{
|
||||||
@ -818,7 +817,8 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even
|
|||||||
TSheet_field& sf_listini = sfield(F_MULTILISTINI);
|
TSheet_field& sf_listini = sfield(F_MULTILISTINI);
|
||||||
const int selected_riga = sf_listini.selected();
|
const int selected_riga = sf_listini.selected();
|
||||||
TMask& rowmask = sf_listini.sheet_row_mask(selected_riga);
|
TMask& rowmask = sf_listini.sheet_row_mask(selected_riga);
|
||||||
rowmask.reset(-1);
|
rowmask.reset(-1); // Azzera tutto ma ...
|
||||||
|
rowmask.set(S2_CHECK, "X"); // ... forza spunta della riga
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -979,20 +979,85 @@ TAggiorna_listini_edit_mask::TAggiorna_listini_edit_mask(TMask* query_mask)
|
|||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
class TAggiorna_listini_query_mask : public TAutomask
|
class TAggiorna_listini_query_mask : public TAutomask
|
||||||
{
|
{
|
||||||
|
TArray_sheet* _sheet;
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TAggiorna_listini_query_mask();
|
TAggiorna_listini_query_mask();
|
||||||
|
virtual ~TAggiorna_listini_query_mask();
|
||||||
};
|
};
|
||||||
|
|
||||||
bool TAggiorna_listini_query_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
bool TAggiorna_listini_query_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
{
|
{
|
||||||
switch(o.dlg())
|
switch(o.dlg())
|
||||||
{
|
{
|
||||||
|
case F_FATHCATVEN:
|
||||||
|
if (e == fe_button)
|
||||||
|
{
|
||||||
|
TArray_sheet sheet_catven(-1, -1, 78, 10, TR("Categorie di vendita"), HR("Codice|Descrizione@50"));
|
||||||
|
TString4 catven;
|
||||||
|
FOR_EACH_SHEET_ROW(*_sheet, t, riga)
|
||||||
|
{
|
||||||
|
const char* cv = riga->get(0);
|
||||||
|
if (catven != cv)
|
||||||
|
{
|
||||||
|
catven = cv;
|
||||||
|
TToken_string r;
|
||||||
|
r.add(catven);
|
||||||
|
r.add(cache().get("CVE", catven, "S0"));
|
||||||
|
sheet_catven.add(r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (sheet_catven.run() == K_ENTER)
|
||||||
|
{
|
||||||
|
TToken_string& r = sheet_catven.row(-1);
|
||||||
|
o.set(r.get(0));
|
||||||
|
e = fe_modify;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((e == fe_init || e == fe_modify) && !o.empty())
|
||||||
|
set(F_FATHDESVEN, cache().get("CVE", o.get(), "S0"));
|
||||||
|
break;
|
||||||
case F_FATHCODLIS:
|
case F_FATHCODLIS:
|
||||||
if (e == fe_button)
|
if (e == fe_button)
|
||||||
{
|
{
|
||||||
|
if (_sheet->run() == K_ENTER)
|
||||||
|
{
|
||||||
|
//riempie la maschera di query
|
||||||
|
TToken_string& row = _sheet->row(-1);
|
||||||
|
set(F_FATHCATVEN, row.get(0), true);
|
||||||
|
set(F_FATHCODLIS, row.get(1));
|
||||||
|
set(F_FATHDESLIS, row.get(2));
|
||||||
|
send_key(K_SPACE, DLG_OK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case DLG_OK:
|
||||||
|
if (e == fe_button && efield(F_FATHCODLIS).check())
|
||||||
|
{
|
||||||
|
//lancia la maschera di edit
|
||||||
|
TAggiorna_listini_edit_mask edit_mask(this); //gli passa la maschera principale
|
||||||
|
edit_mask.run();
|
||||||
|
}
|
||||||
|
return false; // NON deve uscire dal main loop!
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
TAggiorna_listini_query_mask::TAggiorna_listini_query_mask() : TAutomask("ve2700a")
|
||||||
|
{
|
||||||
|
//in base alla cervellotica configurazione impostata dall'utonto abilita/disabilita campi
|
||||||
|
const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
|
||||||
|
enable(F_FATHCATVEN, gesliscv);
|
||||||
|
//attenzione!!! il campo CATVEN è in chiave 1! per disabilitarlo ci vuole questo trucco!
|
||||||
|
if (!gesliscv)
|
||||||
|
efield(F_FATHCATVEN).reset_key(1);
|
||||||
|
|
||||||
|
_sheet = new TArray_sheet(-1, -1, 78, 10, TR("Listini padri"), HR("Cat.Ven.|Codice|Descrizione@50"));
|
||||||
TString query;
|
TString query;
|
||||||
query << "USE CONDV\n";
|
query << "USE CONDV\n";
|
||||||
query << "SELECT (FATHCOD!='')&&(BETWEEN(FATHCATVEN,#CATVEN,#CATVEN))\n";
|
query << "SELECT (FATHCOD!='')&&(BETWEEN(FATHCATVEN,#CATVEN,#CATVEN))\n";
|
||||||
@ -1026,51 +1091,29 @@ bool TAggiorna_listini_query_mask::on_field_event(TOperable_field& o, TField_eve
|
|||||||
} //for(bool ok =...
|
} //for(bool ok =...
|
||||||
//utilizzando l'assoc_array dei padri propone uno sheet di ricerca dei soli listini che hanno paternità
|
//utilizzando l'assoc_array dei padri propone uno sheet di ricerca dei soli listini che hanno paternità
|
||||||
//maschera volante di ricerca (è una display)
|
//maschera volante di ricerca (è una display)
|
||||||
TArray_sheet sheet(-1, -1, 78, 10, TR("Listini padri"), HR("Cat.Ven.|Codice|Descrizione@50"));
|
|
||||||
//riempimento dello sheet
|
//riempimento dello sheet
|
||||||
FOR_EACH_ASSOC_STRING(listini_padri, obj, key, descr)
|
FOR_EACH_ASSOC_STRING(listini_padri, obj, key, descr)
|
||||||
{
|
{
|
||||||
TToken_string row;
|
TToken_string row;
|
||||||
row = key;
|
row = key;
|
||||||
row.add(descr);
|
row.add(descr);
|
||||||
sheet.add(row);
|
_sheet->add(row);
|
||||||
}
|
}
|
||||||
sheet.rows_array().sort(); //riordina le righe attualmente scombinate
|
|
||||||
|
|
||||||
if (sheet.run() == K_ENTER)
|
if (_sheet->items() > 0)
|
||||||
{
|
{
|
||||||
//riempie la maschera di query
|
_sheet->rows_array().sort(); //riordina le righe attualmente scombinate
|
||||||
TToken_string& row = sheet.row(sheet.selected());
|
|
||||||
|
TToken_string& row = _sheet->row(0);
|
||||||
set(F_FATHCATVEN, row.get(0), true);
|
set(F_FATHCATVEN, row.get(0), true);
|
||||||
set(F_FATHCODLIS, row.get(1));
|
set(F_FATHCODLIS, row.get(1));
|
||||||
set(F_FATHDESLIS, row.get(2));
|
set(F_FATHDESLIS, row.get(2));
|
||||||
send_key(K_SPACE, DLG_OK);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
break;
|
|
||||||
case DLG_OK:
|
|
||||||
if (e == fe_button && efield(F_FATHCODLIS).check())
|
|
||||||
{
|
|
||||||
//lancia la maschera di edit
|
|
||||||
TAggiorna_listini_edit_mask edit_mask(this); //gli passa la maschera principale
|
|
||||||
edit_mask.run();
|
|
||||||
}
|
|
||||||
return false; // NON deve uscire dal main loop!
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TAggiorna_listini_query_mask::TAggiorna_listini_query_mask() : TAutomask("ve2700a")
|
TAggiorna_listini_query_mask::~TAggiorna_listini_query_mask()
|
||||||
{
|
{
|
||||||
//in base alla cervellotica configurazione impostata dall'utonto abilita/disabilita campi
|
delete _sheet;
|
||||||
const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
|
|
||||||
enable(F_FATHCATVEN, gesliscv);
|
|
||||||
enable(F_FATHDESVEN, gesliscv);
|
|
||||||
//attenzione!!! il campo CATVEN è in chiave 1! per disabilitarlo ci vuole questo trucco!
|
|
||||||
if (!gesliscv)
|
|
||||||
efield(F_FATHCATVEN).reset_key(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
|
@ -25,26 +25,15 @@ END
|
|||||||
STRING F_FATHCATVEN 2
|
STRING F_FATHCATVEN 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Cat. ven. "
|
PROMPT 1 1 "Cat. ven. "
|
||||||
FLAGS "U"
|
FLAGS "BU"
|
||||||
KEY 1
|
KEY 1
|
||||||
USE CVE
|
|
||||||
INPUT CODTAB F_FATHCATVEN
|
|
||||||
DISPLAY "Cat." CODTAB
|
|
||||||
DISPLAY "Descrizione@50" S0
|
|
||||||
OUTPUT F_FATHCATVEN CODTAB
|
|
||||||
OUTPUT F_FATHDESVEN S0
|
|
||||||
CHECKTYPE FORCED
|
CHECKTYPE FORCED
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_FATHDESVEN 50
|
STRING F_FATHDESVEN 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 18 1 ""
|
PROMPT 18 1 ""
|
||||||
USE CVE KEY 2
|
FLAGS "D"
|
||||||
INPUT S0 F_FATHDESVEN
|
|
||||||
DISPLAY "Descrizione@50" S0
|
|
||||||
DISPLAY "Cat." CODTAB
|
|
||||||
COPY OUTPUT F_FATHCATVEN
|
|
||||||
CHECKTYPE NORMAL
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_FATHCODLIS 3
|
STRING F_FATHCODLIS 3
|
||||||
|
Loading…
x
Reference in New Issue
Block a user