Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Aggiunta importazione dati per condizioni di vendita: Listini/Contratti/Offerte (o Campagne) git-svn-id: svn://10.65.10.50/trunk@6994 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
08cc30d1dd
commit
11f8358b10
@ -126,6 +126,7 @@ public:
|
||||
void import_tables(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_condv(const TFilename& name, TBrowsefile_field& bf);
|
||||
void import_movmag(const TFilename& name, TBrowsefile_field& bf);
|
||||
void import_rigmag(const TFilename& name, TBrowsefile_field& bf);
|
||||
};
|
||||
@ -234,7 +235,7 @@ void TTrasfer36::import_tables(const TFilename& name, TBrowsefile_field& bf)
|
||||
break;
|
||||
|
||||
const TString& type = curr.type();
|
||||
if (type == "A26")
|
||||
if (type == "A26") // Tabella banche
|
||||
{
|
||||
const TString& ann = file.get_field(curr, "ANNULLATO");
|
||||
if (ann != "A")
|
||||
@ -327,6 +328,29 @@ void TTrasfer36::import_tables(const TFilename& name, TBrowsefile_field& bf)
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if (type == "A11") // File testate listini
|
||||
{
|
||||
const TString& ann = file.get_field(curr, "ANNULLATO");
|
||||
if (ann != "A")
|
||||
{
|
||||
file.add_field(curr, "TIPO", "L");
|
||||
mettilavirgola(file, curr, "CAMBIO", 11, 5);
|
||||
machedata(file, curr, "INIZIO VALIDITA");
|
||||
machedata(file, curr, "FINE VALIDITA");
|
||||
machedata(file, curr, "DATA CAMBIO");
|
||||
// TBI: traduzione campo SEQRIC per la sequenza di ricerca
|
||||
const int err = file.autosave(curr);
|
||||
if (err != NOERR)
|
||||
{
|
||||
msg = "! Errore di scrittura sul file LF_CONDV: ";
|
||||
msg << err;
|
||||
bf.add_line(msg);
|
||||
}
|
||||
else
|
||||
valid++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_bankitalia.update();
|
||||
@ -597,20 +621,11 @@ void TTrasfer36::import_anaart(const TFilename& name, TBrowsefile_field& bf)
|
||||
des.strip_d_spaces();
|
||||
file.add_field(curr, "DESCRIZIONE ARTICOLO", des);
|
||||
|
||||
r = real(file.get_field(curr, "COSTO STANDARD")) / CENTO;
|
||||
file.add_field(curr, "COSTO STANDARD", r.string());
|
||||
|
||||
r = real(file.get_field(curr, "TARA")) / CENTO;
|
||||
file.add_field(curr, "TARA", r.string());
|
||||
|
||||
r = real(file.get_field(curr, "PESO")) / CENTO;
|
||||
file.add_field(curr, "PESO", r.string());
|
||||
|
||||
r = real(file.get_field(curr, "PERCENTUALE PROVVIGIONE")) / CENTO;
|
||||
file.add_field(curr, "PERCENTUALE PROVVIGIONE", r.string());
|
||||
|
||||
r = real(file.get_field(curr, "PERCENTUALE SCONTO")) / CENTO;
|
||||
file.add_field(curr, "PERCENTUALE SCONTO", r.string());
|
||||
mettilavirgola(file, curr, "COSTO STANDARD", 11, 2);
|
||||
mettilavirgola(file, curr, "TARA", 7, 2);
|
||||
mettilavirgola(file, curr, "PESO", 7, 2);
|
||||
mettilavirgola(file, curr, "PERCENTUALE PROVVIGIONE", 5, 2);
|
||||
mettilavirgola(file, curr, "PERCENTUALE SCONTO", 5, 2);
|
||||
|
||||
int err = file.autosave(rel, curr);
|
||||
if (err != NOERR)
|
||||
@ -667,6 +682,245 @@ void TTrasfer36::import_anaart(const TFilename& name, TBrowsefile_field& bf)
|
||||
bf.add_line("");
|
||||
}
|
||||
|
||||
void TTrasfer36::import_condv(const TFilename& name, TBrowsefile_field& bf)
|
||||
{
|
||||
TString msg,des,cod;
|
||||
msg = "Importazione Condizioni di vendita";
|
||||
TProgind pi(::fsize(name), msg, TRUE, TRUE);
|
||||
TFile_text file(name, "ibm36cvn.ini");
|
||||
long valid = 0;
|
||||
|
||||
msg.insert("@b", 0);
|
||||
bf.add_line(msg);
|
||||
bf.add_line("");
|
||||
|
||||
TRelation rel(LF_RCONDV);
|
||||
rel.add(LF_CONDV,"TIPO==TIPO|CATVEN==CATVEN|TIPOCF==TIPOCF|CODCF==CODCF|COD==COD");
|
||||
TLocalisamfile& rcondv = rel.lfile();
|
||||
TLocalisamfile& condv= rel.lfile(LF_CONDV);
|
||||
|
||||
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, "ANNULLATO")[0];
|
||||
if (stato_record == 'A') // ANNULLATO is always defined ;-)
|
||||
continue;
|
||||
|
||||
const char tipo_record = curr.type()[0];
|
||||
int err = NOERR;
|
||||
file.add_field(curr, "TIPO ARCHIVIO", "A"); // E' sempre tipo <A>rticolo ??? waiting for Morena's call...
|
||||
switch (tipo_record)
|
||||
{
|
||||
case 'A': // Righe listini. Non necessitano di scrittura testata
|
||||
case 'B':
|
||||
file.add_field(curr, "TIPO", "L"); // Sostituisce
|
||||
if (tipo_record == 'A')
|
||||
{
|
||||
mettilavirgola(file, curr, "QTA LIMITE SCAGLIONE", 11, 3);
|
||||
mettilavirgola(file, curr, "PREZZO VENDITA", 11, 2);
|
||||
mettilavirgola(file, curr, "PERCENTUALE SCONTO", 5, 2);
|
||||
mettilavirgola(file, curr, "PERCENTUALE PROVVIGIONE", 5, 2);
|
||||
mettilavirgola(file, curr, "QTA MERCE SCONTATA", 9, 3);
|
||||
// Scrive o aggiorna tranquillamente i record di tipo "A", se vi sono
|
||||
// record omaggio vengono dopo, (cfr FLAG PRESENZA ARTICOLO OMAGGIO)
|
||||
err = file.autosave(rel, curr);
|
||||
}
|
||||
else
|
||||
{
|
||||
mettilavirgola(file, curr, "PREZZO ARTICOLO OMAGGIO IN LIRE", 11, 2);
|
||||
// Uff... in sto caso dobbiamo prima leggere il record corrispondente
|
||||
// e se esiste assegnare solo i campi da aggiornare:
|
||||
// CODARTOM CODLOTTO ADDIVA UMOM PROMAGGIO
|
||||
rcondv.put("TIPO", "L");
|
||||
rcondv.put("CATVEN", file.get_field(curr,"CATEGORIA VENDITE"));
|
||||
rcondv.put("COD", file.get_field(curr,"CODICE LISTINO"));
|
||||
rcondv.put("TIPORIGA", "A"); // See above... waiting for Morena's call ??
|
||||
rcondv.put("CODRIGA", file.get_field(curr,"CHIAVE RIGA"));
|
||||
rcondv.put("UM", file.get_field(curr,"UNITA MISURA"));
|
||||
rcondv.put("NSCAGL", file.get_field(curr,"NUMERO SCAGLIONE"));
|
||||
|
||||
if (rcondv.read() == NOERR) // Se esiste il record lo aggiorna...
|
||||
{
|
||||
rcondv.put("CODARTOM", file.get_field(curr,"CODICE ARTICOLO OMAGGIO"));
|
||||
rcondv.put("CODLOTTO", file.get_field(curr,"CODICE LOTTO"));
|
||||
rcondv.put("ADDIVA", file.get_field(curr,"ADDEBITO IVA OMAGGIO"));
|
||||
rcondv.put("UMOM", file.get_field(curr,"UM QTA IN OMAGGIO"));
|
||||
rcondv.put("PROMAGGIO", file.get_field(curr,"PREZZO ARTICOLO OMAGGIO IN LIRE"));
|
||||
rcondv.rewrite();
|
||||
}
|
||||
else
|
||||
err = file.autosave(rel, curr); // Se non esiste lo scrive cosi' com'e'
|
||||
}
|
||||
|
||||
if (err != NOERR)
|
||||
{
|
||||
msg = "! Errore di scrittura righe listini sul file LF_RCONDV: ";
|
||||
msg << err;
|
||||
bf.add_line(msg);
|
||||
}
|
||||
else
|
||||
valid++;
|
||||
break;
|
||||
case 'C': // Righe campagne (offerte nel nostro caso)
|
||||
case 'D':
|
||||
file.add_field(curr, "TIPO", "O"); // Sostituisce
|
||||
cod = file.get_field(curr,"CODICE");
|
||||
if (tipo_record == 'C')
|
||||
{
|
||||
mettilavirgola(file, curr, "QTA LIMITE SCAGLIONE", 11, 3);
|
||||
mettilavirgola(file, curr, "PREZZO NETTO", 11, 2);
|
||||
mettilavirgola(file, curr, "PERCENTUALE SCONTO", 5, 2);
|
||||
mettilavirgola(file, curr, "PERCENTUALE PROVVIGIONE", 5, 2);
|
||||
mettilavirgola(file, curr, "QTA MERCE SCONTATA", 9, 3);
|
||||
// Scrive o aggiorna tranquillamente i record di tipo "A": se vi sono
|
||||
// record omaggio vengono dopo, (cfr FLAG PRESENZA ARTICOLO OMAGGIO)
|
||||
err = file.autosave(rel, curr);
|
||||
// Scrive la testata... ma solo se non esiste:
|
||||
if (err == NOERR)
|
||||
{
|
||||
if (!rel.is_first_match(LF_CONDV)) // ... non esiste la testata?
|
||||
{
|
||||
des = "Offerta ";
|
||||
des << cod;
|
||||
condv.put("TIPO","O");
|
||||
condv.put("CATVEN","");
|
||||
condv.put("TIPOCF","");
|
||||
condv.put("CODCF", "");
|
||||
condv.put("COD",cod);
|
||||
condv.put("DESCR", des);
|
||||
condv.put("VALIN",file.get_field(curr,"VALIDITA INIZIALE"));
|
||||
condv.put("VALFIN",file.get_field(curr,"VALIDITA FINALE"));
|
||||
if (condv.write() != NOERR) // Allora la scrive...
|
||||
{
|
||||
msg.format("! Errore %d di scrittura testata offerte sul file LF_CONDV: %s", condv.status(), (const char*) cod);
|
||||
bf.add_line(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mettilavirgola(file, curr, "PREZZO ARTICOLO OMAGGIO IN LIRE", 11, 2);
|
||||
rcondv.put("TIPO", "O");
|
||||
rcondv.put("CATVEN", "");
|
||||
rcondv.put("COD", cod);
|
||||
rcondv.put("TIPORIGA", "A"); // See above... waiting for Morena's call ??
|
||||
rcondv.put("CODRIGA", file.get_field(curr,"CHIAVE RIGA"));
|
||||
rcondv.put("UM", file.get_field(curr,"UNITA MISURA"));
|
||||
rcondv.put("NSCAGL", file.get_field(curr,"NUMERO SCAGLIONE"));
|
||||
|
||||
if (rcondv.read() == NOERR) // Se esiste il record lo aggiorna...
|
||||
{
|
||||
rcondv.put("CODARTOM", file.get_field(curr,"CODICE ARTICOLO OMAGGIO"));
|
||||
rcondv.put("CODLOTTO", file.get_field(curr,"CODICE LOTTO"));
|
||||
rcondv.put("ADDIVA", file.get_field(curr,"ADDEBITO IVA OMAGGIO"));
|
||||
rcondv.put("UMOM", file.get_field(curr,"UM QTA IN OMAGGIO"));
|
||||
rcondv.put("PROMAGGIO", file.get_field(curr,"PREZZO ARTICOLO OMAGGIO IN LIRE"));
|
||||
rcondv.rewrite();
|
||||
}
|
||||
else
|
||||
err = file.autosave(rel, curr); // Se non esiste lo scrive cosi' com'e'
|
||||
}
|
||||
if (err != NOERR)
|
||||
{
|
||||
msg = "! Errore di scrittura righe offerte sul file LF_RCONDV: ";
|
||||
msg << err;
|
||||
bf.add_line(msg);
|
||||
}
|
||||
else
|
||||
valid++;
|
||||
break;
|
||||
case 'E': // Righe contratti
|
||||
case 'F':
|
||||
{
|
||||
file.add_field(curr, "TIPO", "C"); // Sostituisce
|
||||
const char* tipocf = (atol(file.get_field(curr,"TIPO ANAGRAFICA")) & 0x1) ? "C" : "F";
|
||||
const long codcf = atol(file.get_field(curr, "CODICE CLIENTE"));
|
||||
cod = file.get_field(curr,"NUMERO CONTRATTO");
|
||||
file.add_field(curr, "TIPO ANAGRAFICA", tipocf);
|
||||
if (tipo_record == 'E')
|
||||
{
|
||||
mettilavirgola(file, curr, "QTA LIMITE SCAGLIONE", 11, 3);
|
||||
mettilavirgola(file, curr, "PREZZO VENDITA", 11, 2);
|
||||
mettilavirgola(file, curr, "PERCENTUALE SCONTO", 5, 2);
|
||||
mettilavirgola(file, curr, "PERCENTUALE PROVVIGIONE", 5, 2);
|
||||
mettilavirgola(file, curr, "QTA MERCE SCONTATA", 9, 3);
|
||||
// Scrive o aggiorna tranquillamente i record di tipo "A": se vi sono
|
||||
// record omaggio vengono dopo, (cfr FLAG PRESENZA ARTICOLO OMAGGIO)
|
||||
err = file.autosave(rel, curr);
|
||||
|
||||
// Scrive la testata... ma solo se non esiste:
|
||||
if (err == NOERR)
|
||||
{
|
||||
if (!rel.is_first_match(LF_CONDV)) // ... non esiste la testata?
|
||||
{
|
||||
des = "Contratto ";
|
||||
des << cod;
|
||||
condv.put("TIPO","C");
|
||||
condv.put("CATVEN","");
|
||||
condv.put("TIPOCF",tipocf);
|
||||
condv.put("CODCF", codcf);
|
||||
condv.put("COD",cod);
|
||||
condv.put("DESCR", des);
|
||||
if (condv.write() != NOERR) // Allora la scrive...
|
||||
{
|
||||
msg.format("! Errore %d di scrittura testata contratti sul file LF_CONDV: %s", condv.status(), (const char*) cod);
|
||||
bf.add_line(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mettilavirgola(file, curr, "PREZZO ARTICOLO OMAGGIO IN LIRE", 11, 2);
|
||||
rcondv.put("TIPO", "C");
|
||||
rcondv.put("TIPOCF", tipocf);
|
||||
rcondv.put("CODCF", codcf);
|
||||
rcondv.put("CATVEN", "");
|
||||
rcondv.put("COD", cod);
|
||||
rcondv.put("TIPORIGA", "A"); // See above... waiting for Morena's call ??
|
||||
rcondv.put("CODRIGA", file.get_field(curr,"CHIAVE RIGA"));
|
||||
rcondv.put("UM", file.get_field(curr,"UNITA MISURA"));
|
||||
rcondv.put("NSCAGL", file.get_field(curr,"NUMERO SCAGLIONE"));
|
||||
|
||||
if (rcondv.read() == NOERR) // Se esiste il record lo aggiorna...
|
||||
{
|
||||
rcondv.put("CODARTOM", file.get_field(curr,"CODICE ARTICOLO OMAGGIO"));
|
||||
rcondv.put("CODLOTTO", file.get_field(curr,"CODICE LOTTO"));
|
||||
rcondv.put("ADDIVA", file.get_field(curr,"ADDEBITO IVA OMAGGIO"));
|
||||
rcondv.put("UMOM", file.get_field(curr,"UM QTA IN OMAGGIO"));
|
||||
rcondv.put("PROMAGGIO", file.get_field(curr,"PREZZO ARTICOLO OMAGGIO IN LIRE"));
|
||||
rcondv.rewrite();
|
||||
}
|
||||
else
|
||||
err = file.autosave(rel, curr); // Se non esiste lo scrive cosi' com'e'
|
||||
}
|
||||
if (err != NOERR)
|
||||
{
|
||||
msg = "! Errore di scrittura righe contratti sul file LF_RCONDV: ";
|
||||
msg << err;
|
||||
bf.add_line(msg);
|
||||
}
|
||||
else
|
||||
valid++;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Messaggio finale di elaborazione
|
||||
msg = "Record importati: ";
|
||||
msg << valid;
|
||||
bf.add_line(msg);
|
||||
bf.add_line("");
|
||||
}
|
||||
|
||||
void TTrasfer36::import_movmag(const TFilename& name, TBrowsefile_field& bf)
|
||||
{
|
||||
TString msg, str;
|
||||
@ -849,9 +1103,8 @@ void TTrasfer36::main_loop()
|
||||
while (m.run() == K_ENTER)
|
||||
{
|
||||
vw.destroy_lines();
|
||||
|
||||
const TFilename dir = m.get(100);
|
||||
for (short id = 101; id <= 105; id++)
|
||||
for (short id = 101; id <= 106; id++)
|
||||
{
|
||||
const TMask_field& fld = m.field(id);
|
||||
if (fld.enabled() && !fld.empty())
|
||||
@ -865,6 +1118,7 @@ void TTrasfer36::main_loop()
|
||||
case 103: import_anaart(name, bf); break;
|
||||
case 104: import_movmag(name, bf); break;
|
||||
case 105: import_rigmag(name, bf); break;
|
||||
case 106: import_condv(name, bf); break;
|
||||
default : break;
|
||||
}
|
||||
}
|
||||
|
@ -80,9 +80,21 @@ BEGIN
|
||||
PROMPT 47 4 ""
|
||||
END
|
||||
|
||||
BOOLEAN 206
|
||||
BEGIN
|
||||
PROMPT 1 5 "Cond. v."
|
||||
MESSAGE FALSE DISABLE,106
|
||||
MESSAGE TRUE ENABLE,106
|
||||
END
|
||||
|
||||
STRING 106 16
|
||||
BEGIN
|
||||
PROMPT 13 5 ""
|
||||
END
|
||||
|
||||
BROWSEFILE 300 -3 -1
|
||||
BEGIN
|
||||
PROMPT 0 5 ""
|
||||
PROMPT 0 6 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
|
455
ibm36/ibm36cvn.ini
Executable file
455
ibm36/ibm36cvn.ini
Executable file
@ -0,0 +1,455 @@
|
||||
[MAIN]
|
||||
TYPEPOS = 1
|
||||
TYPELEN = 1
|
||||
|
||||
[RECORD A]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 2
|
||||
LENGTH(3) = 2
|
||||
LENGTH(4) = 1
|
||||
LENGTH(5) = 19
|
||||
LENGTH(6) = 6
|
||||
LENGTH(7) = 2
|
||||
LENGTH(8) = 1
|
||||
LENGTH(9) = 5
|
||||
LENGTH(10) = 11
|
||||
LENGTH(11) = 11
|
||||
LENGTH(12) = 5
|
||||
LENGTH(13) = 5
|
||||
LENGTH(14) = 9
|
||||
LENGTH(15) = 7
|
||||
LENGTH(16) = 1
|
||||
LENGTH(17) = 11
|
||||
LENGTH(18) = 7
|
||||
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPO
|
||||
NAME(2) = CATEGORIA VENDITE
|
||||
NAME(3) = CODICE LISTINO
|
||||
NAME(4) = TIPO ARCHIVIO
|
||||
NAME(5) = CHIAVE RIGA
|
||||
NAME(6) = CODICE LOTTO
|
||||
NAME(7) = UNITA MISURA
|
||||
NAME(8) = NUMERO SCAGLIONE
|
||||
NAME(9) = FILLER
|
||||
NAME(10) = QTA LIMITE SCAGLIONE
|
||||
NAME(11) = PREZZO VENDITA
|
||||
NAME(12) = PERCENTUALE SCONTO
|
||||
NAME(13) = PERCENTUALE PROVVIGIONE
|
||||
NAME(14) = QTA MERCE SCONTATA
|
||||
NAME(15) = QTA BASE PER SCONTO
|
||||
NAME(16) = FLAG PRESENZA ARTICOLO OMAGGIO
|
||||
NAME(17) = PREZZO NETTO DA VALUTA
|
||||
NAME(18) = ULTIMO AGGIORNAMENTO
|
||||
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 4
|
||||
POSITION(4) = 6
|
||||
POSITION(5) = 7
|
||||
POSITION(6) = 26
|
||||
POSITION(7) = 32
|
||||
POSITION(8) = 34
|
||||
POSITION(9) = 35
|
||||
POSITION(10) = 40
|
||||
POSITION(11) = 51
|
||||
POSITION(12) = 62
|
||||
POSITION(13) = 72
|
||||
POSITION(14) = 77
|
||||
POSITION(15) = 86
|
||||
POSITION(16) = 93
|
||||
POSITION(17) = 94
|
||||
POSITION(18) = 105
|
||||
|
||||
FIELD(1) = TIPO
|
||||
FIELD(2) = CATVEN
|
||||
FIELD(3) = COD
|
||||
FIELD(4) = TIPORIGA
|
||||
FIELD(5) = CODRIGA
|
||||
FIELD(6) = CODLOTTO
|
||||
FIELD(7) = UM
|
||||
FIELD(8) = NSCAGL
|
||||
FIELD(10) = QLIM
|
||||
FIELD(11) = PREZZO
|
||||
FIELD(12) = SCONTO
|
||||
FIELD(13) = PERCPROVV
|
||||
FIELD(14) = QOM
|
||||
FIELD(15) = QBASE
|
||||
|
||||
[RECORD B]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 2
|
||||
LENGTH(3) = 2
|
||||
LENGTH(4) = 1
|
||||
LENGTH(5) = 19
|
||||
LENGTH(6) = 6
|
||||
LENGTH(7) = 2
|
||||
LENGTH(8) = 1
|
||||
LENGTH(9) = 5
|
||||
LENGTH(10) = 19
|
||||
LENGTH(11) = 6
|
||||
LENGTH(12) = 2
|
||||
LENGTH(13) = 1
|
||||
LENGTH(14) = 2
|
||||
LENGTH(15) = 11
|
||||
LENGTH(16) = 11
|
||||
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPO
|
||||
NAME(2) = CATEGORIA VENDITE
|
||||
NAME(3) = CODICE LISTINO
|
||||
NAME(4) = TIPO ARCHIVIO
|
||||
NAME(5) = CHIAVE RIGA
|
||||
NAME(6) = CODICE LOTTO
|
||||
NAME(7) = UNITA MISURA
|
||||
NAME(8) = NUMERO SCAGLIONE
|
||||
NAME(9) = FILLER
|
||||
NAME(10) = CODICE ARTICOLO OMAGGIO
|
||||
NAME(11) = CODICE LOTTO TAGLIA
|
||||
NAME(12) = CODICE ASS FISCALE
|
||||
NAME(13) = ADDEBITO IVA OMAGGIO
|
||||
NAME(14) = UM QTA IN OMAGGIO
|
||||
NAME(15) = PREZZO ARTICOLO OMAGGIO IN LIRE
|
||||
NAME(16) = PREZZO ARTICOLO OMAGGIO IN VALUTA
|
||||
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 4
|
||||
POSITION(4) = 6
|
||||
POSITION(5) = 7
|
||||
POSITION(6) = 26
|
||||
POSITION(7) = 32
|
||||
POSITION(8) = 34
|
||||
POSITION(9) = 35
|
||||
POSITION(10) = 40
|
||||
POSITION(11) = 59
|
||||
POSITION(12) = 65
|
||||
POSITION(13) = 67
|
||||
POSITION(14) = 68
|
||||
POSITION(15) = 70
|
||||
POSITION(16) = 82
|
||||
|
||||
FIELD(1) = TIPO
|
||||
FIELD(2) = CATVEN
|
||||
FIELD(3) = COD
|
||||
FIELD(4) = TIPORIGA
|
||||
FIELD(5) = CODRIGA
|
||||
FIELD(6) = CODLOTTO
|
||||
FIELD(7) = UM
|
||||
FIELD(8) = NSCAGL
|
||||
FIELD(10) = CODARTOM
|
||||
FIELD(13) = ADDIVA
|
||||
FIELD(14) = UMOM
|
||||
FIELD(15) = PROMAGGIO
|
||||
|
||||
[RECORD C]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 3
|
||||
LENGTH(3) = 1
|
||||
LENGTH(4) = 19
|
||||
LENGTH(5) = 6
|
||||
LENGTH(6) = 2
|
||||
LENGTH(7) = 1
|
||||
LENGTH(8) = 6
|
||||
LENGTH(9) = 11
|
||||
LENGTH(10) = 11
|
||||
LENGTH(11) = 11
|
||||
LENGTH(12) = 5
|
||||
LENGTH(13) = 5
|
||||
LENGTH(14) = 9
|
||||
LENGTH(15) = 7
|
||||
LENGTH(16) = 1
|
||||
LENGTH(17) = 6
|
||||
LENGTH(18) = 6
|
||||
LENGTH(19) = 1
|
||||
LENGTH(20) = 1
|
||||
LENGTH(21) = 1
|
||||
LENGTH(22) = 1
|
||||
LENGTH(23) = 7
|
||||
LENGTH(24) = 11
|
||||
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPO
|
||||
NAME(2) = CODICE
|
||||
NAME(3) = TIPO ARCHIVIO
|
||||
NAME(4) = CHIAVE RIGA
|
||||
NAME(5) = CODICE LOTTO
|
||||
NAME(6) = UNITA MISURA
|
||||
NAME(7) = NUMERO SCAGLIONE
|
||||
NAME(8) = FILLER
|
||||
NAME(9) = QTA LIMITE SCAGLIONE
|
||||
NAME(10) = PREZZO NETTO
|
||||
NAME(11) = PREZZO LORDO
|
||||
NAME(12) = PERCENTUALE SCONTO
|
||||
NAME(13) = PERCENTUALE PROVVIGIONE
|
||||
NAME(14) = QTA MERCE SCONTATA
|
||||
NAME(15) = QTA BASE PER SCONTO
|
||||
NAME(16) = FLAG PRESENZA ARTICOLO OMAGGIO
|
||||
NAME(17) = VALIDITA INIZIALE
|
||||
NAME(18) = VALIDITA FINALE
|
||||
NAME(19) = APPLICAZIONE PREZZO
|
||||
NAME(20) = APPLICAZIONE SCONTO
|
||||
NAME(21) = APPLICAZIONE PROVVIGIONE
|
||||
NAME(22) = ARTICOLO IN ESAURIMENTO
|
||||
NAME(23) = ULTIMO AGGIORNAMENTO
|
||||
NAME(24) = PREZZO NETTO DA VALUTA
|
||||
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 5
|
||||
POSITION(4) = 6
|
||||
POSITION(5) = 25
|
||||
POSITION(6) = 31
|
||||
POSITION(7) = 33
|
||||
POSITION(8) = 34
|
||||
POSITION(9) = 40
|
||||
POSITION(10) = 51
|
||||
POSITION(11) = 62
|
||||
POSITION(12) = 73
|
||||
POSITION(13) = 83
|
||||
POSITION(14) = 88
|
||||
POSITION(15) = 97
|
||||
POSITION(16) = 104
|
||||
POSITION(17) = 105
|
||||
POSITION(18) = 111
|
||||
POSITION(19) = 117
|
||||
POSITION(20) = 118
|
||||
POSITION(21) = 119
|
||||
POSITION(22) = 120
|
||||
POSITION(23) = 127
|
||||
POSITION(24) = 138
|
||||
|
||||
FIELD(1) = TIPO
|
||||
FIELD(2) = COD
|
||||
FIELD(3) = TIPORIGA
|
||||
FIELD(4) = CODRIGA
|
||||
FIELD(5) = CODLOTTO
|
||||
FIELD(6) = UM
|
||||
FIELD(7) = NSCAGL
|
||||
FIELD(9) = QLIM
|
||||
FIELD(10) = PREZZO
|
||||
FIELD(12) = SCONTO
|
||||
FIELD(13) = PERCPROVV
|
||||
FIELD(14) = QOM
|
||||
FIELD(15) = QBASE
|
||||
FIELD(22) = ARTES
|
||||
|
||||
[RECORD D]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 3
|
||||
LENGTH(3) = 1
|
||||
LENGTH(4) = 19
|
||||
LENGTH(5) = 6
|
||||
LENGTH(6) = 2
|
||||
LENGTH(7) = 1
|
||||
LENGTH(8) = 6
|
||||
LENGTH(9) = 19
|
||||
LENGTH(10) = 6
|
||||
LENGTH(11) = 2
|
||||
LENGTH(12) = 1
|
||||
LENGTH(13) = 2
|
||||
LENGTH(14) = 11
|
||||
LENGTH(15) = 11
|
||||
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPO
|
||||
NAME(2) = CODICE
|
||||
NAME(3) = TIPO ARCHIVIO
|
||||
NAME(4) = CHIAVE RIGA
|
||||
NAME(5) = CODICE LOTTO
|
||||
NAME(6) = UNITA MISURA
|
||||
NAME(7) = NUMERO SCAGLIONE
|
||||
NAME(8) = FILLER
|
||||
NAME(9) = CODICE ARTICOLO OMAGGIO
|
||||
NAME(10) = CODICE LOTTO TAGLIA
|
||||
NAME(11) = CODICE ASS FISCALE
|
||||
NAME(12) = ADDEBITO IVA OMAGGIO
|
||||
NAME(13) = UM QTA IN OMAGGIO
|
||||
NAME(14) = PREZZO ARTICOLO OMAGGIO IN LIRE
|
||||
NAME(15) = PREZZO ARTICOLO OMAGGIO IN VALUTA
|
||||
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 5
|
||||
POSITION(4) = 6
|
||||
POSITION(5) = 25
|
||||
POSITION(6) = 31
|
||||
POSITION(7) = 33
|
||||
POSITION(8) = 34
|
||||
POSITION(9) = 40
|
||||
POSITION(10) = 59
|
||||
POSITION(11) = 65
|
||||
POSITION(12) = 67
|
||||
POSITION(13) = 68
|
||||
POSITION(14) = 70
|
||||
POSITION(15) = 81
|
||||
|
||||
FIELD(1) = TIPO
|
||||
FIELD(2) = COD
|
||||
FIELD(3) = TIPORIGA
|
||||
FIELD(4) = CODRIGA
|
||||
FIELD(5) = CODLOTTO
|
||||
FIELD(6) = UM
|
||||
FIELD(7) = NSCAGL
|
||||
FIELD(9) = CODARTOM
|
||||
FIELD(12) = ADDIVA
|
||||
FIELD(13) = UMOM
|
||||
FIELD(14) = PROMAGGIO
|
||||
|
||||
[RECORD E]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 1
|
||||
LENGTH(3) = 6
|
||||
LENGTH(4) = 2
|
||||
LENGTH(5) = 1
|
||||
LENGTH(6) = 19
|
||||
LENGTH(7) = 6
|
||||
LENGTH(8) = 2
|
||||
LENGTH(9) = 1
|
||||
LENGTH(10) = 11
|
||||
LENGTH(11) = 11
|
||||
LENGTH(12) = 5
|
||||
LENGTH(13) = 5
|
||||
LENGTH(14) = 9
|
||||
LENGTH(15) = 7
|
||||
LENGTH(16) = 1
|
||||
LENGTH(17) = 11
|
||||
LENGTH(18) = 20
|
||||
LENGTH(19) = 7
|
||||
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPO
|
||||
NAME(2) = TIPO ANAGRAFICA
|
||||
NAME(3) = CODICE CLIENTE
|
||||
NAME(4) = NUMERO CONTRATTO
|
||||
NAME(5) = TIPO ARCHIVIO
|
||||
NAME(6) = CHIAVE RIGA
|
||||
NAME(7) = CODICE LOTTO
|
||||
NAME(8) = UNITA DI MISURA
|
||||
NAME(9) = NUMERO SCAGLIONE
|
||||
NAME(10) = QTA LIMITE SCAGLIONE
|
||||
NAME(11) = PREZZO VENDITA
|
||||
NAME(12) = PERCENTUALE SCONTO
|
||||
NAME(13) = PERCENTUALE PROVVIGIONE
|
||||
NAME(14) = QTA MERCE SCONTATA
|
||||
NAME(15) = QTA BASE PER SCONTO
|
||||
NAME(16) = FLAG PRESENZA ARTICOLO OMAGGIO
|
||||
NAME(17) = PREZZO VENDITA IN VALUTA
|
||||
NAME(18) = CODICE ARTICOLO CLIENTE
|
||||
NAME(19) = ULTIMO AGGIORNAMENTO
|
||||
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 3
|
||||
POSITION(4) = 9
|
||||
POSITION(5) = 11
|
||||
POSITION(6) = 12
|
||||
POSITION(7) = 31
|
||||
POSITION(8) = 37
|
||||
POSITION(9) = 39
|
||||
POSITION(10) = 40
|
||||
POSITION(11) = 51
|
||||
POSITION(12) = 62
|
||||
POSITION(13) = 72
|
||||
POSITION(14) = 77
|
||||
POSITION(15) = 86
|
||||
POSITION(16) = 93
|
||||
POSITION(17) = 94
|
||||
POSITION(18) = 105
|
||||
POSITION(19) = 125
|
||||
|
||||
FIELD(1) = TIPO
|
||||
FIELD(2) = TIPOCF
|
||||
FIELD(3) = CODCF
|
||||
FIELD(4) = COD
|
||||
FIELD(5) = TIPORIGA
|
||||
FIELD(6) = CODRIGA
|
||||
FIELD(7) = CODLOTTO
|
||||
FIELD(8) = UM
|
||||
FIELD(9) = NSCAGL
|
||||
FIELD(10) = QLIM
|
||||
FIELD(11) = PREZZO
|
||||
FIELD(12) = SCONTO
|
||||
FIELD(13) = PERCPROVV
|
||||
FIELD(14) = QOM
|
||||
FIELD(15) = QBASE
|
||||
|
||||
[RECORD F]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 1
|
||||
LENGTH(3) = 6
|
||||
LENGTH(4) = 2
|
||||
LENGTH(5) = 1
|
||||
LENGTH(6) = 19
|
||||
LENGTH(7) = 6
|
||||
LENGTH(8) = 2
|
||||
LENGTH(9) = 1
|
||||
LENGTH(10) = 19
|
||||
LENGTH(11) = 6
|
||||
LENGTH(12) = 2
|
||||
LENGTH(13) = 1
|
||||
LENGTH(14) = 2
|
||||
LENGTH(15) = 11
|
||||
LENGTH(16) = 11
|
||||
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPO
|
||||
NAME(2) = TIPO ANAGRAFICA
|
||||
NAME(3) = CODICE CLIENTE
|
||||
NAME(4) = NUMERO CONTRATTO
|
||||
NAME(5) = TIPO ARCHIVIO
|
||||
NAME(6) = CHIAVE RIGA
|
||||
NAME(7) = CODICE LOTTO
|
||||
NAME(8) = UNITA DI MISURA
|
||||
NAME(9) = NUMERO SCAGLIONE
|
||||
NAME(10) = CODICE ARTICOLO OMAGGIO
|
||||
NAME(11) = CODICE LOTTO TAGLIA
|
||||
NAME(12) = CODICE ASS FISCALE
|
||||
NAME(13) = ADDEBITO IVA OMAGGIO
|
||||
NAME(14) = UM QTA IN OMAGGIO
|
||||
NAME(15) = PREZZO ARTICOLO OMAGGIO IN LIRE
|
||||
NAME(16) = PREZZO ARTICOLO OMAGGIO IN VALUTA
|
||||
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 3
|
||||
POSITION(4) = 9
|
||||
POSITION(5) = 11
|
||||
POSITION(6) = 12
|
||||
POSITION(7) = 31
|
||||
POSITION(8) = 37
|
||||
POSITION(9) = 39
|
||||
POSITION(10) = 40
|
||||
POSITION(11) = 59
|
||||
POSITION(12) = 65
|
||||
POSITION(13) = 67
|
||||
POSITION(14) = 68
|
||||
POSITION(15) = 70
|
||||
POSITION(16) = 81
|
||||
|
||||
FIELD(1) = TIPO
|
||||
FIELD(2) = TIPOCF
|
||||
FIELD(3) = CODCF
|
||||
FIELD(4) = COD
|
||||
FIELD(5) = TIPORIGA
|
||||
FIELD(6) = CODRIGA
|
||||
FIELD(7) = CODLOTTO
|
||||
FIELD(8) = UM
|
||||
FIELD(9) = NSCAGL
|
||||
FIELD(10) = CODARTOM
|
||||
FIELD(13) = ADDIVA
|
||||
FIELD(14) = UMOM
|
||||
FIELD(15) = PROMAGGIO
|
||||
|
@ -44,3 +44,76 @@ POSITION(9) = 129
|
||||
POSITION(10) = 134
|
||||
USE = %BAN
|
||||
|
||||
[RECORD A11]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 3
|
||||
LENGTH(2) = 2
|
||||
LENGTH(3) = 2
|
||||
LENGTH(4) = 9
|
||||
LENGTH(5) = 30
|
||||
LENGTH(6) = 3
|
||||
LENGTH(7) = 11
|
||||
LENGTH(8) = 6
|
||||
LENGTH(9) = 6
|
||||
LENGTH(10) = 2
|
||||
LENGTH(11) = 1
|
||||
LENGTH(12) = 4
|
||||
LENGTH(13) = 1
|
||||
LENGTH(14) = 1
|
||||
LENGTH(15) = 1
|
||||
LENGTH(16) = 1
|
||||
LENGTH(17) = 6
|
||||
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPO
|
||||
NAME(2) = CATEGORIA VENDITA
|
||||
NAME(3) = CODICE LISTINO
|
||||
NAME(4) = FILLER
|
||||
NAME(5) = DESCRIZIONE
|
||||
NAME(6) = CODICE DIVISA
|
||||
NAME(7) = CAMBIO
|
||||
NAME(8) = INIZIO VALIDITA
|
||||
NAME(9) = FINE VALIDITA
|
||||
NAME(10) = LISTINO SUCCESSIVO
|
||||
NAME(11) = FLAG LORDO
|
||||
NAME(12) = SEQUENZA RICERCA
|
||||
NAME(13) = GESTIONE UM
|
||||
NAME(14) = GESTIONE SCAGLIONI
|
||||
NAME(15) = GESTIONE SCONTI
|
||||
NAME(16) = TIPO GESTIONE
|
||||
NAME(17) = DATA CAMBIO
|
||||
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 4
|
||||
POSITION(3) = 6
|
||||
POSITION(4) = 8
|
||||
POSITION(5) = 17
|
||||
POSITION(6) = 47
|
||||
POSITION(7) = 50
|
||||
POSITION(8) = 61
|
||||
POSITION(9) = 67
|
||||
POSITION(10) = 73
|
||||
POSITION(11) = 75
|
||||
POSITION(12) = 76
|
||||
POSITION(13) = 80
|
||||
POSITION(14) = 81
|
||||
POSITION(15) = 82
|
||||
POSITION(16) = 83
|
||||
POSITION(17) = 84
|
||||
|
||||
FIELD(1) = TIPO
|
||||
FIELD(2) = CATVEN
|
||||
FIELD(3) = COD
|
||||
FIELD(5) = DESCR
|
||||
FIELD(6) = CODVAL
|
||||
FIELD(7) = CAMBIO
|
||||
FIELD(8) = VALIN
|
||||
FIELD(9) = VALFIN
|
||||
FIELD(10) = CODLISSUCC
|
||||
FIELD(12) = SEQRIC
|
||||
FIELD(13) = GESTUM
|
||||
FIELD(14) = GESTSCAGL
|
||||
FIELD(15) = GESTSCO
|
||||
FIELD(17) = DATACAM
|
||||
USE = 52
|
||||
|
Loading…
x
Reference in New Issue
Block a user