Patch level : 12.0 750
Files correlati : cg2100, fp0400 Commento : - Per prima nota: aggiunto controllo esistenza programma fp - Migliorato controllo corrispondenza documento in FPPRO - Aggiunto controllo se già registrato in FPPRO - Per monitor passive: aggiunte colonne per registrazione contabile
This commit is contained in:
parent
979dec06f4
commit
06c0588356
@ -2283,10 +2283,10 @@ 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_ESC || last == K_QUIT || last == K_F9) // Salto se sto uscendo
|
||||
if (last == K_ESC || last == K_QUIT || last == K_F9 || last == K_INS) // Salto se sto uscendo
|
||||
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 (fp_settings().get_db_indirizzo().empty() || fp_settings().is_f8())
|
||||
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();
|
||||
@ -2332,13 +2332,20 @@ bool TPrimanota_application::save_fppro() const
|
||||
"JOIN PAA2700F\n" << "ON P2_KEYPRGINVIO = PQ_KEYPRGINVIO AND P2_KEYHEADERFATT = PQ_KEYHEADERFATT AND P2_KEYBODYFATT = PQ_KEYBODYFATT\n" <<
|
||||
"WHERE " << id_fornitore << " AND PZ_DATA = \'" << data_documento.date2ansi() << "\' AND PQ_IMPTOTDOC = \'" << tot_doc << "\' AND PZ_NUMERO = \'" << (!numero_docext.empty() ? numero_docext : numero_doc) << "\' ;";
|
||||
fp_db().sq_set_exec(query);
|
||||
|
||||
const TDate& dataoraric = fp_db().sq_get_date("P1_DATAORARIC"); // Devo controllare che la data operazione sia maggiore della data ric
|
||||
if (dataoraric.empty())
|
||||
const int n = fp_db().sq_items();
|
||||
if (n != 1)
|
||||
{
|
||||
message_box("Attenzione non è stato possibile indentificare\nil documento con una fattura in FPPRO");
|
||||
message_box("Attenzione non è stato possibile indentificare\nil documento con una specifica fattura in FPPRO");
|
||||
return false;
|
||||
}
|
||||
const int numreg = fp_db().sq_get_int("PZ_NUMREGCONT");
|
||||
if (numreg != 0)
|
||||
{
|
||||
error_box(TString("Il documento ") << data_documento.year() << " / " << numero_doc << " è già stato inserito con la registrazione numero " << numreg << "\nSalvataggio in FPPRO impossibile.");
|
||||
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))
|
||||
{
|
||||
error_box("Attenzione non è possibile registrare una fattura\ncon data operazione minore della data di ricezione.");
|
||||
|
@ -108,7 +108,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], PQ_IMPTOTDOC AS [TOT_DOC], P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, " <<
|
||||
"P7_DATA AS [DATA_DOC], PQ_IMPTOTDOC AS [TOT_DOC], PZ_NUMREGCONT AS NUMREGCONT, PZ_DATAREGCONT AS DATAREGCONT, P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, " <<
|
||||
"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_TIPOPROT AS [TIPO_PROT], PZ_NUMPROT AS [NUM_PROT], PZ_ANNOPROT AS [ANNO_PROT], PZ_TIPOCF AS [TIPO_CF], PZ_CLIFOR AS [COD_CLIFOR]\n" <<
|
||||
@ -120,7 +120,7 @@ void TPassive_mask::fill()
|
||||
"LEFT JOIN PAA3200F PAA32 ON P1_KEYPRGINVIO = PU_KEYPRGINVIO and P1_KEYHEADERFATT = PU_KEYHEADERFATT and P1_KEYBODYFATT = PU_KEYBODYFATT\n" <<
|
||||
"LEFT JOIN FPPRO00F FPPRO ON P1_KEYPRGINVIO = PZ_KEYPRGINVIO and P1_KEYHEADERFATT = PZ_KEYHEADERFATT and P1_KEYBODYFATT = PZ_KEYBODYFATT\n" <<
|
||||
"WHERE P7_DATA >= \'" << dal.date2ansi() << "\' AND P7_DATA <= \'" << al.date2ansi() << "\'" << prots_query << "\n" <<
|
||||
"GROUP BY YEAR(P7_DATA), P7_TIPODOC, P7_NUMERO, P7_DATA, PQ_IMPTOTDOC, P2_ANADENOMIN, P2_ANANOME, P2_ANACOGNOME, P2_FISCIVACOD, P2_CODFISCALE, P2_FISCIVAPAESE,\n" <<
|
||||
"GROUP BY YEAR(P7_DATA), P7_TIPODOC, P7_NUMERO, P7_DATA, 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" <<
|
||||
"ORDER BY PZ_ANNOPROT DESC, PZ_TIPOPROT ASC, PZ_NUMPROT DESC";
|
||||
fp_db().sq_set_exec(query, false);
|
||||
@ -170,8 +170,9 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
|
||||
const TString paa_piva = fp_db().sq_get("P_IVA");
|
||||
const TString paa_codpaese = fp_db().sq_get("COD_PAESE");
|
||||
const TString paa_codsdi = fp_db().sq_get("COD_SDI");
|
||||
TString prot = fp_db().sq_get("TIPO_PROT");
|
||||
TString filter_elab = get(F_FATTSEL);
|
||||
const TString prot = fp_db().sq_get("TIPO_PROT");
|
||||
const TDate dataregcont = fp_db().sq_get_date("DATAREGCONT");
|
||||
const TString filter_elab = get(F_FATTSEL);
|
||||
|
||||
clifo.zero();
|
||||
clifo.put(CLI_TIPOCF, 'F');
|
||||
@ -199,6 +200,11 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
|
||||
else
|
||||
row.add("");
|
||||
|
||||
row.add(fp_db().sq_get("NUMREGCONT"));
|
||||
if(dataregcont == TDate("20010101"))
|
||||
row.add("");
|
||||
else
|
||||
row.add(dataregcont);
|
||||
// Valorizzo le colonne rimanenti o la tabella degli errori
|
||||
if (forn_code >= 0)
|
||||
{
|
||||
|
@ -15,21 +15,23 @@
|
||||
|
||||
#define S_SELECTED 101
|
||||
#define S_ANNO 102
|
||||
#define S_TIPODOCSDI 103
|
||||
#define S_TIPODOCSDI 103
|
||||
#define S_NDOC 104
|
||||
#define S_DATADOC 105
|
||||
#define S_TOTDOC 106
|
||||
#define S_FPPRO 107
|
||||
#define S_FORNITORE 108
|
||||
#define S_RAGSOC 109
|
||||
#define S_STATOPAIV 110
|
||||
#define S_PARIVA 111
|
||||
#define S_CODFISC 112
|
||||
#define S_ATTACH 113
|
||||
#define S_CODSDI 114
|
||||
#define S_RAGXML 115
|
||||
#define S_NPROT 116
|
||||
#define S_PROKEY 117
|
||||
#define S_NUMREGCONT 108
|
||||
#define S_DATAREGCONT 109
|
||||
#define S_FORNITORE 110
|
||||
#define S_RAGSOC 111
|
||||
#define S_STATOPAIV 112
|
||||
#define S_PARIVA 113
|
||||
#define S_CODFISC 114
|
||||
#define S_ATTACH 115
|
||||
#define S_CODSDI 116
|
||||
#define S_RAGXML 117
|
||||
#define S_NPROT 118
|
||||
#define S_PROKEY 119
|
||||
|
||||
|
||||
#define F_ERR 301
|
||||
|
@ -74,16 +74,18 @@ BEGIN
|
||||
ITEM ""
|
||||
ITEM "Anno"
|
||||
ITEM "Tipo Doc.\nSDI@6"
|
||||
ITEM "Numero\nDocumento@20"
|
||||
ITEM "Data\nDoc.@10"
|
||||
ITEM "Totale\nDocumento"
|
||||
ITEM "Numero\nDocumento@18"
|
||||
ITEM "Data\nDoc.@8"
|
||||
ITEM "Totale\nDocumento@12"
|
||||
ITEM "Salvato in\nFP PRO@7"
|
||||
ITEM "Fornitore"
|
||||
ITEM "Num. Registrazione\ncontabile@12"
|
||||
ITEM "Data Registrazione\ncontabile@12"
|
||||
ITEM "Fornitore@7"
|
||||
ITEM "Ragione Sociale@50"
|
||||
ITEM "Stato\nP.IVA@4"
|
||||
ITEM "Partita IVA@16"
|
||||
ITEM "Partita IVA@10"
|
||||
ITEM "Cod. Fiscale@16"
|
||||
ITEM "Allegati"
|
||||
ITEM "Allegati@7"
|
||||
ITEM "Codice\ndestinatario@8"
|
||||
ITEM "Ragione Sociale (XML)@50"
|
||||
ITEM "Numero Protocollo (in entrata)\n[anno-tipo prot/progressivo]@22"
|
||||
@ -199,6 +201,18 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER S_NUMREGCONT 6 0
|
||||
BEGIN
|
||||
PROMPT 1 3 "Num. Registrazione contabile"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE S_DATAREGCONT
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data Registrazione contabile"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER S_FORNITORE 6
|
||||
BEGIN
|
||||
PROMPT 1 4 "Fornitore "
|
||||
|
Loading…
x
Reference in New Issue
Block a user