Merge branch 'R_10_00' of http://10.65.20.33/sirio/CAMPO/campo into R_10_00

This commit is contained in:
Simone Palacino 2019-03-21 15:53:39 +01:00
commit fa1362bec6
11 changed files with 217 additions and 36 deletions

3
cd/test/ba0740.txt Normal file
View File

@ -0,0 +1,3 @@
batbiva.msk
Aggiunto flag sulla tabella iva per escludere il codice dal calcolo bolli esenti

34
cd/test/ba0740a.ini Normal file
View File

@ -0,0 +1,34 @@
[Main]
Demo=0
[ba1]
Edit_4 = ba3 -0
Edit_5 = ba3 -0
Edit_6 = ba4 -1
File(150) = batbiva.msk|X
Patch = 740
Versione = 21511200
[ba99]
Kill(0) = wxmsw240.dll|x
Kill(1) = batbsce.txt|x
Kill(2) = bastfsc.rep|x
Kill(3) = bastfsc.msk|x
Kill(4) = bastcms.msk|x
Kill(5) = bastcms.rep|x
Kill(6) = bastuue.rep|x
Kill(7) = bastuue.msk|x
[ba]
Data = 21-03-2019
Descrizione = Base
Dischi = 1
Moduli = sy
OEM =
Patch = 740
PostProcess = bainst -0 BA
PreProcess =
Prezzo(1) =
Prezzo(2) =
Versione = 21511200

BIN
cd/test/ba0740a1.zip Normal file

Binary file not shown.

8
cd/test/ve0740.txt Normal file
View File

@ -0,0 +1,8 @@
ve5.exe
ve6.exe
ve0.exe
ve1.exe
vetbtip.msk
Aggiunto flag sulla tabella iva per escludere il codice dal calcolo bolli esenti
Sistemata maschera tipi documento

133
cd/test/ve0740a.ini Normal file
View File

@ -0,0 +1,133 @@
[Main]
Demo=0
[ve1]
File(0) = ve0.exe|X
File(19) = ve1.exe|X
File(86) = ve5.exe|X
File(93) = ve6.exe|X
File(224) = vetbtip.msk|X
Patch = 740
Versione = 21511200
[ve99]
Kill(0) = batbcld.msk|x
Kill(1) = bastspp.rep|x
Kill(2) = baststd.rep|x
Kill(3) = bastbnp.rep|x
Kill(4) = ve7400a.msk|x
Kill(5) = bastfrd.msk|x
Kill(6) = bastprs.rep|x
Kill(7) = basttip.msk|x
Kill(8) = bastcaa.rep|x
Kill(9) = efstbnp.msk|x
Kill(10) = batbprs.msk|x
Kill(11) = batbabe.msk|x
Kill(12) = bastgca.msk|x
Kill(13) = batbgmc.msk|x
Kill(14) = bastcau.rep|x
Kill(15) = bastcra.msk|x
Kill(16) = bastspp.msk|x
Kill(17) = basttag.rep|x
Kill(18) = batbcau.msk|x
Kill(19) = bastctr.rep|x
Kill(20) = ve7500a.msk|x
Kill(21) = bastasf.rep|x
Kill(22) = bastums.rep|x
Kill(23) = bastfrr.msk|x
Kill(24) = basteld.rep|x
Kill(25) = batbprv.msk|x
Kill(26) = ve7200a.msk|x
Kill(27) = batbgca.msk|x
Kill(28) = batbmre.msk|x
Kill(29) = bastcaa.msk|x
Kill(30) = ve7700a.msk|x
Kill(31) = batbtri.msk|x
Kill(32) = basttip.rep|x
Kill(33) = efstbnp.rep|x
Kill(34) = baststd.msk|x
Kill(35) = batbasf.msk|x
Kill(36) = bastimb.msk|x
Kill(37) = batbrfa.msk|x
Kill(38) = ve7300a.msk|x
Kill(39) = ve7600a.msk|x
Kill(40) = batbspt.msk|x
Kill(41) = bastfca.rep|x
Kill(42) = bastrfc.msk|x
Kill(43) = bastprs.msk|x
Kill(44) = bastgcg.msk|x
Kill(45) = batbspp.msk|x
Kill(46) = batbgcg.msk|x
Kill(47) = bastnum.rep|x
Kill(48) = bastgmc.msk|x
Kill(49) = batbrfc.msk|x
Kill(50) = bastubi.msk|x
Kill(51) = batbtag.msk|x
Kill(52) = ve7400a.ini|x
Kill(53) = bastrfa.msk|x
Kill(54) = bastabe.rep|x
Kill(55) = bastubi.rep|x
Kill(56) = bastasf.msk|x
Kill(57) = batbctr.msk|x
Kill(58) = ve7100a.msk|x
Kill(59) = batbcaa.msk|x
Kill(60) = batbfid.msk|x
Kill(61) = ve7300a.frm|x
Kill(62) = bastfrr.rep|x
Kill(63) = bastums.msk|x
Kill(64) = basttri.rep|x
Kill(65) = bastrfa.rep|x
Kill(66) = bastcau.msk|x
Kill(67) = batbtip.msk|x
Kill(68) = batbubi.msk|x
Kill(69) = basttag.msk|x
Kill(70) = basteld.msk|x
Kill(71) = bastimb.rep|x
Kill(72) = bastrfc.rep|x
Kill(73) = ve7.exe|x
Kill(74) = ve7200a.frm|x
Kill(75) = batbfrr.msk|x
Kill(76) = bastfca.msk|x
Kill(77) = batbfrd.msk|x
Kill(78) = bastctr.msk|x
Kill(79) = batbpro.msk|x
Kill(80) = ve7400conf.ini|x
Kill(81) = bastfrm.rep|x
Kill(82) = batbbnp.msk|x
Kill(83) = bastgca.rep|x
Kill(84) = batbstd.msk|x
Kill(85) = ve7701a.ini|x
Kill(86) = batbfsa.msk|x
Kill(87) = batbnum.msk|x
Kill(88) = bastabe.msk|x
Kill(89) = eftbbnp.msk|x
Kill(90) = batbfca.msk|x
Kill(91) = bastgcg.rep|x
Kill(92) = batbgsa.msk|x
Kill(93) = bastfrm.msk|x
Kill(94) = bastbnp.msk|x
Kill(95) = bastgmc.rep|x
Kill(96) = bastcra.rep|x
Kill(97) = bastfrd.rep|x
Kill(98) = batbacr.msk|x
Kill(99) = batbimb.msk|x
Kill(100) = basttri.msk|x
Kill(101) = bastnum.msk|x
Kill(102) = batbeld.msk|x
Kill(103) = batbums.msk|x
Kill(104) = batbcra.msk|x
Kill(105) = batbfrm.msk|x
[ve]
Data = 12-03-2019
Descrizione = Vendite
Dischi = 1
Moduli = ba,cg9,pr9,mg9,sv9,in9,ef9
OEM =
Patch = 740
PostProcess = bainst -0 VE
PreProcess =
Prezzo(1) =
Prezzo(2) =
Versione = 21511200

BIN
cd/test/ve0740a1.zip Normal file

Binary file not shown.

View File

@ -24,3 +24,4 @@
#define FLD_DESCR_I1 125
#define FLD_INDET_S4 126
#define FLD_NATURA 127
#define CHK_TABIVA_B5 128

View File

@ -53,22 +53,22 @@ BEGIN
HELP "Indicare il tipo di codice IVA"
ITEM " |Regime IVA normale"
MESSAGE ENABLE,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0
MESSAGE CLEAR,FLD_TABIVA_I3|CLEAR,FLD_TABIVA_I4
MESSAGE CLEAR,FLD_TABIVA_I3|CLEAR,FLD_TABIVA_I4|HIDE,CHK_TABIVA_B5
MESSAGE ENABLE,FLD_TABIVA_S6
ITEM "VE|Ricavi da ventilare"
MESSAGE CLEAR,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0|CLEAR,FLD_TABIVA_I3
MESSAGE CLEAR,FLD_TABIVA_I4|CLEAR,FLD_TABIVA_S6
MESSAGE CLEAR,FLD_TABIVA_I4|CLEAR,FLD_TABIVA_S6|HIDE,CHK_TABIVA_B5
ITEM "ES|Operazioni esenti"
MESSAGE CLEAR,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0
MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4
MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4|SHOW,CHK_TABIVA_B5
MESSAGE ENABLE,FLD_TABIVA_S6
ITEM "NI|Non imponibili"
MESSAGE CLEAR,FLD_TABIVA_R0|ENABLE,FLD_TABIVA_I0
MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4
MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4|SHOW,CHK_TABIVA_B5
MESSAGE ENABLE,FLD_TABIVA_S6
ITEM "NS|Non soggetti"
MESSAGE CLEAR,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0
MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4
MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4|SHOW,CHK_TABIVA_B5
MESSAGE ENABLE,FLD_TABIVA_S6
END
@ -144,6 +144,12 @@ BEGIN
FIELD S4
END
BOOLEAN CHK_TABIVA_B5
BEGIN
PROMPT 30 5 "Escluso dal calcolo dei bolli sufatture esenti"
FIELD B5
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 6 "@bComunicazione operazioni rilevanti ai fini dell'IVA (Spesometro)"

View File

@ -158,8 +158,9 @@ public: // TObject
bool senza_imposta() { return percentuale() == ZERO;}
int allegato(char tipocf) const { return get_int(tipocf == 'F' ? "S8" : "S7"); }
bool has_plafond() const { return get_int("S3") > 0; }
bool sospeso() const { return get_bool("B2"); }
bool has_plafond() const { return get_int("S3") > 0; }
bool sospeso() const { return get_bool("B2"); }
bool escluso_esenti() const { return get_bool("B5"); }
real imposta(const real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const; // Calcola l'imposta sull'imponibile l'imposta e la ritorna
real scorpora(real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const; // Scorpora dall'imponibile l'imposta e la ritorna

View File

@ -504,10 +504,7 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const
TCurrency_documento spese_val(spese());
spese_val.change_to_firm_val();
const real sp_orig = spese_val.get_num();
bool estero = FALSE; // Assumiamo per ora non estero
TString4 codiva_es;
iva_esente(codiva_es);
bool estero = false; // Assumiamo per ora non estero
for (int j = 0; j < 5 && tot_bolli+iva_bolli != old_bolli; j++)
{
@ -516,20 +513,18 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const
const real imp_spese = sp_orig + tot_bolli - iva_bolli;
const real imponibile = importo - imposte - imp_spese;
tot_bolli = ZERO;
if (!tipo().nota_credito())
real imponibile_esente;
for (int r = physical_rows(); r > 0; r--)
{
real imponibile_esente;
for (int r = physical_rows(); r > 0; r--)
{
const TRiga_documento& riga = ((TDocumento*)this)->row(r);
const TCodiceIVA codiva(riga.get(RDOC_CODIVA));
const TRiga_documento& riga = ((TDocumento*)this)->row(r);
const TCodiceIVA codiva(riga.get(RDOC_CODIVA));
if (codiva.tipo().not_empty())
imponibile_esente += riga.imponibile();
}
if (imponibile_esente >= impmin_bolli)
tot_bolli = bolli_es;
}
if (codiva.tipo().not_empty() && !codiva.escluso_esenti())
imponibile_esente += abs(riga.imponibile());
}
if (imponibile_esente >= impmin_bolli)
tot_bolli = bolli_es;
pag.set_total(imponibile, imposte, imp_spese);
pag.set_rate_auto();
@ -540,16 +535,16 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const
switch (p)
{
case _ric_ban:
{
int i;
for (i = 0; i < nscagl - 1; i++)
if ((real &) sca_bolli[i] >= imp)
break;
if (imp_bolli.items() > 0)
tot_bolli += (real &) imp_bolli[i];
}
case _ric_ban:
{
int j;
for (j = 0; j < nscagl - 1; j++)
if ((real &)sca_bolli[j] >= imp)
break;
if (imp_bolli.items() > 0)
tot_bolli += (real &)imp_bolli[j];
}
break;
case _tratta:
case _tratta_acc:

View File

@ -234,19 +234,19 @@ END
BOOLEAN F_SPESEAUT
BEGIN
PROMPT 2 14 "Addebito auto spese cliente"
PROMPT 2 14 "Add.auto spese cliente"
FIELD B0
END
BOOLEAN F_FATCOM
BEGIN
PROMPT 30 14 "Calcolo fattura commerciale"
PROMPT 30 14 "Calc.fatt.commerciale"
FIELD B9
END
BOOLEAN F_LORDO
BEGIN
PROMPT 55 14 "Calcolo importi al lordo"
PROMPT 55 14 "Calc.importi al lordo"
FIELD B8
MESSAGE TRUE CLEAR,F_FATCOM
MESSAGE FALSE ENABLE,F_FATCOM