From df3b280145492c558c93a402dc5727decada182a Mon Sep 17 00:00:00 2001 From: guy Date: Wed, 19 May 2010 08:55:31 +0000 Subject: [PATCH] Patch level : 742 Files correlati : cg2.exe cgtbbnp.msk Ricompilazione Demo : [ ] Commento : 0001638: Non viene gestito il periodo di non accettazione degli effetti dalla Prima Nota Il calcolo delle scadenze nel caso di registrazione delle fatture di vendita a partire dalla prima nota non considera il periodo di non accettazione degli effetti indicato sul cliente. git-svn-id: svn://10.65.10.50/trunk@20472 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg1.cpp | 21 +++++++-------------- cg/cg2100.cpp | 5 +++-- cg/cg2104.cpp | 27 ++++++++++++++------------- cg/cg4301.cpp | 6 +++--- cg/cgtbbnp.uml | 10 +++++----- 5 files changed, 32 insertions(+), 37 deletions(-) diff --git a/cg/cg1.cpp b/cg/cg1.cpp index ba54739df..3a1fa88e6 100755 --- a/cg/cg1.cpp +++ b/cg/cg1.cpp @@ -7,20 +7,13 @@ int main(int argc,char** argv) const int n = argc > 1 ? argv[1][1]-'0' : 0; switch(n) { - case 1: - cg1200(argc,argv); break; // Stampa clienti/fornitori - case 2: - cg1300(argc,argv); break; // Aggiornamenti - case 3: - cg1400(argc,argv); break; // Stampa deleghe iva - case 4: - cg1500(argc,argv); break; // Stampa bilanci - case 5: - cg1600(argc,argv); break; // Stampa bilancio IV direttiva - case 6: - cg1700(argc,argv); break; // Stampa causali - default: - cg1100(argc,argv); break; // Stampa Piano dei conti + case 1: cg1200(argc,argv); break; // Stampa clienti/fornitori + case 2: cg1300(argc,argv); break; // Aggiornamenti + case 3: cg1400(argc,argv); break; // Stampa deleghe iva + case 4: cg1500(argc,argv); break; // Stampa bilanci + case 5: cg1600(argc,argv); break; // Stampa bilancio IV direttiva + case 6: cg1700(argc,argv); break; // Stampa causali + default: cg1100(argc,argv); break; // Stampa Piano dei conti } return 0; } diff --git a/cg/cg2100.cpp b/cg/cg2100.cpp index 6e59ce65d..759ffdbe1 100755 --- a/cg/cg2100.cpp +++ b/cg/cg2100.cpp @@ -129,6 +129,7 @@ TMask* TPrimanota_application::load_mask(int n) m->set_handler(F_CODPAG, codpag_handler); m->set_handler(F_LINKDOC, linkdoc_handler); m->set_handler(F_MASTRINO, mastrino_handler); + m->enable(F_MASTRINO, !is_transaction()); TSheet_field& cg = m->sfield(F_SHEETCG); cg.set_notify(cg_notify); @@ -535,11 +536,11 @@ void TPrimanota_application::init_mask(TMask& m) disable_menu_item(M_FILE_PRINT); disable_menu_item(M_FONT); - read_caus(NULL, 0); // Setta campi obbligatori + read_caus(NULL, 0); // Setta campi obbligatori if (_iva == nessuna_iva) { - m.show(-5, _is_saldaconto); // Abilita campi saldaconto + m.show(-5, _is_saldaconto); // Abilita campi saldaconto m.show(-6, _is_saldaconto && is_fattura()); // Abilita gestione rate m.show(K_RESIDUO, _is_saldaconto && !is_fattura()); } diff --git a/cg/cg2104.cpp b/cg/cg2104.cpp index d66c113ad..3a76db5d0 100755 --- a/cg/cg2104.cpp +++ b/cg/cg2104.cpp @@ -520,18 +520,17 @@ bool TPrimanota_application::cambio_handler(TMask_field& f, KEY key) if (update) m.set(FS_CAMBIO, f.get()); // Copia a pagina 3 } - return TRUE; + return true; } bool TPrimanota_application::reset_handler(TMask_field& f, KEY key) { if (key == K_SPACE) { - TMask& m = f.mask(); app().reset_pagamento(); - app().set_scadenze(m); + app().set_scadenze(f.mask()); } - return TRUE; + return true; } bool TPrimanota_application::recalc_handler(TMask_field& f, KEY key) @@ -540,7 +539,7 @@ bool TPrimanota_application::recalc_handler(TMask_field& f, KEY key) if (key == K_SPACE && a.is_fattura()) { TMask& m = f.mask(); - TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET); + TSheet_field& ps = m.sfield(FS_RATESHEET); TPagamento& pag = a.pagamento(); const bool recalc_aut = f.get().not_empty(); @@ -603,7 +602,7 @@ bool TPrimanota_application::nrate_handler(TMask_field& f, KEY key) if (pag.dirty()) { TMask& m = f.mask(); - TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET); + TSheet_field& ps = m.sfield(FS_RATESHEET); pag.set_sheet(ps); app().set_banche(m); app().pag_rows() = ps.rows_array(); @@ -623,7 +622,7 @@ bool TPrimanota_application::codcab_handler(TMask_field& f, KEY key) const int pos = id == FS_NSABI ? 7 : 9; // Posizione codici ABI sullo sheet const TString16 abi = m.get(id); const TString16 cab = m.get(id+1); - TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET); + TSheet_field& ps = m.sfield(FS_RATESHEET); for (int i = ps.items()-1; i >= 0; i--) // Setta la banca in tutte le righe { TToken_string& row = ps.row(i); @@ -672,7 +671,7 @@ bool TPrimanota_application::rataval_handler(TMask_field& f, KEY key) void TPrimanota_application::reset_pagamento() { TPagamento& pag = pagamento(); - pag.read(); + pag.read(); pag.set_rate_auto(); } @@ -701,6 +700,9 @@ void TPrimanota_application::set_pagamento(const char* c, const char* d) d = ""; _pag = new TPagamento(c, d); } + if (iva() == iva_vendite) + _pag->set_clifo(curr_mask().get_long(F_CLIENTE)); // Dato indispensabile per non accettazione effetti + } void TPrimanota_application::set_totale_pagamento(bool update) @@ -727,7 +729,7 @@ void TPrimanota_application::set_totale_pagamento(bool update) if (update) { - TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET); + TSheet_field& ps = m.sfield(FS_RATESHEET); pagamento().set_sheet(ps); // Aggiorna lo sheet pag_rows() = ps.rows_array(); // copia sheet } @@ -736,7 +738,7 @@ void TPrimanota_application::set_totale_pagamento(bool update) void TPrimanota_application::set_banche(TMask& m) { // Aggiunge banche: CM000033 - TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET); + TSheet_field& ps = m.sfield(FS_RATESHEET); bool update = FALSE; for (int i = ps.items()-1; i >= 0; i--) { @@ -775,7 +777,6 @@ void TPrimanota_application::set_scadenze(TMask& m) m.set(FS_RECALC, m.insert_mode() ? "X" : "", TRUE); m.set(FS_NRATE, pag.n_rate()); } - pag.set_rate_auto(); TSheet_field& ps = m.sfield(FS_RATESHEET); pag.set_sheet(ps); // prepara lo sheet @@ -843,7 +844,7 @@ bool TPrimanota_application::read_scadenze(TMask& m) set_totale_pagamento(FALSE); - TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET); + TSheet_field& ps = m.sfield(FS_RATESHEET); const int protette = partita.ultima_rata_con_abbuoni_diffcam(); @@ -1011,7 +1012,7 @@ void TPrimanota_application::write_scadenze(const TMask& m) if (iva() != nessuna_iva) partita.put(PART_IMPOSTA, m.get(F_IMPOSTE)); - TSheet_field& ps = (TSheet_field&)m.field(FS_RATESHEET); + TSheet_field& ps = m.sfield(FS_RATESHEET); partita.elimina_rata(-1); // Elimina tutte le rate eventuali for (i = 0; i < ps.items(); i++) diff --git a/cg/cg4301.cpp b/cg/cg4301.cpp index 62b0358d7..4c5e41571 100755 --- a/cg/cg4301.cpp +++ b/cg/cg4301.cpp @@ -1762,12 +1762,12 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt) { // queste sono fatture che seguono scontrino, il lordo va detratto // perche' si e' gia' registrato lo scontrino medesimo - true_corrisp = TRUE; // non e' vero ma non devono essere sommate ai falsi + true_corrisp = true; // non e' vero ma non devono essere sommate ai falsi // corrispettivi if (tipoiva == "VE") { - real rr = imponibile + imposta; - imp += rr; + const real rr = imponibile + imposta; + imp += rr; if (liq) vendite += rr; add_vendite(month, reg, tipodet, rr); diff --git a/cg/cgtbbnp.uml b/cg/cgtbbnp.uml index ff87878d3..2acfe358c 100755 --- a/cg/cgtbbnp.uml +++ b/cg/cgtbbnp.uml @@ -24,7 +24,7 @@ BEGIN OUTPUT F_CODICEABI CODTAB[1,5] OUTPUT F_ABI CODTAB[1,5] OUTPUT F_ISTIT S0 - CHECKTYPE REQUIRED + CHECKTYPE FORCED END NUMBER F_CODICECAB 5 @@ -44,7 +44,7 @@ BEGIN OUTPUT F_CODICEABI CODTAB[1,5] OUTPUT F_ABI CODTAB[1,5] OUTPUT F_DENOM S0 - CHECKTYPE REQUIRED + CHECKTYPE FORCED END NUMBER F_ABI 5 @@ -70,7 +70,7 @@ BEGIN MESSAGE COPY,F_CODICEABI MESSAGE CHECK,F_CODICEABI MESSAGE COPY,F_BBAN_ABI - CHECKTYPE REQUIRED + CHECKTYPE FORCED END NUMBER F_CAB 5 @@ -83,7 +83,7 @@ BEGIN MESSAGE COPY,F_CODICECAB MESSAGE CHECK,F_CODICEABI MESSAGE COPY,F_BBAN_CAB - CHECKTYPE REQUIRED + CHECKTYPE FORCED END STRING F_ISTIT 50 @@ -107,7 +107,7 @@ BEGIN COPY ALL F_ABI MESSAGE CHECK,F_CODICEABI MESSAGE COPY,F_BBAN_CAB - CHECKTYPE SEARCH + CHECKTYPE NORMAL END GROUPBOX DLG_NULL 78 3