Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : scheletro applicazione per Alex - personalizzazione cliente Geisoft git-svn-id: svn://10.65.10.50/trunk@19756 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c692aae322
commit
f0981b9e59
16
ps/pe0001.cpp
Executable file
16
ps/pe0001.cpp
Executable file
@ -0,0 +1,16 @@
|
||||
#include <xvt.h>
|
||||
|
||||
#include "pe0001.h"
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int n = argc > 1 ? atoi(argv[1]+1) : 0;
|
||||
switch(n)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
pe0001100(argc, argv); break; //importazione movienti contabili
|
||||
}
|
||||
exit(0);
|
||||
return 0;
|
||||
}
|
1
ps/pe0001.h
Executable file
1
ps/pe0001.h
Executable file
@ -0,0 +1 @@
|
||||
int pe0001100(int argc, char* argv[]); // importazione movimenti contabili
|
214
ps/pe0001100.cpp
Executable file
214
ps/pe0001100.cpp
Executable file
@ -0,0 +1,214 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <execp.h>
|
||||
#include <progind.h>
|
||||
#include <reputils.h>
|
||||
#include <utility.h>
|
||||
#include <relation.h>
|
||||
#include <reprint.h>
|
||||
#include <textset.h>
|
||||
|
||||
#include "tabutil.h"
|
||||
|
||||
#include "pe0001.h"
|
||||
#include "pe0001100a.h"
|
||||
|
||||
#include <causali.h>
|
||||
#include <clifo.h>
|
||||
#include <mov.h>
|
||||
#include <rmoviva.h>
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TAutomask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TImportaFat_mask : public TAutomask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
TImportaFat_mask();
|
||||
};
|
||||
|
||||
TImportaFat_mask::TImportaFat_mask() :TAutomask ("pe0001100a")
|
||||
{
|
||||
}
|
||||
|
||||
bool TImportaFat_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
|
||||
{
|
||||
switch (f.dlg())
|
||||
{
|
||||
//giochetto per avere la lista dei files validi nella directory di trasferimento!
|
||||
case F_NAME:
|
||||
if (e == fe_button)
|
||||
{
|
||||
TArray_sheet as(-1, -1, 72, 20, TR("Selezione file"),
|
||||
"File@32");
|
||||
TFilename path = get(F_PATH);
|
||||
path.add("*.csv"); //files delle testate
|
||||
list_files(path, as.rows_array());
|
||||
TFilename name;
|
||||
FOR_EACH_ARRAY_ROW(as.rows_array(), i, row)
|
||||
{
|
||||
name = *row;
|
||||
*row = name.name();
|
||||
}
|
||||
if (as.run() == K_ENTER)
|
||||
{
|
||||
f.set(as.row(as.selected()));
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////
|
||||
//// CLASSI DERIVATE PER IMPORTAZIONE DATI ////
|
||||
///////////////////////////////////////////////
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
// Recordset specifici per i dati da trasferire
|
||||
/////////////////////////////////////////////////////////////
|
||||
|
||||
//Piano dei conti
|
||||
class TImporta_fatt_recordset : public TCSV_recordset
|
||||
{
|
||||
public:
|
||||
TImporta_fatt_recordset(const char * fileName);
|
||||
};
|
||||
|
||||
TImporta_fatt_recordset::TImporta_fatt_recordset(const char * fileName)
|
||||
: TCSV_recordset("CSV(\",\")")
|
||||
{
|
||||
load_file(fileName);
|
||||
}
|
||||
|
||||
///////////////////////////////////////
|
||||
// TSkeleton_application
|
||||
///////////////////////////////////////
|
||||
class TFattCSV : public TSkeleton_application
|
||||
{
|
||||
virtual bool check_autorization() const {return false;}
|
||||
virtual const char * extra_modules() const {return "ve";}
|
||||
|
||||
TImportaFat_mask* _msk;
|
||||
TConfig* _configfile;
|
||||
|
||||
|
||||
//protected:
|
||||
|
||||
|
||||
public:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual void main_loop();
|
||||
bool transfer(const TFilename& file);
|
||||
|
||||
TFattCSV() {};
|
||||
};
|
||||
|
||||
bool TFattCSV::transfer(const TFilename& file)
|
||||
{
|
||||
TImporta_fatt_recordset s(file);
|
||||
|
||||
TProgind pi(s.items(),"Importazione fatture in corso ...",true,true);
|
||||
|
||||
_configfile->set_paragraph("Transaction"); //setto il paragrafo [Transaction] del file ini
|
||||
|
||||
_configfile->set("Action","INSERT");
|
||||
_configfile->set("Mode","AUTO");
|
||||
|
||||
_configfile->set_paragraph("23"); //setto il paragrafo [23] del file ini (testata)
|
||||
|
||||
_configfile->set(MOV_TIPO,"F");
|
||||
_configfile->set(MOV_CODCF, _msk->get(F_CODCF));
|
||||
|
||||
_configfile->set(MOV_CODCAUS, _msk->get(F_CODCAU));
|
||||
|
||||
_configfile->set(MOV_DATAREG, _msk->get(F_DATAREG));
|
||||
|
||||
|
||||
int nriga = 1;
|
||||
|
||||
for (bool ok=s.move_first();ok;ok=s.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
TString8 paragraph;
|
||||
paragraph.format("%d,%d",LF_RMOVIVA,nriga++);
|
||||
_configfile->set_paragraph(paragraph);
|
||||
|
||||
TString16 codcom = s.get(0).as_string();
|
||||
real imp = s.get(1).as_real();
|
||||
|
||||
_configfile->set(RMI_IMPONIBILE,imp.string());
|
||||
_configfile->set(RMI_CODIVA,_msk->get(F_CODIVA));
|
||||
_configfile->set(RMI_CODCMS,codcom);
|
||||
|
||||
}
|
||||
|
||||
_configfile->set_paragraph("Transaction");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
const char* nomeini = "pe0001100fatt.ini";
|
||||
|
||||
bool TFattCSV::create()
|
||||
{
|
||||
xvt_fsys_removefile(nomeini);
|
||||
_configfile = new TConfig(nomeini);
|
||||
|
||||
_msk = new TImportaFat_mask();
|
||||
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
bool TFattCSV::destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _configfile;
|
||||
return TApplication::destroy();
|
||||
}
|
||||
|
||||
void TFattCSV::main_loop()
|
||||
{
|
||||
KEY tasto;
|
||||
tasto = _msk->run();
|
||||
if (tasto == K_ENTER)
|
||||
{
|
||||
|
||||
//genero il nome del file da caricare
|
||||
TFilename name = _msk->get(F_PATH);
|
||||
name.add(_msk->get(F_NAME));
|
||||
if (transfer(name))
|
||||
{
|
||||
|
||||
TString app;
|
||||
app << "cg2 -0 -i" << nomeini;
|
||||
TExternal_app primanota(app);
|
||||
primanota.run();
|
||||
|
||||
message_box(TR("Importazione fatture completata"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TFattCSV& app() { return (TFattCSV&) main_app(); }
|
||||
|
||||
|
||||
int pe0001100 (int argc, char* argv[])
|
||||
{
|
||||
TFattCSV main_app;
|
||||
main_app.run(argc, argv, TR("Importazione Fatture"));
|
||||
return true;
|
||||
}
|
13
ps/pe0001100a.h
Executable file
13
ps/pe0001100a.h
Executable file
@ -0,0 +1,13 @@
|
||||
//campi maschera pe0001100a
|
||||
|
||||
#define F_CODITTA 101
|
||||
#define F_RAGSOC 102
|
||||
#define F_PATH 103
|
||||
#define F_NAME 104
|
||||
#define F_CODIVA 105
|
||||
#define F_DESIVA 106
|
||||
#define F_CODCAU 107
|
||||
#define F_DESCAU 108
|
||||
#define F_CODCF 109
|
||||
#define F_FRAGSOC 110
|
||||
#define F_DATAREG 111
|
161
ps/pe0001100a.uml
Executable file
161
ps/pe0001100a.uml
Executable file
@ -0,0 +1,161 @@
|
||||
#include "pe0001100a.h"
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
BUTTON DLG_ELABORA 10 2
|
||||
BEGIN
|
||||
PICTURE BMP_ELABORA
|
||||
MESSAGE EXIT,K_ENTER
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
STRING DLG_PROFILE 50
|
||||
BEGIN
|
||||
PROMPT 9 0 "Profilo "
|
||||
PSELECT
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Inserimento fatture" 0 0 0 -3
|
||||
|
||||
GROUPBOX DLG_NULL 90 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "@bDitta corrente"
|
||||
END
|
||||
|
||||
NUMBER F_CODITTA 5
|
||||
BEGIN
|
||||
PROMPT 3 2 "Codice "
|
||||
FLAGS "FD"
|
||||
USE LF_NDITTE
|
||||
INPUT CODDITTA F_CODITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 23 2 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 90 4
|
||||
BEGIN
|
||||
PROMPT 2 4 "@bSorgente"
|
||||
END
|
||||
|
||||
STRING F_PATH 256 39
|
||||
BEGIN
|
||||
PROMPT 3 5 "Cartella "
|
||||
DSELECT
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD ComInPath
|
||||
END
|
||||
|
||||
STRING F_NAME 18
|
||||
BEGIN
|
||||
PROMPT 3 6 "File "
|
||||
FIELD ComInFile
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 90 6
|
||||
BEGIN
|
||||
PROMPT 2 8 "@bParametri per l'importazione"
|
||||
END
|
||||
|
||||
STRING F_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 3 9 "Codice IVA "
|
||||
USE %IVA
|
||||
INPUT CODTAB F_CODIVA
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODIVA CODTAB
|
||||
OUTPUT F_DESIVA S0
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESIVA 50
|
||||
BEGIN
|
||||
PROMPT 25 9 "Descrizione "
|
||||
USE %IVA KEY 2
|
||||
INPUT S0 F_DESIVA
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice " CODTAB
|
||||
COPY OUTPUT F_CODIVA
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_CODCAU 3
|
||||
BEGIN
|
||||
PROMPT 3 10 "Causale "
|
||||
FIELD CODCAU
|
||||
FLAGS "UZ"
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_CODCAU
|
||||
DISPLAY "Cod." CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Documento" TIPODOC
|
||||
DISPLAY "Registro" REG
|
||||
DISPLAY "Tipo movimento" TIPOMOV
|
||||
OUTPUT F_CODCAU CODCAUS
|
||||
OUTPUT F_DESCAU DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESCAU 50
|
||||
BEGIN
|
||||
PROMPT 25 10 "Descrizione "
|
||||
FIELD DESCR
|
||||
USE LF_CAUSALI KEY 2
|
||||
INPUT DESCR F_DESCAU
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
DISPLAY "Cod." CODCAUS
|
||||
DISPLAY "Documento" TIPODOC
|
||||
DISPLAY "Registro" REG
|
||||
DISPLAY "Movimento" TIPOMOV
|
||||
COPY OUTPUT F_CODCAU
|
||||
END
|
||||
|
||||
STRING F_CODCF 4
|
||||
BEGIN
|
||||
PROMPT 3 11 "Fornitore "
|
||||
FLAG "UR"
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_CODCF
|
||||
DISPLAY "Codice fornitore," CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_CODCF CODCF
|
||||
OUTPUT F_FRAGSOC RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_FRAGSOC 50 24
|
||||
BEGIN
|
||||
PROMPT 25 11 "Ragione Sociale "
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC F_FRAGSOC
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Codice fornitore," CODCF
|
||||
COPY OUTPUT F_CODCF
|
||||
END
|
||||
|
||||
DATE F_DATAREG
|
||||
BEGIN
|
||||
PROMPT 3 12 "Data registrazione "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user