Patch level : 10.0 752
Files correlati : mg0.exe Ricompilazione Demo : [ ] Commento Bug 0001648: Anagrafica Articoli-Gestione Tabella Gruppi cod. art. avanzati Se tolgo la spunta nel campo "in descrizione" non solo non mi mette la descrizione in quella dell'articolo corrispondente ma anche il codice del gruppo nella costruzioine dell'articolo con la funzionalità "codice guidato" Se sono su un livello secondario e premo il bottone nuovo non mi propone i default di dove sono come fa se vado in modifica. git-svn-id: svn://10.65.10.50/trunk@20533 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8919d53f1e
commit
9d8b13648a
@ -9,6 +9,7 @@
|
||||
|
||||
#include "mgtbcau.h"
|
||||
#include "mgtbfca.h"
|
||||
#include "mgtbgsa.h"
|
||||
|
||||
|
||||
// applicazione per la gestione delle tabelle di magazzino
|
||||
@ -20,6 +21,7 @@ protected: // TRelation_application
|
||||
virtual bool user_create() ;
|
||||
virtual bool protected_record(TRectype& rec) ;
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual void init_query_mode(TMask& m);
|
||||
|
||||
virtual TMask * set_mask(TMask * _m=NULL);
|
||||
|
||||
@ -288,7 +290,47 @@ bool TMask_tabmag::adv_codgrp_handler(TMask_field& f, KEY k)
|
||||
desc.set(f.get());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
else
|
||||
if (k == K_F8)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
|
||||
if (m.query_mode())
|
||||
{
|
||||
TString newcod(m.get(F_CODLIV));
|
||||
const int prlen = newcod.len();
|
||||
|
||||
newcod << ((TEditable_field&)f).get_window_data();
|
||||
|
||||
TString cod(newcod);
|
||||
const int len = cod.len();
|
||||
TTable gsa("GSA");
|
||||
|
||||
cod << "999999";
|
||||
gsa.put("CODTAB", cod);
|
||||
if (gsa.read(_isgteq) != _isemptyfile)
|
||||
{
|
||||
TString code = gsa.get("CODTAB");
|
||||
|
||||
if (cod < code.left(len) || (newcod == code.left(len) && !isdigit(code[len])))
|
||||
{
|
||||
gsa.prev();
|
||||
code = gsa.get("CODTAB");
|
||||
}
|
||||
if (newcod == code.left(len))
|
||||
{
|
||||
const int progr = atol(code.mid(len)) + 1;
|
||||
TString fmt;
|
||||
fmt.format("%%s%%0%dld", code.len() - len);
|
||||
newcod.ltrim(prlen);
|
||||
newcod.format(fmt, (const char *)newcod, progr);
|
||||
f.set(newcod);
|
||||
m.stop_run(K_INS);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// HANDLER DEL CODICE LIVELLO
|
||||
@ -395,6 +437,13 @@ int Tab_app_mag::rewrite(const TMask& m)
|
||||
return Tab_application::rewrite(m);
|
||||
}
|
||||
|
||||
void Tab_app_mag::init_query_mode(TMask& m)
|
||||
{
|
||||
TTable_application::init_query_mode(m);
|
||||
|
||||
if (get_tabname() == "GSA" && argc() > 3)
|
||||
m.set(F_CODLIV, argv(3));
|
||||
}
|
||||
|
||||
int mg0100(int argc, char* argv[])
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user