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)); 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); 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); 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) if (doc.get(DOC_STATO) == stato)
@ -719,23 +725,39 @@ bool TEvasione_ter_msk::controlla()
//sottraendolo dal magazzino del pulito //sottraendolo dal magazzino del pulito
void TEvasione_ter_msk::evadi_da_terminale() void TEvasione_ter_msk::evadi_da_terminale()
{ {
TString80 codpacco = get(F_TBARCODE); const TString80 codpacco = get(F_TBARCODE);
const TDate oggi(TODAY);
if (codpacco.full()) if (codpacco.full())
{ {
const TRiga_pacco rp(codpacco); const TRiga_pacco rp(codpacco);
const TString80 codart = rp.articolo();
const long qtapacco = rp.quantita().integer();
if (qtapacco <= 0) if (rp.empty())
{ {
warning_box(TR("Il pacco non esiste a magazzino")); warning_box(TR("Il pacco non esiste a magazzino"));
warning_box(TR("Non è stato possibile sommare il pacco a nessuna riga del buono")); warning_box(TR("Non è stato possibile sommare il pacco a nessuna riga del buono"));
} }
else 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)); 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 //se il pacco è già stato pistolettato lo tolgo dai pacchi da evadere, altrimenti cerco di sommarlo
//a una riga documento esistente //a una riga documento esistente
@ -743,10 +765,6 @@ void TEvasione_ter_msk::evadi_da_terminale()
{ {
_pacchi.remove(codpacco); _pacchi.remove(codpacco);
TToken_string key;
key.add(codart);
key.add(oggi);
if (_ra.is_key(key)) if (_ra.is_key(key))
{ {
TQuantita_riga& qr = *(TQuantita_riga*)_ra.objptr(key); TQuantita_riga& qr = *(TQuantita_riga*)_ra.objptr(key);
@ -764,10 +782,6 @@ void TEvasione_ter_msk::evadi_da_terminale()
} }
else else
{ {
TToken_string key;
key.add(codart);
key.add(oggi);
if (_ra.is_key(key)) if (_ra.is_key(key))
{ {
TQuantita_riga& qr = *(TQuantita_riga*)_ra.objptr(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) if (e == fe_modify)
{ {
TDoc_key kdoc(f.get()); TDoc_key kdoc(TToken_string(f.get(),'.'));
int cazzone = 1;
if (kdoc.ndoc() > 0) if (kdoc.ndoc() > 0)
{ {
set(F_TANNO, kdoc.anno()); set(F_TANNO, kdoc.anno());

View File

@ -93,7 +93,7 @@ BEGIN
OUTPUT F_TCODCF CODCF OUTPUT F_TCODCF CODCF
OUTPUT F_TRAGSOC LF_CLIFO->RAGSOC OUTPUT F_TRAGSOC LF_CLIFO->RAGSOC
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAGS "DG" FLAGS "G"
END END
DATE F_TDATADOC DATE F_TDATADOC
@ -105,7 +105,6 @@ END
NUMBER F_TANNO 4 NUMBER F_TANNO 4
BEGIN BEGIN
PROMPT 1 4 "Anno Esercizio " PROMPT 1 4 "Anno Esercizio "
FLAGS "D"
END END
DATE F_TDATAPRCO 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 //READ: cerca una riga pacco in base alla chiave primaria
bool TRiga_pacco::read(const TString& codpacco, const long codriga) bool TRiga_pacco::read(const TString& codpacco, const long codriga)
{ {
int err = _iskeynotfound;
if (codpacco.full()) // Campo obbligatorio! if (codpacco.full()) // Campo obbligatorio!
{ {
TLocalisamfile pacchi(LF_PACCHI); TLocalisamfile pacchi(LF_PACCHI);
put(PACCHI_CODPACCO, codpacco); put(PACCHI_CODPACCO, codpacco);
put(PACCHI_CODRIGA, codriga); put(PACCHI_CODRIGA, codriga);
TRectype::read(pacchi); err = TRectype::read(pacchi);
} }
else
if (err != NOERR)
zero(); zero();
return ok();
return err == NOERR;
} }
//CODPACCO: metodo che restituisce il codice univoco del pacco //CODPACCO: metodo che restituisce il codice univoco del pacco