Patch level : 12.0 752
Files correlati : cg2100, tsdb Commento : - Modificata maschera per selezionare fatture FPPRO - Modificata sq_get_date per problemi di compatibilità
This commit is contained in:
parent
1f3dccc389
commit
c3aebe7a62
3
exe/f23.dir
Normal file
3
exe/f23.dir
Normal file
@ -0,0 +1,3 @@
|
||||
23
|
||||
0
|
||||
$mov|96166|96166|577|0|Movimenti di prima nota|NMOV||
|
68
exe/f23.trr
Normal file
68
exe/f23.trr
Normal file
@ -0,0 +1,68 @@
|
||||
23
|
||||
61
|
||||
ANNOES|9|4|0|Codice esercizio
|
||||
NUMREG|3|7|0|Numero di operazione
|
||||
DATAREG|5|8|0|Data operazione
|
||||
DATACOMP|5|8|0|Data competenza
|
||||
DATADOC|5|8|0|Data documento
|
||||
RITFATT|8|1|0|Fattura in ritardo
|
||||
DATA74TER|5|8|0|Data per art. 74 ter
|
||||
MESELIQ|2|2|0|Mese per liquidazione differita
|
||||
NUMDOC|1|7|0|Numero documento
|
||||
NUMDOCEXT|1|50|0|Numero documento esteso
|
||||
TIPODOC|1|2|0|Tipo documento
|
||||
CODCAUS|1|3|0|Codice causale
|
||||
DESCR|1|50|0|Descrizione
|
||||
TIPOMOV|1|1|0|Tipo movimento
|
||||
ANNOIVA|2|4|0|Anno IVA
|
||||
REG|1|3|0|Codice registro IVA
|
||||
PROTIVA|3|6|0|Numero di protocollo IVA
|
||||
UPROTIVA|3|6|0|Ultimo numero di protocollo IVA se diverso da PROTIVA
|
||||
CODVAL|1|3|0|Codice valuta
|
||||
DATACAM|5|8|0|Data del cambio
|
||||
CAMBIO|4|15|6|Cambio della valuta
|
||||
REGST|8|1|0|Stampato su registro IVA
|
||||
STAMPATO|8|1|0|Stampato su giornale
|
||||
NUMGIO|3|7|0|Numero operazione sul giornale
|
||||
TIPO|1|1|0|Tipo <C>liente o <F>ornitore
|
||||
CODCF|3|6|0|Codice
|
||||
TOTDOC|4|18|3|Totale documento
|
||||
TOTDOCVAL|4|18|3|Totale documento in valuta
|
||||
RITFIS|4|18|3|Ritenute fiscali
|
||||
RITSOC|4|18|3|Ritenute sociali
|
||||
REVCHARGE|4|18|3|Reverse charge
|
||||
PROVVIS|1|1|0|Tipo movimento (" " Normale, "P" Provvisorio cancellabile, "C" Provvisorio cespiti)
|
||||
CODVALI|1|3|0|Codice valuta intra-comunitaria
|
||||
CAMBIOI|4|15|6|Cambio della valuta intra-comunitaria
|
||||
CORRLIRE|4|18|3|Corrispettivo in lire intra-comunitario
|
||||
CORRVALUTA|4|18|3|Corrispettivo in valuta intra-comunitario
|
||||
DATACOMPI|5|8|0|Data di competenza intra-comunitaria
|
||||
OCFPI|1|16|0|Codice cliente / fornitore occasionale
|
||||
CODPAG|1|4|0|Codice pagamento
|
||||
INVIATO|8|1|0|Inviato ad altra contabilità
|
||||
INVIVA|8|1|0|Inviata la parte IVA ad altra contabilita'
|
||||
SCARCON|8|1|0|Scaricata la contabilitá
|
||||
TNUMREG|3|7|0|Numero di registrazione temporaneo per ricezioni
|
||||
TOCFP|1|16|0|Codice occasionale temporaneo per ricezioni
|
||||
DPROVV|1|1|0|Documento originale PROVV
|
||||
DANNO|2|4|0|Documento originale ANNO
|
||||
DCODNUM|1|4|0|Documento originale CODNUM
|
||||
DNDOC|3|7|0|Documento originale NDOC
|
||||
DATAINC|5|8|0|Data di incasso per liquidazione differita
|
||||
LIQDIFF|8|1|0|Flag di movimento a liquidazione differita
|
||||
IVAXCASSA|8|1|0|Flag di movimento IVA per cassa
|
||||
SPLITPAY|1|1|0|Flag di scissione pagamenti [_=Auto,S=Split,N=Normale]
|
||||
NOLEGGIO|1|1|0|Tipo veicolo Auto, Camper, Altro, Diporto, aEreo
|
||||
INVIOFE|5|8|0|Data invio definitivo dati rilevanti
|
||||
CONTSEP|1|6|0|Contabilità separata
|
||||
CFBOLLADOG|1|7|0|Codice fornitore a cui è riferita la bolla doganale
|
||||
TFINVIO|7|1|0|Flag Invio Trasferimento Fatture
|
||||
TFDATA|5|8|0|Data ultimo invio Trasferimento Fatture
|
||||
IVALIQ|8|1|0|Iva per cassa liquidata completamente
|
||||
KEYFPPRO|1|80|0|Chiavi dell'FPPRO [KEYPRGINVIO;KEYHEADERFATT;KEYBODYFATT]
|
||||
PROGFPPRO|1|18|0|Numero protocollazione in ingresso FPPRO [yyyy-TIPOPROT/NUMPROT]
|
||||
4
|
||||
NUMREG|
|
||||
DATAREG+NUMREG|X
|
||||
TIPO+CODCF+DATAREG+NUMREG|X
|
||||
REG+DATAREG+PROTIVA+DATAINC+DATA74TER+NUMREG|X
|
@ -58,7 +58,7 @@ TMask* TPrimanota_application::load_mask(int n)
|
||||
|
||||
TString8 name = "cg2100"; name << char(n == 3 ? 'o' : 'a'+n);
|
||||
TMask* m = new TMask(name);
|
||||
|
||||
|
||||
switch (n)
|
||||
{
|
||||
case 0:
|
||||
@ -114,8 +114,9 @@ TMask* TPrimanota_application::load_mask(int n)
|
||||
ism.set_handler(209, sheet_clifo_handler);
|
||||
ism.set_handler(309, sheet_clifo_handler);
|
||||
ism.set_handler(CG_RATEO, sheet_rateo_handler);
|
||||
ism.set_handler(CG_RISCONTO, sheet_risconto_handler);
|
||||
|
||||
ism.set_handler(CG_RISCONTO, sheet_risconto_handler);
|
||||
if (!(fexist("fp0.exe") && !fp_settings().get_db_indirizzo().empty() && !fp_settings().is_f8()))
|
||||
m->hide(F_PROTFPPRO);
|
||||
if (_quadratura)
|
||||
m->set_handler(F_ADJUST_IVA, quadratura_handler);
|
||||
}
|
||||
@ -2166,8 +2167,14 @@ bool TPrimanota_application::save(bool check_dirty)
|
||||
_swap_mask = false;
|
||||
return true;
|
||||
}
|
||||
save_fppro();
|
||||
return TRelation_application::save(check_dirty);
|
||||
const bool saved_fppro = save_fppro();
|
||||
const bool saved = TRelation_application::save(check_dirty);
|
||||
if (saved && saved_fppro)
|
||||
{
|
||||
if (!save_dbmov())
|
||||
message_box("Attenzione non è stato possibile salvare i riferimenti del documento (in ingresso) nel movimento");
|
||||
}
|
||||
return saved;
|
||||
}
|
||||
|
||||
void TPrimanota_application::dump_rec(TConfig & ini, const TRectype & rec, int row, int pref)
|
||||
@ -2282,15 +2289,27 @@ void TPrimanota_application::mask2ini(const TMask& msk, TConfig& ini)
|
||||
|
||||
bool TPrimanota_application::save_fppro() const
|
||||
{
|
||||
const KEY last = curr_mask().last_key();
|
||||
if (last != K_SAVE) // Salto se sto uscendo
|
||||
return true;
|
||||
TMask& msk = curr_mask();
|
||||
const KEY last = msk.last_key();
|
||||
|
||||
// Controllo che sto registrando un documento FA Fattura di Acquisto
|
||||
TLocalisamfile clifo(LF_CAUSALI);
|
||||
clifo.setkey(1);
|
||||
clifo.put("CODCAUS", msk.get(F_CODCAUS));
|
||||
if (clifo.read() != NOERR)
|
||||
return false;
|
||||
if (clifo.get("TIPODOC") != "FA")
|
||||
return false;
|
||||
// Provo a vedere se hanno l'FP: se c'è l'indirizzo controllo che non sia F8 se non c'è non hanno l'FP
|
||||
if (!fexist("fp0.exe") || fp_settings().get_db_indirizzo().empty() || fp_settings().is_f8())
|
||||
return true; // Salto il salvataggio in FPPRO
|
||||
|
||||
TMask& msk = curr_mask();
|
||||
return false; // Salto il salvataggio in FPPRO
|
||||
|
||||
|
||||
if (last != K_SAVE) { // Salto se sto uscendo
|
||||
message_box("La registrazione del movimento non verrà salvata sul database.");
|
||||
return false;
|
||||
}
|
||||
|
||||
const TDate data_operazione(msk.get(F_DATAREG));
|
||||
const TDate data_documento(msk.get(F_DATADOC));
|
||||
const TString& numero_docext = msk.get(F_NUMDOCEXT);
|
||||
@ -2345,8 +2364,9 @@ bool TPrimanota_application::save_fppro() const
|
||||
return false;
|
||||
}
|
||||
|
||||
const TString& dataoraric = fp_db().sq_get("P1_DATAORARIC"); // Devo controllare che la data operazione sia maggiore della data ric
|
||||
if(data_operazione < TDate(dataoraric))
|
||||
// Devo controllare che la data operazione sia maggiore della data ric
|
||||
const TDate dataoraric = fp_db().sq_get_date("P1_DATAORARIC");
|
||||
if(data_operazione < dataoraric)
|
||||
{
|
||||
error_box("Attenzione non è possibile registrare una fattura\ncon data operazione minore della data di ricezione.");
|
||||
return false;
|
||||
@ -2364,7 +2384,28 @@ bool TPrimanota_application::save_fppro() const
|
||||
"WHERE PZ_KEYPRGINVIO = \'" << keyprginvio << "\' AND PZ_KEYHEADERFATT = \'" << keyheaderfatt << "\' AND PZ_KEYBODYFATT = \'" << keybodyfatt << "\';";
|
||||
|
||||
fp_db().sq_set_exec(update_query);
|
||||
return fp_db().sq_commit();
|
||||
const bool saved = fp_db().sq_commit();
|
||||
if (!saved)
|
||||
error_box("Attenzione non è stato possibile registrare la fattura nel database.");
|
||||
return saved;
|
||||
}
|
||||
bool TPrimanota_application::save_dbmov() const
|
||||
{
|
||||
const TMask& msk = curr_mask();
|
||||
const TString& numreg = msk.get(H_NUMREG);
|
||||
const TString& keyfppro = msk.get(F_PROKEY);
|
||||
const TString& progfppro = msk.get(F_PROTFPPRO);
|
||||
|
||||
TLocalisamfile mov(LF_MOV);
|
||||
mov.put(MOV_NUMREG, numreg);
|
||||
bool ok = mov.read() == NOERR;
|
||||
if (ok)
|
||||
{
|
||||
mov.put(MOV_KEYFPPRO, keyfppro);
|
||||
mov.put(MOV_PROGFPPRO, progfppro);
|
||||
ok = mov.rewrite() == NOERR;
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TPrimanota_application::link_cesp(const TMask& msk, const char* action)
|
||||
|
@ -19,7 +19,9 @@
|
||||
#define F_DATACOMP 116
|
||||
#define F_ANNOIVA 117
|
||||
#define F_NUMDOCEXT 130
|
||||
#define F_PROTFPPRO 230
|
||||
#define F_RITFATT 231
|
||||
#define F_PROKEY 232
|
||||
|
||||
#define F_CLIFO 128
|
||||
#define F_CODCLIFOR 151
|
||||
@ -192,4 +194,30 @@
|
||||
#define K_ANNOES 415
|
||||
#define K_DATACOMP 416
|
||||
|
||||
|
||||
// Campi per maschera FPPRO
|
||||
#define F_SHEETFPPRO 601
|
||||
#define F_CODCLIFORS 602
|
||||
#define F_COFIS 603
|
||||
#define F_STATOPAIVS 604
|
||||
#define F_PIVAS 605
|
||||
#define F_SHEETFPPROS 606
|
||||
|
||||
#define F_NUMEROI 607
|
||||
#define F_DATAI 608
|
||||
#define F_TOTDOCI 609
|
||||
#define F_PROTFPPROI 610
|
||||
#define F_FPPROKEYSI 611
|
||||
|
||||
#define F_SELFPPROS 101
|
||||
#define F_DATAS 102
|
||||
#define F_DATAORARICS 103
|
||||
#define F_IMPTOTDOCS 104
|
||||
#define F_NUMEROS 105
|
||||
#define F_FISCIVAPAESES 106
|
||||
#define F_FISCIVACODS 107
|
||||
#define F_CODFISCALES 108
|
||||
#define F_TIPOPROTS 109
|
||||
#define F_PROGRESSS 110
|
||||
|
||||
#endif
|
||||
|
@ -3,6 +3,8 @@
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Testata" -1 -1 77 20
|
||||
@ -594,6 +596,19 @@ BEGIN
|
||||
DRIVENBY F_VALUTAINTRA
|
||||
END
|
||||
|
||||
STRING F_PROTFPPRO 18
|
||||
BEGIN
|
||||
PROMPT 1 17 "Codice Protocollo FPPRO "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_PROKEY 80
|
||||
BEGIN
|
||||
PROMPT 1 18 "db key"
|
||||
HELP "Chiave database"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BOOLEAN F_RITFATT
|
||||
BEGIN
|
||||
PROMPT 1 21 "Fattura in ritardo "
|
||||
@ -776,3 +791,5 @@ ENDMASK
|
||||
#include "cg21iva.uml"
|
||||
#include "cg21cg.uml"
|
||||
#include "cg21rata.uml"
|
||||
|
||||
ENDMASK
|
@ -19,6 +19,7 @@
|
||||
#include <pconti.h>
|
||||
#include <doc.h>
|
||||
#include <occas.h>
|
||||
#include "../fp/fplib.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Funzioni di decodifica/calcolo
|
||||
@ -2987,6 +2988,7 @@ bool TPrimanota_application::clifo_handler(TMask_field& f, KEY key)
|
||||
const bool ic = ixc->active() && (alleg < 5 || alleg == 7) && paiv.full() && !m.get_bool(F_LIQDIFF);
|
||||
ixc->set(ic ? "X" : "");
|
||||
}
|
||||
fppro_mask(f, key);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3449,6 +3451,30 @@ bool TPrimanota_application::protiva_handler(TMask_field& f, KEY key)
|
||||
return ok;
|
||||
}
|
||||
|
||||
void TPrimanota_application::fppro_mask(TMask_field& f, KEY key)
|
||||
{
|
||||
TMask& cg_msk = f.mask();
|
||||
// Provo a vedere se hanno l'FP: se c'è l'indirizzo controllo che non sia F8 se non c'è non hanno l'FP
|
||||
if (!(fexist("fp0.exe") && !fp_settings().get_db_indirizzo().empty() && !fp_settings().is_f8()))
|
||||
return;
|
||||
|
||||
TMask* msk = new TMask("cgFPPRO");
|
||||
msk->set_handler(DLG_CONFIG, fppro_handler);
|
||||
msk->set_handler(DLG_LINK, fppro_ok_handler);
|
||||
msk->set(F_CODCLIFORS, cg_msk.get(F_CODCLIFOR));
|
||||
msk->set(F_COFIS, cg_msk.get(F_COFI));
|
||||
msk->set(F_STATOPAIVS, cg_msk.get(F_STATOPAIV));
|
||||
msk->set(F_PIVAS, cg_msk.get(F_PIVA));
|
||||
msk->run();
|
||||
// Riporto dati FPPRO su maschera Prima Nota
|
||||
cg_msk.set(F_NUMDOCEXT, msk->get(F_NUMEROI));
|
||||
cg_msk.set(F_NUMDOC, TString(msk->get(F_NUMEROI)).left(7));
|
||||
cg_msk.set(F_DATADOC, msk->get(F_DATAI));
|
||||
cg_msk.set(F_TOTALE, msk->get(F_TOTDOCI));
|
||||
cg_msk.set(F_PROTFPPRO, msk->get(F_PROTFPPROI));
|
||||
cg_msk.set(F_PROKEY, msk->get(F_FPPROKEYSI));
|
||||
}
|
||||
|
||||
|
||||
// Handler of the F_RITFIS
|
||||
// Certified 100%
|
||||
@ -3823,3 +3849,113 @@ bool TPrimanota_application::quadratura_handler(TMask_field& f, KEY key)
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool TPrimanota_application::fppro_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k != 32)
|
||||
return true;
|
||||
TMask& msk = f.mask();
|
||||
//if(msk.curr_page() != 3)
|
||||
//return true;
|
||||
// Provo a vedere se hanno l'FP: se c'è l'indirizzo controllo che non sia F8 se non c'è non hanno l'FP
|
||||
if (!fexist("fp0.exe") || fp_settings().get_db_indirizzo().empty() || fp_settings().is_f8())
|
||||
return true; // Salto il salvataggio in FPPRO
|
||||
|
||||
|
||||
const int forn = msk.get_int(F_CODCLIFORS);
|
||||
if (forn == 0)
|
||||
{
|
||||
message_box("Inserire prima il fornitore");
|
||||
return true;
|
||||
}
|
||||
|
||||
const TString& codfisc = msk.get(F_COFIS);
|
||||
const TString& stato_piva = msk.get(F_STATOPAIVS);
|
||||
const TString& piva = msk.get(F_PIVAS);
|
||||
TString id_fornitore;
|
||||
if (!piva.empty())
|
||||
{
|
||||
id_fornitore << " (P2_FISCIVAPAESE = ";
|
||||
if (!stato_piva.empty())
|
||||
id_fornitore << "\'" << stato_piva << "\'";
|
||||
else
|
||||
id_fornitore << "\'IT\'";
|
||||
id_fornitore << " AND P2_FISCIVACOD = \'" << piva << "\'";
|
||||
}
|
||||
if (!codfisc.empty())
|
||||
{
|
||||
if (!id_fornitore.empty())
|
||||
id_fornitore << " OR ";
|
||||
id_fornitore << " P2_CODFISCALE = \'" << codfisc << "\'";
|
||||
}
|
||||
if (!id_fornitore.empty())
|
||||
id_fornitore << ")";
|
||||
TString query;
|
||||
query << "SELECT PZ_DATA, CAST(P1_DATAORARIC AS DATE) AS P1_DATAORARIC, PQ_IMPTOTDOC, PZ_NUMERO, PZ_NUMREGCONT, PZ_TIPOPROT, PZ_NUMPROT, P2_FISCIVAPAESE, P2_FISCIVACOD, P2_CODFISCALE, PZ_KEYPRGINVIO, PZ_KEYHEADERFATT, PZ_KEYBODYFATT\n" <<
|
||||
"FROM PAA0200F\n" << "JOIN FPPRO00F\n" << " ON P2_KEYPRGINVIO = PZ_KEYPRGINVIO AND P2_KEYHEADERFATT = PZ_KEYHEADERFATT AND P2_KEYBODYFATT = PZ_KEYBODYFATT\n" <<
|
||||
"JOIN PAA0100F\n" << " ON P2_KEYPRGINVIO = P1_KEYPRGINVIO AND P2_KEYHEADERFATT = P1_KEYHEADERFATT AND P2_KEYBODYFATT = P1_KEYBODYFATT\n" <<
|
||||
"JOIN PAA2700F\n" << "ON P2_KEYPRGINVIO = PQ_KEYPRGINVIO AND P2_KEYHEADERFATT = PQ_KEYHEADERFATT AND P2_KEYBODYFATT = PQ_KEYBODYFATT\n" <<
|
||||
"WHERE " << id_fornitore << ";";
|
||||
fp_db().sq_set_exec(query, false);
|
||||
|
||||
TSheet_field& sf = msk.sfield(F_SHEETFPPROS);
|
||||
sf.hide();
|
||||
while (fp_db().sq_next())
|
||||
{
|
||||
TString numreg = fp_db().sq_get("PZ_NUMREGCONT");
|
||||
if (numreg != "0")
|
||||
continue;
|
||||
TToken_string& row = sf.row(-1);
|
||||
row.add("", 0);
|
||||
row.add(TDate(fp_db().sq_get_date("PZ_DATA")));
|
||||
row.add(TDate(fp_db().sq_get_date("P1_DATAORARIC")));
|
||||
row.add(fp_db().sq_get("PQ_IMPTOTDOC"));
|
||||
row.add(fp_db().sq_get("PZ_NUMERO"));
|
||||
row.add(fp_db().sq_get("P2_FISCIVAPAESE"));
|
||||
row.add(fp_db().sq_get("P2_FISCIVACOD"));
|
||||
row.add(fp_db().sq_get("P2_CODFISCALE"));
|
||||
row.add(fp_db().sq_get("PZ_TIPOPROT"));
|
||||
row.add(fp_db().sq_get("PZ_NUMPROT"));
|
||||
}
|
||||
sf.force_update();
|
||||
sf.show();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TPrimanota_application::fppro_ok_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k != 32)
|
||||
return true;
|
||||
TMask& msk = f.mask();
|
||||
//if (msk.curr_page() != 3)
|
||||
//return true;
|
||||
bool ok = false;
|
||||
TSheet_field& sf = msk.sfield(F_SHEETFPPROS);
|
||||
bool loaded = false;
|
||||
FOR_EACH_SHEET_ROW(sf, nr, row)
|
||||
{
|
||||
if(!loaded && *row->get(0) == 'X')
|
||||
{
|
||||
msk.set(F_NUMEROI, row->get(4));
|
||||
msk.set(F_DATAI, row->get(1));
|
||||
msk.set(F_TOTDOCI, row->get(3));
|
||||
TString protocollo; protocollo << TDate(row->get(1)).year() << "-" << row->get(8) << "/" << row->get(9);
|
||||
msk.set(F_PROTFPPROI, protocollo);
|
||||
TString key_prot; key_prot << fp_db().sq_get("PZ_KEYPRGINVIO") << ";" << fp_db().sq_get("PZ_KEYHEADERFATT") << ";" << fp_db().sq_get("PZ_KEYBODYFATT");
|
||||
msk.set(F_FPPROKEYSI, key_prot);
|
||||
loaded = true;
|
||||
ok = true;
|
||||
break;
|
||||
}
|
||||
if(*row->get(0) == 'X')
|
||||
row->add("", 0);
|
||||
}
|
||||
sf.force_update();
|
||||
if(ok)
|
||||
message_box("Dati caricati.\nChiudere la maschera per tornare alla prima nota.");
|
||||
else
|
||||
message_box("Nessun documento selezionato.");
|
||||
//msk.stop_run(20334);
|
||||
return true;
|
||||
}
|
@ -110,6 +110,7 @@ class TPrimanota_application : public TRelation_application
|
||||
static bool annorif_handler(TMask_field& f, KEY key);
|
||||
static bool numrif_handler(TMask_field& f, KEY key);
|
||||
static bool protiva_handler(TMask_field& f, KEY key);
|
||||
|
||||
static bool clifo_handler(TMask_field& f, KEY key);
|
||||
static bool totdoc_handler(TMask_field& f, KEY key);
|
||||
static bool totdocval_handler(TMask_field& f, KEY key);
|
||||
@ -167,6 +168,10 @@ class TPrimanota_application : public TRelation_application
|
||||
static bool colors_handler(TMask_field& f, KEY k);
|
||||
|
||||
static bool quadratura_handler(TMask_field& f, KEY k); // Bottone quadratura per ATS
|
||||
|
||||
static bool fppro_handler(TMask_field& f, KEY k); // Carica spread fppro
|
||||
static bool fppro_ok_handler(TMask_field& f, KEY k); // Riporta doc FPPRO in testata
|
||||
static void fppro_mask(TMask_field& f, KEY key);
|
||||
|
||||
void reset_sheet_row(TSheet_field& s, int n);
|
||||
int crea_somma_spese(TImporto& imp);
|
||||
@ -182,6 +187,8 @@ protected: // TApplication
|
||||
virtual void ini2mask(TConfig& ini, TMask& msk, bool query);
|
||||
virtual void mask2ini(const TMask& msk, TConfig& ini);
|
||||
bool save_fppro() const;
|
||||
// Salva riferimento documento in FPPRO in mov
|
||||
bool save_dbmov() const;
|
||||
virtual bool save(bool check_dirty);
|
||||
|
||||
bool get_mask_swap_file(TFilename& name) const;
|
||||
|
184
src/cg/cgFPPRO.uml
Normal file
184
src/cg/cgFPPRO.uml
Normal file
@ -0,0 +1,184 @@
|
||||
#include "cg2100.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_CONFIG 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "Carica FPPRO"
|
||||
PICTURE TOOL_ELABORA
|
||||
END
|
||||
|
||||
BUTTON DLG_LINK 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "Collega FPPRO"
|
||||
PICTURE TOOL_LINK
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 2 2
|
||||
BEGIN
|
||||
PROMPT 4 1 "Fine"
|
||||
PICTURE TOOL_QUIT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "FPPRO" -1 -1 77 20
|
||||
|
||||
NUMBER F_CODCLIFORS 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice fornitore"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_COFIS 16
|
||||
BEGIN
|
||||
PROMPT 40 1 "C.F. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_STATOPAIVS 2
|
||||
BEGIN
|
||||
PROMPT 1 2 "STATO P.I."
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_PIVAS 12
|
||||
BEGIN
|
||||
PROMPT 40 2 "P.I. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
SPREADSHEET F_SHEETFPPROS 0 5
|
||||
BEGIN
|
||||
PROMPT 0 4 ""
|
||||
ITEM "SEL"
|
||||
ITEM "DATA"
|
||||
ITEM "DATAORARIC"
|
||||
ITEM "IMPTOTDOCP"
|
||||
ITEM "NUMERO"
|
||||
ITEM "FISCIVAPAESE"
|
||||
ITEM "FISCIVACOD"
|
||||
ITEM "CODFISCALE"
|
||||
ITEM "TIPOPROT"
|
||||
ITEM "PROGRESS"
|
||||
END
|
||||
|
||||
STRING F_NUMEROI 20
|
||||
BEGIN
|
||||
PROMPT 1 20 "NUMERO"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
DATE F_DATAI
|
||||
BEGIN
|
||||
PROMPT 1 21 "DATA"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER F_TOTDOCI 10 3
|
||||
BEGIN
|
||||
PROMPT 1 22 "IMPTOTDOC"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_PROTFPPROI 18
|
||||
BEGIN
|
||||
PROMPT 1 23 "Tipo Protocollo"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_FPPROKEYSI 80
|
||||
BEGIN
|
||||
PROMPT 1 19 "db key"
|
||||
HELP "Chiave database"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
|
||||
PAGE "ELEMENTI SPREADSHEET" -1 -1 77 20
|
||||
|
||||
BOOLEAN F_SELFPPROS
|
||||
BEGIN
|
||||
PROMPT 1 0 "Selected"
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
DATE F_DATAS
|
||||
BEGIN
|
||||
PROMPT 1 1 "DATA"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE F_DATAORARICS
|
||||
BEGIN
|
||||
PROMPT 1 2 "DATAORARIC"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_IMPTOTDOCS 10 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "IMPTOTDOC"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_NUMEROS 20
|
||||
BEGIN
|
||||
PROMPT 1 4 "NUMERO"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_FISCIVAPAESES 2
|
||||
BEGIN
|
||||
PROMPT 1 5 "FISCIVAPAESE"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_FISCIVACODS 16
|
||||
BEGIN
|
||||
PROMPT 1 6 "FISCIVACOD"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CODFISCALES 16
|
||||
BEGIN
|
||||
PROMPT 1 7 "CODFISCALE"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TIPOPROTS 2
|
||||
BEGIN
|
||||
PROMPT 1 8 "TIPOPROT"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_PROGRESSS 10 0
|
||||
BEGIN
|
||||
PROMPT 1 9 "PROGRESS"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
TOOLBAR "Documento" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_USER 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Collega"
|
||||
PICTURE TOOL_LINK
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
@ -56,6 +56,8 @@
|
||||
#define MOV_CONTSEP "CONTSEP"
|
||||
#define MOV_TNUMREG "TNUMREG"
|
||||
#define MOV_IVALIQ "IVALIQ"
|
||||
#define MOV_KEYFPPRO "KEYFPPRO"
|
||||
#define MOV_PROGFPPRO "PROGFPPRO"
|
||||
|
||||
#define NUMREG_PROVVISORIO 999999L
|
||||
|
||||
|
@ -9,8 +9,15 @@
|
||||
|
||||
const TDate SSimple_query::sq_get_date(const char * field)
|
||||
{
|
||||
const TDate app(_rec.get_date(field));
|
||||
return app;
|
||||
TDate date(_rec.get_date(field));
|
||||
if(!date.ok() || date == 19000100)
|
||||
{
|
||||
TString dt_str = _rec.get(field);
|
||||
if (dt_str.len() > 10)
|
||||
dt_str = dt_str.left(10);
|
||||
date = dt_str;
|
||||
}
|
||||
return date;
|
||||
}
|
||||
|
||||
const real SSimple_query::sq_get_real(const char * field)
|
||||
|
Loading…
x
Reference in New Issue
Block a user