Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Aggiunta importazione record anagrafiche di magazzino git-svn-id: svn://10.65.10.50/trunk@6952 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
7e6e33cc8f
commit
f4c915ae99
@ -14,6 +14,9 @@
|
|||||||
#include <cfven.h>
|
#include <cfven.h>
|
||||||
#include <clifo.h>
|
#include <clifo.h>
|
||||||
|
|
||||||
|
#define CENTO 100.0
|
||||||
|
#define CMILA 100000.0
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TMask36 Maschera principale di selezione
|
// TMask36 Maschera principale di selezione
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -94,6 +97,7 @@ public:
|
|||||||
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_clifo(const TFilename& name, TBrowsefile_field& bf);
|
||||||
|
void import_anaart(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
|
||||||
@ -518,7 +522,6 @@ void TTrasfer36::import_clifo(const TFilename& name, TBrowsefile_field& bf)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default: break;// Ignored
|
default: break;// Ignored
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -529,6 +532,111 @@ void TTrasfer36::import_clifo(const TFilename& name, TBrowsefile_field& bf)
|
|||||||
bf.add_line("");
|
bf.add_line("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TTrasfer36::import_anaart(const TFilename& name, TBrowsefile_field& bf)
|
||||||
|
{
|
||||||
|
TString msg, des, codart, um;
|
||||||
|
real r;
|
||||||
|
msg = "Importazione Anagrafica articoli";
|
||||||
|
TProgind pi(::fsize(name), msg, TRUE, TRUE);
|
||||||
|
TFile_text file(name, "ibm36art.ini");
|
||||||
|
long valid = 0;
|
||||||
|
|
||||||
|
msg.insert("@b", 0);
|
||||||
|
bf.add_line(msg);
|
||||||
|
bf.add_line("");
|
||||||
|
TRelation rel(LF_ANAMAG);
|
||||||
|
rel.add(LF_UMART,"CODART=CODART");
|
||||||
|
|
||||||
|
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 == 0)
|
||||||
|
{
|
||||||
|
const char stato_record = file.get_field(curr, "ANNULLATO")[0];
|
||||||
|
if (stato_record == 'A')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
des = file.get_field(curr, "DESCRIZIONE ARTICOLO");
|
||||||
|
des << " ";
|
||||||
|
des << file.get_field(curr, "ESTENSIONE DESCRIZIONE");
|
||||||
|
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());
|
||||||
|
|
||||||
|
int err = file.autosave(rel, curr);
|
||||||
|
if (err != NOERR)
|
||||||
|
{
|
||||||
|
msg = "! Errore di scrittura sul file LF_ANAMAG: ";
|
||||||
|
msg << err;
|
||||||
|
bf.add_line(msg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
valid++;
|
||||||
|
codart = file.get_field(curr, "CODICE PRIMARIO");
|
||||||
|
TLocalisamfile& umart = rel.lfile(LF_UMART);
|
||||||
|
|
||||||
|
for (int nriga = 1; nriga <=3; nriga++)
|
||||||
|
{
|
||||||
|
umart.put("CODART",codart);
|
||||||
|
umart.put("NRIGA",nriga);
|
||||||
|
if (nriga == 1)
|
||||||
|
{
|
||||||
|
umart.put("FC", "1.00");
|
||||||
|
um = file.get_field(curr,"UNITA DI MISURA");
|
||||||
|
r = real(file.get_field(curr,"PREZZO VENDITA")) / CENTO;
|
||||||
|
umart.put("PREZZO", r);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (nriga == 2)
|
||||||
|
{
|
||||||
|
r = real(file.get_field(curr, "COEFFICIENTE CONVERSIONE 2")) / CMILA;
|
||||||
|
umart.put("FC", r);
|
||||||
|
um = file.get_field(curr,"SECONDA UNITA DI MISURA");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
r = real(file.get_field(curr, "COEFFICIENTE CONVERSIONE 3")) / CMILA;
|
||||||
|
umart.put("FC", r);
|
||||||
|
um = file.get_field(curr,"TERZA UNITA DI MISURA");
|
||||||
|
}
|
||||||
|
umart.put("UM", um);
|
||||||
|
if (umart.write() != NOERR)
|
||||||
|
err = umart.rewrite();
|
||||||
|
if (err != NOERR)
|
||||||
|
{
|
||||||
|
msg.format("! Errore di scrittura sul file LF_UMART, articolo %s, UM %s: %d", (const char*) codart, (const char*) um, err);
|
||||||
|
bf.add_line(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Messaggio finale di elaborazione
|
||||||
|
msg = "Record importati: ";
|
||||||
|
msg << valid;
|
||||||
|
bf.add_line(msg);
|
||||||
|
bf.add_line("");
|
||||||
|
}
|
||||||
|
|
||||||
void TTrasfer36::main_loop()
|
void TTrasfer36::main_loop()
|
||||||
{
|
{
|
||||||
TMask36 m;
|
TMask36 m;
|
||||||
@ -550,6 +658,10 @@ void TTrasfer36::main_loop()
|
|||||||
if (name.not_empty())
|
if (name.not_empty())
|
||||||
import_clifo(name, bf);
|
import_clifo(name, bf);
|
||||||
|
|
||||||
|
name = m.get(103);
|
||||||
|
if (name.not_empty())
|
||||||
|
import_anaart(name, bf);
|
||||||
|
|
||||||
vw.goto_top();
|
vw.goto_top();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,12 @@ BEGIN
|
|||||||
FSELECT ""
|
FSELECT ""
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRING 103 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 3 "Ana.Art "
|
||||||
|
FSELECT ""
|
||||||
|
END
|
||||||
|
|
||||||
BROWSEFILE 201 -3 -1
|
BROWSEFILE 201 -3 -1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 4 ""
|
PROMPT 0 4 ""
|
||||||
|
178
ibm36/ibm36art.ini
Executable file
178
ibm36/ibm36art.ini
Executable file
@ -0,0 +1,178 @@
|
|||||||
|
[MAIN]
|
||||||
|
TYPEPOS = 1
|
||||||
|
TYPELEN = 1
|
||||||
|
|
||||||
|
[RECORD 0]
|
||||||
|
LENGTH(0) = 1
|
||||||
|
LENGTH(1) = 1
|
||||||
|
LENGTH(2) = 19
|
||||||
|
LENGTH(3) = 1
|
||||||
|
LENGTH(4) = 19
|
||||||
|
LENGTH(5) = 1
|
||||||
|
LENGTH(6) = 19
|
||||||
|
LENGTH(7) = 3
|
||||||
|
LENGTH(8) = 2
|
||||||
|
LENGTH(9) = 1
|
||||||
|
LENGTH(10) = 1
|
||||||
|
LENGTH(11) = 35
|
||||||
|
LENGTH(12) = 35
|
||||||
|
LENGTH(13) = 5
|
||||||
|
LENGTH(14) = 19
|
||||||
|
LENGTH(15) = 2
|
||||||
|
LENGTH(16) = 2
|
||||||
|
LENGTH(17) = 9
|
||||||
|
LENGTH(18) = 2
|
||||||
|
LENGTH(19) = 9
|
||||||
|
LENGTH(20) = 2
|
||||||
|
LENGTH(21) = 3
|
||||||
|
LENGTH(22) = 3
|
||||||
|
LENGTH(23) = 5
|
||||||
|
LENGTH(24) = 5
|
||||||
|
LENGTH(25) = 1
|
||||||
|
LENGTH(26) = 1
|
||||||
|
LENGTH(27) = 1
|
||||||
|
LENGTH(28) = 1
|
||||||
|
LENGTH(29) = 2
|
||||||
|
LENGTH(30) = 11
|
||||||
|
LENGTH(31) = 1
|
||||||
|
LENGTH(32) = 1
|
||||||
|
LENGTH(33) = 1
|
||||||
|
LENGTH(34) = 2
|
||||||
|
LENGTH(35) = 1
|
||||||
|
LENGTH(36) = 6
|
||||||
|
LENGTH(37) = 11
|
||||||
|
LENGTH(38) = 1
|
||||||
|
LENGTH(39) = 2
|
||||||
|
LENGTH(40) = 7
|
||||||
|
LENGTH(41) = 7
|
||||||
|
LENGTH(42) = 2
|
||||||
|
LENGTH(43) = 2
|
||||||
|
LENGTH(44) = 11
|
||||||
|
LENGTH(45) = 9
|
||||||
|
LENGTH(46) = 5
|
||||||
|
LENGTH(47) = 5
|
||||||
|
LENGTH(48) = 1
|
||||||
|
|
||||||
|
NAME(0) = ANNULLATO
|
||||||
|
NAME(1) = TIPO RECORD
|
||||||
|
NAME(2) = CODICE PRIMARIO
|
||||||
|
NAME(3) = SECONDO TIPO RECORD
|
||||||
|
NAME(4) = CODICE ALTERNATIVO
|
||||||
|
NAME(5) = TERZO TIPO RECORD
|
||||||
|
NAME(6) = SECONDO CODICE ALTERNATIVO
|
||||||
|
NAME(7) = CODICE LINEA
|
||||||
|
NAME(8) = CODICE CATEGORIA
|
||||||
|
NAME(9) = ARTICOLO DI PRODUZIONE
|
||||||
|
NAME(10) = CLASSE FISCALE
|
||||||
|
NAME(11) = DESCRIZIONE ARTICOLO
|
||||||
|
NAME(12) = ESTENSIONE DESCRIZIONE
|
||||||
|
NAME(13) = CODICE RAGGRUPPAMENTO FISCALE
|
||||||
|
NAME(14) = CODICE GRUPPO ARTICOLI ALERNATIVI
|
||||||
|
NAME(15) = UNITA DI MISURA
|
||||||
|
NAME(16) = SECONDA UNITA DI MISURA
|
||||||
|
NAME(17) = COEFFICIENTE CONVERSIONE 2
|
||||||
|
NAME(18) = TERZA UNITA DI MISURA
|
||||||
|
NAME(19) = COEFFICIENTE CONVERSIONE 3
|
||||||
|
NAME(20) = CODICE IVA
|
||||||
|
NAME(21) = CODICE CATEGORIA CONTABILE VENDITE
|
||||||
|
NAME(22) = CODICE CATEGORIA CONTABILE ACQUISTI
|
||||||
|
NAME(23) = PEZZI PER CONFEZIONE
|
||||||
|
NAME(24) = PEZZI PER COLLO
|
||||||
|
NAME(25) = ARTICOLO FISCALE
|
||||||
|
NAME(26) = TIPO RIORDINO
|
||||||
|
NAME(27) = AGGIORNAMENTO LISTINO
|
||||||
|
NAME(28) = GESTIONE LOTTI
|
||||||
|
NAME(29) = GRUPPO TAGLIE
|
||||||
|
NAME(30) = COSTO STANDARD
|
||||||
|
NAME(31) = FATTORE QTA UM1
|
||||||
|
NAME(32) = FATTORE QTA UM2
|
||||||
|
NAME(33) = FATTORE QTA UM3
|
||||||
|
NAME(34) = CODICE UTENTE
|
||||||
|
NAME(35) = STAMPA SUL LISTINO
|
||||||
|
NAME(36) = FORNITORE PREFERENZIALE
|
||||||
|
NAME(37) = PREZZO VENDITA NETTO
|
||||||
|
NAME(38) = INDICATORE UM VENDITE
|
||||||
|
NAME(39) = CODICE IVA RIDOTTA
|
||||||
|
NAME(40) = TARA
|
||||||
|
NAME(41) = PESO
|
||||||
|
NAME(42) = ASPETTO BENI
|
||||||
|
NAME(43) = GRUPPO ARTICOLO
|
||||||
|
NAME(44) = PREZZO VENDITA
|
||||||
|
NAME(45) = SEZIONE RAME
|
||||||
|
NAME(46) = PERCENTUALE PROVVIGIONE
|
||||||
|
NAME(47) = PERCENTUALE SCONTO
|
||||||
|
NAME(48) = ARTICOLO IMPEGNATO
|
||||||
|
|
||||||
|
POSITION(0) = 0
|
||||||
|
POSITION(1) = 1
|
||||||
|
POSITION(2) = 2
|
||||||
|
POSITION(3) = 21
|
||||||
|
POSITION(4) = 22
|
||||||
|
POSITION(5) = 41
|
||||||
|
POSITION(6) = 42
|
||||||
|
POSITION(7) = 61
|
||||||
|
POSITION(8) = 64
|
||||||
|
POSITION(9) = 66
|
||||||
|
POSITION(10) = 67
|
||||||
|
POSITION(11) = 68
|
||||||
|
POSITION(12) = 103
|
||||||
|
POSITION(13) = 138
|
||||||
|
POSITION(14) = 143
|
||||||
|
POSITION(15) = 162
|
||||||
|
POSITION(16) = 164
|
||||||
|
POSITION(17) = 166
|
||||||
|
POSITION(18) = 175
|
||||||
|
POSITION(19) = 177
|
||||||
|
POSITION(20) = 186
|
||||||
|
POSITION(21) = 188
|
||||||
|
POSITION(22) = 191
|
||||||
|
POSITION(23) = 194
|
||||||
|
POSITION(24) = 199
|
||||||
|
POSITION(25) = 204
|
||||||
|
POSITION(26) = 205
|
||||||
|
POSITION(27) = 206
|
||||||
|
POSITION(28) = 207
|
||||||
|
POSITION(29) = 208
|
||||||
|
POSITION(30) = 210
|
||||||
|
POSITION(31) = 221
|
||||||
|
POSITION(32) = 222
|
||||||
|
POSITION(33) = 223
|
||||||
|
POSITION(34) = 224
|
||||||
|
POSITION(35) = 226
|
||||||
|
POSITION(36) = 227
|
||||||
|
POSITION(37) = 233
|
||||||
|
POSITION(38) = 244
|
||||||
|
POSITION(39) = 245
|
||||||
|
POSITION(40) = 247
|
||||||
|
POSITION(41) = 254
|
||||||
|
POSITION(42) = 261
|
||||||
|
POSITION(43) = 263
|
||||||
|
POSITION(44) = 265
|
||||||
|
POSITION(45) = 276
|
||||||
|
POSITION(46) = 285
|
||||||
|
POSITION(47) = 290
|
||||||
|
POSITION(48) = 295
|
||||||
|
|
||||||
|
FIELD(2) = CODART
|
||||||
|
FIELD(4) = CODARTALT
|
||||||
|
FIELD(7) = GRMERC[1,3]
|
||||||
|
FIELD(8) = GRMERC[4,5]
|
||||||
|
FIELD(9) = ARTPROD
|
||||||
|
FIELD(10) = CLASSEFIS
|
||||||
|
FIELD(11) = DESCR
|
||||||
|
FIELD(13) = RAGGFIS
|
||||||
|
FIELD(20) = CODIVA
|
||||||
|
FIELD(21) = CATCONV
|
||||||
|
FIELD(22) = CATCONA
|
||||||
|
FIELD(23) = PPCONF
|
||||||
|
FIELD(24) = PPCOLLO
|
||||||
|
FIELD(25) = ARTFIS
|
||||||
|
FIELD(26) = RIORDINO
|
||||||
|
FIELD(30) = COSTSTD
|
||||||
|
FIELD(36) = CODFORN
|
||||||
|
FIELD(39) = CODIVAR
|
||||||
|
FIELD(40) = TARA
|
||||||
|
FIELD(41) = PESO
|
||||||
|
FIELD(46) = PERCPROVV
|
||||||
|
FIELD(47) = SCONTO
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user