Patch level : 10.0
Files correlati : ps0830 Ricompilazione Demo : [ ] Commento : Corretta esportazione a bilancia git-svn-id: svn://10.65.10.50/trunk@19457 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2f256de1f7
commit
679c1ca544
@ -7,14 +7,11 @@ int main(int argc, char** argv)
|
|||||||
const int op = argc < 2 ? 0 : argv[1][1]-'0';
|
const int op = argc < 2 ? 0 : argv[1][1]-'0';
|
||||||
switch (op)
|
switch (op)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
ps0830100(argc,argv); // esportazione listino Baiseina
|
default:
|
||||||
break;
|
ps0830100(argc,argv); // esportazione listino Baiseina
|
||||||
default:
|
break;
|
||||||
ps0830100(argc,argv);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
exit(0);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
100
ps/ps0830100.cpp
100
ps/ps0830100.cpp
@ -15,7 +15,6 @@
|
|||||||
#include "ps0830.h"
|
#include "ps0830.h"
|
||||||
#include "ps0830100.h"
|
#include "ps0830100.h"
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////
|
||||||
// Recordset esporta_listino
|
// Recordset esporta_listino
|
||||||
/////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////
|
||||||
@ -24,6 +23,8 @@ class TEsporta_listino_recordset : public TCSV_recordset
|
|||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
virtual const TToken_string& sheet_head() const;
|
virtual const TToken_string& sheet_head() const;
|
||||||
|
virtual unsigned int columns() const { return 6; }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool set(unsigned int fld, const TVariant& var);
|
virtual bool set(unsigned int fld, const TVariant& var);
|
||||||
TEsporta_listino_recordset();
|
TEsporta_listino_recordset();
|
||||||
@ -32,25 +33,27 @@ public:
|
|||||||
const TToken_string& TEsporta_listino_recordset::sheet_head() const
|
const TToken_string& TEsporta_listino_recordset::sheet_head() const
|
||||||
{
|
{
|
||||||
TToken_string& head = get_tmp_string();
|
TToken_string& head = get_tmp_string();
|
||||||
head = "COD_EAN@20|PREZZO@10|CASSA@5|DESCRIZIONE@13|SCPERC@5|SCMON@5|CODOFF@5";
|
head = HR("Codice EAN@13|Prezzo@10R|Cassa@5|Descrizione@13|Sc.per.@5|Sc.mon.@5|Cod.Off.@5");
|
||||||
return head;
|
return head;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TEsporta_listino_recordset::set(unsigned int column, const TVariant& var)
|
bool TEsporta_listino_recordset::set(unsigned int column, const TVariant& var)
|
||||||
{
|
{
|
||||||
TString str;
|
if (!var.is_empty())
|
||||||
if (var.is_date())
|
{
|
||||||
{
|
TString80 str;
|
||||||
if (!var.is_empty())
|
if (var.is_date())
|
||||||
{
|
{
|
||||||
const TDate data = var.as_date();
|
const TDate data = var.as_date();
|
||||||
str.format("%04d-%02d-%02d", data.year(), data.month(), data.day());
|
str = data.string(full,'-', full, full, amg_date);
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else
|
str << var;
|
||||||
str << var;
|
str.replace('|', '/');
|
||||||
str.replace('|', '/');
|
return TCSV_recordset::set(column, TVariant(str));
|
||||||
return TCSV_recordset::set(column, TVariant(str));
|
}
|
||||||
|
|
||||||
|
return TCSV_recordset::set(column, var);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEsporta_listino_recordset::TEsporta_listino_recordset()
|
TEsporta_listino_recordset::TEsporta_listino_recordset()
|
||||||
@ -66,12 +69,12 @@ class TEsporta_listino_mask : public TAutomask
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
void serialize(bool bSave);
|
void serialize(bool bSave);
|
||||||
|
void esporta_listino(const bool anteprima);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void esporta_listino(const bool anteprima);
|
|
||||||
TEsporta_listino_mask();
|
TEsporta_listino_mask();
|
||||||
~TEsporta_listino_mask();
|
~TEsporta_listino_mask();
|
||||||
};
|
};
|
||||||
@ -109,27 +112,26 @@ bool TEsporta_listino_mask::on_field_event(TOperable_field& f, TField_event e, l
|
|||||||
{
|
{
|
||||||
switch (f.dlg())
|
switch (f.dlg())
|
||||||
{
|
{
|
||||||
case DLG_ELABORA:
|
case DLG_OK:
|
||||||
if (e == fe_button)
|
if (e == fe_button)
|
||||||
{
|
|
||||||
esporta_listino(false);
|
esporta_listino(false);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case DLG_PRINT:
|
case DLG_PREVIEW:
|
||||||
if (e == fe_button)
|
if (e == fe_button)
|
||||||
{
|
|
||||||
esporta_listino(true);
|
esporta_listino(true);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case DLG_QUIT:
|
case F_PATH:
|
||||||
if (e == fe_button)
|
if (e == fe_init || e == fe_modify)
|
||||||
{
|
{
|
||||||
|
TFilename file = f.get();
|
||||||
|
file.add("aggiorna.bat");
|
||||||
|
enable(DLG_OK, file.exist());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TEsporta_listino_mask::esporta_listino(const bool anteprima)
|
void TEsporta_listino_mask::esporta_listino(const bool anteprima)
|
||||||
@ -140,37 +142,39 @@ void TEsporta_listino_mask::esporta_listino(const bool anteprima)
|
|||||||
query << "SELECT (CATVEN=\"DE\") && (RCONDV.PREZZO>\"0\") && (CODCORR.CODARTALT!=\"\")\n";
|
query << "SELECT (CATVEN=\"DE\") && (RCONDV.PREZZO>\"0\") && (CODCORR.CODARTALT!=\"\")\n";
|
||||||
query << "JOIN CODCORR INTO CODART==CODRIGA NRIGA=1\n";
|
query << "JOIN CODCORR INTO CODART==CODRIGA NRIGA=1\n";
|
||||||
query << "JOIN ANAMAG INTO CODART==CODRIGA\n";
|
query << "JOIN ANAMAG INTO CODART==CODRIGA\n";
|
||||||
query << "ORDER BY CODCORR.CODARTALT, ANAMAG.REPARTO[2,3], RCONDV.CODRIGA";
|
|
||||||
TISAM_recordset listino(query);
|
TISAM_recordset listino(query);
|
||||||
|
|
||||||
TEsporta_listino_recordset csv;
|
TEsporta_listino_recordset csv;
|
||||||
|
|
||||||
const int items = listino.items();
|
const int items = listino.items();
|
||||||
|
|
||||||
TProgind pi(items, "Estrazione listino...", true, true);
|
TProgind pi(items, TR("Estrazione listino..."), true, true);
|
||||||
for (bool ok = listino.move_first(); ok; ok = listino.move_next())
|
for (bool ok = listino.move_first(); ok; ok = listino.move_next())
|
||||||
{
|
{
|
||||||
if (!pi.addstatus(1))
|
if (!pi.addstatus(1))
|
||||||
break;
|
break;
|
||||||
csv.new_rec("");
|
|
||||||
csv.set(0, listino.get("CODCORR.CODARTALT"));
|
real prezzo = listino.get(RCONDV_PREZZO).as_real();
|
||||||
real prezzo = listino.get(RCONDV_PREZZO).as_real();
|
if (prezzo > ZERO)
|
||||||
prezzo.round(2);
|
{
|
||||||
prezzo = prezzo*100;
|
csv.new_rec("");
|
||||||
csv.set(1, TVariant(prezzo));
|
csv.set(0, listino.get("CODCORR.CODARTALT"));
|
||||||
csv.set(2, listino.get("ANAMAG.REPARTO[2,3]"));
|
prezzo = prezzo*CENTO;
|
||||||
csv.set(3, listino.get("ANAMAG.DESCR[1,12]"));
|
prezzo.round();
|
||||||
csv.set(4, "0");
|
csv.set(1, TVariant(prezzo));
|
||||||
csv.set(5, "0");
|
csv.set(2, listino.get("ANAMAG.REPARTO[2,3]"));
|
||||||
csv.set(6, "0");
|
csv.set(3, listino.get("ANAMAG.DESCR[1,12]"));
|
||||||
|
csv.set(4, "0");
|
||||||
|
csv.set(5, "0");
|
||||||
|
csv.set(6, "0");
|
||||||
|
}
|
||||||
} //for(move_first()..
|
} //for(move_first()..
|
||||||
|
csv.sort();
|
||||||
|
|
||||||
if (anteprima)
|
if (anteprima)
|
||||||
{
|
{
|
||||||
//TRecordset_sheet sheet(csv, TR("Elenco di controllo"));
|
TRecordset_sheet sheet(csv, TR("Elenco di controllo"));
|
||||||
//sheet.run();
|
sheet.run();
|
||||||
|
|
||||||
csv.save_as("ps0830100.xls", fmt_silk);
|
|
||||||
xvt_sys_goto_url("ps0830100.xls", "open");
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -178,16 +182,16 @@ void TEsporta_listino_mask::esporta_listino(const bool anteprima)
|
|||||||
file.add(get(F_NAME));
|
file.add(get(F_NAME));
|
||||||
csv.save_as(file, fmt_text);
|
csv.save_as(file, fmt_text);
|
||||||
|
|
||||||
if (yesno_box("Generazione listino terminata. Procedo con l'invio?"))
|
if (yesno_box(TR("Generazione listino terminata.\nProcedere con l'invio?")))
|
||||||
{
|
{
|
||||||
TFilename appname = "aggiorna.bat";
|
file = get(F_PATH); file.add("aggiorna.bat");
|
||||||
if (appname.exist())
|
if (file.exist())
|
||||||
{
|
{
|
||||||
TExternal_app a("aggiorna.bat");
|
TExternal_app a(file);
|
||||||
a.run(false,false);
|
a.run(false,false,false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
message_box("Impossibile procedere con l'invio, non esiste l'applicazione aggiorna.bat");
|
error_box(TR("Impossibile procedere con l'invio,\nnon esiste l'applicazione %s"), (const char*)file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -200,10 +204,8 @@ void TEsporta_listino_mask::esporta_listino(const bool anteprima)
|
|||||||
|
|
||||||
class TEsporta_listino_app : public TSkeleton_application
|
class TEsporta_listino_app : public TSkeleton_application
|
||||||
{
|
{
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool check_autorization() const {return false;}
|
virtual const char* extra_modules() const { return "ve"; }
|
||||||
virtual const char * extra_modules() const {return "ve";}
|
|
||||||
virtual void main_loop();
|
virtual void main_loop();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#include "ps0830100.h"
|
#include "ps0830100.h"
|
||||||
|
|
||||||
PAGE "Esportazione listino" -1 -1 80 14
|
PAGE "Esportazione listino" -1 -1 78 8
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 76 3
|
GROUPBOX DLG_NULL 75 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "@bDitta corrente"
|
PROMPT 2 1 "@bDitta corrente"
|
||||||
END
|
END
|
||||||
@ -23,7 +23,7 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 76 4
|
GROUPBOX DLG_NULL 75 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 4 "Esportazione"
|
PROMPT 2 4 "Esportazione"
|
||||||
END
|
END
|
||||||
@ -46,21 +46,19 @@ BEGIN
|
|||||||
FIELD NAME
|
FIELD NAME
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_PRINT 9 2
|
ENDPAGE
|
||||||
|
|
||||||
|
TOOLBAR "topbar" 0 0 0 2
|
||||||
|
|
||||||
|
BUTTON DLG_PREVIEW 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -13 -1 "~Anteprima"
|
PROMPT -13 -1 "~Anteprima"
|
||||||
|
PICTURE TOOL_PREVIEW
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_ELABORA 9 2
|
#include <elabar.h>
|
||||||
BEGIN
|
|
||||||
PROMPT -23 -1 "~Esporta"
|
|
||||||
END
|
|
||||||
|
|
||||||
BUTTON DLG_QUIT 9 2
|
|
||||||
BEGIN
|
|
||||||
PROMPT -33 -1 ""
|
|
||||||
END
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user