Gestione tabella magazzini : sinolo mag, abilitazione dep ecc.

git-svn-id: svn://10.65.10.50/trunk@5088 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-08-21 08:03:10 +00:00
parent f106df3e86
commit badef196fa

View File

@ -3,7 +3,7 @@
#include <tabutil.h>
#include "batbcau.h"
#include "batbfca.h"
#include "..\ve\batbmag.h"
#include "mglib.h"
@ -16,6 +16,7 @@ class TMask_tabmag : public TMask
TFile_cache *tab_cache;
TMetachar * metach;
static bool singlemag_handler(TMask_field &, KEY); // handler
static bool sumsign_handler(TMask_field &, KEY); // handler
static bool format_handler(TMask_field &, KEY); // handler dei metacaratteri
static bool codliv_handler(TMask_field &, KEY); // handler del numero formato
@ -33,11 +34,22 @@ TMask_tabmag::TMask_tabmag(const char * _maskname,const TString16 &tabname):
TMask(_maskname)
{
aux_tabf=NULL;
if (tabname == "%CAU")
if (tabname == "MAG") // Magazzini
{
TMagazzini magazzini;
if (!magazzini.gestmultimag())
set_handler(F_CODICE, singlemag_handler);
if (!magazzini.gestdep())
{
field(F_GESTGIA).reset();
field(F_GESTGIA).disable();
}
}
else if (tabname == "%CAU")
{
set_handler(F_SGNGIAC, sumsign_handler);
}
if (tabname == "FCA") // FORMATO CODICE ARTICOLI
else if (tabname == "FCA") // FORMATO CODICE ARTICOLI
{
cod_liv=new TCodart_livelli;
aux_tabf = new TTable("FCA");
@ -45,13 +57,13 @@ TMask_tabmag::TMask_tabmag(const char * _maskname,const TString16 &tabname):
set_handler(F_FORMLIV, format_handler);
set_handler(F_CODLIV, codliv_handler);
}
if (tabname == "GCA") // GRUPPI CODICE ARTICOLI
else if (tabname == "GCA") // GRUPPI CODICE ARTICOLI
{
cod_liv=new TCodart_livelli;
set_handler(F_CODLIV, numlivart_handler);
set_handler(F_CODGROUP, codgrp_handler);
}
if (tabname == "FCG") // FORMATO CODICE GIACENZE
else if (tabname == "FCG") // FORMATO CODICE GIACENZE
{
cod_liv = new TCodgiac_livelli;
metach = new TMetachar("") ;
@ -59,7 +71,7 @@ TMask_tabmag::TMask_tabmag(const char * _maskname,const TString16 &tabname):
set_handler(F_FORMLIV, format_handler);
set_handler(F_CODLIV, codliv_handler);
}
if (tabname == "GCG") // GRUPPI CODICE GIACENZE
else if (tabname == "GCG") // GRUPPI CODICE GIACENZE
{
cod_liv = new TCodgiac_livelli;
set_handler(F_CODGROUP, codgrp_handler);
@ -72,6 +84,22 @@ TMask_tabmag::~TMask_tabmag()
delete aux_tabf;
}
// tabella magazzini: controllo codice
bool TMask_tabmag::singlemag_handler(TMask_field& f, KEY k)
{
if (k == K_TAB && f.get().not_empty())
{
TTable mag("MAG");
mag.first();
if (!mag.eof() && mag.get("CODTAB")!=f.get())
{
f.error_box("E' abilitata la gestione di un solo magazzino");
f.set(mag.get("CODTAB"));
}
}
return TRUE;
}
// tabella causali: handler della somma segni
bool TMask_tabmag::sumsign_handler(TMask_field& f, KEY k)
{