From d52681f795609a8fa9899758cbd6dced8c197075 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 23 Mar 2009 10:37:33 +0000 Subject: [PATCH] Patch level : 10.0 265 Files correlati : Ricompilazione Demo : [ ] Commento : Riportata la versione 3.2 patch 1353 git-svn-id: svn://10.65.10.50/trunk@18581 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba6100.cpp | 74 +++++++++++++++++---------------- co/co0300a.uml | 2 +- co/co0700.cpp | 12 +++++- co/co0800.cpp | 21 +++++++++- co/co1400.cpp | 20 +++------ co/co1500.cpp | 19 ++++++++- co/co1600a.rep | 32 +++++++-------- co/co1700a.rep | 24 +++++------ include/doc.h | 2 + include/msksheet.cpp | 4 +- mg/mg4200.cpp | 21 +++++++--- vd/vd0300a.uml | 10 ++++- ve/ve1300.cpp | 1 + ve/ve2400.cpp | 27 +++++++----- ve/velib04.h | 2 + ve/velib04a.cpp | 97 +++++++++++++++++++++++++++++++++++++++++++- ve/velib04c.cpp | 16 ++++++-- ve/vetbeld.h | 3 ++ ve/vetbeld.uml | 19 ++++++++- ve/vetbtip.uml | 2 +- xvaga/email.cpp | 8 ++-- xvaga/smapi.cpp | 12 ++++-- 22 files changed, 310 insertions(+), 118 deletions(-) diff --git a/ba/ba6100.cpp b/ba/ba6100.cpp index 8ad38be53..3269e8e4b 100755 --- a/ba/ba6100.cpp +++ b/ba/ba6100.cpp @@ -182,7 +182,6 @@ void TAnaprint_app::preprocess_etichette() _name = get_field(LF_ANAG,"RAGSOC"); _cod = get_field(LF_ANAG,"CODANAGR"); _cofi = get_field(LF_ANAG,"COFI"); - const TRectype& cc = look_com(get_field(LF_ANAG,"COMCORR")); if (_cofi.empty()) _cofi = get_field(LF_ANAG,"PAIV"); @@ -195,43 +194,50 @@ void TAnaprint_app::preprocess_etichette() switch (_ind_what) { case corrispondenza: - _address = get_field(LF_ANAG,"INDCORR"); - _civ = get_field(LF_ANAG,"CIVCORR"); - _stato = look_tab("%STA",get_field(LF_ANAG,"STATOCORR")); - _cap = get_field(LF_ANAG,"CAPCORR"); - _loc = get_field(LF_ANAG,"LOCCORR"); - _com = cc.get("DENCOM"); - _prov = cc.get("PROVCOM"); - if (_cap.empty()) - _cap = cc.get("CAPCOM"); - if (!_address.empty()) - break; + { + _address = get_field(LF_ANAG,"INDCORR"); + _civ = get_field(LF_ANAG,"CIVCORR"); + _stato = look_tab("%STA",get_field(LF_ANAG,"STATOCORR")); + _cap = get_field(LF_ANAG,"CAPCORR"); + _loc = get_field(LF_ANAG,"LOCCORR"); + const TRectype& cc = look_com(get_field(LF_ANAG,"COMCORR")); + _com = cc.get("DENCOM"); + _prov = cc.get("PROVCOM"); + if (_cap.empty()) + _cap = cc.get("CAPCOM"); + if (_address.full()) + break; // else fall down + } case domfisc: - _address = get_field(LF_ANAG,"INDRF"); - _civ = get_field(LF_ANAG,"CIVRF"); - _stato = "" ; // look_tab("%STA",get_field(LF_ANAG,"STATORF")); - _cap = get_field(LF_ANAG,"CAPRF"); - look_com(get_field(LF_ANAG,"COMRF")); - _loc = ""; - _com = cc.get("DENCOM"); - _prov = cc.get("PROVCOM"); - if (_cap.empty()) - _cap = cc.get("CAPCOM"); - if (!_address.empty()) - break; + { + _address = get_field(LF_ANAG,"INDRF"); + _civ = get_field(LF_ANAG,"CIVRF"); + _stato = "" ; // look_tab("%STA",get_field(LF_ANAG,"STATORF")); + _cap = get_field(LF_ANAG,"CAPRF"); + const TRectype& cc = look_com(get_field(LF_ANAG,"COMRF")); + _loc = ""; + _com = cc.get("DENCOM"); + _prov = cc.get("PROVCOM"); + if (_cap.empty()) + _cap = cc.get("CAPCOM"); + if (_address.full()) + break; // else fall down + } case residenza: - _address = get_field(LF_ANAG,"INDRES"); - _civ = get_field(LF_ANAG,"CIVRES"); - _stato = get_field(LF_ANAG,"STATORES"); - _cap = get_field(LF_ANAG,"CAPRES"); - look_com(get_field(LF_ANAG,"COMRES"), _stato); - _loc = ""; - _com = cc.get("DENCOM"); - _prov = cc.get("PROVCOM"); - if (_cap.empty()) - _cap = cc.get("CAPCOM"); + { + _address = get_field(LF_ANAG,"INDRES"); + _civ = get_field(LF_ANAG,"CIVRES"); + _stato = get_field(LF_ANAG,"STATORES"); + _cap = get_field(LF_ANAG,"CAPRES"); + const TRectype& cc = look_com(get_field(LF_ANAG,"COMRES"), _stato); + _loc = ""; + _com = cc.get("DENCOM"); + _prov = cc.get("PROVCOM"); + if (_cap.empty()) + _cap = cc.get("CAPCOM"); + } break; } } diff --git a/co/co0300a.uml b/co/co0300a.uml index 12b58363f..524a545a1 100755 --- a/co/co0300a.uml +++ b/co/co0300a.uml @@ -200,7 +200,7 @@ PAGE "Configurazione chiusure mensili" -1 -1 0 0 STRING F_NUMRIT 4 BEGIN - PROMPT 2 4 "Numeraz. chiusura mensile " + PROMPT 2 4 "Numeraz. ritenuta mensile " FIELD NumRit HELP "Codice numerazione" USE %NUM SELECT I1>5 diff --git a/co/co0700.cpp b/co/co0700.cpp index 5908544f2..85b1fb481 100755 --- a/co/co0700.cpp +++ b/co/co0700.cpp @@ -383,10 +383,20 @@ bool TConferimenti_query_mask::on_field_event(TOperable_field& o, TField_event e bool confer_codart_handler(TMask_field& f, KEY key) { bool ok = codart_handler(f, key); + TMask& row_mask = f.mask(); + if (ok && f.to_check(key)) { - TMask& row_mask = f.mask(); row_mask.set(FR_SCONTO, cfapp().ritprezzo(), true); + + const TString & cod = row_mask.get(FR_CODARTMAG); + + if (cod.full()) + { + const TString & codiva = cache().get(LF_ANAMAG, cod, ANAMAG_CODIVA); + if (codiva.full()) + row_mask.set(FR_CODIVA, codiva); + } } return ok; } diff --git a/co/co0800.cpp b/co/co0800.cpp index 12b374735..9cf4fad14 100755 --- a/co/co0800.cpp +++ b/co/co0800.cpp @@ -182,8 +182,18 @@ void TImportazioneConf::main_loop() for (int i = 1; i <= m.doc().physical_rows(); i++) { TRiga_documento& r = (*d)[i]; + r.autosave(sh); r.put(RDOC_SCONTO, ritprezzo); + + const TString & cod = r.get(RDOC_CODARTMAG); + + if (cod.full()) + { + const TString & codiva = cache().get(LF_ANAMAG, cod, ANAMAG_CODIVA); + if (codiva.full()) + r.put(RDOC_CODIVA, codiva); + } } update_spese_doc(codmercato, *d); d->stato(d->tipo().stato_finale_inserimento()); @@ -261,7 +271,7 @@ void TImportazioneConf::main_loop() } } - if (d !=NULL && d->rows() > 0) + if (d != NULL && d->rows() > 0) { m.doc() = *d; m.doc2mask(); @@ -271,8 +281,17 @@ void TImportazioneConf::main_loop() for (int i = 1; i <= m.doc().physical_rows(); i++) { TRiga_documento& r = (*d)[i]; + r.autosave(sh); r.put(RDOC_SCONTO, ritprezzo); + const TString & cod = r.get(RDOC_CODARTMAG); + + if (cod.full()) + { + const TString & codiva = cache().get(LF_ANAMAG, cod, ANAMAG_CODIVA); + if (codiva.full()) + r.put(RDOC_CODIVA, codiva); + } } update_spese_doc(codmercato, *d); d->stato(d->tipo().stato_finale_inserimento()); diff --git a/co/co1400.cpp b/co/co1400.cpp index 34393972d..2d107fb30 100755 --- a/co/co1400.cpp +++ b/co/co1400.cpp @@ -9,7 +9,7 @@ class TFatturazione_cooperative : public TFatturazione_bolle virtual void campi_raggruppamento_righe(TToken_string& campi_riga) const; virtual void campi_raggruppamento(TToken_string& campi) const; virtual bool doc_raggruppabile(const TDocumento & doc) const { return true; } - virtual bool doc_raggruppabile(const TDocumento & doc_in, const TDocumento & doc_out, TToken_string & campi) const; + virtual bool doc_raggruppabili(const TDocumento & doc_in, const TDocumento & doc_out, TToken_string & campi) const; virtual void add_rows(TRiga_documento & rout, TRiga_documento & rin); virtual void create_row(TDocumento& doc_out, const TRiga_documento & rin); virtual const TString & get_tipo_out(const TDocumento & doc_out); @@ -42,25 +42,15 @@ void TFatturazione_cooperative::add_rows(TRiga_documento & rout, TRiga_documento rout.put(RDOC_QTA, qta); } -bool TFatturazione_cooperative::doc_raggruppabile(const TDocumento & doc_in, const TDocumento & doc_out, TToken_string & campi) const +bool TFatturazione_cooperative::doc_raggruppabili(const TDocumento & doc_in, const TDocumento & doc_out, TToken_string & campi) const { if (doc_in.physical_rows() > 0 && doc_out.physical_rows() > 0) { const TRiga_documento & rout = doc_out[1]; const TRiga_documento & rin = doc_in[1]; - const TString art_in = rin.get(RDOC_CODART); - const TString art_out = rout.get(RDOC_CODART); - bool raggruppa = art_in == art_out; - - if (raggruppa) - { - const TString & art = rin.get(RDOC_CODARTMAG); - const TString & iva_in = cache().get(LF_ANAMAG, art, ANAMAG_USER4); - const TString iva_out = rout.get(RDOC_CODIVA); - - raggruppa = iva_in == iva_out; - } - return raggruppa; + const TString80 art_in = rin.get(RDOC_CODART); + const TString80 art_out = rout.get(RDOC_CODART); + return art_in == art_out; } return false; } diff --git a/co/co1500.cpp b/co/co1500.cpp index 7878df9ca..bb985c0af 100755 --- a/co/co1500.cpp +++ b/co/co1500.cpp @@ -289,6 +289,7 @@ bool TMovCoop_recset::move_to(TRecnotype pos) if (ok) { + TToken_string key; TDocumento d(cursor()->curr()); _codditta = d.get_long(DOC_CODCF); @@ -308,13 +309,27 @@ bool TMovCoop_recset::move_to(TRecnotype pos) if (row > 0) { - const TRiga_documento & r = d[row]; + TRiga_documento & r = d[row]; const TRectype & anamag = cache().get(LF_ANAMAG, r.get(RDOC_CODARTMAG)); const TString & tipodoc = anamag.get(ANAMAG_USER3); + TCodiceIVA iva(r.get(RDOC_CODIVA)); - if (iva.get_int("S4") == 0) + if (iva.get_int("S4") == 0 && _codditta < 1000) _codditta += 1000; + + key = "F"; + key.add(_codditta % 1000); + const TRectype & socio = cache().get(LF_CFVEN, key); + + if (socio.get_bool(CFV_IVARID)) + { + const TString4 ci = anamag.get(ANAMAG_CODIVAR); + + if (ci.full()) + r.put(RDOC_CODIVA, ci); + } + if (tipodoc.full()) { d.put(DOC_CODNUM, tipodoc); diff --git a/co/co1600a.rep b/co/co1600a.rep index 9dbe7ee2b..dee19a940 100755 --- a/co/co1600a.rep +++ b/co/co1600a.rep @@ -3,18 +3,18 @@ Stampa Saldi Estratto Conto
- + 101.NUMCC - - + + Saldo a debito 102.S0 - + 101.CODCF
@@ -48,23 +48,23 @@ MESSAGE RESET,F2.105