Patch level : 10.0 patch 767

Files correlati     :  ve6.exe
Ricompilazione Demo : [ ]
Commento            :

Aggiunta gestione magazzino collegato in importazione da penna ottica

Dalla versione 3.2


git-svn-id: svn://10.65.10.50/trunk@20597 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-06-21 14:20:35 +00:00
parent c10c38a69b
commit a45d9a9b56
3 changed files with 79 additions and 25 deletions

View File

@ -105,12 +105,14 @@ private:
bool _gestmag;
bool _gestdep;
bool _gestmultimag;
TString4 _codmagc;
protected:
virtual bool on_field_event(TOperable_field& f, TField_event e, long jolly);
virtual void on_firm_change();
public:
void set_magc(const TString& magc) { set(F_MAGC, _codmagc = magc); }
TPenna_mask();
virtual ~TPenna_mask(){}
};
@ -166,7 +168,13 @@ bool TPenna_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
hide(F_DEP);
}
break;
case F_MAGC:
if (e == fe_init && f.empty() && _codmagc.full())
{
f.set(_codmagc);
f.check(STARTING_CHECK);
}
break;
default:
break;
}
@ -254,6 +262,7 @@ class TPenna_app : public TSkeleton_application
private:
TFilename _ini_name;
int _first_row;
TString4 _codmagc;
protected:
virtual void main_loop();
@ -275,7 +284,7 @@ bool TPenna_app::load_ini(bool check) //definizione de
if (args <= narg)
return FALSE; //argv é un array di null-terminated strings
const TString& arg = argv(narg);
const TFixed_string arg = argv(narg);
if ((arg[0] != '-' && arg[0] != '/') || (arg[1] != 'i' && arg[1] != 'I'))
return FALSE;
@ -300,6 +309,9 @@ bool TPenna_app::load_ini(bool check) //definizione de
_first_row = para.get_int(1)+1; //assegna a _first_row il numero (trasformato da una stringa con get_int)
//dell'ultima riga usata+1, cioé la prima riga libera: é il punto in cui
//cominciare a scrivere
_codmagc = ini.get("CODMAGC", "33"); // Cerca un eventuale magazzino collegato da proporre
return TRUE;
}
@ -308,7 +320,7 @@ void TPenna_app::check_doc() //definizione della me
TCheck_mask m; //istanza di TPenna_mask con il nome m (perche'ho chiamato una maschera)
if(m.run()==K_ENTER)
{
TConfig ini(_ini_name, "Transaction"); //apre il file su cui scrivere
TConfig ini(_ini_name, "Transaction"); //apre il file su cui scrivere
//chiamo il nome del file F_FILE che abbiamo scelto con la maschera; get
//legge una stringa
TRecord_cache c(LF_CODCORR, 2);
@ -328,7 +340,7 @@ void TPenna_app::check_doc() //definizione della me
para.format("%d", LF_DOC);
const int anno = ini.get_int(DOC_ANNO, para);
const TString16 codnum(ini.get(DOC_CODNUM));
const TString4 codnum(ini.get(DOC_CODNUM));
const char provv = ini.get_char(DOC_PROVV);
const long ndoc = ini.get_long(DOC_NDOC);
int fcod = -1;
@ -484,6 +496,8 @@ void TPenna_app::check_doc() //definizione della me
void TPenna_app::load_doc() //definizione della member function main_loop, della classe TPenna_app
{
TPenna_mask m; //istanza di TPenna_mask con il nome m (perche'ho chiamato una maschera)
m.set_magc(_codmagc); // Propone l'eventuale magazzino collegatp
if(m.run()==K_ENTER)
{
TConfig ini(_ini_name, "Transaction"); //apre il file su cui scrivere
@ -493,7 +507,7 @@ void TPenna_app::load_doc() //definizione della me
const TFilename nomefile = m.get(F_FILE); //assegno alla variabile nomefile la stringa letta con m.get(F_FILE);
//nomefile é una variabile di tipo TFilename
const TString16 tiporiga = m.get(F_TIPORIGA);
const TString4 tiporiga = m.get(F_TIPORIGA);
const int tipo = m.get_int(F_TIPO); //var int che indica la modalitá di archiviazione (0=quantitá, 1=dif. giac.)
@ -508,13 +522,17 @@ void TPenna_app::load_doc() //definizione della me
para.format("%d", LF_DOC);
TDate datadoc(ini.get(DOC_DATADOC, para)); //dal paragrafo testata documento prende il valore della data del
TDate datadoc(ini.get(DOC_DATADOC, para)); //dal paragrafo testata documento prende il valore della data del
//documento
TString16 annoes;
annoes.format("%04d", esercizi().date2esc(datadoc)); //crea un intero lungo 4 riempito di 0 all'inizio
TString8 codmag = m.get(F_MAG); // setta codmag in base al valore della maschera
codmag.left_just(3) << m.get(F_DEP); // attacca a codmag il F_DEP, codice deposito dalla maschera
TString8 codmagc = m.get(F_MAGC); // setta codmagc in base al valore della maschera
codmagc.left_just(3) << m.get(F_DEPC); // attacca a codmagc il F_DEPC, codice deposito collegato dalla maschera
TString val;
articoli.open(); //applico il metodo open che apre il file in lettura (contenuta in TFile_text)
for(int i=_first_row;articoli.ok_r();i++) //ok_r é una funzione che indica la fine del file
@ -526,15 +544,16 @@ void TPenna_app::load_doc() //definizione della me
ini.set_paragraph(para); // sposta il cursore sulla nuova para (nuovo valore)
ini.set(RDOC_TIPORIGA,tiporiga);
ini.set(RDOC_CODARTMAG, NULL_CODART); // scrive il codice per forzare il check
ini.set(RDOC_CODMAG, codmag); // magazzino di default
ini.set(RDOC_CODMAG, codmag); // magazzino di default
ini.set(RDOC_CODMAGC, codmagc); // magazzino collegato
for (int f = 0; f < nfields; f++)
{
const TTracciato_campo & c = rec.get(f);
const TString name = c.name();
const TString& name = c.name();
if (name.not_empty())
{
TString val = articolocor.get(f);
val = articolocor.get(f);
val.trim();
if (name == RDOC_CODART)
@ -587,8 +606,6 @@ void TPenna_app::main_loop() //definizione della me
check_doc();
else
load_doc();
}
////// Esecuzione del programma ///////////

View File

@ -1,7 +1,11 @@
#define F_FILE 101
#define F_TIPORIGA 102
#define F_TIPO 103
#define F_MAG 104
#define F_DEP 105
#define F_DESCRMAG 106
#define F_PROFILO 107
#define F_FILE 101
#define F_TIPORIGA 102
#define F_TIPO 103
#define F_MAG 104
#define F_DEP 105
#define F_DESCRMAG 106
#define F_MAGC 107
#define F_DEPC 108
#define F_DESCRMAGC 109
#define F_PROFILO 201

View File

@ -1,6 +1,6 @@
#include "ve6500.h"
PAGE "Lettura terminale portatile" -1 -1 80 12
PAGE "Lettura terminale portatile" -1 -1 65 15
STRING F_FILE 128 40
BEGIN
@ -38,28 +38,60 @@ BEGIN
OUTPUT F_MAG CODTAB
OUTPUT F_DESCRMAG S0
CHECKTYPE REQUIRED
GROUP 1
END
STRING F_DEP 2
BEGIN
PROMPT 21 7 "Deposito "
PROMPT 21 7 "Deposito "
COPY USE F_MAG
COPY INPUT F_MAG
INPUT CODTAB[4,5] F_DEP
COPY DISPLAY F_MAG
COPY OUTPUT F_MAG
OUTPUT F_DEP CODTAB[4,5]
CHECKTYPE NORMAL
GROUP 1
END
STRING F_DESCRMAG 50 35
STRING F_DESCRMAG 50
BEGIN
PROMPT 1 8 "Descrizione "
FLAGS "D"
GROUP 1
END
STRING F_MAGC 3
BEGIN
PROMPT 1 10 "Mag. colleg."
USE MAG
INPUT CODTAB[1,3] F_MAGC
DISPLAY "Magazzino" CODTAB[1,3]
DISPLAY "Deposito" CODTAB[4,5]
DISPLAY "Descrizione@50" S0
OUTPUT F_MAGC CODTAB
OUTPUT F_DESCRMAGC S0
CHECKTYPE NORMAL
END
STRING F_DEPC 2
BEGIN
PROMPT 21 10 "Dep. coll."
COPY USE F_MAGC
COPY INPUT F_MAGC
INPUT CODTAB[4,5] F_DEPC
COPY DISPLAY F_MAGC
COPY OUTPUT F_MAGC
OUTPUT F_DEPC CODTAB[4,5]
CHECKTYPE NORMAL
END
STRING F_DESCRMAGC 50
BEGIN
PROMPT 1 11 "Descrizione "
FLAGS "D"
END
STRING F_PROFILO 70 50
BEGIN
PROMPT 1 -2 "Profilo "
@ -72,7 +104,8 @@ TOOLBAR ""
BUTTON DLG_OK 2 2
BEGIN
PROMPT 1 1 ""
PROMPT -12 -1 ""
PICTURE BMP_ELABORA
END
#include <cancelbar.h>