Merge branch 'R_10_00' of http://10.65.20.33/sirio/CAMPO/campo into R_10_00
This commit is contained in:
commit
2e52af5fc6
@ -69,14 +69,13 @@
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<AdditionalIncludeDirectories>..\src\include;..\src\xvaga;..\src\xi;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\src\include;..\src\xvaga;..\src\xi;..\src\xvtdb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
@ -129,9 +128,9 @@
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
@ -116,7 +116,7 @@
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<AdditionalIncludeDirectories>..\src\xvtdb\;..\src\cg;..\src\include;..\src\xvaga;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\src\xvtdb\;..\src\cg;..\src\include;..\src\xvaga;..\src\f1;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@ -232,6 +232,7 @@
|
||||
</SqlCompiler>
|
||||
<SqlCompiler Include="..\src\f9\sql\f90104.sql">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</SqlCompiler>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
3
cd/test/ba0972.txt
Normal file
3
cd/test/ba0972.txt
Normal file
@ -0,0 +1,3 @@
|
||||
ba8.exe
|
||||
|
||||
Corretta classe record sqlite: i datatype erano sempre sbagliati perche' presi dalla prima riga del set e quasi sempre i campi erano considerati real per i TVariant solitamente dovuto a un guessing di campi vuoti.
|
31
cd/test/ba0972a.ini
Normal file
31
cd/test/ba0972a.ini
Normal file
@ -0,0 +1,31 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[ba8]
|
||||
File(503) = ba8.exe|X
|
||||
Patch = 0972
|
||||
Versione = 21511200
|
||||
|
||||
[ba99]
|
||||
Kill(0) = batbsce.txt|x
|
||||
Kill(1) = wxmsw240.dll|x
|
||||
Kill(2) = bastcms.rep|x
|
||||
Kill(3) = bastcms.msk|x
|
||||
Kill(4) = bastfsc.msk|x
|
||||
Kill(5) = bastfsc.rep|x
|
||||
Kill(6) = bastuue.msk|x
|
||||
Kill(7) = bastuue.rep|x
|
||||
|
||||
[ba]
|
||||
Data = 23-06-2020
|
||||
Descrizione = Base
|
||||
Dischi = 1
|
||||
Moduli = sy
|
||||
OEM =
|
||||
Patch = 0972
|
||||
PostProcess = bainst -0 BA
|
||||
PreProcess =
|
||||
Prezzo(1) =
|
||||
Prezzo(2) =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/ba0972a1.zip
Normal file
BIN
cd/test/ba0972a1.zip
Normal file
Binary file not shown.
@ -1,12 +1,12 @@
|
||||
f90200a.msk
|
||||
f90.exe
|
||||
f90100a.msk
|
||||
f90100d.msk
|
||||
fpmenu.men
|
||||
f90100b.msk
|
||||
f90100c.msk
|
||||
f90100d.msk
|
||||
f90200a.msk
|
||||
f90300a.msk
|
||||
f90300b.msk
|
||||
fpmenu.men
|
||||
f9prospintegr.rep
|
||||
sql\f90\f90104.sql
|
||||
|
||||
|
@ -3,21 +3,21 @@ Demo=0
|
||||
|
||||
[f90]
|
||||
File(0) = f90.exe|X
|
||||
File(1) = f90100a.msk|X
|
||||
File(2) = f90100b.msk|X
|
||||
File(3) = f90100c.msk|X
|
||||
File(4) = f90100d.msk|X
|
||||
File(5) = fpmenu.men|X
|
||||
File(9) = f90200a.msk|X
|
||||
File(10) = f90300a.msk|X
|
||||
File(11) = f90300b.msk|X
|
||||
File(12) = f9prospintegr.rep|X
|
||||
File(2) = f90100a.msk|X
|
||||
File(3) = f90100b.msk|X
|
||||
File(4) = f90100c.msk|X
|
||||
File(5) = f90100d.msk|X
|
||||
File(6) = f90200a.msk|X
|
||||
File(7) = f90300a.msk|X
|
||||
File(8) = f90300b.msk|X
|
||||
File(9) = f9prospintegr.rep|X
|
||||
File(10) = fpmenu.men|X
|
||||
File(13) = sql\f90\f90104.sql|X
|
||||
Patch = 0968
|
||||
Patch = 968
|
||||
Versione = 21511200
|
||||
|
||||
[f9]
|
||||
Data = 17-06-2020
|
||||
Data = 23-06-2020
|
||||
Descrizione = Archiviazione Sostitutiva
|
||||
Dischi = 1
|
||||
Moduli = fp,cg
|
||||
|
Binary file not shown.
@ -51,6 +51,7 @@ const TString& recset_get_string(const TRecordset& rec, const char* field, int
|
||||
int recset_get_int(const TRecordset& rec, const char* field, int zero_filled = -1);
|
||||
bool recset_get_bool(const TRecordset& rec, const char* field);
|
||||
real recset_get_real(const TRecordset& rec, const char* field);
|
||||
TDate recset_get_date(const TRecordset& rec, const char* field);
|
||||
|
||||
TMask& descr_msk()
|
||||
{
|
||||
@ -113,7 +114,10 @@ real recset_get_real(const TRecordset& rec, const char* field)
|
||||
return rec.get(rec.find_column(field)).as_real();
|
||||
}
|
||||
|
||||
|
||||
TDate recset_get_date(const TRecordset& rec, const char* field)
|
||||
{
|
||||
return rec.get(rec.find_column(field)).as_date();
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
@ -175,8 +179,8 @@ int TEstrai_mask::estrai()
|
||||
movimento_t t;
|
||||
t.err = false;
|
||||
t.numreg = recset_get_int(mov, MOV_NUMREG);
|
||||
t.datareg = recset_get_string(mov, MOV_DATAREG);
|
||||
t.datadoc = recset_get_string(mov, MOV_DATADOC);
|
||||
t.datareg = recset_get_date(mov, MOV_DATAREG);
|
||||
t.datadoc = recset_get_date(mov, MOV_DATADOC);
|
||||
t.codcaus = recset_get_string(mov, MOV_CODCAUS, 3);
|
||||
t.meseliq = recset_get_int(mov, MOV_MESELIQ);
|
||||
t.numdoc = recset_get_string(mov, MOV_NUMDOC);
|
||||
@ -1210,13 +1214,15 @@ void TF9_app::open_esclusi()
|
||||
m.add(movs.get_date(MOV_DATADOC));
|
||||
m.add(movs.get(MOV_CODCAUS));
|
||||
m.add(movs.get(MOV_MESELIQ));
|
||||
m.add(movs.get(MOV_NUMDOC));
|
||||
TString numdoc; numdoc << movs.get(MOV_NUMDOCEXT);
|
||||
m.add(numdoc.full() ? numdoc : movs.get(MOV_NUMDOC));
|
||||
const real imptot = movs.get_real(MOV_TOTDOC) + movs.get_real(MOV_RITFIS) + movs.get_real(MOV_RITSOC);
|
||||
m.add(imptot);
|
||||
m.add(movs.get_int(MOV_CODCF));
|
||||
TLocalisamfile clifo(LF_CLIFO);
|
||||
TString ragsoc; ragsoc = clifo.get(CLI_RAGSOC);
|
||||
m.add(ragsoc);
|
||||
clifo.put(CLI_TIPOCF, movs.get(MOV_TIPO));
|
||||
clifo.put(CLI_CODCF, movs.get(MOV_CODCF));
|
||||
m.add(clifo.read() == NOERR ? clifo.get(CLI_RAGSOC) : "");
|
||||
m.add(TString(movs.get(MOV_REG)) << "/" << movs.get(MOV_PROTIVA));
|
||||
m.add(movs.get(MOV_DESCR));
|
||||
f9_app()._esclusi_vect.insert(f9_app()._esclusi_vect.end(), m);
|
||||
|
@ -459,7 +459,9 @@ void TGestione_doc_cartacei_f9_msk::fill()
|
||||
void TGestione_doc_cartacei_f9_msk::fill_annessi()
|
||||
{
|
||||
std::set<TString> file_err;
|
||||
|
||||
TSheet_field& sf = sfield(S_ANNESSI);
|
||||
sf.hide();
|
||||
sf.destroy();
|
||||
TLocalisamfile ann(LF_F9ANNESSI);
|
||||
if(ann.first() == NOERR)
|
||||
{
|
||||
@ -469,9 +471,6 @@ void TGestione_doc_cartacei_f9_msk::fill_annessi()
|
||||
file_err.insert(namefile);
|
||||
|
||||
TLocalisamfile mov(LF_MOV);
|
||||
TSheet_field& sf = sfield(S_ANNESSI);
|
||||
sf.hide();
|
||||
sf.destroy();
|
||||
do
|
||||
{
|
||||
TToken_string& row = sf.row(-1);
|
||||
@ -494,9 +493,9 @@ void TGestione_doc_cartacei_f9_msk::fill_annessi()
|
||||
|
||||
_list_ann.insert({ namefile, { numreg, namefile, ann.get(F9A_CATDOCPAD), ann.get(F9A_CATDOCANN), ann.get(F9C_LOADDATE), ann.get(F9C_USER) } });
|
||||
} while (ann.next() == NOERR);
|
||||
sf.force_update();
|
||||
sf.show();
|
||||
}
|
||||
sf.force_update();
|
||||
sf.show();
|
||||
|
||||
if (!file_err.empty())
|
||||
{
|
||||
@ -563,9 +562,11 @@ void TGestione_doc_cartacei_f9_msk::fill_docs()
|
||||
|
||||
_list_file.insert({ namefile, { namefile, files.get(F9C_LOADDATE), numreg, files.get(F9C_USER) } });
|
||||
} while (files.next() == NOERR);
|
||||
sf.force_update();
|
||||
|
||||
}
|
||||
sf.force_update();
|
||||
sf.show();
|
||||
|
||||
if (!file_err.empty())
|
||||
{
|
||||
int count = 0;
|
||||
|
@ -30,27 +30,34 @@
|
||||
<field x="8" y="8" type="Testo" width="16" pattern="1" text="Codice Fiscale: ">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="27" y="8" type="Stringa" width="28" pattern="1" text="@@#########">
|
||||
<field x="27" y="8" type="Stringa" width="28" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>CODFISC</source>
|
||||
</field>
|
||||
<field x="8" y="9" type="Testo" width="16" pattern="1" text="Partita IVA:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="27" y="9" type="Stringa" width="28" pattern="1" text="@@#########">
|
||||
<field x="27" y="9" type="Stringa" width="28" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>PARTIVA</source>
|
||||
</field>
|
||||
<field x="25" y="13" type="Testo" align="center" width="70" height="2" pattern="1" text="PROSPETTO INTEGRATIVO ACQUISTO">
|
||||
<field x="25" y="12" type="Testo" align="center" width="70" height="2" pattern="1" text="PROSPETTO INTEGRATIVO ACQUISTO">
|
||||
<font face="Bookman Old Style" size="14" />
|
||||
</field>
|
||||
<field x="8" y="16" type="Testo" width="26" pattern="1" text="Riferimento documento del">
|
||||
<field x="8" y="14" type="Testo" width="26" pattern="1" text="Riferimento documento del">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="34" y="16" type="Data" width="14" pattern="1">
|
||||
<field x="34" y="14" type="Data" width="14" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>DATADOC</source>
|
||||
</field>
|
||||
<field x="49" y="14" type="Testo" width="3" pattern="1" text="n.">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="52" y="14" type="Stringa" width="37" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>NDOC</source>
|
||||
</field>
|
||||
<field x="60" y="16" type="Testo" width="2" pattern="1" text="F">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
@ -58,13 +65,6 @@
|
||||
<font face="Arial" size="10" />
|
||||
<source>CODFORN</source>
|
||||
</field>
|
||||
<field x="8" y="17" type="Testo" width="3" pattern="1" text="n.">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="11" y="17" type="Stringa" width="37" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>NDOC</source>
|
||||
</field>
|
||||
<field x="60" y="17" type="Stringa" width="40" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>RAGSOCFORN</source>
|
||||
@ -88,7 +88,7 @@
|
||||
<field x="60" y="20" type="Testo" width="11" pattern="1" text="Partita IVA:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="72" y="20" type="Stringa" width="28" pattern="1" text="@@#########">
|
||||
<field x="72" y="20" type="Stringa" width="28" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>PARTIVAFORN</source>
|
||||
</field>
|
||||
@ -148,10 +148,10 @@
|
||||
<field x="45" y="29" type="Testo" align="center" width="20" pattern="1" text="IMPONIBILE">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field border="2" x="65" y="29" type="Linea" height="2" pattern="1" />
|
||||
<field x="65" y="29" type="Testo" align="center" width="20" pattern="1" text="IMPOSTA">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field border="2" x="65" y="29" type="Linea" height="2" pattern="1" />
|
||||
<field x="27" y="30" type="Valuta" align="right" width="15" pattern="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="10" />
|
||||
<source>TOTALE</source>
|
||||
@ -171,14 +171,14 @@
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field border="2" x="36" y="34" type="Linea" pattern="1" />
|
||||
<field border="2" x="45" y="34" type="Linea" pattern="1" />
|
||||
<field x="45" y="34" type="Testo" align="center" width="20" pattern="1" text="VALORE IVA">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field border="2" x="45" y="34" type="Linea" pattern="1" />
|
||||
<field border="2" x="65" y="34" type="Linea" pattern="1" />
|
||||
<field x="65" y="34" type="Testo" align="center" width="40" pattern="1" text="CONTO DI CONTROPARTITA">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field border="2" x="65" y="34" type="Linea" pattern="1" />
|
||||
</section>
|
||||
<section type="Head" level="1" pattern="1">
|
||||
<prescript description="H1 PRESCRIPT">#ATTESTA @
|
||||
|
@ -289,8 +289,6 @@ bool TEstrazione::is_integr_rev(const int numreg, _Out_ TString& numreg_rev_vend
|
||||
{
|
||||
movcoll = mov_rs.get(MOV_NUMREG).as_int();
|
||||
curr.put(MOV_MOVCOLL, numreg);
|
||||
TLocalisamfile& f = TLocalisamfile(LF_MOV);
|
||||
curr.rewrite(f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ sqlite3* TSQLite::open(const char* fname)
|
||||
const char* errmsg = sqlite3_errmsg(_handle); // Stringa di sitema: inutile sqlite3_free(errmsg)
|
||||
error_box(errmsg);
|
||||
_handle = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return _handle;
|
||||
}
|
||||
@ -386,7 +386,7 @@ bool TSQLite::parse_select_from(const char* szSql)
|
||||
{ table.cut(i); break; }
|
||||
}
|
||||
|
||||
const int logicnum = (table == "MAG") ? LF_MAG : table2logic(table);
|
||||
const int logicnum = (table == "MAG") ? LF_MAG : table2logic(table);
|
||||
if (logicnum >= LF_USER)
|
||||
{
|
||||
pi.set_text(table);
|
||||
@ -428,11 +428,11 @@ int TSQL_recordset::on_get_items(int argc, char** values, char** columns)
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
TRecordset_column_info* info = new TRecordset_column_info;
|
||||
info->_name = columns[i];
|
||||
info->_width = 1;
|
||||
info->_type = _alfafld;
|
||||
info->_name = columns[i];
|
||||
info->_width = 1;
|
||||
info->_type = _alfafld;
|
||||
|
||||
const char* fldtype = columns[argc+i];
|
||||
/*const char* fldtype = columns[argc+i];
|
||||
if (fldtype != NULL)
|
||||
{
|
||||
if (xvt_str_same(fldtype, "DATE"))
|
||||
@ -449,7 +449,7 @@ int TSQL_recordset::on_get_items(int argc, char** values, char** columns)
|
||||
info->_type = _memofld;
|
||||
info->_width = 50;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
_column.add(info);
|
||||
}
|
||||
}
|
||||
@ -471,9 +471,9 @@ int TSQL_recordset::on_get_items(int argc, char** values, char** columns)
|
||||
{
|
||||
info._type = _datefld;
|
||||
info._width = 10;
|
||||
} else
|
||||
}/* else
|
||||
if (real::is_real(values[i]))
|
||||
info._type = _realfld;
|
||||
info._type = _realfld;*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -502,9 +502,9 @@ TRecnotype TSQL_recordset::items() const
|
||||
{
|
||||
TString sql; parsed_text(sql);
|
||||
TPerformance_profiler prof("SQL query");
|
||||
_TheDataBase.exec("PRAGMA show_datatypes=ON;", NULL, NULL);
|
||||
//_TheDataBase.exec("PRAGMA show_datatypes=ON;", NULL, NULL);
|
||||
_TheDataBase.exec(sql, query_get_items, (TSQL_recordset*)this);
|
||||
_TheDataBase.exec("PRAGMA show_datatypes=OFF;", NULL, NULL);
|
||||
//_TheDataBase.exec("PRAGMA show_datatypes=OFF;", NULL, NULL);
|
||||
}
|
||||
return _items;
|
||||
}
|
||||
@ -634,4 +634,3 @@ TSQL_recordset::TSQL_recordset(const char* sql)
|
||||
{
|
||||
set(sql);
|
||||
}
|
||||
|
||||
|
@ -671,7 +671,7 @@ public:
|
||||
void add(int n, int pos = -1);
|
||||
// @cmember Aggiunge un reale
|
||||
void add(const real r, int pos = -1);
|
||||
// @cmember Aggiunge un reale
|
||||
// @cmember Aggiunge una data
|
||||
void add(const TDate d, int pos = -1);
|
||||
// @cmember Aggiunge un booleano
|
||||
void add(bool on, int pos = -1) { add(on ? "X" : ""); }
|
||||
|
Loading…
x
Reference in New Issue
Block a user