Merge branch 'R_10_00' of http://10.65.20.17:7990/scm/campo/campo into R_10_00
This commit is contained in:
commit
cea8aebe23
@ -51,6 +51,9 @@
|
||||
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</EmbedManifest>
|
||||
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</EmbedManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -90,6 +93,7 @@
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
<Version>12.0</Version>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
|
@ -387,6 +387,9 @@
|
||||
<ClInclude Include="..\src\m770\77tbca7.h">
|
||||
<Filter>Headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\cg\cg2103.h">
|
||||
<Filter>Headers</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="campo.rc" />
|
||||
|
@ -46,7 +46,7 @@
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\exe\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\obj\$(SolutionName)\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</EmbedManifest>
|
||||
|
@ -46,7 +46,7 @@
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\exe\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\obj\$(SolutionName)\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</EmbedManifest>
|
||||
|
@ -43,7 +43,7 @@
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\exe\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\obj\$(SolutionName)\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\exe\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\obj\$(SolutionName)\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
|
@ -42,7 +42,7 @@
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\exe\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\exe\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\obj\$(SolutionName)\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
|
@ -46,7 +46,7 @@
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\exe\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\obj\$(SolutionName)\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</EmbedManifest>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||
|
@ -43,7 +43,7 @@
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\exe\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\obj\$(SolutionName)\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\exe\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\obj\$(SolutionName)\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
|
3
cd/test/770640.txt
Normal file
3
cd/test/770640.txt
Normal file
@ -0,0 +1,3 @@
|
||||
777.exe
|
||||
|
||||
Aggiornato il tracciato di invio del quadro ST
|
28
cd/test/770640a.ini
Normal file
28
cd/test/770640a.ini
Normal file
@ -0,0 +1,28 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[777]
|
||||
File(134) = 777.exe|X
|
||||
File(139) = 77qst.frm|X
|
||||
Patch = 640
|
||||
Versione = 21511200
|
||||
|
||||
[7799]
|
||||
Kill(0) = batbcaf.msk|x
|
||||
Kill(1) = batbca7.msk|x
|
||||
Kill(2) = batbent.msk|x
|
||||
|
||||
[77]
|
||||
Data = 31-10-2018
|
||||
Descrizione = Percipienti (Mod.770)
|
||||
Dischi = 1
|
||||
Edit_4 = 770 -3
|
||||
Moduli = ba
|
||||
OEM =
|
||||
Patch = 0640
|
||||
PostProcess =
|
||||
PreProcess =
|
||||
Prezzo(1) =
|
||||
Prezzo(2) =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/770640a1.zip
Normal file
BIN
cd/test/770640a1.zip
Normal file
Binary file not shown.
10
cd/test/cg0640.txt
Normal file
10
cd/test/cg0640.txt
Normal file
@ -0,0 +1,10 @@
|
||||
cg2.exe
|
||||
|
||||
Corretti errori di calcolo totale documento nel saldaconto
|
||||
Modificata segnalazione relativi alla data di comeptenza inferiore o UGUALE alla
|
||||
data di chiusura.
|
||||
Segnalato da CRPA. Per movimenti configurati come fatture per il saldaconto ma non
|
||||
IVA
|
||||
es.
|
||||
causale IN6 INCASSATO CONTRIBUTO PROGETTO
|
||||
cercava un campo codice cliente che sulla maschera non c'era.
|
94
cd/test/cg0640a.ini
Normal file
94
cd/test/cg0640a.ini
Normal file
@ -0,0 +1,94 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[cg1]
|
||||
Edit_23 = cg2 -0
|
||||
File(8) = cg2.exe|X
|
||||
Patch = 640
|
||||
Versione = 21511200
|
||||
|
||||
[cg99]
|
||||
Kill(0) = bastntb.rep|x
|
||||
Kill(1) = bastvet.msk|x
|
||||
Kill(2) = bastpdb.msk|x
|
||||
Kill(3) = bastmsp.msk|x
|
||||
Kill(4) = batbarb.msk|x
|
||||
Kill(5) = bastndo.rep|x
|
||||
Kill(6) = bastesc.msk|x
|
||||
Kill(7) = batbvet.msk|x
|
||||
Kill(8) = bastzon.msk|x
|
||||
Kill(9) = bastcve.rep|x
|
||||
Kill(10) = batbivd.msk|x
|
||||
Kill(11) = batbtit.msk|x
|
||||
Kill(12) = bastnot.msk|x
|
||||
Kill(13) = bastcco.msk|x
|
||||
Kill(14) = batbcco.msk|x
|
||||
Kill(15) = bastscc.msk|x
|
||||
Kill(16) = batbleg.msk|x
|
||||
Kill(17) = batblia.msk|x
|
||||
Kill(18) = bastpor.msk|x
|
||||
Kill(19) = batbcam.msk|x
|
||||
Kill(20) = batbind.msk|x
|
||||
Kill(21) = bastcco.rep|x
|
||||
Kill(22) = batbntb.msk|x
|
||||
Kill(23) = bastpor.rep|x
|
||||
Kill(24) = bastcve.msk|x
|
||||
Kill(25) = batbesc.msk|x
|
||||
Kill(26) = bastleg.msk|x
|
||||
Kill(27) = bastmsp.rep|x
|
||||
Kill(28) = batbcfi.msk|x
|
||||
Kill(29) = bastarb.rep|x
|
||||
Kill(30) = batbins.msk|x
|
||||
Kill(31) = batblia.msk|x
|
||||
Kill(32) = batbscc.msk|x
|
||||
Kill(33) = bastivd.msk|x
|
||||
Kill(34) = batbnot.msk|x
|
||||
Kill(35) = bastreg.rep|x
|
||||
Kill(36) = bastnot.rep|x
|
||||
Kill(37) = batbpdb.msk|x
|
||||
Kill(38) = cgtbcon.msk|x
|
||||
Kill(39) = bastver.rep|x
|
||||
Kill(40) = bastcfi.msk|x
|
||||
Kill(41) = bastntb.msk|x
|
||||
Kill(42) = bastpdb.rep|x
|
||||
Kill(43) = bastesc.rep|x
|
||||
Kill(44) = bastdpn.rep|x
|
||||
Kill(45) = bastarb.msk|x
|
||||
Kill(46) = bastreg.msk|x
|
||||
Kill(47) = batbinl.msk|x
|
||||
Kill(48) = bastivd.rep|x
|
||||
Kill(49) = bastndo.msk|x
|
||||
Kill(50) = batbdel.msk|x
|
||||
Kill(51) = batbmsp.msk|x
|
||||
Kill(52) = batbreg.msk|x
|
||||
Kill(53) = bastvet.rep|x
|
||||
Kill(54) = batblbu.msk|x
|
||||
Kill(55) = bastcam.msk|x
|
||||
Kill(56) = bastdpn.msk|x
|
||||
Kill(57) = batbzon.msk|x
|
||||
Kill(58) = bastscc.rep|x
|
||||
Kill(59) = batbdpn.msk|x
|
||||
Kill(60) = batbver.msk|x
|
||||
Kill(61) = bastleg.rep|x
|
||||
Kill(62) = bastzon.rep|x
|
||||
Kill(63) = batbcve.msk|x
|
||||
Kill(64) = bastcfi.rep|x
|
||||
Kill(65) = bastver.msk|x
|
||||
Kill(66) = batbndo.msk|x
|
||||
Kill(67) = batbtra.msk|x
|
||||
Kill(68) = bastcam.rep|x
|
||||
Kill(69) = batbpor.msk|x
|
||||
|
||||
[cg]
|
||||
Data = 05-11-2018
|
||||
Descrizione = Contabilita' Generale
|
||||
Dischi = 1
|
||||
Moduli = ba
|
||||
OEM =
|
||||
Patch = 640
|
||||
PostProcess = bainst -0 CG
|
||||
PreProcess =
|
||||
Prezzo(1) =
|
||||
Prezzo(2) =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/cg0640a1.zip
Normal file
BIN
cd/test/cg0640a1.zip
Normal file
Binary file not shown.
4
cd/test/sy0640.txt
Normal file
4
cd/test/sy0640.txt
Normal file
@ -0,0 +1,4 @@
|
||||
xvaga.dll
|
||||
|
||||
|
||||
Aggiunto parametro per non mettersi in copia conoscenza nascosta durante l'invio di una powermail
|
21
cd/test/sy0640a.ini
Normal file
21
cd/test/sy0640a.ini
Normal file
@ -0,0 +1,21 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[sy1]
|
||||
File(56) = xvaga.dll|X
|
||||
Patch = 0640
|
||||
Versione = 21511200
|
||||
|
||||
[sy]
|
||||
Data = 30-10-2018
|
||||
Descrizione = Sistema
|
||||
Dischi = 1
|
||||
Moduli =
|
||||
OEM =
|
||||
Patch = 640
|
||||
PostProcess =
|
||||
PreProcess =
|
||||
Prezzo(1) =
|
||||
Prezzo(2) =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/sy0640a1.zip
Normal file
BIN
cd/test/sy0640a1.zip
Normal file
Binary file not shown.
@ -509,7 +509,7 @@ real TPrimanota_application::calcola_saldo() const
|
||||
if (pag)
|
||||
{
|
||||
const char tipo = row_type(*r);
|
||||
if (strchr("ACGKP", tipo) != NULL) // Abbuoni attivi, differenze cambio, spese, ...
|
||||
if (strchr("GK", tipo) != NULL) // Abbuoni attivi, differenze cambio, spese, ... // (A o P) Abbuoni e (C) Differenze cambio perchè c'erano ? non (T) totolae documento perchè pagamento
|
||||
saldaconto += importo;
|
||||
}
|
||||
}
|
||||
@ -580,7 +580,10 @@ HIDDEN bool imptot_error(const TImporto& imptot, const TImporto& impsal, bool va
|
||||
msg << TR("\nSi desidera correggere il totale documento?");
|
||||
ok = a.cgs().yesno_box(msg);
|
||||
if (ok)
|
||||
{
|
||||
m.set(F_TOTALE, cassa.valore());
|
||||
a.calcola_saldo();
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
@ -671,7 +674,8 @@ bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
|
||||
}
|
||||
}
|
||||
|
||||
if (errato)
|
||||
|
||||
if (errato)
|
||||
{
|
||||
TString msg(128);
|
||||
const TCurrency euro(speso.valore());
|
||||
@ -699,7 +703,7 @@ bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (strchr("ACGKPT", tipo) != NULL)
|
||||
if (strchr("GKT", tipo) != NULL) // Abbuoni attivi, differenze cambio, spese, ... // (A o P) Abbuoni e (C) Differenze cambio perchè c'erano ?
|
||||
{
|
||||
saldaconto += importo;
|
||||
if (in_valuta)
|
||||
@ -2497,13 +2501,20 @@ bool TPrimanota_application::datacomp_handler(TMask_field& f, KEY key)
|
||||
}
|
||||
|
||||
const TDate chiusura = app()._esercizi[ae].chiusura();
|
||||
if (chiusura.ok() && dc <= chiusura)
|
||||
{
|
||||
f.error_box(FR("%s è antecedente al %s,\ndata di chiusura dell'esercizio %d"),
|
||||
data, chiusura.stringa(), ae);
|
||||
// Errore non bloccante
|
||||
}
|
||||
|
||||
if (chiusura.ok() && dc < chiusura)
|
||||
{
|
||||
f.error_box(FR("%s è antecedente al %s,\ndata di chiusura dell'esercizio %d"),
|
||||
data, chiusura.stringa(), ae);
|
||||
// Errore non bloccante
|
||||
}
|
||||
else
|
||||
if (chiusura.ok() && dc == chiusura)
|
||||
{
|
||||
f.error_box(FR("%s è uguale al %s,\ndata di chiusura dell'esercizio %d"),
|
||||
data, chiusura.stringa(), ae);
|
||||
// Errore non bloccante
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3150,9 +3161,10 @@ const TString & TPrimanota_application::clifo() const
|
||||
|
||||
bool TPrimanota_application::is_split_payment() const
|
||||
{
|
||||
const TMask& m = curr_mask();
|
||||
const TMask& m = curr_mask();
|
||||
char s = ' ';
|
||||
TMask_field* sp = m.find_by_id(F_SPLITPAY);
|
||||
|
||||
if (sp != NULL)
|
||||
{
|
||||
if (sp->shown())
|
||||
@ -3163,7 +3175,9 @@ bool TPrimanota_application::is_split_payment() const
|
||||
if (s != 'N' && s != 'S')
|
||||
{
|
||||
s = 'N';
|
||||
if (clifo() == "C" && m.get_int(F_ANNOIVA) >= 2015 && !causale().reverse_charge())
|
||||
if (iva() == nessuna_iva)
|
||||
return false;
|
||||
if (clifo() == "C" && m.get_int(F_ANNOIVA) >= 2015 && !causale().reverse_charge())
|
||||
{
|
||||
const TRectype& cliente = cache().get_rec(LF_CLIFO, "C", m.get(F_CODCLIFOR));
|
||||
if (cliente.get_bool(CLI_SPLITPAY))
|
||||
@ -3287,17 +3301,50 @@ bool TPrimanota_application::totdoc_handler(TMask_field& f, KEY key)
|
||||
if (a.is_pagamento())
|
||||
a.calcola_saldo();
|
||||
}
|
||||
}
|
||||
|
||||
if (key == K_ENTER)
|
||||
{
|
||||
const TCurrency totale(real(f.get()));
|
||||
if (totale.get_num().is_zero())
|
||||
}
|
||||
if (key == K_TAB && a.is_pagamento() && !a._as400)
|
||||
{
|
||||
m.show(K_RESIDUO, f.get().full());
|
||||
m.show(K_TOTALE, f.get().full());
|
||||
|
||||
}
|
||||
|
||||
if (key == K_ENTER)
|
||||
{
|
||||
if (a.is_pagamento()&& ! a._as400)
|
||||
{
|
||||
TImporto importo, totdocsc,tot;
|
||||
TSheet_field& cgrows = a.cgs();
|
||||
|
||||
FOR_EACH_SHEET_ROW_BACK(cgrows, i, r)
|
||||
{
|
||||
const char tipo = row_type(*r);
|
||||
if (strchr("GK", tipo) != NULL) // Abbuoni attivi, differenze cambio, spese, ... // (A o P) Abbuoni e (C) Differenze cambio perchè c'erano ? non (T) totolae documento perchè pagamento
|
||||
{
|
||||
TImporto importo;
|
||||
|
||||
importo = *r;
|
||||
totdocsc += importo;
|
||||
}
|
||||
}
|
||||
if (tot.valore().is_zero())
|
||||
{
|
||||
totdocsc.normalize(a.causale().sezione_clifo());
|
||||
tot = totdocsc;
|
||||
f.set(tot.valore().string());
|
||||
a.calcola_saldo();
|
||||
}
|
||||
}
|
||||
|
||||
TCurrency totale(real(f.get()));
|
||||
|
||||
if (totale.get_num().is_zero())
|
||||
ok = yesno_box(TR("Totale documento nullo: continuare ugualmente?"));
|
||||
|
||||
if (ok)
|
||||
{
|
||||
const TValuta cambio(m, SK_VALUTA, SK_DATACAMBIO, SK_CAMBIO);
|
||||
|
||||
if (cambio.in_valuta())
|
||||
{
|
||||
const real totval(m.get(SK_TOTDOCVAL));
|
||||
|
@ -34,6 +34,8 @@
|
||||
#endif
|
||||
class TDati_mov_auto;
|
||||
|
||||
enum CGMaskType { _query = 0, _no_iva = 1, _iva = 2, _occas = 3};
|
||||
|
||||
class TPrimanota_application : public TRelation_application
|
||||
{
|
||||
TMovimentoPN* _rel; // Relazione principale
|
||||
@ -264,7 +266,6 @@ protected:
|
||||
void ivas_pack();
|
||||
void cgs_pack();
|
||||
bool ci_sono_importi(const TSheet_field& cgs) const;
|
||||
real calcola_saldo() const;
|
||||
real calcola_imp() const;
|
||||
|
||||
void add_cgs_tot(TMask& m);
|
||||
@ -324,9 +325,12 @@ public:
|
||||
static bool iva_notify(TSheet_field& s, int r, KEY key);
|
||||
static bool cg_notify(TSheet_field& s, int r, KEY key);
|
||||
|
||||
TMask * mask(CGMaskType type) { return _msk[type]; }
|
||||
|
||||
void type2colors(char tipor, COLOR& back, COLOR& fore);
|
||||
void set_type_colors(char tipor, COLOR back, COLOR fore);
|
||||
void reset_colors();
|
||||
real calcola_saldo() const;
|
||||
|
||||
TCausale& causale() const { return *_causale; }
|
||||
TPartite_array& partite() { return _partite; } // Partite editate
|
||||
|
@ -256,8 +256,8 @@ void TPay_mask::set_pag(const TRectype& oldpag, const TRiga_scadenze& scad,
|
||||
|
||||
const char sez_fat = fatt.sezione();
|
||||
set(S_SEZIONE_SCAD, sez_fat == 'A' ? "A" : "D"); // Sezione della riga
|
||||
if (assigned())
|
||||
{
|
||||
if (assigned())
|
||||
{
|
||||
set(S_IMPORTO_SCAD, scad.get(SCAD_IMPORTO)); // Importo della rata
|
||||
if (in_valuta)
|
||||
set(S_IMPORTOVAL_SCAD, scad.get(SCAD_IMPORTOVAL)); // Importo in valuta
|
||||
@ -309,6 +309,16 @@ void TPay_mask::set_pag(const TRectype& oldpag, const TRiga_scadenze& scad,
|
||||
|
||||
_pagabile += oldimp;
|
||||
#endif
|
||||
if (_pagabile.is_zero())
|
||||
{
|
||||
hide(S_RESIDUOPAG);
|
||||
hide(S_RESIDUORATA); // Se non assegnato nascondi residuo rata
|
||||
}
|
||||
else
|
||||
{
|
||||
show(S_RESIDUOPAG);
|
||||
show(S_RESIDUORATA); // Se non assegnato nascondi residuo rata
|
||||
}
|
||||
|
||||
// Il flag di saldo/acconto e' attivo solo se non ci sono acconti, cioe':
|
||||
// pagamento non assegnato o con data documento antecedente quella della fattura
|
||||
@ -333,7 +343,7 @@ void TPay_mask::set_pag(const TRectype& oldpag, const TRiga_scadenze& scad,
|
||||
#else
|
||||
set_handler(S_GRUPPO, conto_handler);
|
||||
set_handler(S_CONTO, conto_handler);
|
||||
const bool mostra_conto = !sum.is_nota_credito() && app().curr_mask().get_real(F_TOTALE) != ZERO;
|
||||
const bool mostra_conto = !sum.is_nota_credito(); // && app().curr_mask().get_real(F_TOTALE) != ZERO;
|
||||
show(-2, mostra_conto); // mostra/nasconde conto contropartita
|
||||
if (!mostra_conto)
|
||||
reset(-2);
|
||||
@ -1032,7 +1042,9 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
|
||||
if (pag.get_char(PAGSCA_ACCSAL) == 'S')
|
||||
{
|
||||
const TImporto abb(sez, pag.get_real(PAGSCA_ABBUONI));
|
||||
if (!abb.is_zero())
|
||||
bool is_totdoc = app().mask(_no_iva)->get(F_TOTALE).full();
|
||||
|
||||
if (!abb.is_zero())
|
||||
{
|
||||
const char tipo_abb = pag.get_char(PAGSCA_PASSATT);
|
||||
TToken_string& rabb = gm.add_colored_row(sheet, tipo_abb);
|
||||
@ -1040,13 +1052,18 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
|
||||
if (in_valuta)
|
||||
{
|
||||
TImporto abb_lit = abb;
|
||||
|
||||
prima_valuta.val2eur(abb_lit);
|
||||
gm.add_importo(rabb, abb_lit);
|
||||
gm.add_importo(rabb, abb, prima_valuta.codice());
|
||||
if (is_totdoc)
|
||||
{
|
||||
gm.add_importo(rabb, abb_lit);
|
||||
gm.add_importo(rabb, abb, prima_valuta.codice());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gm.add_importo(rabb, abb);
|
||||
if (is_totdoc)
|
||||
gm.add_importo(rabb, abb);
|
||||
rabb.add("");
|
||||
}
|
||||
rabb.add((int)sum.tipo(), 11);
|
||||
@ -1060,7 +1077,8 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
|
||||
{
|
||||
TToken_string& rdiff = gm.add_colored_row(sheet, 'C');
|
||||
rdiff.add(TR("Differenza cambio"), 4);
|
||||
gm.add_importo(rdiff, diff);
|
||||
if (is_totdoc)
|
||||
gm.add_importo(rdiff, diff);
|
||||
rdiff.add((int)sum.tipo(), 11);
|
||||
}
|
||||
}
|
||||
@ -1152,6 +1170,8 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
|
||||
if (pag.get_char(PAGSCA_ACCSAL) == 'S' || !pag.get_real(PAGSCA_ABBUONI).is_zero())
|
||||
{
|
||||
const TImporto abb(sez, pag.get_real(PAGSCA_ABBUONI));
|
||||
bool is_totdoc = app().mask(_no_iva)->get(F_TOTALE).full();
|
||||
|
||||
if (!abb.is_zero())
|
||||
{
|
||||
const char tipo_abb = pag.get_char(PAGSCA_PASSATT);
|
||||
@ -1161,34 +1181,23 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
|
||||
{
|
||||
TImporto abb_lit = abb;
|
||||
prima_valuta.val2eur(abb_lit);
|
||||
gm.add_importo(rabb, abb_lit);
|
||||
gm.add_importo(rabb, abb, prima_valuta.codice());
|
||||
|
||||
if (is_totdoc)
|
||||
{
|
||||
gm.add_importo(rabb, abb_lit);
|
||||
gm.add_importo(rabb, abb, prima_valuta.codice());
|
||||
}
|
||||
tot_lit += abb_lit;
|
||||
tot_val += abb;
|
||||
}
|
||||
else
|
||||
{
|
||||
gm.add_importo(rabb, abb);
|
||||
if (is_totdoc)
|
||||
gm.add_importo(rabb, abb);
|
||||
rabb.add("");
|
||||
tot_lit += abb;
|
||||
}
|
||||
rabb.add((int)sum.tipo(), 11);
|
||||
}
|
||||
/* Continuo a ritenre impossibile ... per ora
|
||||
// Le differenze cambio possono esistere solo in valuta
|
||||
if (in_valuta)
|
||||
{
|
||||
const TImporto diff(sez, pag.get_real(PAGSCA_DIFFCAM));
|
||||
if (!diff.is_zero())
|
||||
{
|
||||
TToken_string& rdiff = gm.add_colored_row(sheet, 'C');
|
||||
rdiff.add(TR("Differenza cambio"), 4);
|
||||
gm.add_importo(rdiff, diff);
|
||||
rdiff.add((int)sum.tipo(), 11);
|
||||
}
|
||||
}
|
||||
*/
|
||||
} // Il pagamento era a saldo
|
||||
} // Fine ciclo non assegnati
|
||||
|
||||
|
@ -595,7 +595,16 @@ public:
|
||||
// @cmember Ritorna l'<p n>-esimo campo da stampare
|
||||
TForm_item& field(int n) const
|
||||
{ return (TForm_item&)_item[n]; }
|
||||
|
||||
// @cmember Ritorna il primo campo da stampare
|
||||
TForm_item* first_field()
|
||||
{ return (TForm_item *)_item.first_item(); }
|
||||
// @cmember Ritorna il campo successivo da stampare
|
||||
TForm_item* succ_field()
|
||||
{ return (TForm_item *)_item.succ_item(); }
|
||||
// @cmember Ritorna l'ultimo campo da stampare
|
||||
TForm_item* last_field()
|
||||
{ return (TForm_item *)_item.last_item(); }
|
||||
|
||||
// @cmember Cerca e ritorna l'<p id>-esimo campo nella sezione
|
||||
TForm_item* exist_field(short id) const;
|
||||
// @cmember Cerca e ritorna la sottosezione <p id> nella sezione
|
||||
|
@ -175,10 +175,11 @@ void TForm770::transfer_section(TPrint_section& body, int rigo,
|
||||
TString str;
|
||||
|
||||
body.update();
|
||||
for (word f = 0; f < body.fields(); f++)
|
||||
for (TForm_item * f = body.first_field(); f != NULL; f = body.succ_field())
|
||||
{
|
||||
TForm_item& fi = body.field(f);
|
||||
str = fi.get(); str.trim();
|
||||
TForm_item& fi = *f;
|
||||
|
||||
str = fi.get(); str.trim();
|
||||
if (fi.shown() && str.not_empty())
|
||||
{
|
||||
basecode = fi.get_special_value("TRASFER");
|
||||
@ -1027,8 +1028,8 @@ bool TTrasferimento770::split(const char* path)
|
||||
rec.set(6, totale['F'-'A']); // Totale F
|
||||
rec.set(7, totale['G'-'A']); // Totale G
|
||||
rec.set(8, totale['H'-'A']); // Totale H
|
||||
rec.set(9, totale['I'-'A']); // Totale I
|
||||
rec.set(10,totale['J'-'A']); // Totale J
|
||||
// rec.set(9, totale['I'-'A']); // Totale I
|
||||
// rec.set(10,totale['J'-'A']); // Totale J
|
||||
|
||||
// Scrive record di coda
|
||||
outfile << rec;
|
||||
|
@ -32,43 +32,20 @@ BEGIN
|
||||
PROMPT 79 2 ""
|
||||
FIELD QLRITEFF
|
||||
SPECIAL STRINGA TRASFER "ST002002" "NP"
|
||||
END
|
||||
|
||||
VALUTA 3
|
||||
BEGIN
|
||||
KEY "CREDITI RECUPERATI"
|
||||
PROMPT 79 2 ""
|
||||
FIELD QLRITCOMP
|
||||
SPECIAL STRINGA TRASFER "ST002003" "NP"
|
||||
END
|
||||
|
||||
VALUTA 4
|
||||
BEGIN
|
||||
KEY "IMPORTI A SCOMPUTO"
|
||||
PROMPT 79 2 ""
|
||||
SPECIAL STRINGA TRASFER "ST002004" "NP"
|
||||
END
|
||||
|
||||
VALUTA 5
|
||||
BEGIN
|
||||
KEY "VERSAMENTI IN ECCESSO"
|
||||
PROMPT 79 2 ""
|
||||
FIELD QLRITVEREC
|
||||
SPECIAL STRINGA TRASFER "ST002005" "NP"
|
||||
END
|
||||
End
|
||||
|
||||
VALUTA 6
|
||||
BEGIN
|
||||
KEY "CREDITI D'IMPOSTA UTILIZZATI A SCOMPUTO"
|
||||
PROMPT 79 2 ""
|
||||
SPECIAL STRINGA TRASFER "ST002004" "NP"
|
||||
SPECIAL STRINGA TRASFER "ST002006" "NP"
|
||||
END
|
||||
|
||||
VALUTA 7
|
||||
BEGIN
|
||||
KEY "IMPORTO VERSATO"
|
||||
PROMPT 79 2 ""
|
||||
MESSAGE _NUMEXPR,#2-#3-#4-#5-#6
|
||||
MESSAGE _NUMEXPR,#2-#6
|
||||
SPECIAL STRINGA TRASFER "ST002007" "NP"
|
||||
END
|
||||
|
||||
@ -100,31 +77,14 @@ BEGIN
|
||||
PROMPT 79 2 ""
|
||||
FIELD QLCT
|
||||
SPECIAL STRINGA TRASFER "ST002011" "AN"
|
||||
END
|
||||
|
||||
LISTA 100
|
||||
BEGIN
|
||||
KEY "Tesoreria"
|
||||
PROMPT 79 2 ""
|
||||
FIELD QLLV
|
||||
ITEM " | " MESSAGE " ",10
|
||||
ITEM "C| " MESSAGE " ",10
|
||||
ITEM "T|X" MESSAGE "X",10
|
||||
END
|
||||
|
||||
NUMERO 12
|
||||
BEGIN
|
||||
KEY "Tesoreria"
|
||||
PROMPT 79 2 ""
|
||||
SPECIAL STRINGA TRASFER "ST002012" "CB"
|
||||
END
|
||||
End
|
||||
|
||||
NUMERO 13
|
||||
BEGIN
|
||||
KEY "Regione"
|
||||
PROMPT 79 2 ""
|
||||
FIELD QLREGIONE
|
||||
END
|
||||
End
|
||||
|
||||
STRINGA 14
|
||||
BEGIN
|
||||
|
@ -84,8 +84,11 @@ void TImporta_comm_app::scan_file(const TFilename& file, TAssoc_array& righe)
|
||||
TString16 idlavoro = rec.get(0); idlavoro.strip("\"");
|
||||
|
||||
//salto le righe vuote del file
|
||||
if (idlavoro.empty())
|
||||
continue;
|
||||
if (idlavoro.empty())
|
||||
{
|
||||
rec = s.line();
|
||||
continue;
|
||||
}
|
||||
|
||||
//recupero i dati di interesse dal file;
|
||||
//gruppo conto e sottoconto devono avere dei valori sensati
|
||||
|
Loading…
x
Reference in New Issue
Block a user