Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Importazione movimeti di magazzino da 36 git-svn-id: svn://10.65.10.50/trunk@6961 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
65d6a471e9
commit
4b6b88e9dd
@ -33,6 +33,30 @@ public:
|
|||||||
|
|
||||||
bool TMask36::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
bool TMask36::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
{
|
{
|
||||||
|
switch(o.dlg())
|
||||||
|
{
|
||||||
|
case 100:
|
||||||
|
if (e == fe_modify || e == fe_close)
|
||||||
|
{
|
||||||
|
if (!fexist(o.get()))
|
||||||
|
return error_box("Directory non valida");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 101:
|
||||||
|
case 102:
|
||||||
|
case 103:
|
||||||
|
case 104:
|
||||||
|
case 105:
|
||||||
|
if (e == fe_modify || e == fe_close)
|
||||||
|
{
|
||||||
|
TFilename name = get(100);
|
||||||
|
name.add(o.get());
|
||||||
|
if (!name.exist())
|
||||||
|
return error_box("File non valido");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default : break;
|
||||||
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,14 +114,20 @@ protected:
|
|||||||
virtual const char* extra_modules() const { return "*"; } // Non e' un modulo normale
|
virtual const char* extra_modules() const { return "*"; } // Non e' un modulo normale
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
void mask2ini(TMask& m, bool load = FALSE);
|
||||||
|
void ini2mask(TMask& m) { mask2ini(m, TRUE); }
|
||||||
|
|
||||||
const TString& cap2com(const TString& cap, const TString& name) const;
|
const TString& cap2com(const TString& cap, const TString& name) const;
|
||||||
void split_indir(const TString& indir, TString& via, TString& civ) const;
|
void split_indir(const TString& indir, TString& via, TString& civ) const;
|
||||||
void mettilavirgola(TFile_text& file, TRecord_text& curr, const char* field, int len, int comma);
|
void mettilavirgola(TFile_text& file, TRecord_text& curr, const char* field, int len, int comma);
|
||||||
void permille(TFile_text& file, TRecord_text& curr, const char* field);
|
void permille(TFile_text& file, TRecord_text& curr, const char* field);
|
||||||
void machedata(TFile_text& file, TRecord_text& curr, const char* field);
|
void machedata(TFile_text& file, TRecord_text& curr, const char* field);
|
||||||
|
|
||||||
void import_tables(const TFilename& name, TBrowsefile_field& bf);
|
void import_tables(const TFilename& name, TBrowsefile_field& bf);
|
||||||
void import_clifo(const TFilename& name, TBrowsefile_field& bf);
|
void import_clifor(const TFilename& name, TBrowsefile_field& bf);
|
||||||
void import_anaart(const TFilename& name, TBrowsefile_field& bf);
|
void import_anaart(const TFilename& name, TBrowsefile_field& bf);
|
||||||
|
void import_movmag(const TFilename& name, TBrowsefile_field& bf);
|
||||||
|
void import_rigmag(const TFilename& name, TBrowsefile_field& bf);
|
||||||
};
|
};
|
||||||
|
|
||||||
const TString& TTrasfer36::cap2com(const TString& cap, const TString& name) const
|
const TString& TTrasfer36::cap2com(const TString& cap, const TString& name) const
|
||||||
@ -362,7 +392,7 @@ void TTrasfer36::machedata(TFile_text& file, TRecord_text& curr, const char* fie
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TTrasfer36::import_clifo(const TFilename& name, TBrowsefile_field& bf)
|
void TTrasfer36::import_clifor(const TFilename& name, TBrowsefile_field& bf)
|
||||||
{
|
{
|
||||||
TAssoc_array missing_firm;
|
TAssoc_array missing_firm;
|
||||||
TString msg;
|
TString msg;
|
||||||
@ -637,10 +667,181 @@ void TTrasfer36::import_anaart(const TFilename& name, TBrowsefile_field& bf)
|
|||||||
bf.add_line("");
|
bf.add_line("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TTrasfer36::import_movmag(const TFilename& name, TBrowsefile_field& bf)
|
||||||
|
{
|
||||||
|
TString msg, str;
|
||||||
|
msg = "Importazione Movimenti magazzino";
|
||||||
|
TProgind pi(::fsize(name), msg, TRUE, TRUE);
|
||||||
|
TFile_text file(name, "ibm36mag.ini");
|
||||||
|
|
||||||
|
long valid = 0;
|
||||||
|
|
||||||
|
msg.insert("@b", 0);
|
||||||
|
bf.add_line(msg);
|
||||||
|
bf.add_line("");
|
||||||
|
|
||||||
|
TRelation movmag(LF_MOVMAG);
|
||||||
|
TRectype& tesmag = movmag.curr();
|
||||||
|
|
||||||
|
TRecord_text curr;
|
||||||
|
while (file.read(curr) == NOERR)
|
||||||
|
{
|
||||||
|
pi.setstatus(file.read_file()->tellg());
|
||||||
|
if (pi.iscancelled())
|
||||||
|
break;
|
||||||
|
|
||||||
|
const char stato_record = file.get_field(curr, "STATO RECORD")[0];
|
||||||
|
if (stato_record == 'A')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
tesmag.zero();
|
||||||
|
|
||||||
|
str = file.get_field(curr, "CODICE ESERCIZIO").right(1);
|
||||||
|
str[0] -= 5;
|
||||||
|
TString16 numreg = file.get_field(curr, "NUMERO REGISTRAZIONE");
|
||||||
|
numreg.right_just(6, '0');
|
||||||
|
numreg.insert(str, 0);
|
||||||
|
tesmag.put("NUMREG", numreg);
|
||||||
|
|
||||||
|
str = file.get_field(curr, "TIPO CODICE");
|
||||||
|
const char* tipocf = (str == "2") ? "F" : "C";
|
||||||
|
file.add_field(curr, "TIPO CODICE", tipocf);
|
||||||
|
|
||||||
|
machedata(file, curr, "DATA REGISTRAZIONE");
|
||||||
|
const TString& datacomp = file.get_field(curr, "DATA REGISTRAZIONE");
|
||||||
|
movmag.curr().put("DATACOMP", datacomp);
|
||||||
|
|
||||||
|
const int err = file.autosave(movmag, curr);
|
||||||
|
if (err != NOERR)
|
||||||
|
{
|
||||||
|
msg = "! Errore di scrittura sul file LF_MOVMAG: ";
|
||||||
|
msg << err;
|
||||||
|
bf.add_line(msg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
valid++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Messaggio finale di elaborazione
|
||||||
|
msg = "Record importati: ";
|
||||||
|
msg << valid;
|
||||||
|
bf.add_line(msg);
|
||||||
|
bf.add_line("");
|
||||||
|
}
|
||||||
|
|
||||||
|
void TTrasfer36::import_rigmag(const TFilename& name, TBrowsefile_field& bf)
|
||||||
|
{
|
||||||
|
TString msg, str;
|
||||||
|
msg = "Importazione righe magazzino";
|
||||||
|
TProgind pi(::fsize(name), msg, TRUE, TRUE);
|
||||||
|
TFile_text file(name, "ibm36rig.ini");
|
||||||
|
|
||||||
|
long valid = 0;
|
||||||
|
|
||||||
|
msg.insert("@b", 0);
|
||||||
|
bf.add_line(msg);
|
||||||
|
bf.add_line("");
|
||||||
|
|
||||||
|
TRelation rmovmag(LF_RMOVMAG);
|
||||||
|
TRectype& rigamag = rmovmag.curr();
|
||||||
|
|
||||||
|
TString last_numreg;
|
||||||
|
int num_rig = 0;
|
||||||
|
|
||||||
|
TRecord_text curr;
|
||||||
|
while (file.read(curr) == NOERR)
|
||||||
|
{
|
||||||
|
pi.setstatus(file.read_file()->tellg());
|
||||||
|
if (pi.iscancelled())
|
||||||
|
break;
|
||||||
|
|
||||||
|
const int tipo_record = curr.type()[0] - '0';
|
||||||
|
if (tipo_record == 1 || tipo_record == 2)
|
||||||
|
{
|
||||||
|
const char stato_record = file.get_field(curr, "STATO RECORD")[0];
|
||||||
|
if (stato_record == 'A')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
TString16 numreg = file.get_field(curr, "NUMERO REGISTRAZIONE");
|
||||||
|
if (numreg != last_numreg)
|
||||||
|
{
|
||||||
|
last_numreg = numreg;
|
||||||
|
num_rig = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
num_rig++;
|
||||||
|
|
||||||
|
rigamag.zero();
|
||||||
|
|
||||||
|
str = file.get_field(curr, "CODICE ESERCIZIO").right(1);
|
||||||
|
str[0] -= 5;
|
||||||
|
numreg.right_just(6, '0');
|
||||||
|
numreg.insert(str, 0);
|
||||||
|
rigamag.put("NUMREG", numreg);
|
||||||
|
rigamag.put("NRIG", num_rig);
|
||||||
|
|
||||||
|
if (num_rig == 1)
|
||||||
|
{
|
||||||
|
TLocalisamfile movmag(LF_MOVMAG);
|
||||||
|
movmag.put("NUMREG", numreg);
|
||||||
|
if (movmag.read() != NOERR)
|
||||||
|
{
|
||||||
|
msg = "!Le righe del movimento ";
|
||||||
|
msg << numreg << " non hanno una testata";
|
||||||
|
bf.add_line(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mettilavirgola(file, curr, "QUANT", 11, 3);
|
||||||
|
mettilavirgola(file, curr, "PREZZO", 11, 2);
|
||||||
|
|
||||||
|
if (tipo_record == 2)
|
||||||
|
rigamag.put("AUTOMATICA", "A");
|
||||||
|
|
||||||
|
const int err = file.autosave(rmovmag, curr);
|
||||||
|
if (err != NOERR)
|
||||||
|
{
|
||||||
|
msg = "! Errore di scrittura sul file LF_RMOVMAG: ";
|
||||||
|
msg << err;
|
||||||
|
bf.add_line(msg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
valid++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Messaggio finale di elaborazione
|
||||||
|
msg = "Record importati: ";
|
||||||
|
msg << valid;
|
||||||
|
bf.add_line(msg);
|
||||||
|
bf.add_line("");
|
||||||
|
}
|
||||||
|
|
||||||
|
void TTrasfer36::mask2ini(TMask& m, bool load)
|
||||||
|
{
|
||||||
|
TConfig cfg(CONFIG_DITTA, "ibm36");
|
||||||
|
TString16 id;
|
||||||
|
|
||||||
|
for (int f = m.fields()-1; f >= 0; f--)
|
||||||
|
{
|
||||||
|
TMask_field& fld = m.fld(f);
|
||||||
|
if (fld.is_edit())
|
||||||
|
{
|
||||||
|
id.format("%d", fld.dlg());
|
||||||
|
if (load)
|
||||||
|
fld.set(cfg.get(id));
|
||||||
|
else
|
||||||
|
cfg.set(id, fld.get());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TTrasfer36::main_loop()
|
void TTrasfer36::main_loop()
|
||||||
{
|
{
|
||||||
TMask36 m;
|
TMask36 m;
|
||||||
TBrowsefile_field& bf = (TBrowsefile_field&)m.field(201);
|
ini2mask(m);
|
||||||
|
|
||||||
|
TBrowsefile_field& bf = (TBrowsefile_field&)m.field(300);
|
||||||
|
|
||||||
TViswin& vw = bf.vis_win();
|
TViswin& vw = bf.vis_win();
|
||||||
vw.show_rulers(FALSE);
|
vw.show_rulers(FALSE);
|
||||||
@ -648,21 +849,28 @@ void TTrasfer36::main_loop()
|
|||||||
while (m.run() == K_ENTER)
|
while (m.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
vw.destroy_lines();
|
vw.destroy_lines();
|
||||||
TFilename name;
|
|
||||||
|
|
||||||
name = m.get(101);
|
|
||||||
if (name.not_empty())
|
|
||||||
import_tables(name, bf);
|
|
||||||
|
|
||||||
name = m.get(102);
|
|
||||||
if (name.not_empty())
|
|
||||||
import_clifo(name, bf);
|
|
||||||
|
|
||||||
name = m.get(103);
|
|
||||||
if (name.not_empty())
|
|
||||||
import_anaart(name, bf);
|
|
||||||
|
|
||||||
|
const TFilename dir = m.get(100);
|
||||||
|
for (short id = 101; id <= 105; id++)
|
||||||
|
{
|
||||||
|
const TMask_field& fld = m.field(id);
|
||||||
|
if (fld.enabled() && !fld.empty())
|
||||||
|
{
|
||||||
|
TFilename name = dir;
|
||||||
|
name.add(fld.get());
|
||||||
|
switch(fld.dlg())
|
||||||
|
{
|
||||||
|
case 101: import_tables(name, bf); break;
|
||||||
|
case 102: import_clifor(name, bf); break;
|
||||||
|
case 103: import_anaart(name, bf); break;
|
||||||
|
case 104: import_movmag(name, bf); break;
|
||||||
|
case 105: import_rigmag(name, bf); break;
|
||||||
|
default : break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
vw.goto_top();
|
vw.goto_top();
|
||||||
|
mask2ini(m);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,27 +14,75 @@ ENDPAGE
|
|||||||
|
|
||||||
PAGE "Trasferimento da IBM 36" -1 -1 68 8
|
PAGE "Trasferimento da IBM 36" -1 -1 68 8
|
||||||
|
|
||||||
STRING 101 50
|
STRING 100 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Tabelle "
|
PROMPT 1 1 "Directory "
|
||||||
FSELECT ""
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 102 50
|
BOOLEAN 201
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 2 "Cli/For "
|
PROMPT 1 2 "Tabelle "
|
||||||
FSELECT ""
|
MESSAGE FALSE DISABLE,101
|
||||||
|
MESSAGE TRUE ENABLE,101
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 103 50
|
STRING 101 16
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Ana.Art "
|
PROMPT 13 2 ""
|
||||||
FSELECT ""
|
|
||||||
END
|
END
|
||||||
|
|
||||||
BROWSEFILE 201 -3 -1
|
BOOLEAN 202
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 4 ""
|
PROMPT 35 2 "Cli/For "
|
||||||
|
MESSAGE FALSE DISABLE,102
|
||||||
|
MESSAGE TRUE ENABLE,102
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING 102 16
|
||||||
|
BEGIN
|
||||||
|
PROMPT 47 2 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN 203
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 3 "Ana.Art "
|
||||||
|
MESSAGE FALSE DISABLE,103
|
||||||
|
MESSAGE TRUE ENABLE,103
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING 103 16
|
||||||
|
BEGIN
|
||||||
|
PROMPT 13 3 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN 204
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "Ana.Mag."
|
||||||
|
MESSAGE FALSE DISABLE,104
|
||||||
|
MESSAGE TRUE ENABLE,104
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING 104 16
|
||||||
|
BEGIN
|
||||||
|
PROMPT 13 4 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN 205
|
||||||
|
BEGIN
|
||||||
|
PROMPT 35 4 "Rig.Mag."
|
||||||
|
MESSAGE FALSE DISABLE,105
|
||||||
|
MESSAGE TRUE ENABLE,105
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING 105 16
|
||||||
|
BEGIN
|
||||||
|
PROMPT 47 4 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BROWSEFILE 300 -3 -1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 0 5 ""
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -292,11 +292,6 @@ LENGTH(16) = 9
|
|||||||
LENGTH(17) = 5
|
LENGTH(17) = 5
|
||||||
LENGTH(18) = 51
|
LENGTH(18) = 51
|
||||||
LENGTH(19) = 2
|
LENGTH(19) = 2
|
||||||
LENGTH(20) = 30
|
|
||||||
LENGTH(21) = 8
|
|
||||||
LENGTH(22) = 20
|
|
||||||
LENGTH(23) = 2
|
|
||||||
LENGTH(24) = 3
|
|
||||||
|
|
||||||
NAME(0) = ANNULLATO
|
NAME(0) = ANNULLATO
|
||||||
NAME(1) = TIPOCF
|
NAME(1) = TIPOCF
|
||||||
@ -317,10 +312,6 @@ NAME(15) = DATA INVIO ULTIMO SOLLECITO
|
|||||||
NAME(16) = FIDO
|
NAME(16) = FIDO
|
||||||
NAME(17) = PERCENTUALE SCONTO RIGA
|
NAME(17) = PERCENTUALE SCONTO RIGA
|
||||||
NAME(19) = TITOLO ONORIFICO
|
NAME(19) = TITOLO ONORIFICO
|
||||||
NAME(21) = DATA DI NASCITA
|
|
||||||
NAME(22) = LUOGO DI NASCITA
|
|
||||||
NAME(23) = PROVINCIA DI NASCITA
|
|
||||||
NAME(24) = NAZIONE DI NASCITA
|
|
||||||
|
|
||||||
POSITION(0) = 0
|
POSITION(0) = 0
|
||||||
POSITION(1) = 1
|
POSITION(1) = 1
|
||||||
@ -331,22 +322,17 @@ POSITION(5) = 14
|
|||||||
POSITION(6) = 15
|
POSITION(6) = 15
|
||||||
POSITION(7) = 17
|
POSITION(7) = 17
|
||||||
POSITION(8) = 19
|
POSITION(8) = 19
|
||||||
POSITION(9) = 22
|
POSITION(9) = 24
|
||||||
POSITION(10) = 25
|
POSITION(10) = 27
|
||||||
POSITION(11) = 26
|
POSITION(11) = 28
|
||||||
POSITION(12) = 38
|
POSITION(12) = 40
|
||||||
POSITION(13) = 40
|
POSITION(13) = 42
|
||||||
POSITION(14) = 41
|
POSITION(14) = 43
|
||||||
POSITION(15) = 47
|
POSITION(15) = 49
|
||||||
POSITION(16) = 53
|
POSITION(16) = 55
|
||||||
POSITION(17) = 58
|
POSITION(17) = 64
|
||||||
POSITION(18) = 61
|
POSITION(18) = 69
|
||||||
POSITION(19) = 112
|
POSITION(19) = 71
|
||||||
POSITION(20) = 114
|
|
||||||
POSITION(21) = 144
|
|
||||||
POSITION(22) = 152
|
|
||||||
POSITION(23) = 172
|
|
||||||
POSITION(24) = 174
|
|
||||||
|
|
||||||
FIELD(1) = TIPOCF
|
FIELD(1) = TIPOCF
|
||||||
FIELD(3) = CODCF
|
FIELD(3) = CODCF
|
||||||
@ -356,6 +342,7 @@ FIELD(7) = 17->CODSCC
|
|||||||
FIELD(8) = 17->SCONTO
|
FIELD(8) = 17->SCONTO
|
||||||
FIELD(9) = 17->CODMAG
|
FIELD(9) = 17->CODMAG
|
||||||
FIELD(10) = 17->CODDEP
|
FIELD(10) = 17->CODDEP
|
||||||
|
FIELD(11) = 17->CODSP1
|
||||||
FIELD(12) = 17->PROFSOLL
|
FIELD(12) = 17->PROFSOLL
|
||||||
FIELD(13) = 17->MAXSOLL
|
FIELD(13) = 17->MAXSOLL
|
||||||
FIELD(14) = 17->DATAESC
|
FIELD(14) = 17->DATAESC
|
||||||
|
58
ibm36/ibm36mag.ini
Executable file
58
ibm36/ibm36mag.ini
Executable file
@ -0,0 +1,58 @@
|
|||||||
|
[MAIN]
|
||||||
|
TYPELEN = 0
|
||||||
|
TYPEPOS = 0
|
||||||
|
|
||||||
|
[RECORD]
|
||||||
|
|
||||||
|
NAME(0) = STATO RECORD
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 1
|
||||||
|
|
||||||
|
NAME(1) = CODICE ESERCIZIO
|
||||||
|
POSITION(1) = 1
|
||||||
|
LENGTH(1) = 2
|
||||||
|
FIELD(1) = ANNOES
|
||||||
|
|
||||||
|
NAME(2) = NUMERO REGISTRAZIONE
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 6
|
||||||
|
|
||||||
|
NAME(3) = DATA REGISTRAZIONE
|
||||||
|
POSITION(3) = 9
|
||||||
|
LENGTH(3) = 6
|
||||||
|
FIELD(3) = DATAREG
|
||||||
|
|
||||||
|
NAME(4) = TIPO DOCUMENTO
|
||||||
|
|
||||||
|
NAME(5) = ANNO DOCUMENTO
|
||||||
|
|
||||||
|
NAME(6) = NUMERO DOCUMENTO
|
||||||
|
|
||||||
|
NAME(7) = DATA DOCUMENTO
|
||||||
|
|
||||||
|
NAME(8) = TIPO CODICE
|
||||||
|
POSITION(8) = 30
|
||||||
|
LENGTH(8) = 1
|
||||||
|
FIELD(8) = TIPOCF
|
||||||
|
|
||||||
|
NAME(9) = CODICE CLIFO
|
||||||
|
POSITION(9) = 31
|
||||||
|
LENGTH(9) = 6
|
||||||
|
FIELD(9) = CODCF
|
||||||
|
|
||||||
|
NAME(10) = CODICE VALUTA
|
||||||
|
|
||||||
|
NAME(11) = CAMBIO
|
||||||
|
|
||||||
|
NAME(12) = TIPO DOUMENTO
|
||||||
|
|
||||||
|
NAME(13) = DATA DOCUMENTO
|
||||||
|
POSITION(13) = 53
|
||||||
|
LENGTH(13) = 6
|
||||||
|
FIELD(13) = EX_DATADOC
|
||||||
|
|
||||||
|
NAME(14) = NUMERO DOCUMENTO
|
||||||
|
POSITION(14) = 59
|
||||||
|
LENGTH(14) = 7
|
||||||
|
FIELD(14) = EX_NUMDOC
|
||||||
|
|
115
ibm36/ibm36rig.ini
Executable file
115
ibm36/ibm36rig.ini
Executable file
@ -0,0 +1,115 @@
|
|||||||
|
[MAIN]
|
||||||
|
TYPEPOS = 13
|
||||||
|
TYPELEN = 1
|
||||||
|
|
||||||
|
[RECORD 1]
|
||||||
|
|
||||||
|
NAME(0) = STATO RECORD
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 1
|
||||||
|
|
||||||
|
NAME(1) = CODICE ESERCIZIO
|
||||||
|
POSITION(1) = 1
|
||||||
|
LENGTH(1) = 2
|
||||||
|
|
||||||
|
NAME(2) = NUMERO REGISTRAZIONE
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 6
|
||||||
|
|
||||||
|
NAME(3) = NUMERO RIGA
|
||||||
|
POSITION(3) = 9
|
||||||
|
LENGTH(3) = 4
|
||||||
|
|
||||||
|
NAME(4) = TIPO RECORD
|
||||||
|
POSITION(4) = 13
|
||||||
|
LENGTH(4) = 1
|
||||||
|
|
||||||
|
NAME(5) = CODICE ARTICOLO
|
||||||
|
POSITION(5) = 14
|
||||||
|
LENGTH(5) = 10
|
||||||
|
FIELD(5) = CODART
|
||||||
|
|
||||||
|
NAME(6) = DATA REGISTRAZIONE
|
||||||
|
POSITION(6) = 33
|
||||||
|
LENGTH(6) = 6
|
||||||
|
|
||||||
|
NAME(7) = CODICE MAGAZZINO
|
||||||
|
POSITION(7) = 39
|
||||||
|
LENGTH(7) = 3
|
||||||
|
FIELD(7) = CODMAG
|
||||||
|
|
||||||
|
NAME(8) = CAUSALE MAGAZZINO
|
||||||
|
POSITION(8) = 42
|
||||||
|
LENGTH(8) = 2
|
||||||
|
FIELD(8) = CAUS
|
||||||
|
|
||||||
|
NAME(9) = UNITA DI MISURA
|
||||||
|
POSITION(9) = 76
|
||||||
|
LENGTH(9) = 2
|
||||||
|
FIELD(9) = UM
|
||||||
|
|
||||||
|
NAME(10) = QUANT
|
||||||
|
POSITION(10) = 80
|
||||||
|
LENGTH(10) = 11
|
||||||
|
FIELD(10) = QUANT
|
||||||
|
|
||||||
|
NAME(11) = PREZZO
|
||||||
|
POSITION(11) = 102
|
||||||
|
LENGTH(11) = 11
|
||||||
|
FIELD(11) = PREZZO
|
||||||
|
|
||||||
|
[RECORD 2]
|
||||||
|
|
||||||
|
NAME(0) = STATO RECORD
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 1
|
||||||
|
|
||||||
|
NAME(1) = CODICE ESERCIZIO
|
||||||
|
POSITION(1) = 1
|
||||||
|
LENGTH(1) = 2
|
||||||
|
|
||||||
|
NAME(2) = NUMERO REGISTRAZIONE
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 6
|
||||||
|
|
||||||
|
NAME(3) = NUMERO RIGA
|
||||||
|
POSITION(3) = 9
|
||||||
|
LENGTH(3) = 4
|
||||||
|
|
||||||
|
NAME(4) = TIPO RECORD
|
||||||
|
POSITION(4) = 13
|
||||||
|
LENGTH(4) = 1
|
||||||
|
|
||||||
|
NAME(5) = CODICE ARTICOLO
|
||||||
|
POSITION(5) = 14
|
||||||
|
LENGTH(5) = 10
|
||||||
|
FIELD(5) = CODART
|
||||||
|
|
||||||
|
NAME(6) = DATA REGISTRAZIONE
|
||||||
|
POSITION(6) = 33
|
||||||
|
LENGTH(6) = 6
|
||||||
|
|
||||||
|
NAME(7) = CODICE MAGAZZINO
|
||||||
|
POSITION(7) = 39
|
||||||
|
LENGTH(7) = 3
|
||||||
|
FIELD(7) = CODMAG
|
||||||
|
|
||||||
|
NAME(8) = CAUSALE MAGAZZINO
|
||||||
|
POSITION(8) = 42
|
||||||
|
LENGTH(8) = 2
|
||||||
|
FIELD(8) = CAUS
|
||||||
|
|
||||||
|
NAME(9) = UNITA DI MISURA
|
||||||
|
POSITION(9) = 76
|
||||||
|
LENGTH(9) = 2
|
||||||
|
FIELD(9) = UM
|
||||||
|
|
||||||
|
NAME(10) = QUANT
|
||||||
|
POSITION(10) = 80
|
||||||
|
LENGTH(10) = 11
|
||||||
|
FIELD(10) = QUANT
|
||||||
|
|
||||||
|
NAME(11) = PREZZO
|
||||||
|
POSITION(11) = 102
|
||||||
|
LENGTH(11) = 11
|
||||||
|
FIELD(11) = PREZZO
|
Loading…
x
Reference in New Issue
Block a user