Patch level : 12.0 no-patch

Files correlati     : f90.exe f90104.sql
Commento            :
- F9 ARCHIVIAZIONE SOSTITUTIVA:
- Aggiunte colonne codice societa' per f9error e f9movestr.
- Corretta eliminazione estrazioni.
This commit is contained in:
Simone Palacino 2020-04-16 18:54:56 +02:00
parent 5de57040af
commit ad0d25196c
3 changed files with 30 additions and 4 deletions

View File

@ -258,13 +258,14 @@ void TMonitor_mask::delete_pack(const bool all) const
flag = true; flag = true;
const TString id_estr(row->get(cid2index(F_IDESTR))); const TString id_estr(row->get(cid2index(F_IDESTR)));
TString query; TString query;
const TString codsoc(f9_app().get_ambiente());
query << "BEGIN\n" query << "BEGIN\n"
" DECLARE @stato CHAR(2);\n\n" " DECLARE @stato CHAR(2);\n\n"
" SELECT @stato = " DRD_STATO "\n" " SELECT @stato = " DRD_STATO "\n"
" FROM " F9_DRD "\n" " FROM " F9_DRD "\n"
" WHERE " DRD_ID_EST " = '" << id_estr << "';\n\n" " WHERE " DRD_ID_EST " = '" << id_estr << "';\n\n"
" IF(@stato = '" D_GEST_ERR "') BEGIN\n" " IF(@stato = '" D_GEST_ERR "') BEGIN\n"
" DELETE FROM " F9_ERR " WHERE IDESTR = '" << id_estr << "';\n" " DELETE FROM " F9_ERR " WHERE IDOC = '" << codsoc << "' AND IDESTR = '" << id_estr << "';\n"
" END\n" " END\n"
" ELSE BEGIN\n" " ELSE BEGIN\n"
" SELECT @stato AS STATO;\n" " SELECT @stato AS STATO;\n"
@ -278,8 +279,9 @@ void TMonitor_mask::delete_pack(const bool all) const
" FROM " F9_DRD "\n" " FROM " F9_DRD "\n"
" WHERE " DRD_ID_EST " = '" << id_estr << "';\n\n" " WHERE " DRD_ID_EST " = '" << id_estr << "';\n\n"
" IF (@flag_prov = 'P' OR @stato = '" D_GEST_ERR "') BEGIN\n" " IF (@flag_prov = 'P' OR @stato = '" D_GEST_ERR "') BEGIN\n"
" DELETE FROM " F9_DRD " WHERE " DRD_ID_EST " = '" << id_estr << "';\n" " DELETE FROM " F9_DRD " WHERE " DRD_CODSOC " = '" << codsoc << "' AND " DRD_ID_EST " = '" << id_estr << "';\n"
" DELETE FROM " F9_IVA " WHERE " IVA_IDLAN " = '" << id_estr << "';\n" " DELETE FROM " F9_IVA " WHERE " IVA_CODSOC " = '" << codsoc << "' AND " IVA_IDLAN " = '" << id_estr << "';\n"
" DELETE FROM " F9_MOVESTR " WHERE " MOV_CODSOC " = '" << codsoc << "' AND " MOV_IDESTR " = '" << id_estr << "';\n"
" END\n" " END\n"
" SELECT @flag_prov AS FLAG, @stato AS STATO;\n" " SELECT @flag_prov AS FLAG, @stato AS STATO;\n"
"END"; "END";
@ -289,6 +291,7 @@ void TMonitor_mask::delete_pack(const bool all) const
warning_box("E' possibile eliminare solo un'estrazione provvisoria o in stato di errore diagnostica gestionale."); warning_box("E' possibile eliminare solo un'estrazione provvisoria o in stato di errore diagnostica gestionale.");
return; return;
} }
fp_db().sq_commit();
if (!all) if (!all)
break; break;
} }

View File

@ -102,3 +102,13 @@
#define DRT_TIPOCAU "F9TTCAU" // A(6) - tipo causale contabile #define DRT_TIPOCAU "F9TTCAU" // A(6) - tipo causale contabile
#define DRT_TIPOMOV "F9TTMOV" // A(6) - tipo movimento contabile #define DRT_TIPOMOV "F9TTMOV" // A(6) - tipo movimento contabile
#define DRT_OPCEE "F9TFCEE" // A(6) - operatore CEE #define DRT_OPCEE "F9TFCEE" // A(6) - operatore CEE
// F9MOVESTR : TABELLA MOVIMENTI ESTRATTI
#define MOV_CODSOC "IDSOC"
#define MOV_IDESTR "IDESTR"
#define MOV_NUMREG "NUMREG"
#define MOV_DATAREG "DATAREG"
#define MOV_ESTR "ESTRATTO"
#define MOV_ERR "DESCR_ERR"

View File

@ -1,8 +1,21 @@
CREATE TABLE F9MOVESTR( CREATE TABLE F9MOVESTR(
IDSOC CHAR(10) NOT NULL,
IDESTR CHAR(18) NOT NULL, IDESTR CHAR(18) NOT NULL,
NUMREG NUMERIC(7,0) NOT NULL, NUMREG NUMERIC(7,0) NOT NULL,
DATAREG DATE, DATAREG DATE,
ESTRATTO BIT DEFAULT '0' NOT NULL, ESTRATTO BIT DEFAULT '0' NOT NULL,
DESCR_ERR VARCHAR(1024) DESCR_ERR VARCHAR(1024)
); );
ALTER TABLE F9MOVESTR ADD CONSTRAINT F9MOVESTR_PK PRIMARY KEY(IDESTR, NUMREG); ALTER TABLE F9MOVESTR ADD CONSTRAINT F9MOVESTR_PK PRIMARY KEY(IDSOC, IDESTR, NUMREG);
ALTER TABLE F9ERROR ADD COLUMN IDSOC CHAR(10) NOT NULL;
DECLARE @name nvarchar(128), @sql NVARCHAR(MAX)
SELECT @name = name
FROM sys.key_constraints
WHERE type = 'PK' AND OBJECT_NAME(parent_object_id) = N'F9ERROR'
SELECT @sql = 'ALTER TABLE F9ERROR DROP CONSTRAINT ' + @name
EXEC sp_executeSQL @sql;
ALTER TABLE F9ERROR ADD CONSTRAINT F9ERROR_PK PRIMARY KEY(IDSOC, IDESTR, NUMREG);