Patch level : 4.0

Files correlati     : ve7.exe ve7700a.msk ve7701a.ini
Ricompilazione Demo : [ ]
Commento            : Versione con trasferimento degli articoli


git-svn-id: svn://10.65.10.50/trunk@14583 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2006-11-30 13:45:04 +00:00
parent 924f8a3646
commit b8f5142863
4 changed files with 71 additions and 37 deletions

View File

@ -497,28 +497,48 @@ void TTrasferimentoGalileo_mask::trasferisci()
if (get_bool(F_CLIFO))
{
TString query_header;
query_header << "ODBC(" << get(F_DSN1) << ',' << get(F_USR1) << ',' << get(F_PWD1) << ")\n";
TGalileo_clifo pc;
pc.set_data_limite(get_date(F_DATA));
pc.init(TR("Clienti/Fornitori"), query_header, log);
go_on = pc.trasferisci();
book.add(rep);
if (go_on)
pc.dump();
rep_to_print = true;
TString80 dsn = get(F_DSN1);
if (dsn.empty())
{
TSystemisamfile clifo(LF_CLIFO);
clifo.overwrite("clifo.txt");
}
else
{
TString query_header;
query_header << "ODBC(" << get(F_DSN1) << ',' << get(F_USR1) << ',' << get(F_PWD1) << ")\n";
TGalileo_clifo pc;
pc.set_data_limite(get_date(F_DATA));
pc.init(TR("Clienti/Fornitori"), query_header, log);
go_on = pc.trasferisci();
book.add(rep);
if (go_on)
pc.dump();
rep_to_print = true;
}
}
if (go_on && get_bool(F_ARTICOLI))
{
TString query_header;
query_header << "ODBC(" << get(F_DSN2) << ',' << get(F_USR2) << ',' << get(F_PWD2) << ")\n";
TGalileo_articoli pc;
pc.init(TR("Articoli"), query_header, log);
go_on = pc.trasferisci();
book.add(rep);
if (go_on)
pc.dump();
rep_to_print = true;
TString80 dsn = get(F_DSN2);
if (dsn.empty())
{
TSystemisamfile anamag(LF_ANAMAG);
anamag.overwrite("anamag.txt");
TSystemisamfile umart(LF_UMART);
umart.overwrite("umart.txt");
}
else
{
TString query_header;
query_header << "ODBC(" << get(F_DSN2) << ',' << get(F_USR2) << ',' << get(F_PWD2) << ")\n";
TGalileo_articoli pc;
pc.init(TR("Articoli"), query_header, log);
go_on = pc.trasferisci();
book.add(rep);
if (go_on)
pc.dump();
rep_to_print = true;
}
}
if (rep_to_print && book.pages() > 0)
book.preview();

View File

@ -70,7 +70,6 @@ END
STRING F_DSN1 30
BEGIN
PROMPT 2 2 "DSN "
CHECKTYPE REQUIRED
END
STRING F_USR1 16
@ -92,7 +91,6 @@ END
STRING F_DSN2 30
BEGIN
PROMPT 2 8 "DSN "
CHECKTYPE REQUIRED
END
STRING F_USR2 16

View File

@ -5,6 +5,7 @@
#include <utility.h>
#include <..\mg\anamag.h>
#include <..\mg\umart.h>
#include <clifo.h>
#include <comuni.h>
#include <doc.h>
@ -131,7 +132,7 @@ bool TGalileo_clifo::trasferisci()
rec_clifo.zero();
rec_clifo.put(CLI_TIPOCF, tipocf);
rec_clifo.put(CLI_CODCF, codcf);
good &= test_write(clifo);
good &= test_write(clifo, true);
}
if (good)
@ -213,6 +214,7 @@ bool TGalileo_articoli::dump()
TString_array lista_anamag;
ini.list_variables(lista_anamag, true, "ANAMAG", true);
TToken_string lista_dump;
lista_dump.add(ANAMAG_CODART);
TString16 campo_dest, campo_orig;
FOR_EACH_ARRAY_ROW(lista_anamag,i,row)
{
@ -221,19 +223,20 @@ bool TGalileo_articoli::dump()
if (!campo_orig.blank())
lista_dump.add(campo_dest);
}
lista_dump.add(ANAMAG_CODART);
TSystemisamfile anamag(LF_ANAMAG);
return (anamag.dump("anamag.txt", lista_dump) == NOERR);
TSystemisamfile umart(LF_UMART);
int err = umart.dump("umart.txt");
if (err == NOERR)
err = anamag.dump("anamag.txt", lista_dump);
return (err == NOERR);
}
bool TGalileo_articoli::trasferisci()
{
TString query =
"SELECT BRISO00F.RICOD, BRISO00F.RDES1, BRISO00F.RDES2, "
"BRISO00F.RDES3, BRISO00F.RSUMS, BRISO00F.RITIP, "
"Mid([TBDAT],9,1) AS Espr1 \n"
"FROM BRISO00F, BTABE00F"
"WHERE (((Mid([TBDAT],9,1))=[RITIP]) AND ((BTABE00F.TBTIP)='COD') AND ((BTABE00F.TBELE)='RIS'))";
"SELECT RICOD, RDES1, RDES2, RDES3, RSUMS, RITIP \n"
"FROM BRISO00F, BTABE00F \n"
"WHERE (MID(TBDAT,9,1)=RITIP) AND (TBTIP='COD') AND (TBELE='RIS')";
TRecordset& recset = create_recordset(query);
@ -251,7 +254,7 @@ bool TGalileo_articoli::trasferisci()
TGalileo_iterator pi(this);
while (++pi)
{
const TString& codart = get_str("BRISO00F.RICOD");
const TString& codart = get_str("RICOD");
rec_anamag.zero();
rec_anamag.put(ANAMAG_CODART, codart);
bool good = anamag.read() == NOERR;
@ -259,12 +262,25 @@ bool TGalileo_articoli::trasferisci()
{
rec_anamag.zero();
rec_anamag.put(ANAMAG_CODART, codart);
good &= test_write(anamag);
good &= test_write(anamag, true);
}
if (good)
{
aggiorna_record(anamag, lista_anamag);
aggiorna_record(umart, lista_umart);
rec_umart.zero();
rec_umart.put(UMART_CODART, codart);
rec_umart.put(UMART_NRIGA, 1);
bool good = umart.read() == NOERR;
if (!good)
{
rec_umart.zero();
rec_umart.put(UMART_CODART, codart);
rec_umart.put(UMART_NRIGA, 1);
good = (umart.write() == NOERR);
}
rec_umart.put(UMART_UM, get_str("RSUMS"));
rec_umart.put(UMART_FC, 1);
umart.rewrite();
}
}
return write_enabled();

View File

@ -52,14 +52,14 @@ REFERENTE =
VALINTRA =
[ANAMAG]
CODART =
DESCR =
DESCRAGG =
CODART =
DESCR = RDES1
DESCRAGG = RDES2
CODARTALT =
[UMART]
CODART =
NRIGA = _FISSO,1
UM =
NRIGA =
UM = RSUMS
FC = _FISSO,1
PREZZO =