Merge branch 'R12.00' of http://10.65.20.33/sirio/CAMPO/campo into R12.00
This commit is contained in:
commit
161bbb2b29
@ -7,7 +7,7 @@ Patch = 1090
|
||||
Versione = 21511200
|
||||
|
||||
[bs]
|
||||
Data = 15-10-2021
|
||||
Data = 26-10-2021
|
||||
Descrizione = Bee Store
|
||||
Dischi = 1
|
||||
Moduli = ve
|
||||
|
Binary file not shown.
9
cd/test/ve1094.txt
Normal file
9
cd/test/ve1094.txt
Normal file
@ -0,0 +1,9 @@
|
||||
ve0.exe
|
||||
ve0200e.msk
|
||||
ve0200f.msk
|
||||
ve1.exe
|
||||
ve3400.msk
|
||||
|
||||
Aggiornate segnalazioni nell'inserimento documenti.
|
||||
Parametro "Separa la riga esenzioni " per avere una riga vuota prima della riga esenzioni.
|
||||
ridistribuita la maschera ve3400
|
141
cd/test/ve1094a.ini
Normal file
141
cd/test/ve1094a.ini
Normal file
@ -0,0 +1,141 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[ve0]
|
||||
Edit_163 = ve0 -6
|
||||
Edit_33 = ve0 -0
|
||||
Edit_4 = ve0 -4
|
||||
Edit_5 = ve0 -4
|
||||
File(20) = ve0.exe|X
|
||||
File(31) = ve0200e.msk|X
|
||||
File(32) = ve0200f.msk|X
|
||||
Patch = 1094
|
||||
Versione = 21511200
|
||||
|
||||
[ve1]
|
||||
File(48) = ve1.exe|X
|
||||
File(77) = ve3400.msk|X
|
||||
Patch = 1094
|
||||
Versione = 21511200
|
||||
|
||||
[ve99]
|
||||
Kill(0) = batbcld.msk|x
|
||||
Kill(1) = bastspp.rep|x
|
||||
Kill(2) = bastbnp.msk|x
|
||||
Kill(3) = batbeld.msk|x
|
||||
Kill(4) = batbgsa.msk|x
|
||||
Kill(5) = bastfrm.msk|x
|
||||
Kill(6) = bastcaa.rep|x
|
||||
Kill(7) = bastcra.rep|x
|
||||
Kill(8) = batbfrr.msk|x
|
||||
Kill(9) = bastgcg.rep|x
|
||||
Kill(10) = bastfrr.rep|x
|
||||
Kill(11) = batbfrm.msk|x
|
||||
Kill(12) = bastgca.msk|x
|
||||
Kill(13) = batbfrd.msk|x
|
||||
Kill(14) = basttri.rep|x
|
||||
Kill(15) = batbprv.msk|x
|
||||
Kill(16) = ve7400conf.ini|x
|
||||
Kill(17) = bastfca.msk|x
|
||||
Kill(18) = batbasf.msk|x
|
||||
Kill(19) = batbpro.msk|x
|
||||
Kill(20) = batbbnp.msk|x
|
||||
Kill(21) = bastums.rep|x
|
||||
Kill(22) = bastctr.msk|x
|
||||
Kill(23) = ve7.exe|x
|
||||
Kill(24) = basteld.rep|x
|
||||
Kill(25) = batbtri.msk|x
|
||||
Kill(26) = efstbnp.rep|x
|
||||
Kill(27) = ve7500a.msk|x
|
||||
Kill(28) = batbgca.msk|x
|
||||
Kill(29) = basteld.msk|x
|
||||
Kill(30) = bastasf.rep|x
|
||||
Kill(31) = batbrfa.msk|x
|
||||
Kill(32) = batbgcg.msk|x
|
||||
Kill(33) = bastctr.rep|x
|
||||
Kill(34) = eftbbnp.msk|x
|
||||
Kill(35) = batbrfc.msk|x
|
||||
Kill(36) = basttag.rep|x
|
||||
Kill(37) = bastgca.rep|x
|
||||
Kill(38) = batbfca.msk|x
|
||||
Kill(39) = ve7300a.frm|x
|
||||
Kill(40) = bastabe.msk|x
|
||||
Kill(41) = bastfca.rep|x
|
||||
Kill(42) = bastspp.msk|x
|
||||
Kill(43) = ve7300a.msk|x
|
||||
Kill(44) = bastubi.msk|x
|
||||
Kill(45) = batbcaa.msk|x
|
||||
Kill(46) = bastcau.rep|x
|
||||
Kill(47) = bastcaa.msk|x
|
||||
Kill(48) = bastrfa.msk|x
|
||||
Kill(49) = bastimb.rep|x
|
||||
Kill(50) = bastgmc.msk|x
|
||||
Kill(51) = batbubi.msk|x
|
||||
Kill(52) = bastgcg.msk|x
|
||||
Kill(53) = batbstd.msk|x
|
||||
Kill(54) = batbfid.msk|x
|
||||
Kill(55) = basttag.msk|x
|
||||
Kill(56) = batbctr.msk|x
|
||||
Kill(57) = batbspp.msk|x
|
||||
Kill(58) = bastums.msk|x
|
||||
Kill(59) = bastfrm.rep|x
|
||||
Kill(60) = ve7100a.msk|x
|
||||
Kill(61) = bastasf.msk|x
|
||||
Kill(62) = bastabe.rep|x
|
||||
Kill(63) = bastrfc.msk|x
|
||||
Kill(64) = batbfsa.msk|x
|
||||
Kill(65) = batbabe.msk|x
|
||||
Kill(66) = batbtip.msk|x
|
||||
Kill(67) = bastubi.rep|x
|
||||
Kill(68) = bastrfc.rep|x
|
||||
Kill(69) = batbprs.msk|x
|
||||
Kill(70) = basttip.rep|x
|
||||
Kill(71) = bastcau.msk|x
|
||||
Kill(72) = bastnum.rep|x
|
||||
Kill(73) = ve7400a.ini|x
|
||||
Kill(74) = ve7200a.frm|x
|
||||
Kill(75) = ve7200a.msk|x
|
||||
Kill(76) = baststd.rep|x
|
||||
Kill(77) = ve7400a.msk|x
|
||||
Kill(78) = batbcau.msk|x
|
||||
Kill(79) = bastrfa.rep|x
|
||||
Kill(80) = baststd.msk|x
|
||||
Kill(81) = bastimb.msk|x
|
||||
Kill(82) = bastprs.msk|x
|
||||
Kill(83) = bastfrr.msk|x
|
||||
Kill(84) = ve7600a.msk|x
|
||||
Kill(85) = batbmre.msk|x
|
||||
Kill(86) = batbtag.msk|x
|
||||
Kill(87) = batbnum.msk|x
|
||||
Kill(88) = bastnum.msk|x
|
||||
Kill(89) = batbums.msk|x
|
||||
Kill(90) = bastprs.rep|x
|
||||
Kill(91) = batbcra.msk|x
|
||||
Kill(92) = ve7700a.msk|x
|
||||
Kill(93) = batbspt.msk|x
|
||||
Kill(94) = basttri.msk|x
|
||||
Kill(95) = bastbnp.rep|x
|
||||
Kill(96) = efstbnp.msk|x
|
||||
Kill(97) = ve7701a.ini|x
|
||||
Kill(98) = batbacr.msk|x
|
||||
Kill(99) = batbimb.msk|x
|
||||
Kill(100) = batbgmc.msk|x
|
||||
Kill(101) = bastcra.msk|x
|
||||
Kill(102) = bastgmc.rep|x
|
||||
Kill(103) = bastfrd.msk|x
|
||||
Kill(104) = basttip.msk|x
|
||||
Kill(105) = bastfrd.rep|x
|
||||
|
||||
[ve]
|
||||
Data = 21-10-2021
|
||||
Descrizione = Vendite
|
||||
Dischi = 1
|
||||
Moduli = ba,cg9,pr9,mg9,sv9,in9,ef9
|
||||
OEM =
|
||||
Patch = 1094
|
||||
PostProcess = bainst -0 VE
|
||||
PreProcess =
|
||||
Prezzo(1) =
|
||||
Prezzo(2) =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/ve1094a1.zip
Normal file
BIN
cd/test/ve1094a1.zip
Normal file
Binary file not shown.
@ -249,7 +249,7 @@ END
|
||||
STRING F_CMSCNTFIELD 10
|
||||
BEGIN
|
||||
PROMPT 2 20 "Campo commesse per reperire la causale"
|
||||
FLAGS "U"
|
||||
FLAGS "U"
|
||||
FIELD CMSCNTFIELD
|
||||
END
|
||||
|
||||
|
@ -261,9 +261,15 @@ BEGIN
|
||||
FIELD DESESENZ
|
||||
END
|
||||
|
||||
BOOLEAN F_SEPARA_ESENZ
|
||||
BEGIN
|
||||
PROMPT 2 8 "Separa la riga esenzioni "
|
||||
FIELD SEPARA_ESENZ
|
||||
END
|
||||
|
||||
STRING F_SCTRIGA 4
|
||||
BEGIN
|
||||
PROMPT 2 8 "Tipo riga sconti testa "
|
||||
PROMPT 2 9 "Tipo riga sconti testa "
|
||||
FLAGS "U"
|
||||
USE %TRI SELECT S7=="C"
|
||||
FIELD TRSCONTI
|
||||
|
@ -1377,7 +1377,7 @@ void TMask_generator::genera_testata_1()
|
||||
else
|
||||
{
|
||||
_m->prompt(2, 4, "Fornitore ");
|
||||
_m->warning("IlFornitore #0 non esiste");
|
||||
_m->warning("Il Fornitore #0 non esiste");
|
||||
_m->help("Ragione sociale del fornitore del documento");
|
||||
}
|
||||
_m->flag( "R" );
|
||||
|
@ -1054,6 +1054,7 @@ bool TMask_anamag::handle_sheet_um(TMask_field &fld, KEY k)
|
||||
{
|
||||
TSheet_field &f= (TSheet_field &)fld; // typecast del campo al suo sheet corrispondente
|
||||
TMask_anamag & m= (TMask_anamag &)(fld.mask());
|
||||
|
||||
if (k == K_ENTER && !m.query_mode())
|
||||
{
|
||||
const int items = f.items();
|
||||
|
@ -41,7 +41,7 @@ int TCopydoc_mask::fill_sheet()
|
||||
for (t = 0; t < num1.ntipi_doc(); t++)
|
||||
{
|
||||
const TString& td = num1.tipo_doc(t);
|
||||
tipi.add(td, NULL);
|
||||
tipi.add(td);
|
||||
}
|
||||
|
||||
const TCodice_numerazione num2(n2);
|
||||
|
@ -171,6 +171,7 @@
|
||||
#define F_SPADD 144
|
||||
#define F_MAXADD 145
|
||||
#define F_IMPMINEFF 146
|
||||
#define F_SEPARA_ESENZ 147
|
||||
|
||||
// Campi per ve0200g.uml
|
||||
#define F_EXPLODEDB 101
|
||||
|
@ -1066,7 +1066,11 @@ void TDocumento::set_riga_esenzione()
|
||||
_des_esenz.insert("Fattura non imponibile");
|
||||
}
|
||||
|
||||
|
||||
TString d = _des_esenz;
|
||||
|
||||
if (ini_get_bool(CONFIG_STUDIO, "ve", "SEPARA_ESENZ"))
|
||||
d.insert(" \n"); // nonè uno spazio ma chr(255)
|
||||
const int pos = d.len();
|
||||
TLi_manager & plaf = plafond();
|
||||
TString protinf;
|
||||
|
@ -533,14 +533,14 @@ bool data_hndl( TMask_field& field, KEY key )
|
||||
const TDate dataprev = doc.get_date(DOC_DATADOC);
|
||||
same_key = doc.curr().same_key(m.doc().head(), 1, 1);
|
||||
if (same_key && datadoc < dataprev)
|
||||
return field.error_box("Data documento inferiore alla data del documento precedente");
|
||||
return field.error_box("Data documento inferiore alla data del documento precedente(a %s - s %s)", datadoc.stringa(), doc.get_date(DOC_DATADOC).stringa());
|
||||
}
|
||||
|
||||
doc.curr() = m.doc().head();
|
||||
doc.read(_isgreat);
|
||||
same_key = doc.curr().same_key(m.doc().head(), 1, 1);
|
||||
if (doc.good() && same_key && datadoc > doc.get_date(DOC_DATADOC))
|
||||
return field.error_box("Data documento superiore alla data del documento successivo");
|
||||
if (doc.good() && same_key && datadoc > doc.get_date(DOC_DATADOC))
|
||||
return field.error_box("Data documento superiore alla data del documento successivo (a %s - s %s)", datadoc.stringa(), doc.get_date(DOC_DATADOC).stringa());
|
||||
}
|
||||
if (key == K_ENTER || field.to_check(key))
|
||||
{
|
||||
@ -600,46 +600,40 @@ bool iva_handler( TMask_field& f, KEY key )
|
||||
|
||||
if (key == K_ENTER && f.empty())
|
||||
{
|
||||
const TString& codiva = mask.condv().clifo().vendite().get(CFV_ASSFIS);
|
||||
|
||||
if (codiva.full())
|
||||
f.set(codiva);
|
||||
f.check();
|
||||
}
|
||||
|
||||
if (key == K_ENTER && f.empty())
|
||||
{
|
||||
const TString& codiva = mask.doc().codesiva();
|
||||
|
||||
if (codiva.full())
|
||||
f.set(codiva);
|
||||
f.check();
|
||||
}
|
||||
|
||||
if (key == K_ENTER && f.empty())
|
||||
{
|
||||
const int r = row_mask.get_sheet()->selected() + 1;
|
||||
const TRiga_documento& riga = mask.doc()[r];
|
||||
const int pos_ai = row_mask.id2pos(FR_ADDIVA);
|
||||
bool addiva = false;
|
||||
|
||||
if (pos_ai >= 0)
|
||||
addiva = row_mask.fld(pos_ai).get() == "X"; // Controlla le righe Omaggio solo se è settato l'addebito IVA
|
||||
|
||||
const bool check = riga.is_merce() || riga.is_spese() || riga.is_prestazione() ||
|
||||
(riga.is_omaggio() && addiva);
|
||||
|
||||
const int r = row_mask.get_sheet()->selected() + 1;
|
||||
const TRiga_documento& riga = mask.doc()[r];
|
||||
const int pos_ai = row_mask.id2pos(FR_ADDIVA);
|
||||
const bool addiva = (pos_ai >= 0) && row_mask.fld(pos_ai).get() == "X"; // Controlla le righe Omaggio solo se è settato l'addebito IVA
|
||||
const bool check = riga.is_merce() || riga.is_spese() || riga.is_prestazione() || (riga.is_omaggio() && addiva);
|
||||
|
||||
if (check)
|
||||
{
|
||||
const int pos_p = row_mask.id2pos(FR_PREZZO);
|
||||
const int pos_q = row_mask.id2pos(FR_QTA);
|
||||
const bool pe = pos_p >= 0 && row_mask.fld(pos_p).enabled();
|
||||
const bool qe = pos_q >= 0 && row_mask.fld(pos_q).enabled();
|
||||
const bool pf = pe && row_mask.fld(pos_p).get().not_empty();
|
||||
const bool qf = qe && row_mask.fld(pos_q).get().not_empty();
|
||||
const bool required = pf && !(qe && !qf);
|
||||
if (required)
|
||||
return f.error_box(TR("Il codice IVA è obbligatorio."));
|
||||
const TString& codiva = mask.condv().clifo().vendite().get(CFV_ASSFIS);
|
||||
|
||||
if (codiva.full())
|
||||
f.set(codiva);
|
||||
else
|
||||
{
|
||||
const TString& codivaes = mask.doc().codesiva();
|
||||
|
||||
if (codivaes.full())
|
||||
f.set(codivaes);
|
||||
}
|
||||
f.check();
|
||||
|
||||
if (f.empty())
|
||||
{
|
||||
const int pos_p = row_mask.id2pos(FR_PREZZO);
|
||||
const int pos_q = row_mask.id2pos(FR_QTA);
|
||||
const bool pe = pos_p >= 0 && row_mask.fld(pos_p).enabled();
|
||||
const bool qe = pos_q >= 0 && row_mask.fld(pos_q).enabled();
|
||||
const bool pf = pe && row_mask.fld(pos_p).get().full();
|
||||
const bool qf = qe && row_mask.fld(pos_q).get().full();
|
||||
const bool required = pf && !(qe && !qf);
|
||||
|
||||
if (required)
|
||||
return f.error_box(FR("Il codice IVA è obbligatorio nella riga %d"), r);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (f.running_check(key))
|
||||
|
Loading…
x
Reference in New Issue
Block a user