Collegamento cg <-> fe
git-svn-id: svn://10.65.10.50/branches/R_10_00@22901 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a9517e3cf5
commit
6c28b4a0ab
@ -203,7 +203,7 @@ void TPianoconti_app::init_insert_mode(TMask& m)
|
|||||||
m.show(FLD_CM1_IVACOMP, indbil == RICAVI);
|
m.show(FLD_CM1_IVACOMP, indbil == RICAVI);
|
||||||
m.show(FLD_CM1_DESCIVACOMP, indbil == RICAVI);
|
m.show(FLD_CM1_DESCIVACOMP, indbil == RICAVI);
|
||||||
}
|
}
|
||||||
m.show(FLD_CM1_RICSER, indbil == PASSIVITA || indbil == RICAVI);
|
// m.show(FLD_CM1_RICSER, indbil == PASSIVITA || indbil == RICAVI); // Sempre visibile per spesometro dal 9-10-2013
|
||||||
if (conto != 0)
|
if (conto != 0)
|
||||||
{
|
{
|
||||||
m.enable(FLD_CM1_SEZIVD, ivd_enable);
|
m.enable(FLD_CM1_SEZIVD, ivd_enable);
|
||||||
|
@ -420,11 +420,11 @@ END
|
|||||||
|
|
||||||
LIST FLD_CM1_RICSER 1 18
|
LIST FLD_CM1_RICSER 1 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "Ricavi per servizi "
|
PROMPT 1 12 "Merce / Servizi "
|
||||||
FIELD RICSER
|
FIELD RICSER
|
||||||
FLAGS "H"
|
ITEM "0|"
|
||||||
ITEM "0|Altre attivita'"
|
|
||||||
ITEM "1|Servizi"
|
ITEM "1|Servizi"
|
||||||
|
ITEM "2|Merce"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING FLD_CM1_IVACOMP 4
|
STRING FLD_CM1_IVACOMP 4
|
||||||
|
@ -288,7 +288,7 @@ BEGIN
|
|||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_ALLEG 1
|
STRING F_ALLEG 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 14 "Tipo cliente/fornitore "
|
PROMPT 2 14 "Tipo cliente/fornitore "
|
||||||
FIELD ALLEG
|
FIELD ALLEG
|
||||||
@ -305,6 +305,7 @@ BEGIN
|
|||||||
ITEM "7|Ente pubblico"
|
ITEM "7|Ente pubblico"
|
||||||
ITEM "8|Fallimento/proc.concorsuale"
|
ITEM "8|Fallimento/proc.concorsuale"
|
||||||
ITEM "9|Estero NON CEE"
|
ITEM "9|Estero NON CEE"
|
||||||
|
ITEM "C|Scheda carburante"
|
||||||
OUTPUT F_ALLEG
|
OUTPUT F_ALLEG
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -585,14 +585,14 @@ void TPrimanota_application::init_mask(TMask& m)
|
|||||||
m.show(-2, forg);
|
m.show(-2, forg);
|
||||||
}
|
}
|
||||||
|
|
||||||
m.hide(-7); // Nascondi tutti i campi del modulo FE (compreso FE_MODPAG)
|
m.hide(-7); // Nascondi tutti i campi del modulo FE
|
||||||
|
|
||||||
if (corrisp)
|
if (corrisp)
|
||||||
m.hide(F_STATOPAIV);
|
m.hide(F_STATOPAIV);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (has_module(FEAUT))
|
if (has_module(FEAUT))
|
||||||
m.show(FE_MODPAG); // Mostro FE_MODPAG solo se strettamente necessario
|
m.show(FE_NOLEGGIO); // Mostro FE_MODPAG solo se strettamente necessario
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show/Hide campi valuta: F_VALUTAINTRA, F_CAMBIOINTRA, F_CORRISPETTIVO, F_CORRVAL (GROUP 4)
|
// Show/Hide campi valuta: F_VALUTAINTRA, F_CAMBIOINTRA, F_CORRISPETTIVO, F_CORRVAL (GROUP 4)
|
||||||
@ -716,8 +716,8 @@ bool TPrimanota_application::can_I_write(const TRelation* rel) const
|
|||||||
<< "La preghiamo di contattare Sirio informatica e sistemi ai seguenti riferimenti:</p><br/>"
|
<< "La preghiamo di contattare Sirio informatica e sistemi ai seguenti riferimenti:</p><br/>"
|
||||||
<< "<ul><li>Sara Coppini, segreteria commerciale: <br />"
|
<< "<ul><li>Sara Coppini, segreteria commerciale: <br />"
|
||||||
<< "<a href=mailto:scoppini@sirio-is.it>scoppini@sirio-is.it</a> Tel. 348-9897249</li>"
|
<< "<a href=mailto:scoppini@sirio-is.it>scoppini@sirio-is.it</a> Tel. 348-9897249</li>"
|
||||||
<< "<li>Morena Martini, responsabile commerciale canale: <br />"
|
<< "<li>Casella vocale Hotline Campo: <br />"
|
||||||
<< "<a href=mailto:mmartini@sirio-is.it>mmartini@sirio-is.it</a> Tel. 349-3421433</li></ul>"
|
<< "<a href=mailto:hotlinecampo@sirio-is.it>hotlinecampo@sirio-is.it</a> Tel. 0236583540</li></ul>"
|
||||||
<< "</body></html>";
|
<< "</body></html>";
|
||||||
warning_box(html);
|
warning_box(html);
|
||||||
}
|
}
|
||||||
@ -2261,28 +2261,28 @@ bool TPrimanota_application::link_intra(const TMask& m, const char* action)
|
|||||||
TString str; // Stringa jolly di lavoro
|
TString str; // Stringa jolly di lavoro
|
||||||
str.format("%d", LF_INTRA);
|
str.format("%d", LF_INTRA);
|
||||||
intro.set_paragraph(str);
|
intro.set_paragraph(str);
|
||||||
intro.set("NUMREG", m.get(F_NUMREG));
|
intro.set(MOV_NUMREG, m.get(F_NUMREG));
|
||||||
intro.set("DATAREG", m.get(F_DATAREG));
|
intro.set(MOV_DATAREG, m.get(F_DATAREG));
|
||||||
|
|
||||||
if (m.field(F_CLIENTE).shown())
|
if (m.field(F_CLIENTE).shown())
|
||||||
{
|
{
|
||||||
intro.set("TIPOMOV", "C");
|
intro.set(MOV_TIPOMOV, "C"); // Cessione
|
||||||
intro.set("TIPOCF", "C");
|
intro.set("TIPOCF", "C"); // Cliente
|
||||||
intro.set("CODCF", m.get(F_CLIENTE));
|
intro.set(MOV_CODCF, m.get(F_CLIENTE));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
intro.set("TIPOMOV", "A");
|
intro.set(MOV_TIPOMOV, "A"); // Acquisto
|
||||||
intro.set("TIPOCF", "F");
|
intro.set("TIPOCF", "F"); // Fornitore
|
||||||
intro.set("CODCF", m.get(F_FORNITORE));
|
intro.set(MOV_CODCF, m.get(F_FORNITORE));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Controlla flag sulla causale
|
// Controlla flag sulla causale
|
||||||
const bool valintra = causale().valintra();
|
const bool valintra = causale().valintra();
|
||||||
if (valintra)
|
if (valintra)
|
||||||
{
|
{
|
||||||
intro.set("CODVAL", m.get(F_VALUTAINTRA));
|
intro.set(MOV_CODVAL, m.get(F_VALUTAINTRA));
|
||||||
intro.set("CAMBIO", m.get(F_CAMBIOINTRA));
|
intro.set(MOV_CAMBIO, m.get(F_CAMBIOINTRA));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inserisci il totale documento solo in inserimento!
|
// Inserisci il totale documento solo in inserimento!
|
||||||
@ -2291,10 +2291,10 @@ bool TPrimanota_application::link_intra(const TMask& m, const char* action)
|
|||||||
real totdoc = m.get_real(valintra ? F_CORRISPETTIVO : F_IMPONIBILI);
|
real totdoc = m.get_real(valintra ? F_CORRISPETTIVO : F_IMPONIBILI);
|
||||||
if (test_swap(false))
|
if (test_swap(false))
|
||||||
totdoc = -totdoc;
|
totdoc = -totdoc;
|
||||||
intro.set("TOTDOC", totdoc.string());
|
intro.set(MOV_TOTDOC, totdoc.string());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
intro.remove("TOTDOC"); // Evita di cambiare il valore preesistente
|
intro.remove(MOV_TOTDOC); // Evita di cambiare il valore preesistente
|
||||||
|
|
||||||
appname << "in0 -4 /i" << intrini;
|
appname << "in0 -4 /i" << intrini;
|
||||||
}
|
}
|
||||||
|
@ -28,10 +28,7 @@
|
|||||||
#define F_COFICLIENTE 155
|
#define F_COFICLIENTE 155
|
||||||
#define F_RICALTCLIENTE 156
|
#define F_RICALTCLIENTE 156
|
||||||
|
|
||||||
#define FE_CONTRATTO 157
|
#define FE_NOLEGGIO 157
|
||||||
#define FE_MODPAG 158
|
|
||||||
#define FE_DATARETT 159
|
|
||||||
#define FE_NUMRETT 160
|
|
||||||
|
|
||||||
#define F_FORNITORE 161
|
#define F_FORNITORE 161
|
||||||
#define F_RAGSOCFORNITORE 162
|
#define F_RAGSOCFORNITORE 162
|
||||||
|
@ -439,65 +439,17 @@ BEGIN
|
|||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST FE_MODPAG 1 16
|
LIST FE_NOLEGGIO 2 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "Tipo "
|
PROMPT 1 12 "Tipo veicolo a noleggio (spesometro) "
|
||||||
ITEM "1|Non frazionato"
|
ITEM " |Nessuno"
|
||||||
MESSAGE HIDE,FE_CONTRATTO|RESET,FE_CONTRATTO|SHOW,FE_DATARETT|SHOW,FE_NUMRETT
|
ITEM "A|Automobile"
|
||||||
ITEM "2|Frazionato"
|
ITEM "B|Camper"
|
||||||
MESSAGE SHOW,FE_CONTRATTO|HIDE,FE_DATARETT|HIDE,FE_NUMRETT
|
ITEM "C|Altro"
|
||||||
ITEM "3|Periodico"
|
ITEM "D|Diporto"
|
||||||
MESSAGE SHOW,FE_CONTRATTO|HIDE,FE_DATARETT|HIDE,FE_NUMRETT
|
ITEM "E|Aeromobile"
|
||||||
|
FIELD NOLEGGIO
|
||||||
GROUP 7
|
GROUP 7
|
||||||
FIELD MODPAG
|
|
||||||
MODULE fe
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING FE_CONTRATTO 18
|
|
||||||
BEGIN
|
|
||||||
PROMPT 32 12 "Contratto di riferimento "
|
|
||||||
FLAGS "U"
|
|
||||||
FIELD CONTRATTO
|
|
||||||
USE &FECON
|
|
||||||
INPUT CODTAB[1,1] F_CLIFO SELECT
|
|
||||||
INPUT CODTAB[2,7] F_CLIENTE SELECT
|
|
||||||
INPUT CODTAB[8,25] FE_CONTRATTO
|
|
||||||
DISPLAY "Contratto" CODTAB[8,]
|
|
||||||
DISPLAY "Descrizione@50" S0
|
|
||||||
DISPLAY "Pagamento" S6
|
|
||||||
OUTPUT FE_CONTRATTO CODTAB[8,]
|
|
||||||
OUTPUT FE_MODPAG S6
|
|
||||||
CHECKTYPE REQUIRED
|
|
||||||
HELP "Inserire un codice contratto di importo non inferiore a 3000 Euro"
|
|
||||||
ADD RUN fe0 -1 &CON
|
|
||||||
GROUP 7
|
|
||||||
END
|
|
||||||
|
|
||||||
DATE FE_DATARETT
|
|
||||||
BEGIN
|
|
||||||
PROMPT 26 12 "Variazione al documento "
|
|
||||||
USE MOV KEY 3
|
|
||||||
INPUT TIPO F_CLIFO SELECT
|
|
||||||
INPUT CODCF F_CLIENTE SELECT
|
|
||||||
INPUT DATAREG FE_DATARETT
|
|
||||||
DISPLAY "Data reg.@10" DATAREG
|
|
||||||
DISPLAY "Numero@7" NUMDOC
|
|
||||||
DISPLAY "Num.Reg.@7" NUMREG
|
|
||||||
DISPLAY "Descrizione@50" DESCR
|
|
||||||
OUTPUT FE_DATARETT DATAREG
|
|
||||||
OUTPUT FE_NUMRETT NUMDOC
|
|
||||||
FIELD DATARETT
|
|
||||||
GROUP 7
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING FE_NUMRETT 7
|
|
||||||
BEGIN
|
|
||||||
PROMPT 66 12 "N."
|
|
||||||
COPY ALL FE_DATARETT
|
|
||||||
CHECKTYPE SEARCH
|
|
||||||
FIELD NUMRETT
|
|
||||||
GROUP 7
|
|
||||||
FLAGS "U"
|
|
||||||
END
|
END
|
||||||
|
|
||||||
// Campi per saldaconto in valuta
|
// Campi per saldaconto in valuta
|
||||||
|
@ -260,7 +260,7 @@ int TMovimentoPN::registra(bool re, bool force)
|
|||||||
|
|
||||||
// Aggiorna data registrazione e protocollo IVA sul registro
|
// Aggiorna data registrazione e protocollo IVA sul registro
|
||||||
const TDate datareg(m.get(MOV_DATAREG));
|
const TDate datareg(m.get(MOV_DATAREG));
|
||||||
if (reg.not_empty())
|
if (reg.full())
|
||||||
{
|
{
|
||||||
const long protiva = m.get_long(MOV_PROTIVA);
|
const long protiva = m.get_long(MOV_PROTIVA);
|
||||||
const long uprotiva = m.get_long(MOV_UPROTIVA);
|
const long uprotiva = m.get_long(MOV_UPROTIVA);
|
||||||
|
@ -827,7 +827,6 @@ TGrid_control::TGrid_control(
|
|||||||
if ((f_width+max_width)*XI_FU_MULTIPLE > rct.right)
|
if ((f_width+max_width)*XI_FU_MULTIPLE > rct.right)
|
||||||
fixed_columns = 1;
|
fixed_columns = 1;
|
||||||
|
|
||||||
|
|
||||||
long list_attr = XI_ATR_ENABLED | XI_ATR_VISIBLE;
|
long list_attr = XI_ATR_ENABLED | XI_ATR_VISIBLE;
|
||||||
// if (_read_only) list_attr |= XI_ATR_NAVIGATE;
|
// if (_read_only) list_attr |= XI_ATR_NAVIGATE;
|
||||||
|
|
||||||
@ -1180,11 +1179,9 @@ bool TGrid_control::event_handler(XI_OBJ* itf, XI_EVENT *xiev)
|
|||||||
{
|
{
|
||||||
if (xiev->v.select.column == 0)
|
if (xiev->v.select.column == 0)
|
||||||
{
|
{
|
||||||
if (_read_only)
|
// if (_read_only) // Commentato 8/11/2013 altrimenti non funziona più collegamento a cg2
|
||||||
{
|
// refused = !select(rec);
|
||||||
refused = !select(rec);
|
// else
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
if (rec == _cur_rec) // Simulo intercettazione doppio click
|
if (rec == _cur_rec) // Simulo intercettazione doppio click
|
||||||
_grid->on_record_button(rec);
|
_grid->on_record_button(rec);
|
||||||
@ -1309,7 +1306,7 @@ XI_OBJ* TGrid_control::find_column(const char* head) const
|
|||||||
int num = 0;
|
int num = 0;
|
||||||
XI_OBJ** column = xi_get_member_list(_obj, &num);
|
XI_OBJ** column = xi_get_member_list(_obj, &num);
|
||||||
|
|
||||||
TString80 text;
|
TString256 text;
|
||||||
int i;
|
int i;
|
||||||
for (i = num-1; i >= 0; i--)
|
for (i = num-1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
@ -1708,9 +1705,9 @@ void TMastrini_grid::cell_request(long rec, short id, TGrid_cell& cell)
|
|||||||
XI_OBJ* col = grid().find_column(short(1000+id%1000));
|
XI_OBJ* col = grid().find_column(short(1000+id%1000));
|
||||||
if (col != NULL)
|
if (col != NULL)
|
||||||
{
|
{
|
||||||
TString80 head;
|
TString256 str;
|
||||||
xi_get_text(col, head.get_buffer(), head.size());
|
xi_get_text(col, str.get_buffer(), str.size());
|
||||||
cell = head;
|
cell = str;
|
||||||
|
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -228,8 +228,8 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
|||||||
if (_prind)
|
if (_prind)
|
||||||
{
|
{
|
||||||
TString buf(80);
|
TString buf(80);
|
||||||
buf.format( _printonly ? FR("Stampa liquidazione (mese %d %d)...\n%s: %s\n") :
|
buf.format( _printonly ? FR("Stampa liquidazione (mese %d %d)...\n%s:\n%s\n") :
|
||||||
FR("Calcolo liquidazione (mese %d %d)...\n%s: %s\n"),
|
FR("Calcolo liquidazione (mese %d %d)...\n%s:\n%s\n"),
|
||||||
month, atoi(_year), (const char*)_nditte_r->get(NDT_RAGSOC), (const char*)desatt);
|
month, atoi(_year), (const char*)_nditte_r->get(NDT_RAGSOC), (const char*)desatt);
|
||||||
_prind->set_text(buf);
|
_prind->set_text(buf);
|
||||||
}
|
}
|
||||||
@ -293,20 +293,20 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
|||||||
if (!_recalc_regis && tipoatt == 1 && waspla && month == 13)
|
if (!_recalc_regis && tipoatt == 1 && waspla && month == 13)
|
||||||
{
|
{
|
||||||
// azzera pla dove serve
|
// azzera pla dove serve
|
||||||
_pla->put("R0","");
|
_pla->zero("R0");
|
||||||
_pla->put("R1","");
|
_pla->zero("R1");
|
||||||
_pla->put("R2","");
|
_pla->zero("R2");
|
||||||
_pla->put("R3","");
|
_pla->zero("R3");
|
||||||
_pla->put("R4","");
|
_pla->zero("R4");
|
||||||
_pla->put("R13","");
|
_pla->zero("R13");
|
||||||
_pla->put("R9","");
|
_pla->zero("R9");
|
||||||
_pla->put("R10","");
|
_pla->zero("R10");
|
||||||
_pla->put("R11","");
|
_pla->zero("R11");
|
||||||
_pla->put("R12","");
|
_pla->zero("R12");
|
||||||
_pla->put("R14","");
|
_pla->zero("R14");
|
||||||
_pla->put("R15","");
|
_pla->zero("R15");
|
||||||
_pla->put("R16","");
|
_pla->zero("R16");
|
||||||
_pla->put("R17","");
|
_pla->zero("R17");
|
||||||
_pla->put("S1","0");
|
_pla->put("S1","0");
|
||||||
_pla->put("S2","0");
|
_pla->put("S2","0");
|
||||||
_pla->put("S3","0");
|
_pla->put("S3","0");
|
||||||
@ -719,6 +719,17 @@ bool TLiquidazione_app::residuo_da_liquidare(long numreg, int numrig, const TDat
|
|||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool partita_chiusa_al(const TPartita& p, const TDate& d)
|
||||||
|
{
|
||||||
|
bool c = p.chiusa();
|
||||||
|
if (c)
|
||||||
|
{
|
||||||
|
const TImporto imp = p.calcola_saldo_al(true, d, d, d);
|
||||||
|
c = imp.is_zero();
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||||
// il codatt passato e' codice att + tipo att ( IN {1|2} )
|
// il codatt passato e' codice att + tipo att ( IN {1|2} )
|
||||||
// occhecasino. Se _comp_acconto e' TRUE, i movimenti considerati
|
// occhecasino. Se _comp_acconto e' TRUE, i movimenti considerati
|
||||||
@ -899,7 +910,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
|
|
||||||
// if (_isdiff)
|
// if (_isdiff)
|
||||||
// f = TDate(1, 1, year_int-5);
|
// f = TDate(1, 1, year_int-5);
|
||||||
if (year_int < 1998 || _recalc_regis) // Vecchia selezione o calcolo progoressivi per stampa registri bollati
|
if (year_int < 1998 || _recalc_regis) // Vecchia selezione o calcolo progressivi per stampa registri bollati
|
||||||
{
|
{
|
||||||
t.set_month(month == 13 ? 12 : month);
|
t.set_month(month == 13 ? 12 : month);
|
||||||
t.set_year(year_int);
|
t.set_year(year_int);
|
||||||
@ -967,8 +978,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
tm = tm_nota_credito;
|
tm = tm_nota_credito;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Controlla se la data del documento si riferisce all'anno precedente (PRORATA 1998)
|
if (_mov->get_long(MOV_NUMREG) == 29103)
|
||||||
const TDate datedoc = _mov->get(MOV_DATADOC);
|
int cazzone = 1;
|
||||||
|
|
||||||
if (_isviaggio)
|
if (_isviaggio)
|
||||||
{
|
{
|
||||||
@ -1206,12 +1217,6 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
|
|
||||||
if (!pagscatt.empty())
|
if (!pagscatt.empty())
|
||||||
{
|
{
|
||||||
#ifdef DBG
|
|
||||||
if (_mov->get_long(MOV_NUMREG) == 13871)
|
|
||||||
xvt_dm_popup_message("Aggiornamento IVADIFF per movimento 13871");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
const char sezpag = tipomov == vendita ? 'A' : 'D';
|
const char sezpag = tipomov == vendita ? 'A' : 'D';
|
||||||
const real totfat = _mov->get(MOV_TOTDOC);
|
const real totfat = _mov->get(MOV_TOTDOC);
|
||||||
|
|
||||||
@ -1251,7 +1256,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
d = rp.get(PART_DATAREG);
|
d = rp.get(PART_DATAREG);
|
||||||
id.put("DATAREGP", d);
|
id.put("DATAREGP", d);
|
||||||
pagtmp = p.importo_pagsca(pagsca);
|
pagtmp = p.importo_pagsca(pagsca);
|
||||||
if (p.chiusa() && rp.tipo() >= 3)
|
if (tipomov_pag >= tm_pagamento && partita_chiusa_al(p, fine))
|
||||||
{
|
{
|
||||||
ultimo = true;
|
ultimo = true;
|
||||||
for (int r = p.last(); r > nrigp; r = p.pred(r))
|
for (int r = p.last(); r > nrigp; r = p.pred(r))
|
||||||
@ -1300,22 +1305,25 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
id.put(PAGSCA_IMPORTO, pagtmp.valore());
|
// Spostato in basso ricalcolo importo ragguagliato 24/09/2013
|
||||||
pagtmp.normalize(sezpag);
|
// id.put(PAGSCA_IMPORTO, pagtmp.valore());
|
||||||
|
// pagtmp.normalize(sezpag);
|
||||||
|
|
||||||
const real perc = pagtmp.valore() / totfat;
|
const real perc = pagtmp.valore() / totfat;
|
||||||
real val = imponibile_orig * perc;
|
real val_imp = imponibile_orig * perc;
|
||||||
round_imposta(val);
|
round_imposta(val_imp);
|
||||||
id.put(RMI_IMPONIBILE, val);
|
id.put(RMI_IMPONIBILE, val_imp);
|
||||||
|
|
||||||
if (tipomov_pag >= tm_pagamento)
|
if (tipomov_pag >= tm_pagamento)
|
||||||
incdiff_imp += val;
|
incdiff_imp += val_imp;
|
||||||
|
|
||||||
val = imposta_orig * perc;
|
real val_iva = imposta_orig * perc;
|
||||||
round_imposta(val);
|
round_imposta(val_iva);
|
||||||
id.put(RMI_IMPOSTA, val);
|
id.put(RMI_IMPOSTA, val_iva);
|
||||||
if (tipomov_pag >= tm_pagamento)
|
if (tipomov_pag >= tm_pagamento)
|
||||||
incdiff_iva += val;
|
incdiff_iva += val_iva;
|
||||||
|
|
||||||
|
id.put(PAGSCA_IMPORTO, val_imp + val_iva); // Ricalcolo importo
|
||||||
}
|
}
|
||||||
|
|
||||||
int err = id.write_rewrite();
|
int err = id.write_rewrite();
|
||||||
@ -1924,25 +1932,26 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
bdv += bolld_iva;
|
bdv += bolld_iva;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (liq && tipomov == vendita && !corrisp)
|
if (tipomov == vendita && liq && !corrisp)
|
||||||
// i corrispettivi sono gestiti a parte
|
// i corrispettivi sono gestiti a parte
|
||||||
{
|
{
|
||||||
// totale vendite
|
// totale vendite
|
||||||
vendite += imponibile;
|
vendite += imponibile;
|
||||||
vendite_iva += imposta;
|
vendite_iva += imposta;
|
||||||
}
|
}
|
||||||
else if ((liq || fattrit && month == 13) && tipomov == acquisto)
|
else if (tipomov == acquisto && (liq || fattrit && month == 13))
|
||||||
{
|
{
|
||||||
// totale acquisti
|
// totale acquisti
|
||||||
acquisti += imponibile;
|
acquisti += imponibile;
|
||||||
acquisti_iva += imposta;
|
acquisti_iva += imposta;
|
||||||
|
|
||||||
|
// Controlla se la data del documento si riferisce all'anno precedente (PRORATA 1998)
|
||||||
|
const TDate datedoc = _mov->get_date(MOV_DATADOC);
|
||||||
const int yr = datedoc.year();
|
const int yr = datedoc.year();
|
||||||
|
if (!imposta.is_zero() && (yr < (year_int-1) && yr > (year_int-4))) // Prende un intervallo di 2 anni al massimo
|
||||||
if (year_int > 1997 && (yr < (year_int-1) && yr > (year_int-4))) // Prende un intervallo di 2 anni al massimo
|
|
||||||
{ // Quelli relativi all'anno in corso e precedente vanno assieme.
|
{ // Quelli relativi all'anno in corso e precedente vanno assieme.
|
||||||
// Se abilitato, somma l'iva acquisti relativi ai documenti memorizzati con anni precedenti
|
// Se abilitato, somma l'iva acquisti relativi ai documenti memorizzati con anni precedenti
|
||||||
TString4 yy; yy << datedoc.year();
|
TString4 yy; yy << yr;
|
||||||
const bool is_key = acq_iva_anni_prec.is_key(yy);
|
const bool is_key = acq_iva_anni_prec.is_key(yy);
|
||||||
if (!is_key)
|
if (!is_key)
|
||||||
acq_iva_anni_prec.add(yy, new real, is_key);
|
acq_iva_anni_prec.add(yy, new real, is_key);
|
||||||
@ -2323,7 +2332,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
percentuale1 = _prorata.percentuale(yy);
|
percentuale1 = _prorata.percentuale(yy);
|
||||||
prorata_precedente1 = rr1 ? _prorata.calc_prorata(*rr1, yy) : ZERO;
|
prorata_precedente1 = rr1 ? _prorata.calc_prorata(*rr1, yy) : ZERO;
|
||||||
// Se sono presenti documenti di anni precedenti senza % prorata, si deve segnalare l'incongruenza (solo in prova)
|
// Se sono presenti documenti di anni precedenti senza % prorata, si deve segnalare l'incongruenza (solo in prova)
|
||||||
if (percentuale1 == INVALID_PRORATA && rr1 && *rr1 != ZERO)
|
if (percentuale1 == INVALID_PRORATA && rr1 && !rr1->is_zero())
|
||||||
percentuale1 = INVALID_PRORATA_ASSERT;
|
percentuale1 = INVALID_PRORATA_ASSERT;
|
||||||
|
|
||||||
// Prorata per documenti registrati con anno doc 3 anni fa...
|
// Prorata per documenti registrati con anno doc 3 anni fa...
|
||||||
@ -2333,7 +2342,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
percentuale2 = _prorata.percentuale(yy);
|
percentuale2 = _prorata.percentuale(yy);
|
||||||
prorata_precedente2 = rr2 ? _prorata.calc_prorata(*rr2, yy) : ZERO;
|
prorata_precedente2 = rr2 ? _prorata.calc_prorata(*rr2, yy) : ZERO;
|
||||||
// Se sono presenti documenti di anni precedenti senza % prorata, si deve segnalare l'incongruenza (solo in prova)
|
// Se sono presenti documenti di anni precedenti senza % prorata, si deve segnalare l'incongruenza (solo in prova)
|
||||||
if (percentuale2 == INVALID_PRORATA && rr2 && *rr2 != ZERO)
|
if (percentuale2 == INVALID_PRORATA && rr2 && !rr2->is_zero())
|
||||||
percentuale2 = INVALID_PRORATA_ASSERT;
|
percentuale2 = INVALID_PRORATA_ASSERT;
|
||||||
|
|
||||||
// Prorata per l'anno corrente + quelli eventuali dello scorso anno e quelli che sono oltre 3 anni fa...
|
// Prorata per l'anno corrente + quelli eventuali dello scorso anno e quelli che sono oltre 3 anni fa...
|
||||||
@ -2344,8 +2353,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
if (percentuale2 != INVALID_PRORATA && percentuale2 != INVALID_PRORATA_ASSERT)
|
if (percentuale2 != INVALID_PRORATA && percentuale2 != INVALID_PRORATA_ASSERT)
|
||||||
aaa -= rr2 ? *rr2 : ZERO;
|
aaa -= rr2 ? *rr2 : ZERO;
|
||||||
prorata = _prorata.calc_prorata(aaa, _year);
|
prorata = _prorata.calc_prorata(aaa, _year);
|
||||||
aaa = fdiffinc_iva_acq;
|
|
||||||
const real prorata_diff = _prorata.calc_prorata(aaa, _year);
|
const real prorata_diff = _prorata.calc_prorata(fdiffinc_iva_acq, _year);
|
||||||
|
|
||||||
// Somma i vari prorata calcolati per gli anni precedenti
|
// Somma i vari prorata calcolati per gli anni precedenti
|
||||||
prorata += prorata_precedente1 + prorata_precedente2;
|
prorata += prorata_precedente1 + prorata_precedente2;
|
||||||
|
@ -1142,7 +1142,7 @@ int TStampa_registri_app::setta_riga(int r, const TRigaiva& riga, real& tot1,
|
|||||||
if (!riga._impostap.is_zero())
|
if (!riga._impostap.is_zero())
|
||||||
set_row(r, "@98g%r", &riga._impostap);
|
set_row(r, "@98g%r", &riga._impostap);
|
||||||
}
|
}
|
||||||
r++; // Incrementa sempre: cazzone!
|
r++; // Incrementa sempre!
|
||||||
|
|
||||||
tot1 += riga._imponibile;
|
tot1 += riga._imponibile;
|
||||||
tot2 += riga._imposta;
|
tot2 += riga._imposta;
|
||||||
|
@ -63,7 +63,6 @@ real indetraibile_al(const TString& codind, const TCausale& caus, int annodoc, i
|
|||||||
int analizza_IVA(const real& imptot, const real& ivatot, const real perc_ind,
|
int analizza_IVA(const real& imptot, const real& ivatot, const real perc_ind,
|
||||||
const bool corrispettivo, const bool iva_ind_al_costo, const TString& codiva,
|
const bool corrispettivo, const bool iva_ind_al_costo, const TString& codiva,
|
||||||
real& imp_det, real& iva_det, real& imp_ind, real& iva_ind)
|
real& imp_det, real& iva_det, real& imp_ind, real& iva_ind)
|
||||||
|
|
||||||
{
|
{
|
||||||
int flag = 0;
|
int flag = 0;
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ Item_09 = "Tracciabilit
|
|||||||
[CGMENU_010]
|
[CGMENU_010]
|
||||||
Caption = "IVA"
|
Caption = "IVA"
|
||||||
Picture = <cg01>
|
Picture = <cg01>
|
||||||
Module = 5
|
Module = 7
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Parametri liquidazione", "cg5 -3", "F"
|
Item_01 = "Parametri liquidazione", "cg5 -3", "F"
|
||||||
Item_02 = "Liquidazione", "cg4 -2", "F"
|
Item_02 = "Liquidazione", "cg4 -2", "F"
|
||||||
@ -287,7 +287,5 @@ Module = 7
|
|||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Comunicazione annuale dati IVA", "cg5 -7", "F"
|
Item_01 = "Comunicazione annuale dati IVA", "cg5 -7", "F"
|
||||||
Item_02 = "Quadro VT", "cg5 -8", "F"
|
Item_02 = "Quadro VT", "cg5 -8", "F"
|
||||||
Item_03 = "Elenco clienti\fornitori", "cg3 -8", "F"
|
Item_03 = "Elenco clienti/fornitori", "cg3 -8", "F"
|
||||||
Item_04 = "Comunicazione dati rilevanti", "fe0 -0", "F"
|
Item_04 = "Comunicazione Polivalente", "fe0 -0", "F"
|
||||||
Item_05 = "Contratti per dati rilevanti", "fe0 -1 &CON", "F"
|
|
||||||
Item_06 = "Controllo archivi dati rilevanti", "fe0 -3", "F"
|
|
||||||
|
@ -792,11 +792,22 @@ int TRiga_partite::ultima_ratapagata() const
|
|||||||
// Certified 100%
|
// Certified 100%
|
||||||
tipo_movimento TRiga_partite::tipo() const
|
tipo_movimento TRiga_partite::tipo() const
|
||||||
{
|
{
|
||||||
const tipo_movimento tm = (tipo_movimento)(get_char(PART_TIPOMOV)-'0');
|
tipo_movimento tm = (tipo_movimento)(get_int(PART_TIPOMOV));
|
||||||
|
|
||||||
|
if (tm == tm_nessuno)
|
||||||
|
{
|
||||||
|
// Tento salvataggioin extremis
|
||||||
|
const int nriga = get_int(PART_NRIGA);
|
||||||
|
if (nriga == 1 && get_date(PART_DATADOC).ok())
|
||||||
|
tm = tm_fattura; else
|
||||||
|
if (nriga > 1 && get_date(PART_DATAPAG).ok())
|
||||||
|
tm = tm_pagamento;
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
if (tm == tm_nessuno && get_int(PART_NRIGA) != TPartita::UNASSIGNED)
|
if (tm == tm_nessuno && nriga != TPartita::UNASSIGNED)
|
||||||
yesnofatal_box("Riga partite con un tipo losco.");
|
yesnofatal_box("Riga partite con un tipo losco.");
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
return tm;
|
return tm;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -996,8 +1007,8 @@ TImporto TRiga_partite::importo(bool valuta, int mode) const
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calcola l'esposto e l' esposto SBF
|
// Calcola l'esposto e l'esposto SBF
|
||||||
TImporto TRiga_partite::esposto(bool valuta, const TDate & data_scad, const TDate & data_rischio, bool & sbf) const
|
TImporto TRiga_partite::esposto(bool valuta, const TDate& data_scad, const TDate& data_rischio, bool & sbf) const
|
||||||
{
|
{
|
||||||
TImporto esposto;
|
TImporto esposto;
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
22
|
22
|
||||||
0
|
0
|
||||||
$alleg|0|0|112|0|Comunicazione dati rilevanti|||
|
$alleg|0|0|137|0|Comunicazione Spesometro|||
|
||||||
|
25
cg/f22.trr
25
cg/f22.trr
@ -1,5 +1,5 @@
|
|||||||
22
|
22
|
||||||
16
|
27
|
||||||
ANNO|2|4|0|Anno IVA
|
ANNO|2|4|0|Anno IVA
|
||||||
PROGR|3|7|0|Progressivo
|
PROGR|3|7|0|Progressivo
|
||||||
TIPOCF|1|1|0|Tipo <C>liente <F>ornitore
|
TIPOCF|1|1|0|Tipo <C>liente <F>ornitore
|
||||||
@ -8,14 +8,25 @@ OCFPI|1|16|0|Codice occasionale
|
|||||||
FORZATURA|8|1|0|Forzatura a mano
|
FORZATURA|8|1|0|Forzatura a mano
|
||||||
IGNORA|2|2|0|Eventuale motivo per ignorare la riga (0 = da inviare)
|
IGNORA|2|2|0|Eventuale motivo per ignorare la riga (0 = da inviare)
|
||||||
DATAREG|5|8|0|Data registrazione (art. 6 d.P.R.n.633/1972)
|
DATAREG|5|8|0|Data registrazione (art. 6 d.P.R.n.633/1972)
|
||||||
NUMDOC|1|7|0|Numero Fattura (Obbligatorio se TIPOPE=1)
|
NUMDOC|1|7|0|Numero Fattura
|
||||||
MODPAG|2|1|0|Modalità di pagamento (1=Non frazionato;2=Frazionato;3=Periodico)
|
DATADOC|5|8|0|Data fattura
|
||||||
IMPORTO|4|12|2|Importo dovuto
|
IMPORTO|4|12|2|Importo dovuto
|
||||||
IMPOSTA|4|12|2|Imposta
|
IMPOSTA|4|12|2|Imposta
|
||||||
TIPOPE|2|1|0|Tipo operazione (1=Cessione;2=Acquisto)
|
TIPOPE|1|2|0|Tipo operazione
|
||||||
CONTRATTO|1|18|0|Contratto
|
MODPAG|2|1|0|Modalità di pagamento (1=Non frazionato;2=Frazionato;3=Periodico) (fino 2012)
|
||||||
DATARETT|5|8|0|Data documento rettificato
|
CONTRATTO|1|18|0|Contratto (fino 2012)
|
||||||
NUMRETT|1|7|0|Numero documento rettificato
|
DATARETT|5|8|0|Data documento rettificato (fino 2012)
|
||||||
|
NUMRETT|1|7|0|Numero documento rettificato (fino 2012)
|
||||||
|
NOLEGGIO|1|1|0|Tipo veicolo (A=Auto,B=Caravan;C=Altri;D=Diporto;E=Aeromobili) (dal 2013)
|
||||||
|
REVERSE|8|1|0|Reverse charge (dal 2013)
|
||||||
|
AUTOFATT|8|1|0|Autofattura (dal 2013)
|
||||||
|
SERVIZI|8|1|0|Acquisto servizi (dal 2013)
|
||||||
|
TURISMO|8|1|0|Operazione legate al turismo (dal 2013)
|
||||||
|
RIEPILOG|8|1|0|Fattura riepilogativa (dal 2013)
|
||||||
|
CARBURAN|8|1|0|Carta Carburanti (dal 2013)
|
||||||
|
ATTAGG|2|4|0|Operazioni attive aggregate (dal 2013)
|
||||||
|
PASAGG|2|4|0|Operazioni passive aggregate (dal 2013)
|
||||||
|
TIPOIVA|2|1|0|Tipo IVA (dal 2013)
|
||||||
3
|
3
|
||||||
ANNO+PROGR|
|
ANNO+PROGR|
|
||||||
ANNO+TIPOCF+CODCF+OCFPI+PROGR|
|
ANNO+TIPOCF+CODCF+OCFPI+PROGR|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
23
|
23
|
||||||
0
|
0
|
||||||
$mov|0|0|471|0|Movimenti di prima nota|||
|
$mov|0|0|442|0|Movimenti di prima nota|||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
23
|
23
|
||||||
55
|
52
|
||||||
ANNOES|9|4|0|Codice esercizio
|
ANNOES|9|4|0|Codice esercizio
|
||||||
NUMREG|3|7|0|Numero di operazione
|
NUMREG|3|7|0|Numero di operazione
|
||||||
DATAREG|5|8|0|Data operazione
|
DATAREG|5|8|0|Data operazione
|
||||||
@ -49,11 +49,8 @@ DNDOC|3|7|0|Documento originale NDOC
|
|||||||
DATAINC|5|8|0|Data di incasso per liquidazione differita
|
DATAINC|5|8|0|Data di incasso per liquidazione differita
|
||||||
LIQDIFF|8|1|0|Flag di movimento a liquidazione differita
|
LIQDIFF|8|1|0|Flag di movimento a liquidazione differita
|
||||||
IVAXCASSA|8|1|0|Flag di movimento IVA per cassa
|
IVAXCASSA|8|1|0|Flag di movimento IVA per cassa
|
||||||
MODPAG|2|1|0|Modalità di pagamento 1=Non frazionato; 2=Frazionato; 3=Periodico
|
NOLEGGIO|1|1|0|Tipo veicolo Auto, Camper, Altro, Diporto, aEreo
|
||||||
CONTRATTO|1|18|0|Contratto con importo > 3000 Euro
|
INVIOFE|5|8|0|Data invio definitivo dati rilevanti
|
||||||
DATARETT|5|8|0|Data documento rettificato
|
|
||||||
NUMRETT|1|7|0|Numero documento rettificato
|
|
||||||
ANNOFE|2|4|0|Anno invio definitivo dati rilevanti
|
|
||||||
CONTSEP|1|6|0|Contabilità separata
|
CONTSEP|1|6|0|Contabilità separata
|
||||||
4
|
4
|
||||||
NUMREG|
|
NUMREG|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user