diff --git a/at/at1200.cpp b/at/at1200.cpp index 4ea709c96..627838a5d 100755 --- a/at/at1200.cpp +++ b/at/at1200.cpp @@ -37,6 +37,7 @@ class TAttribuzioneBenemerenze : public TPrintapp TAssoc_array _catdon; TAssoc_array _tabben; TString16 _gruppoazie, _oldben; + int _bonus; TDate _dataela, _datapre; bool _anchegruppi; bool _definitiva; @@ -59,20 +60,50 @@ HIDDEN inline TAttribuzioneBenemerenze& app() { return (TAttribuzioneBenemerenze bool TAttribuzioneBenemerenze::preprocess_page(int file, int counter) { - TRectype& recsog = current_cursor()->curr(LF_SOGGETTI); - TString80 nome = recsog.get(SOG_COGNOME); - nome << " "; - nome << recsog.get(SOG_NOME); - _cognome_nome = nome; - // salto pagina se cambio benemerenza - const TString16 tipoben = current_cursor()->curr().get(ROP_S0); - if (tipoben!=_oldben) + if (file==LF_ATROPERA) { - if (_oldben != "**") - printer().formfeed(); - _oldben = tipoben; - header_ben(tipoben); - } + TRectype& recsog = current_cursor()->curr(LF_SOGGETTI); + TString80 nome = recsog.get(SOG_COGNOME); + nome << " "; + nome << recsog.get(SOG_NOME); + _cognome_nome = nome; + // salto pagina se cambio benemerenza + const TString16 tipoben = current_cursor()->curr().get(ROP_S0); + if (tipoben!=_oldben) + { + if (_oldben != "**") + printer().formfeed(); + _oldben = tipoben; + header_ben(tipoben); + } + if (app()._definitiva) + { + const long codice = recsog.get_long(SOG_CODICE); + TRectype* key = new TRectype(LF_BENEM); + key->put(BEN_CODICE, codice); + int err = app()._sbenemerenze->read(key); + if (err == NOERR) + { + int r = app()._sbenemerenze->rows(); + TRectype& rec = app()._sbenemerenze->row(r+1,TRUE); + + TString16 codsez = recsog.get(SOG_CODSEZ); + TString16 codsot = recsog.get(SOG_CODSOT); + TString16 gruppoazie = recsog.get(SOG_GRUPPOAZIE); + + rec.put(BEN_TIPOBEN, tipoben); + //rec.put(BEN_DATAMAT, row.get(2)); + //rec.put(BEN_BONUS, row.get()); + rec.put(BEN_DATABEN, app()._dataela); + rec.put(BEN_DATACON, app()._datapre); + //rec.put(BEN_RITIRATA, row.get()); + rec.put(BEN_CODSEZ, codsez); + rec.put(BEN_CODSOT, codsot); + rec.put(BEN_GRUPPOAZIE, gruppoazie); + int err = app()._sbenemerenze->rewrite(); + } + } + } return TRUE; }