Patch level : 10.0 192
Files correlati : tc9.exe Ricompilazione Demo : [ ] Commento : Invio sispac 0.02 git-svn-id: svn://10.65.10.50/trunk@17958 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1ec69662d8
commit
a8c5a1bed6
@ -10,6 +10,7 @@ int main(int argc, char** argv)
|
||||
case 0: tc9100(argc,argv); break; // esiste sulla 4.0 Invio a Proforma
|
||||
case 1: tc9200(argc,argv); break; // esiste dalla 4.0 Invio a ???
|
||||
case 2: tc9300(argc,argv); break; // esiste dalla 4.0 Invio a Sispac/Cosmo
|
||||
case 3: tc9400(argc,argv); break; // esiste dalla 4.0 Tabelle Sispac/Cosmo
|
||||
default: tc9100(argc,argv); break;
|
||||
}
|
||||
exit(0);
|
||||
|
1
tc/tc9.h
1
tc/tc9.h
@ -4,6 +4,7 @@
|
||||
int tc9100(int argc, char** argv);
|
||||
int tc9200(int argc, char** argv);
|
||||
int tc9300(int argc, char** argv);
|
||||
int tc9400(int argc, char** argv);
|
||||
|
||||
#endif // __TC9_H
|
||||
|
||||
|
146
tc/tc9300.cpp
146
tc/tc9300.cpp
@ -22,11 +22,60 @@
|
||||
#include <nditte.h>
|
||||
#include <rmov.h>
|
||||
#include <rmoviva.h>
|
||||
#include <multirel.h>
|
||||
|
||||
#define SLF_MOV "23"
|
||||
#define ALIAS_REG 100
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TRiclassifica_cache
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TRiclassifica_cache : public TCache
|
||||
{
|
||||
TLocalisamfile _multirel;
|
||||
protected:
|
||||
virtual TObject* key2obj(const char* key);
|
||||
public:
|
||||
const char * sdecode(const char* tab, const TString& cod);
|
||||
long decode(const char* tab, const TString& cod);
|
||||
TRiclassifica_cache() : _multirel(LF_MULTIREL) { _multirel.setkey(2);}
|
||||
};
|
||||
|
||||
TObject* TRiclassifica_cache::key2obj(const char* key)
|
||||
{
|
||||
TToken_string tok(key);
|
||||
TString8 tab, cod;
|
||||
tok.get(0,tab);
|
||||
tok.get(1, cod);
|
||||
_multirel.put(MULTI_COD, tab);
|
||||
_multirel.put(MULTI_FIRST, cod);
|
||||
_multirel.put(MULTI_SECOND, "");
|
||||
int err = _multirel.read(_isgteq);
|
||||
if (err == NOERR && _multirel.get(MULTI_FIRST) == cod)
|
||||
return new TString(_multirel.get(MULTI_SECOND));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
long TRiclassifica_cache::decode(const char* tab, const TString& cod)
|
||||
{
|
||||
TToken_string tok;
|
||||
tok.add(tab);
|
||||
tok.add(cod);
|
||||
const TString* ric = (const TString*) objptr(tok);
|
||||
return (ric ? atol(*ric) : 0);
|
||||
}
|
||||
|
||||
const char * TRiclassifica_cache::sdecode(const char* tab, const TString& cod)
|
||||
{
|
||||
TToken_string tok;
|
||||
tok.add(tab);
|
||||
tok.add(cod);
|
||||
const TString* ric = (const TString*) objptr(tok);
|
||||
return ric ? (const char *) *ric : "";
|
||||
}
|
||||
|
||||
class TMovim_set : public TAS400_recordset
|
||||
{
|
||||
protected:
|
||||
@ -526,6 +575,8 @@ class TInvioSispac : public TSkeleton_application
|
||||
TInvioSispac_mask* _msk;
|
||||
TConfig* _configfile;
|
||||
TDate _dataini, _datafin;
|
||||
TRiclassifica_cache * _tabelle;
|
||||
|
||||
|
||||
protected:
|
||||
virtual bool create(void);
|
||||
@ -539,6 +590,9 @@ protected:
|
||||
void sispac_intramov();
|
||||
void sispac_movpart();
|
||||
void conferma(bool conf = true);
|
||||
const TString & scod2ricl(const char* tab, const TString& cod);
|
||||
const TString & scod2ricl(const char* tab, const TVariant& cod);
|
||||
const long cod2ricl(const char* tab, const TString& cod);
|
||||
|
||||
public:
|
||||
TConfig& config() {return *_configfile;};
|
||||
@ -549,6 +603,35 @@ public:
|
||||
// restituisce un riferimento all' applicazione
|
||||
inline TInvioSispac& app() { return (TInvioSispac&) main_app();}
|
||||
|
||||
const TString & TInvioSispac::scod2ricl(const char* tab, const TString& cod)
|
||||
{
|
||||
TString & codricl = get_tmp_string();
|
||||
if (cod.full())
|
||||
{
|
||||
codricl = _tabelle->sdecode(tab, cod);
|
||||
if (codricl.blank())
|
||||
codricl = cod;
|
||||
}
|
||||
return codricl;
|
||||
}
|
||||
|
||||
const TString & TInvioSispac::scod2ricl(const char* tab, const TVariant& cod)
|
||||
{
|
||||
return scod2ricl(tab, cod.as_string());
|
||||
}
|
||||
|
||||
const long TInvioSispac::cod2ricl(const char* tab, const TString& cod)
|
||||
{
|
||||
long codricl = 0;
|
||||
if (cod.full())
|
||||
{
|
||||
codricl = _tabelle->decode(tab, cod);
|
||||
if (codricl <= 0 && real::is_natural(cod))
|
||||
codricl = atol(cod);
|
||||
}
|
||||
return codricl;
|
||||
}
|
||||
|
||||
void TInvioSispac::sispac_cli()
|
||||
{
|
||||
TClisisp_set recset;
|
||||
@ -689,7 +772,6 @@ void TInvioSispac::sispac_movim()
|
||||
TString query;
|
||||
TString key;
|
||||
TEsercizi_contabili esc;
|
||||
TAssoc_array causarr(_configfile->list_variables("CAUSALI"));
|
||||
|
||||
key << prefix().get_codditta();
|
||||
|
||||
@ -849,25 +931,16 @@ void TInvioSispac::sispac_movim()
|
||||
if (v != NULL)
|
||||
recset.set("TIPOART", *v);
|
||||
|
||||
TString8 ccaus(input.get(MOV_CODCAUS).as_string());
|
||||
TString * codcaus = (TString * )causarr.objptr(ccaus);
|
||||
TString8 ccaus(input.get(SLF_MOV "." MOV_CODCAUS).as_string());
|
||||
TString8 codcaus = scod2ricl("SCCAU", ccaus);
|
||||
|
||||
var = "R";
|
||||
if (codcaus != NULL)
|
||||
{
|
||||
if (codcaus->len() < 5)
|
||||
codcaus->right_just(5, '0');
|
||||
if (*codcaus == "00255")
|
||||
var = "S";
|
||||
}
|
||||
if (codcaus == "00255")
|
||||
var = "S";
|
||||
recset.set("TIPOMOV", var);
|
||||
recset.set("CODCOST", TVariant("000"));
|
||||
var = "";
|
||||
if (codcaus != NULL)
|
||||
{
|
||||
var = *codcaus;
|
||||
recset.set("CODCAUS", var);
|
||||
}
|
||||
var = codcaus;
|
||||
recset.set("CODCAUS", var);
|
||||
|
||||
recset.set("NUMDESC", TVariant("0"));
|
||||
|
||||
@ -919,8 +992,6 @@ void TInvioSispac::sispac_movim()
|
||||
TString query;
|
||||
TString key;
|
||||
TEsercizi_contabili esc;
|
||||
TAssoc_array causarr(_configfile->list_variables("CAUSALI"));
|
||||
TAssoc_array codivaarr(_configfile->list_variables("CODIVA"));
|
||||
|
||||
key << prefix().get_codditta();
|
||||
|
||||
@ -988,38 +1059,25 @@ void TInvioSispac::sispac_movim()
|
||||
var = imposta.string(13, 0, '0');
|
||||
recset.set("IMPOSTA", var);
|
||||
const TString8 ccaus(input.get(SLF_MOV "." MOV_CODCAUS).as_string());
|
||||
TString * codcaus = (TString * )causarr.objptr(ccaus);
|
||||
TString8 codcaus = scod2ricl("SCCAU", ccaus);
|
||||
|
||||
if (codcaus != NULL)
|
||||
{
|
||||
if (codcaus->len() < 5)
|
||||
codcaus->right_just(5, '0');
|
||||
var = *codcaus;
|
||||
recset.set("CODCAUS", var);
|
||||
}
|
||||
var = codcaus;
|
||||
recset.set("CODCAUS", var);
|
||||
|
||||
const TString8 civa(input.get(RMI_CODIVA).as_string());
|
||||
TString * codiva = (TString *) codivaarr.objptr(civa);
|
||||
TString8 codiva = scod2ricl("SCIVA", civa);
|
||||
|
||||
if (codiva != NULL)
|
||||
{
|
||||
if (codiva->len() < 3)
|
||||
codiva->right_just(3, '0');
|
||||
var = *codiva;
|
||||
recset.set("CODIVA", var);
|
||||
}
|
||||
var = codiva;
|
||||
recset.set("CODIVA", var);
|
||||
recset.set("FILLER", TVariant("00"));
|
||||
recset.set("MERCIVEN", TVariant("N"));
|
||||
|
||||
var = "";
|
||||
if (codcaus != NULL)
|
||||
{
|
||||
if (*codcaus == "00100")
|
||||
var = "S";
|
||||
else
|
||||
if (*codcaus =="00110")
|
||||
var = "N";
|
||||
}
|
||||
if (codcaus == "00100")
|
||||
var = "S";
|
||||
else
|
||||
if (codcaus =="00110")
|
||||
var = "N";
|
||||
recset.set("QUADROA", var);
|
||||
int tipodet;
|
||||
TCausale cau(ccaus, _dataini.year());
|
||||
@ -1148,9 +1206,12 @@ void TInvioSispac::invio_sispac()
|
||||
bool TInvioSispac::create()
|
||||
{
|
||||
_msk = new TInvioSispac_mask();
|
||||
|
||||
TFilename configname = "tc9300conf.ini";
|
||||
|
||||
configname.custom_path();
|
||||
_configfile = new TConfig(configname);
|
||||
_tabelle = new TRiclassifica_cache;
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
@ -1158,6 +1219,7 @@ bool TInvioSispac::destroy()
|
||||
{
|
||||
delete _configfile;
|
||||
delete _msk;
|
||||
delete _tabelle;
|
||||
return TSkeleton_application::destroy();
|
||||
}
|
||||
|
||||
|
66
tc/tc9400.cpp
Executable file
66
tc/tc9400.cpp
Executable file
@ -0,0 +1,66 @@
|
||||
#include <tabapp.h>
|
||||
|
||||
#include "tc9.h"
|
||||
#include "tcts.h"
|
||||
|
||||
class TSispac_multirel_app : public TMultirel_application
|
||||
{
|
||||
|
||||
protected:
|
||||
virtual void set_descr(TMask & m, const TString & desc);
|
||||
virtual void get_mask_name(TString& tabname) const;
|
||||
//magico metodo per impedire la navigazione su tabelle diverse da quella corrente del cursore
|
||||
virtual bool has_filtered_cursor() const { return true; }
|
||||
virtual bool user_create();
|
||||
virtual void init_query_mode(TMask& m);
|
||||
virtual void init_query_insert_mode(TMask& m);
|
||||
|
||||
public:
|
||||
|
||||
TSispac_multirel_app() {}
|
||||
virtual ~TSispac_multirel_app() {}
|
||||
};
|
||||
|
||||
void TSispac_multirel_app::set_descr(TMask & m, const TString & desc)
|
||||
{
|
||||
m.set(F_DESC, desc);
|
||||
}
|
||||
|
||||
void TSispac_multirel_app::get_mask_name(TString& tabname) const
|
||||
{
|
||||
TMultirel_application::get_mask_name(tabname);
|
||||
tabname.overwrite("sc", 2);
|
||||
}
|
||||
|
||||
void TSispac_multirel_app::init_query_mode(TMask& m)
|
||||
{
|
||||
TMultirel_application::init_query_mode(m);
|
||||
m.show(-1);
|
||||
m.hide(-2);
|
||||
}
|
||||
|
||||
void TSispac_multirel_app::init_query_insert_mode(TMask& m)
|
||||
{
|
||||
TMultirel_application::init_query_insert_mode(m);
|
||||
m.hide(-1);
|
||||
m.show(-2);
|
||||
}
|
||||
|
||||
bool TSispac_multirel_app::user_create()
|
||||
{
|
||||
bool ok = TMultirel_application::user_create();
|
||||
|
||||
if (ok)
|
||||
{
|
||||
TMask & m = *get_mask();
|
||||
|
||||
set_search_field(F_CODTAB);
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
int tc9400(int argc, char* argv[])
|
||||
{
|
||||
TSispac_multirel_app a;
|
||||
a.run(argc, argv, TR("Tabella"));
|
||||
return 0;
|
||||
}
|
@ -6,18 +6,21 @@ Flags = ""
|
||||
Item_01 = "TeamSystem", [TCMENU_002]
|
||||
Item_02 = "Zucchetti", [TCMENU_005]
|
||||
Item_03 = "Proforma", "tc9 -0", ""
|
||||
Item_04 = "Sispac", "tc9 -1", ""
|
||||
Item_05 = "Sermetra", "tc8 -0", ""
|
||||
Item_04 = "Sispac", "tc9 -2", ""
|
||||
Item_05 = "Tabella IVA Sispac", "tc9 -3 IVA", ""
|
||||
Item_06 = "Tabella causali Sispac", "tc9 -3 CAU", ""
|
||||
Item_07 = "Semetra", "tc8 -0", ""
|
||||
|
||||
[TCMENU_002]
|
||||
Caption = "TeamSystem"
|
||||
Picture = <cg01>
|
||||
Module = 27
|
||||
Flags = ""
|
||||
Item_01 = "Esportazione movimenti contabili", "tc0 -6", ""
|
||||
Item_02 = "Importazione causali,p.d.c.,cod.iva", "tc0 -5", ""
|
||||
Item_03 = "Tabelle di riclassificazione", [TCMENU_003]
|
||||
Item_04 = "Configurazione modulo", [TCMENU_004]
|
||||
Item_01 = "Trasferimento", "tc0 -6", ""
|
||||
Item_02 = "Importazione documenti", "tc0 -8", ""
|
||||
Item_03 = "Importazione causali,p.d.c.,cod.iva", "tc0 -5", ""
|
||||
Item_04 = "Tabelle di riclassificazione", [TCMENU_003]
|
||||
Item_05 = "Configurazione modulo", [TCMENU_004]
|
||||
|
||||
[TCMENU_003]
|
||||
Caption = "Tabelle di riclassificazione"
|
||||
@ -45,5 +48,5 @@ Caption = "Zucchetti"
|
||||
Picture = <cg01>
|
||||
Module = 27
|
||||
Flags = ""
|
||||
Item_01 = "Esportazione", "tc1 -0", ""
|
||||
Item_01 = "Trasferimento", "tc1 -0", ""
|
||||
Item_02 = "Riclassificazione conti", "tc1 -7", ""
|
||||
|
5
tc/tcsc.h
Executable file
5
tc/tcsc.h
Executable file
@ -0,0 +1,5 @@
|
||||
#define F_COD 101
|
||||
#define F_CODTAB 102
|
||||
#define F_DESC 103
|
||||
#define F_COD_CAMPO 104
|
||||
#define F_CODTAB1 105
|
94
tc/tcsccau.uml
Executable file
94
tc/tcsccau.uml
Executable file
@ -0,0 +1,94 @@
|
||||
#include "tcsc.h"
|
||||
|
||||
TOOLBAR "" 0 -3 0 3
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Causali" -1 -1 78 15
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 1 "Causale Teamsystem"
|
||||
END
|
||||
|
||||
LIST F_COD 5
|
||||
BEGIN
|
||||
PROMPT 50 50 ""
|
||||
ITEM "SCCAU|SCCAU"
|
||||
FIELD COD
|
||||
FLAGS "D"
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_CODTAB 3
|
||||
BEGIN
|
||||
PROMPT 2 2 ""
|
||||
USE LF_MULTIREL
|
||||
INPUT COD F_COD SELECT
|
||||
INPUT FIRST F_CODTAB
|
||||
DISPLAY "Codice" FIRST
|
||||
DISPLAY "Descrizione@60" DATA
|
||||
DISPLAY "Codice causale Sispac" SECOND
|
||||
OUTPUT F_CODTAB FIRST
|
||||
OUTPUT F_CODTAB1 FIRST
|
||||
OUTPUT F_DESC DATA
|
||||
OUTPUT F_COD_CAMPO SECOND
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD FIRST
|
||||
FLAGS "U"
|
||||
GROUP 1
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_CODTAB1 4
|
||||
BEGIN
|
||||
PROMPT 2 2 ""
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_CODTAB1
|
||||
DISPLAY "Cod." CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Documento" TIPODOC
|
||||
DISPLAY "Registro" REG
|
||||
DISPLAY "Tipo movimento" TIPOMOV
|
||||
DISPLAY "Inc./Pag." CODCAUSIM
|
||||
DISPLAY "770" M770
|
||||
DISPLAY "Cespiti" COLLCESP
|
||||
OUTPUT F_CODTAB CODCAUS
|
||||
OUTPUT F_CODTAB1 CODCAUS
|
||||
OUTPUT F_DESC DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD FIRST
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESC 50
|
||||
BEGIN
|
||||
PROMPT 10 2 "Descrizione "
|
||||
USE LF_MULTIREL KEY 2
|
||||
INPUT COD F_COD SELECT
|
||||
INPUT DATA F_DESC
|
||||
DISPLAY "Descrizione@60" DATA
|
||||
DISPLAY "Codice" FIRST
|
||||
DISPLAY "Causale Sispac" SECOND
|
||||
COPY OUTPUT F_CODTAB
|
||||
FIELD DATA
|
||||
KEY 3
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_COD_CAMPO 5
|
||||
BEGIN
|
||||
PROMPT 2 4 "Causale collegata "
|
||||
FIELD SECOND
|
||||
FLAGS "Z"
|
||||
USE LF_CAUSALI
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
89
tc/tcsciva.uml
Executable file
89
tc/tcsciva.uml
Executable file
@ -0,0 +1,89 @@
|
||||
#include "tcsc.h"
|
||||
|
||||
TOOLBAR "" 0 -3 0 3
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Codici IVA" -1 -1 78 15
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice IVA "
|
||||
END
|
||||
|
||||
LIST F_COD 5
|
||||
BEGIN
|
||||
PROMPT 50 50 ""
|
||||
ITEM "SCIVA|SCIVA"
|
||||
FIELD COD
|
||||
FLAGS "D"
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_CODTAB 4
|
||||
BEGIN
|
||||
PROMPT 2 2 ""
|
||||
FIELD FIRST
|
||||
FLAGS "U"
|
||||
USE LF_MULTIREL
|
||||
INPUT COD F_COD SELECT
|
||||
INPUT FIRST F_CODTAB
|
||||
DISPLAY "Codice" FIRST
|
||||
DISPLAY "Descrizione@60" DATA
|
||||
DISPLAY "Codice IVA Sispac" SECOND
|
||||
OUTPUT F_CODTAB FIRST
|
||||
OUTPUT F_CODTAB1 FIRST
|
||||
OUTPUT F_DESC DATA
|
||||
OUTPUT F_COD_CAMPO SECOND
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD FIRST
|
||||
FLAGS "Z"
|
||||
KEY 1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_CODTAB1 4
|
||||
BEGIN
|
||||
PROMPT 2 2 ""
|
||||
USE %IVA
|
||||
INPUT CODTAB F_CODTAB1
|
||||
DISPLAY "Cod." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODTAB CODTAB
|
||||
OUTPUT F_CODTAB1 CODTAB
|
||||
OUTPUT F_DESC S0
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD FIRST
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESC 50
|
||||
BEGIN
|
||||
PROMPT 10 2 "Descrizione "
|
||||
USE LF_MULTIREL KEY 2
|
||||
INPUT COD F_COD SELECT
|
||||
INPUT DATA F_DESC
|
||||
DISPLAY "Descrizione@60" DATA
|
||||
DISPLAY "Codice" FIRST
|
||||
DISPLAY "Codice IVA Sispac" SECOND
|
||||
COPY OUTPUT F_CODTAB
|
||||
FIELD DATA
|
||||
KEY 3
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_COD_CAMPO 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Codice IVA Sispac "
|
||||
CHECKTYPE NORMAL
|
||||
FIELD SECOND
|
||||
FLAG "Z"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user