diff --git a/cg/cg4304.cpp b/cg/cg4304.cpp index 8a69ad526..6df2445b3 100755 --- a/cg/cg4304.cpp +++ b/cg/cg4304.cpp @@ -809,7 +809,7 @@ void TLiquidazione_app::describe_liq(int month, const char* codatts, if (!_is_visliq) { - _DescrItem* dv = describe_deleghe(month); + _DescrItem* dv = describe_deleghe(month); if (dv != NULL) d->_arr.add(dv); } _descr_arr.add(d); @@ -817,21 +817,56 @@ void TLiquidazione_app::describe_liq(int month, const char* codatts, _DescrItem* TLiquidazione_app::describe_deleghe(int month) { + /* if (!look_del(month,1)) return NULL; _DescrItem* d = new _DescrItem(DELEGA); if (_del->get_bool("B0")) { - d->_s0 = _del->get("S2"); // localita' - d->_s1 = _del->get("S1"); // banca - d->_s2 = _del->get("S7"); // ABI - d->_s3 = _del->get("S8"); // CAB - d->_r0 = _del->get_real("R0"); - d->_d0 = _del->get_date("D0"); - } // altrimenti lascia tutto in bianco e ci scriveranno i dati a mano + d->_s0 = _del->get("S2"); // localita' + d->_s1 = _del->get("S1"); // banca + d->_s2 = _del->get("S7"); // ABI + d->_s3 = _del->get("S8"); // CAB + d->_r0 = _del->get_real("R0"); + d->_d0 = _del->get_date("D0"); + } // altrimenti lascia tutto in bianco e ci scriveranno i dati a mano + } + return d; + */ + if (!look_del(month,1) && !look_del(month,7)) return NULL; - return d; + _DescrItem* d = new _DescrItem(DELEGA); + + if (look_del(month,1)) + { + if (_del->get_bool("B0")) + { + d->_s0 = _del->get("S2"); // localita' + d->_s1 = _del->get("S1"); // banca + d->_s2 = _del->get("S7"); // ABI + d->_s3 = _del->get("S8"); // CAB + d->_r0 = _del->get_real("R0"); + d->_d0 = _del->get_date("D0"); + } // altrimenti lascia tutto in bianco e ci scriveranno i dati a mano + } + + if (look_del(month,7)) + { + d->_s4 = "ACC"; + TToken_string t; + if (_del->get_bool("B0")) + { + t.add(_del->get("S2")); + t.add(_del->get("S1")); + t.add(_del->get("S7")); + t.add(_del->get("S8")); + t.add(_del->get_real("R0").string()); + t.add(_del->get("D0")); + } + d->_s5 = t; + } + return d; } void TLiquidazione_app::describe_consistence(const char* codatt) @@ -1046,7 +1081,7 @@ void TLiquidazione_app::set_liqacc(_DescrItem& d) real r1 = d._r0 + d._r1 + d._r2 + d._r3 + d._r4; real r2 = d._r5 + d._r10; real r3 = r2 + d._r9 + d._r7 + abs(d._r3); - + set_row(1,""); set_row(2,""); set_row(3,""); set_row(4,""); set_row(5,"@11gCALCOLO ACCONTO SU OPERAZIONI EFFETTUATE"); set_row(6,""); @@ -1092,9 +1127,9 @@ void TLiquidazione_app::set_liqacc(_DescrItem& d) set_row(i++,"@23gCREDITO DA EVIDENZIARE@64g%r", &ab); } else if ((d._r8).sign() > 0 && d._r8 > ACCONTO_MINIMO_DA_VERSARE) - set_row(i++,"@23gACCONTO DA VERSARE@81g%r", &(d._r8)); + set_row(i++,"@23gACCONTO DA VERSARE@81g%r", &(d._r8)); else if ((d._r8).sign() > 0 && d._r8 <= ACCONTO_MINIMO_DA_VERSARE) - set_row(i++,"@23gACCONTO DA NON VERSARE@64g%r", &(d._r8)); + set_row(i++,"@23gACCONTO DA NON VERSARE@64g%r", &(d._r8)); set_auto_ff(); } @@ -1537,8 +1572,21 @@ void TLiquidazione_app::set_grand(_DescrItem& d) else if (di._flags == DELEGA) { int rr = rw; + /* if (rw < (printer().formlen() - 10)) rw = printer().formlen() - 10; + */ + //11/10/1995 + int cont = 10; + if (di._s4 == "ACC") + { + TToken_string ac(di._s5); + if (!ac.empty_items()) + cont = 14; + } + if (rw < (printer().formlen() - cont)) + rw = printer().formlen() - cont; + //fine for (int i = rr; i < rw; i++) set_row(i,""); @@ -1548,15 +1596,41 @@ void TLiquidazione_app::set_grand(_DescrItem& d) TString vr = di._r0.string("###.###.###.###"); // la cincia non vuole lo zero - if (atof(vr) == 0.0 && vr[vr.len()-1] == '0') vr[vr.len()-1] = ' '; + if (atof(vr) == 0.0 && vr[vr.len()-1] == '0') vr[vr.len()-1] = ' '; + //11/10/1995 + if (di._s4 == "ACC") + { + TToken_string ac(di._s5); + if (!ac.empty_items()) + { + TString dt (ac.get(5)); + real app (ac.get(4)); + TString vr (app.string("###.###.###.###")); + TString loc (ac.get(0)); + TString ban (ac.get(1)); + TString abi (ac.get(2)); + TString cab (ac.get(3)); + if (atof(vr) == 0.0 && vr[vr.len()-1] == '0') vr[vr.len()-1] = ' '; + set_row(rw++, "- ACCONTO DICEMBRE -"); + set_row(rw++, "Versamento di L. %s effettuato il %s@68gdiretto all'ufficio IVA di %s", + (const char*)vr, + (const char*)dt, + (const char*)loc); + set_row(rw++, "@68gtramite %s", (const char*)ban); + set_row(rw++, "@68gcodice azienda %s codice dipendenza %s", + (const char*)abi, (const char*)cab); + } + set_row(rw++, "- SALDO -"); + } + //fine set_row(rw++, "Versamento di L. %s effettuato il %s@68gdiretto all'ufficio IVA di %s", (const char*)vr, (const char*)dt, (const char*)(di._s0)); set_row(rw++, "@68gtramite %s", (const char*)(di._s1)); set_row(rw++, "@68gcodice azienda %s codice dipendenza %s", - (const char*)(di._s2), (const char*)(di._s3)); + (const char*)(di._s2), (const char*)(di._s3)); } } } @@ -1876,22 +1950,25 @@ void TLiquidazione_app::set_viaggio(_DescrItem& d) real aliva = aliquota_agvia(); real alcnt = aliva + CENTO; real dovuta = (bi/(alcnt/CENTO)) * (aliva/CENTO); - dovuta.ceil(ROUND_LIRA); // ceil voluto da MI3074 - - tmp = bi.string(REAL_PICTURE); tmp.ltrim(); - up = tmp; - up << " x " << aliva.string(5,2); - dn = alcnt.string(); - ln = max(up.len(), 3) + 2; + ()); + + set_row(26,"Base imponibile lorda@40g%t %t@100g%r", &up, &den, &bi); + set_row(27,""); + + if (bi.sign() > 0) + { + dovuta.ceil(ROUND_LIRA); // ceil voluto da MI3074 + tmp; + up << " x " << aliva.s + 2; den.fill('-',ln); up.center_just(ln); dn.center_just(ln); tmp.fill('.', 59 - den.len()); set_row(28,"@40g%t",&up); + set_roow(28,"@40g%t",&up); set_row(29,"IVA A DEBITO@40g%t %t@100g%r", &den, &tmp, &dovuta); - set_row(30,"@40g%t", &dn); - } + else if (bi.sign() < 0) { bi = abs(bi); @@ -1932,7 +2009,7 @@ else else set_row(1,"@55g%r@86g%r@119g%s", &bc, &(d._r1), d._f3 ? "Si" : "No"); - ***/ + ***/ set_row(1,"@58g%r@74g%r@96g%r@122g%s", &(d._r3), &(d._r2), &(d._r1), d._f3 ? "Si" : "No"); } @@ -2059,7 +2136,7 @@ void TLiquidazione_app::set_deltab(_DescrItem& d, bool iscred) tel << '/'; tel << tt.get(9); TString desc(tt.get(10)); - + //tp += in; //comprendeva gia' gli interessi! set_row(rw++, "%-5s@8g%-30s@40g%1s %s @55g%r %5s %5s %3s %-.45s",