Patch level : 12.0
Files correlati : fp, cg Commento: recupero dati fattura collegata da FPPRO per le integrazioni
This commit is contained in:
parent
d4db90048e
commit
16103a5ac7
@ -2498,7 +2498,7 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
|
||||
}
|
||||
if (_f1_ini && msk.find_by_id(FS_RECALC) != nullptr)
|
||||
{
|
||||
msk.set(F_COLFPPRO, "X");
|
||||
msk.set(F_COLFPPRO, "X", 0x3);
|
||||
if (scad_from_ini)
|
||||
{
|
||||
msk.set(FS_RECALC, "");
|
||||
|
@ -245,6 +245,8 @@
|
||||
#define F_CODFISCALES 111
|
||||
#define F_TIPOPROTS 112
|
||||
#define F_PROGRESSS 113
|
||||
#define F_KEYFPPROS 114
|
||||
#define F_IDDOCR 114
|
||||
#define F_DATADOCR 115
|
||||
#define F_KEYFPPROS 116
|
||||
|
||||
#endif
|
||||
|
@ -574,7 +574,7 @@ END
|
||||
BOOLEAN F_COLFPPRO
|
||||
BEGIN
|
||||
PROMPT 1 19 "Registrazione collegata a FPPRO"
|
||||
FLAGS "D"
|
||||
FLAGS "DG"
|
||||
MESSAGE TRUE DISABLE, F_IDDOCSDI|DISABLE F_DATADOCSDI
|
||||
MESSAGE FALSE ENABLE, F_IDDOCSDI|ENABLE F_DATADOCSDI
|
||||
END
|
||||
|
@ -156,6 +156,8 @@ BEGIN
|
||||
ITEM "Cod. Fiscale@14"
|
||||
ITEM "Tipo Protocollo\nin ingresso@10"
|
||||
ITEM "Progressivo\ndi ingresso@10"
|
||||
ITEM "Id@20"
|
||||
ITEM "Data fattura"
|
||||
ITEM "Chiave FPPRO@40"
|
||||
END
|
||||
|
||||
@ -167,25 +169,25 @@ END
|
||||
|
||||
DATE F_DATAI
|
||||
BEGIN
|
||||
PROMPT 1 21 "DATA"
|
||||
PROMPT 40 20 "DATA"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER F_TOTDOCI 10 3
|
||||
BEGIN
|
||||
PROMPT 1 22 "IMPTOTDOC"
|
||||
PROMPT 1 21 "IMPTOTDOC"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_PROTFPPROI 18
|
||||
BEGIN
|
||||
PROMPT 1 23 "Tipo Protocollo"
|
||||
PROMPT 1 22 "Tipo Protocollo"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_FPPROKEYSI 80
|
||||
BEGIN
|
||||
PROMPT 1 19 "db key"
|
||||
PROMPT 1 "db key"
|
||||
HELP "Chiave database"
|
||||
FLAGS "H"
|
||||
END
|
||||
@ -194,7 +196,7 @@ ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
|
||||
PAGE "ELEMENTI SPREADSHEET" -1 -1 77 20
|
||||
PAGE "ELEMENTI SPREADSHEET" -1 -1 77 22
|
||||
|
||||
BOOLEAN F_SELFPPROS
|
||||
BEGIN
|
||||
@ -275,9 +277,21 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_IDDOCR 20
|
||||
BEGIN
|
||||
PROMPT 1 11 "Id "
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
DATE F_DATADOCR
|
||||
BEGIN
|
||||
PROMPT 1 12 "DATA"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_KEYFPPROS 80
|
||||
BEGIN
|
||||
PROMPT 1 11 "CHIAVE FPPRO"
|
||||
PROMPT 1 13 "CHIAVE FPPRO"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
@ -4081,8 +4081,8 @@ void TPrimanota_application::riporta_dati_f1(TMask& cg_msk, TPro_msk & msk)
|
||||
cg_msk.set(F_NUMDOCEXT, msk.get_str_numdoc());
|
||||
cg_msk.set(F_NUMDOC, format("%-7ld", msk.get_numdoc()));
|
||||
cg_msk.set(F_DATADOC, msk.get_datadoc());
|
||||
cg_msk.set(F_IDDOCSDI, msk.get_str_numdoc());
|
||||
cg_msk.set(F_DATADOCSDI, msk.get_datadoc());
|
||||
cg_msk.set(F_IDDOCSDI, msk.get_iddocr());
|
||||
cg_msk.set(F_DATADOCSDI, msk.get_datadocr());
|
||||
cg_msk.disable(F_IDDOCSDI);
|
||||
cg_msk.disable(F_DATADOCSDI);
|
||||
}
|
||||
@ -4191,8 +4191,8 @@ bool TPrimanota_application::scollega_handler(TMask_field& f, KEY key)
|
||||
|
||||
if (ok)
|
||||
{
|
||||
app().curr_mask().set(F_PROKEY, "");
|
||||
app().curr_mask().set(F_COLFPPRO, "");
|
||||
app().curr_mask().reset(F_PROKEY);
|
||||
app().curr_mask().reset(F_COLFPPRO);
|
||||
}
|
||||
message_box("Il movimento e' stato scollegato dalla fattura elettronica\nin ingresso, precedentemente associata.");
|
||||
}
|
||||
@ -4261,6 +4261,9 @@ bool TPro_msk::load_fppro_mask(TMask & msk)
|
||||
sf.set_row_cell(F_CODFISCALES, fp_db().sq_get("P2_CODFISCALE"), r);
|
||||
sf.set_row_cell(F_TIPOPROTS, fp_db().sq_get("PZ_TIPOPROT"), r);
|
||||
sf.set_row_cell(F_PROGRESSS, fp_db().sq_get("PZ_NUMPROT"), r);
|
||||
sf.set_row_cell(F_IDDOCR, fp_db().sq_get("PZ_IDDOCR"), r);
|
||||
sf.set_row_cell(F_DATADOCR, fp_db().sq_get_date("PZ_DATADOCR"), r);
|
||||
|
||||
sf.set_row_cell(F_KEYFPPROS, keys, r);
|
||||
}
|
||||
}
|
||||
@ -4409,6 +4412,8 @@ void TPro_msk::set_doc(TSheet_field & s, int nrow)
|
||||
{
|
||||
_numero = s.get_long_row_cell(nrow, F_NUMEROS);
|
||||
_str_numero = s.get_str_row_cell(nrow, F_NUMEROS);
|
||||
_iddocr = s.get_str_row_cell(nrow, F_IDDOCR);
|
||||
_datadocr = s.get_date_row_cell(nrow, F_DATADOCR);
|
||||
_datadoc = s.get_date_row_cell(nrow, F_DATAS);
|
||||
_totdoc = abs(s.get_real_row_cell(nrow, F_IMPTOTDOCS));
|
||||
_ritenute = s.get_real_row_cell(nrow, F_RITENUTE);
|
||||
@ -4531,13 +4536,17 @@ TString& TPro_msk::query_string()
|
||||
{
|
||||
TString & query = get_tmp_string(512);
|
||||
|
||||
query << "SELECT PZ_CLIFOR, PZ_DATA, CAST(P1_DATAORARIC AS DATE) AS P1_DATAORARIC, P7_TIPODOC, PQ_IMPTOTDOC, PZ_NUMERO, PZ_NUMREGCONT, PZ_TIPOPROT, " <<
|
||||
"PZ_NUMPROT, P2_ANADENOMIN, P2_FISCIVAPAESE, P2_FISCIVACOD, P2_CODFISCALE, PZ_KEYPRGINVIO, PZ_KEYHEADERFATT, PZ_KEYBODYFATT\n" <<
|
||||
query << "SELECT *"
|
||||
<<
|
||||
"FROM PAA0200F \nJOIN FPPRO00F\n" << " ON P2_KEYPRGINVIO = PZ_KEYPRGINVIO AND P2_KEYHEADERFATT = PZ_KEYHEADERFATT AND P2_KEYBODYFATT = PZ_KEYBODYFATT\n" <<
|
||||
"JOIN PAA0100F \nON P2_KEYPRGINVIO = P1_KEYPRGINVIO AND P2_KEYHEADERFATT = P1_KEYHEADERFATT AND P2_KEYBODYFATT = P1_KEYBODYFATT\n" <<
|
||||
"JOIN PAA2700F \nON P2_KEYPRGINVIO = PQ_KEYPRGINVIO AND P2_KEYHEADERFATT = PQ_KEYHEADERFATT AND P2_KEYBODYFATT = PQ_KEYBODYFATT\n" <<
|
||||
"JOIN PAA0700F \nON P7_KEYPRGINVIO = PQ_KEYPRGINVIO AND P7_KEYHEADERFATT = PQ_KEYHEADERFATT AND P7_KEYBODYFATT = PQ_KEYBODYFATT\n";
|
||||
return query;
|
||||
|
||||
/*
|
||||
PZ_CLIFOR, PZ_DATA, CAST(P1_DATAORARIC AS DATE) AS P1_DATAORARIC, P7_TIPODOC, PQ_IMPTOTDOC, PZ_NUMERO, PZ_NUMREGCONT, PZ_TIPOPROT, " <<
|
||||
"PZ_NUMPROT, P2_ANADENOMIN, P2_FISCIVAPAESE, P2_FISCIVACOD, P2_CODFISCALE, PZ_KEYPRGINVIO, PZ_KEYHEADERFATT, PZ_KEYBODYFATT\n"*/
|
||||
}
|
||||
|
||||
void TPro_msk::abilita_piva()
|
||||
|
@ -57,6 +57,8 @@ class TPro_msk : public TAutomask
|
||||
TString_array _scadenze;
|
||||
bool _riporta;
|
||||
TString _str_numero;
|
||||
TString _iddocr;
|
||||
TDate _datadocr;
|
||||
|
||||
// Non permette la selezione multipla
|
||||
void fppro_selfatt() const;
|
||||
@ -80,6 +82,9 @@ public:
|
||||
const TString_array& get_righeiva() const { return _righe_iva; }
|
||||
const TProtocollo& get_protocollo() const { return _protfppro; }
|
||||
const TString_array& get_scadenze() const { return _scadenze; }
|
||||
const TString & get_iddocr() const { return _iddocr; }
|
||||
const TDate & get_datadocr() const { return _datadocr; }
|
||||
|
||||
real get_tot_imp_riva() ;
|
||||
|
||||
void add_rigaiva(const real& imponibile, const real& imposta, const real& aliquota, const TString4& natura, char esigib);
|
||||
|
@ -203,7 +203,7 @@ void TPassive_mask::fill()
|
||||
elenco_prots_sel(prots_query);
|
||||
|
||||
query << "SELECT PZ_TIPOPROT AS TIPO_PROT, YEAR(P7_DATA) AS ANNO, P7_TIPODOC AS [TIPO_SDI], P7_NUMERO AS [NUM_DOC], " <<
|
||||
"P7_DATA AS [DATA_DOC], PZ_DATAORARIC AS [DATA_RIC], PQ_IMPTOTDOC AS [TOT_DOC], PZ_NUMREGCONT AS NUMREGCONT, PZ_DATAREGCONT AS DATAREGCONT, P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, " <<
|
||||
"P7_DATA AS [DATA_DOC], PZ_DATAORARIC AS [DATA_RIC], PQ_IMPTOTDOC AS [TOT_DOC], PZ_NUMREGCONT AS NUMREGCONT, PZ_DATAREGCONT AS DATAREGCONT, P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, PZ_IDDOCR, PZ_DATADOCR, " <<
|
||||
"P2_ANACOGNOME AS COGNOME, P2_FISCIVACOD AS [P_IVA], P2_CODFISCALE AS [COD_FISC], P2_FISCIVAPAESE AS [COD_PAESE],\n" <<
|
||||
"COUNT(PP_ATTACHMENT) AS ATTACHMENT, P1_CODDEST AS [COD_SDI], PU_PEC AS PEC, P1_KEYPRGINVIO AS KEYPROG, P1_KEYHEADERFATT AS KEYHEAD, P1_KEYBODYFATT AS KEYFATT, " <<
|
||||
"PZ_NUMPROT AS [NUM_PROT], PZ_ANNOPROT AS [ANNO_PROT], PZ_TIPOCF AS [TIPO_CF], PZ_CLIFOR AS [COD_CLIFOR]\n" <<
|
||||
@ -216,7 +216,7 @@ void TPassive_mask::fill()
|
||||
"LEFT JOIN FPPRO00F FPPRO ON P1_KEYPRGINVIO = PZ_KEYPRGINVIO and P1_KEYHEADERFATT = PZ_KEYHEADERFATT and P1_KEYBODYFATT = PZ_KEYBODYFATT\n" <<
|
||||
"WHERE PZ_DATAORARIC >= \'" << dal.date2ansi() << "\' AND PZ_DATAORARIC < \'" << (al+(long)1).date2ansi() << "\'" << prots_query << "\n" <<
|
||||
"GROUP BY YEAR(P7_DATA), P7_TIPODOC, P7_NUMERO, P7_DATA, PZ_DATAORARIC, PQ_IMPTOTDOC, PZ_NUMREGCONT, PZ_DATAREGCONT, P2_ANADENOMIN, P2_ANANOME, P2_ANACOGNOME, P2_FISCIVACOD, P2_CODFISCALE, P2_FISCIVAPAESE,\n" <<
|
||||
"P1_CODDEST, PU_PEC, P1_KEYPRGINVIO, P1_KEYHEADERFATT, P1_KEYBODYFATT, PZ_TIPOPROT, PZ_NUMPROT, PZ_ANNOPROT, PZ_TIPOCF, PZ_CLIFOR\n" <<
|
||||
"P1_CODDEST, PU_PEC, P1_KEYPRGINVIO, P1_KEYHEADERFATT, P1_KEYBODYFATT, PZ_TIPOPROT, PZ_NUMPROT, PZ_ANNOPROT, PZ_TIPOCF, PZ_CLIFOR, PZ_IDDOCR, PZ_DATADOCR\n" <<
|
||||
"ORDER BY " << (ordin == "D"? "P7_DATA" : "PZ_DATAORARIC") << " " << (verso_ord == "C"? "ASC" : "DESC");
|
||||
fp_db().sq_set_exec(query, false);
|
||||
|
||||
@ -356,6 +356,8 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
|
||||
sf.set_row_cell(S_ATTACH, fp_db().sq_get("ATTACHMENT")!="0", row);
|
||||
sf.set_row_cell(S_RAGXML, denom, row);
|
||||
sf.set_row_cell(S_NPROT, TProtocollo(fp_db().sq_get_int("ANNO_PROT"), fp_db().sq_get("TIPO_PROT"), fp_db().sq_get("NUM_PROT")).get_prot_str(), row);
|
||||
sf.set_row_cell(S_IDDOCR, fp_db().sq_get("PZ_IDDOCR"), row);
|
||||
sf.set_row_cell(S_DATADOCR, fp_db().sq_get_date("PZ_DATADOCR"), row);
|
||||
sf.set_row_cell(S_PROKEY, keys, row);
|
||||
}
|
||||
|
||||
@ -691,11 +693,13 @@ int TPassive_mask::prepara_contab() const
|
||||
datareg = sf.get_date_row_cell(row, S_DATARIC);
|
||||
else
|
||||
datareg = get(F_DATAREGDIF).full() ? get_date(F_DATAREGDIF) : today;
|
||||
contab_ini.set("DATAREG", datareg);
|
||||
contab_ini.set("DATACOMP", datareg);
|
||||
contab_ini.set("DATADOC", sf.get_date_row_cell(row, S_DATADOC));
|
||||
contab_ini.set("NUMDOCEXT", sf.get_str_row_cell(row, S_NDOC));
|
||||
contab_ini.set("NUMDOC", TString(sf.get_str_row_cell(row, S_NDOC)).right(7));
|
||||
contab_ini.set(MOV_DATAREG, datareg);
|
||||
contab_ini.set(MOV_DATACOMP, datareg);
|
||||
contab_ini.set(MOV_DATADOC, sf.get_date_row_cell(row, S_DATADOC));
|
||||
contab_ini.set(MOV_NUMDOCEXT, sf.get_str_row_cell(row, S_NDOC));
|
||||
contab_ini.set(MOV_NUMDOC, TString(sf.get_str_row_cell(row, S_NDOC)).right(7));
|
||||
contab_ini.set(MOV_IDDOCSDI, sf.get_str_row_cell(row, S_IDDOCR));
|
||||
contab_ini.set(MOV_DATADOCSDI, sf.get_date_row_cell(row, S_DATADOCR));
|
||||
|
||||
real totdoc = sf.get_real_row_cell(row, S_TOTDOC);
|
||||
if (totdoc == ZERO)
|
||||
|
@ -52,7 +52,9 @@
|
||||
#define S_ATTACH 117
|
||||
#define S_RAGXML 118
|
||||
#define S_NPROT 119
|
||||
#define S_PROKEY 120
|
||||
#define S_IDDOCR 120
|
||||
#define S_DATADOCR 121
|
||||
#define S_PROKEY 122
|
||||
|
||||
|
||||
#define F_ERR 301
|
||||
|
@ -317,6 +317,8 @@ BEGIN
|
||||
ITEM "Allegati@6"
|
||||
ITEM "Ragione Sociale (XML)@40"
|
||||
ITEM "Numero Protocollo (in entrata)\n[anno-tipo prot/progressivo]@20"
|
||||
ITEM "Id@20"
|
||||
ITEM "Data fattura"
|
||||
ITEM "Chiave Prot.@40"
|
||||
END
|
||||
|
||||
@ -574,6 +576,18 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING S_IDDOCR 20
|
||||
BEGIN
|
||||
PROMPT 1 10 "Id"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE S_DATADOCR
|
||||
BEGIN
|
||||
PROMPT 1 11 "Data fattura"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING S_PROKEY 80
|
||||
BEGIN
|
||||
PROMPT 1 10 "db key"
|
||||
|
@ -544,6 +544,14 @@ void TMask_field::enable(
|
||||
// @flag true | Abilita il campo (default)
|
||||
// @flag false | Disabilita il campo
|
||||
{
|
||||
#ifdef DBG
|
||||
if (dlg()==188) {
|
||||
int i = 0;
|
||||
|
||||
}
|
||||
|
||||
#endif //
|
||||
|
||||
_flags.enabled = on;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user