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;
const TString id_estr(row->get(cid2index(F_IDESTR)));
TString query;
const TString codsoc(f9_app().get_ambiente());
query << "BEGIN\n"
" DECLARE @stato CHAR(2);\n\n"
" SELECT @stato = " DRD_STATO "\n"
" FROM " F9_DRD "\n"
" WHERE " DRD_ID_EST " = '" << id_estr << "';\n\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"
" ELSE BEGIN\n"
" SELECT @stato AS STATO;\n"
@ -278,8 +279,9 @@ void TMonitor_mask::delete_pack(const bool all) const
" FROM " F9_DRD "\n"
" WHERE " DRD_ID_EST " = '" << id_estr << "';\n\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_IVA " WHERE " IVA_IDLAN " = '" << id_estr << "';\n"
" DELETE FROM " F9_DRD " WHERE " DRD_CODSOC " = '" << codsoc << "' AND " DRD_ID_EST " = '" << 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"
" SELECT @flag_prov AS FLAG, @stato AS STATO;\n"
"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.");
return;
}
fp_db().sq_commit();
if (!all)
break;
}

View File

@ -102,3 +102,13 @@
#define DRT_TIPOCAU "F9TTCAU" // A(6) - tipo causale contabile
#define DRT_TIPOMOV "F9TTMOV" // A(6) - tipo movimento contabile
#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(
IDSOC CHAR(10) NOT NULL,
IDESTR CHAR(18) NOT NULL,
NUMREG NUMERIC(7,0) NOT NULL,
DATAREG DATE,
ESTRATTO BIT DEFAULT '0' NOT NULL,
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);