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:
angelo 1998-08-12 10:21:47 +00:00
parent 7e6e33cc8f
commit f4c915ae99
3 changed files with 297 additions and 1 deletions

View File

@ -14,6 +14,9 @@
#include <cfven.h>
#include <clifo.h>
#define CENTO 100.0
#define CMILA 100000.0
///////////////////////////////////////////////////////////
// TMask36 Maschera principale di selezione
///////////////////////////////////////////////////////////
@ -94,6 +97,7 @@ public:
void machedata(TFile_text& file, TRecord_text& curr, const char* field);
void import_tables(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
@ -518,7 +522,6 @@ void TTrasfer36::import_clifo(const TFilename& name, TBrowsefile_field& bf)
}
break;
default: break;// Ignored
}
}
}
@ -529,6 +532,111 @@ void TTrasfer36::import_clifo(const TFilename& name, TBrowsefile_field& bf)
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()
{
TMask36 m;
@ -550,6 +658,10 @@ void TTrasfer36::main_loop()
if (name.not_empty())
import_clifo(name, bf);
name = m.get(103);
if (name.not_empty())
import_anaart(name, bf);
vw.goto_top();
}
}

View File

@ -26,6 +26,12 @@ BEGIN
FSELECT ""
END
STRING 103 50
BEGIN
PROMPT 1 3 "Ana.Art "
FSELECT ""
END
BROWSEFILE 201 -3 -1
BEGIN
PROMPT 0 4 ""

178
ibm36/ibm36art.ini Executable file
View 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