Patch level : 10.0 patch 542

Files correlati     : lv3 lv3400a.msk
Ricompilazione Demo : [ ]
Commento            :
Riabilitati campi ndoc e anno

Aggiunti controlli sui barcode pistolati


git-svn-id: svn://10.65.10.50/trunk@19743 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2009-12-10 10:49:46 +00:00
parent 6f60b2a026
commit 90f8bd92ac
3 changed files with 39 additions and 22 deletions

View File

@ -245,6 +245,12 @@ bool TEvasione_ter_msk::precarica_righe()
TDoc_key kdoc(get_int(F_TANNO), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC));
TBuono_prelievo doc(kdoc);
if (doc.empty())
{
warning_box(TR("Il documento cercato è inesistente"));
return false;
}
const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1);
if (doc.get(DOC_STATO) == stato)
@ -719,33 +725,45 @@ bool TEvasione_ter_msk::controlla()
//sottraendolo dal magazzino del pulito
void TEvasione_ter_msk::evadi_da_terminale()
{
TString80 codpacco = get(F_TBARCODE);
const TDate oggi(TODAY);
const TString80 codpacco = get(F_TBARCODE);
if (codpacco.full())
{
const TRiga_pacco rp(codpacco);
const TString80 codart = rp.articolo();
const long qtapacco = rp.quantita().integer();
const TRiga_pacco rp(codpacco);
if (qtapacco <= 0)
if (rp.empty())
{
warning_box(TR("Il pacco non esiste a magazzino"));
warning_box(TR("Non è stato possibile sommare il pacco a nessuna riga del buono"));
}
else
{
if (rp.rigabolla().full())
{
TToken_string riga = rp.rigabolla();
int numdoc = riga.get_int(3);
TString msg;
msg << "Il pacco risulta già associato al buono numero " << numdoc;
warning_box(msg);
return;
}
const TDate oggi(TODAY);
const TString80 codart = rp.articolo();
const long qtapacco = rp.quantita().integer();
TToken_string key;
key.add(codart);
key.add(oggi);
TDoc_key kdoc(get_date(F_TDATADOC).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_int(F_TNDOC));
//se il pacco è già stato pistolettato lo tolgo dai pacchi da evadere, altrimenti cerco di sommarlo
//a una riga documento esistente
if (_pacchi.is_key(codpacco))
{
_pacchi.remove(codpacco);
TToken_string key;
key.add(codart);
key.add(oggi);
_pacchi.remove(codpacco);
if (_ra.is_key(key))
{
@ -764,10 +782,6 @@ void TEvasione_ter_msk::evadi_da_terminale()
}
else
{
TToken_string key;
key.add(codart);
key.add(oggi);
if (_ra.is_key(key))
{
TQuantita_riga& qr = *(TQuantita_riga*)_ra.objptr(key);
@ -893,7 +907,8 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
{
if (e == fe_modify)
{
TDoc_key kdoc(f.get());
TDoc_key kdoc(TToken_string(f.get(),'.'));
int cazzone = 1;
if (kdoc.ndoc() > 0)
{
set(F_TANNO, kdoc.anno());

View File

@ -93,7 +93,7 @@ BEGIN
OUTPUT F_TCODCF CODCF
OUTPUT F_TRAGSOC LF_CLIFO->RAGSOC
CHECKTYPE REQUIRED
FLAGS "DG"
FLAGS "G"
END
DATE F_TDATADOC
@ -105,7 +105,6 @@ END
NUMBER F_TANNO 4
BEGIN
PROMPT 1 4 "Anno Esercizio "
FLAGS "D"
END
DATE F_TDATAPRCO

View File

@ -1136,17 +1136,20 @@ void TBuono_prelievo_row::add_pacchi(const int nmr)
//READ: cerca una riga pacco in base alla chiave primaria
bool TRiga_pacco::read(const TString& codpacco, const long codriga)
{
int err = _iskeynotfound;
if (codpacco.full()) // Campo obbligatorio!
{
TLocalisamfile pacchi(LF_PACCHI);
put(PACCHI_CODPACCO, codpacco);
put(PACCHI_CODRIGA, codriga);
TRectype::read(pacchi);
err = TRectype::read(pacchi);
}
else
if (err != NOERR)
zero();
return ok();
return err == NOERR;
}
//CODPACCO: metodo che restituisce il codice univoco del pacco