2008-08-27 23:23:05 +00:00
|
|
|
|
#include <applicat.h>
|
2010-12-30 16:21:47 +00:00
|
|
|
|
#include <modaut.h>
|
|
|
|
|
#include <relation.h>
|
|
|
|
|
|
1997-06-12 16:26:22 +00:00
|
|
|
|
#include "clifor.h"
|
2010-12-30 16:21:47 +00:00
|
|
|
|
#include "condv.h"
|
2010-09-08 10:09:59 +00:00
|
|
|
|
#include "velib.h"
|
2008-08-27 23:23:05 +00:00
|
|
|
|
#include "../li/letint.h"
|
Patch level : 10.0 870
Files correlati : ef0.exe
Ricompilazione Demo : [ ]
Commento :
Gestione CUP
Verificare che i profili persnalizzati continuino a funzionare
Nella gestione profili e documenti aggiunti i campi per gestire piu banche di appoggio e presentazione dei clienti/ fornitori
La ricerca e sulla tabella se il cliente / fornitore non ha banche altrimenti e sulle banche del cliente/fornitore.
Ai profili personalizzati vanno aggiunti-modificati e posizionati i campi :
NU 117 5
BE
PR 2 11 "Banca appoggio : Cod. ABI "
FL "Z"
CH NORMAL
FI CODABIA
US %BAN SE CODTAB?="?????"
IN CODTAB[1,5] 117
DI "Cod. Istit." CODTAB[1,5]
DI "Cod. Fil." CODTAB[6,10]
DI "Denominazione@50" S0
OU 117 CODTAB[1,5]
OU 336 S0
OU 197 CODTAB[1,5]
ME CO,220
EN
NU 118 5
BE
PR 42 11 "Cod. CAB "
FL "Z"
CH NORMAL
FI CODCABA
US %BAN SE CODTAB?="??????????"
IN CODTAB[1,5] 117
IN CODTAB[6,10] 118
CO DI 117
OU 117 CODTAB[1,5]
OU 118 CODTAB[6,10]
OU 336 S0
OU 198 CODTAB[6,10]
ME CO,221
EN
NU 220 5
BE
PR 2 11 "Banca appoggio : Cod. ABI "
FL "ZH"
CH NORMAL
FI CODABIA
US 98 KEY 2
JOIN %BAN INTO CODTAB[1,5]==ABI CODTAB[6,10]==CAB
IN TIPOCF 107 SE
IN CODCF 108 SE
IN TIPOBAN "V"
IN ABI 220
IN CAB 221
IN PROGPR ""
DI "Cod. Istit." ABI
DI "Cod. Fil." CAB
DI "IBAN@27" IBAN
DI "Denominazione@50" %BAN->S0
OU 220 ABI
OU 221 CAB
OU 336 %BAN->S0
OU 192 IBAN
OU 197 ABI
OU 198 CAB
EN
NU 221 5
BE
PR 42 11 "Cod. CAB "
FL "ZH"
CH NORMAL
FI CODCABA
CO US 220
CO IN 220
CO DI 220
CO OU 220
EN
per la banca di appoggio
NU 119 5
BE
PR 2 14 "Banca presentazione : Cod. ABI "
FL "Z"
CH NORMAL
FI CODABIP
CO US 117
IN CODTAB[1,5] 119
DI "Cod. Istit." CODTAB[1,5]
DI "Cod. Fil." CODTAB[6,10]
DI "Denominazione@50" S0
OU 119 CODTAB[1,5]
OU 338 S0
ME CO,222
EN
NU 120 5
BE
PR 42 14 "Cod. CAB "
FL "Z"
CH NORMAL
FI CODCABP
CO US 118
IN CODTAB[1,5] 119
IN CODTAB[6,10] 120
CO DI 119
OU 119 CODTAB[1,5]
OU 120 CODTAB[6,10]
OU 338 S0
ME CO,223
EN
NU 214 2
BE
PR 60 14 "Progressivo "
FL "Z"
FI PROGBNP
US BNP
JOIN %BAN ALIAS 100 INTO CODTAB=CODTAB[1,10]
IN CODTAB[1,5] 119
IN CODTAB[6,10] 120
IN CODTAB[11,12] 214
DI "Cod. Istit." CODTAB[1,5]
DI "Cod. Fil." CODTAB[6,10]
DI "Progr." CODTAB[11,12]
DI "IBAN@27" S3
DI "Denominazione@50" 100@->S0
OU 119 CODTAB[1,5]
OU 120 CODTAB[6,10]
OU 214 CODTAB[11,12]
OU 338 100@->S0
ME CO,224
EN
NU 222 5
BE
PR 2 14 "Banca presentazione : Cod. ABI "
FL "ZH"
CH NORMAL
FI CODABIP
US 98 KEY 2
JOIN %BAN INTO CODTAB[1,5]==ABI CODTAB[6,10]==CAB
IN TIPOCF 107 SE
IN CODCF 108 SE
IN TIPOBAN "N"
IN ABI 222
IN CAB 223
IN PROGPR 224
DI "Cod. Istit." ABI
DI "Cod. Fil." CAB
DI "Progr." PROGPR
DI "IBAN@27" IBAN
DI "Denominazione@50" %BAN->S0
OU 222 ABI
OU 223 CAB
OU 224 PROGPR
OU 338 %BAN->S0
OU 192 IBAN
EN
NU 223 5
BE
PR 42 14 "Cod. CAB "
FL "ZH"
CH NORMAL
FI CODCABP
CO US 222
CO IN 222
CO DI 222
CO OU 222
EN
NU 224 2
BE
PR 60 14 "Progressivo "
FL "ZH"
CH NORMAL
FI PROGBNP
CO US 222
CO IN 222
CO DI 222
CO OU 222
EN
per la banca di presentazione.
Sono stati aggiunti campi CUP e CIG che hanno la ricerca sulla tabella ne caso normale e la ricerca sul file
commesse clienti nel caso sia presente l'analitica
Vanno aggiunti e posizionati ai profili personalizzati nel caso servano:
ST 215 15
BE
PR 2 11 "Cod.Unico Prog."
FL "U"
CH NORMAL
FI CUP
US %CUP
IN CODTAB 215
DI "Codice@15" CODTAB
DI "Descrizione@50" S0
OU 215 CODTAB
OU 216 S0
HE "Inserisci il Codice Unico di Progetto"
WA "Codice Unico di Progetto non trovato"
CH NORMAL
EN
ST 216 50
BE
PR 35 11 ""
FL ""
CH NORMAL
US %CUP KEY 2
IN S0 216
DI "Descrizione@50" S0
DI "Codice@15" CODTAB
CO OU 215
EN
ST 217 15
BE
PR 2 12 "Cod.Ident.Gara "
FL "U"
CH NORMAL
FI CIG
US %CIG
IN CODTAB 217
DI "Codice@15" CODTAB
DI "Descrizione@50" S0
OU 217 CODTAB
OU 218 S0
HE "Inserisci il Codice Identificativo Gara"
WA "Codice Identificativo Gara non trovato"
CH NORMAL
EN
ST 218 50
BE
PR 35 12 ""
FL ""
CH NORMAL
US %CIG KEY 2
IN S0 218
DI "Descrizione@50" S0
DI "Codice@15" CODTAB
CO OU 217
EN
ST 219 20
BE
PR 2 13 ""
FL "H"
FI CODCMS
EN
La generazione effetti scrive il CUP e il CIG sull'effetto.
La contabilizzazione scrive il CUP e il CIG sulle righe contabili.
git-svn-id: svn://10.65.10.50/branches/R_10_00@21374 c028cbd2-c16b-5b4b-a496-9718f37d4682
2010-12-28 08:28:47 +00:00
|
|
|
|
#include "../cg/cfban.h"
|
1997-06-12 16:26:22 +00:00
|
|
|
|
|
|
|
|
|
TOccasionale::TOccasionale() : TRectype(LF_OCCAS)
|
1999-04-06 15:34:39 +00:00
|
|
|
|
{ }
|
1997-06-12 16:26:22 +00:00
|
|
|
|
TOccasionale::TOccasionale(const TRectype& r) : TRectype(r)
|
1999-04-06 15:34:39 +00:00
|
|
|
|
{ }
|
1997-06-12 16:26:22 +00:00
|
|
|
|
|
2000-05-05 15:25:49 +00:00
|
|
|
|
TOccasionale::TOccasionale(const TOccasionale& r) : TRectype(r)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TRectype& TOccasionale::operator=(const TRectype& r)
|
1997-06-12 16:26:22 +00:00
|
|
|
|
{
|
|
|
|
|
return TRectype::operator=(r);
|
|
|
|
|
}
|
|
|
|
|
|
2000-05-05 15:25:49 +00:00
|
|
|
|
TOccasionale& TOccasionale::operator=(const TOccasionale& r)
|
|
|
|
|
{
|
|
|
|
|
TRectype::operator=(r);
|
|
|
|
|
return *this;
|
|
|
|
|
}
|
|
|
|
|
|
1997-06-12 16:26:22 +00:00
|
|
|
|
TOccasionale::~TOccasionale()
|
1999-04-06 15:34:39 +00:00
|
|
|
|
{ }
|
1997-06-12 16:26:22 +00:00
|
|
|
|
|
|
|
|
|
int TCli_for::write_rewrite(TBaseisamfile& f, bool re) const
|
|
|
|
|
{
|
|
|
|
|
int err = TMultiple_rectype::write_rewrite(f, re);
|
|
|
|
|
|
|
|
|
|
if (err == NOERR)
|
|
|
|
|
{
|
|
|
|
|
TLocalisamfile v(LF_CFVEN);
|
|
|
|
|
TRectype & v_rec = vendite();
|
|
|
|
|
err = v.write(v_rec);
|
|
|
|
|
if (err == _isreinsert)
|
|
|
|
|
err = v.write(v_rec);
|
|
|
|
|
}
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|
|
1998-08-25 18:07:30 +00:00
|
|
|
|
TRectype& TCli_for::vendite() const
|
1997-06-12 16:26:22 +00:00
|
|
|
|
{
|
|
|
|
|
const char t = tipo();
|
|
|
|
|
const long c = codice();
|
|
|
|
|
|
|
|
|
|
if (_ven_rec.empty() || t != *(const char *) (*_ven_tipo) || c != (long) *_ven_codice)
|
|
|
|
|
{
|
|
|
|
|
TLocalisamfile v(LF_CFVEN);
|
1998-08-25 18:07:30 +00:00
|
|
|
|
TRectype& vr = ((TCli_for *)this)->_ven_rec; // fool const
|
1997-06-12 16:26:22 +00:00
|
|
|
|
|
1998-08-25 18:07:30 +00:00
|
|
|
|
vr.zero();
|
|
|
|
|
vr.put(CFV_TIPOCF,t);
|
|
|
|
|
vr.put(CFV_CODCF, c);
|
|
|
|
|
const TRectype v_rec(vr);
|
|
|
|
|
if (vr.read(v) != NOERR)
|
|
|
|
|
vr = v_rec;
|
1997-06-12 16:26:22 +00:00
|
|
|
|
}
|
|
|
|
|
return (TRectype &) _ven_rec;
|
|
|
|
|
}
|
|
|
|
|
|
2008-08-27 23:23:05 +00:00
|
|
|
|
bool TCli_for::read_lettera(const TDate & data, bool extended)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (_use_lettere)
|
|
|
|
|
{
|
|
|
|
|
if (data != _last_data)
|
|
|
|
|
{
|
|
|
|
|
_letint.zero();
|
|
|
|
|
TRelation * r = new TRelation(LF_LETINT);
|
2009-02-14 17:13:09 +00:00
|
|
|
|
TRectype to(r->curr());
|
2008-08-27 23:23:05 +00:00
|
|
|
|
|
2009-02-14 17:13:09 +00:00
|
|
|
|
to.put(LETINT_ANNO, data.year());
|
|
|
|
|
to.put(LETINT_CODCLI, codice());
|
2008-08-27 23:23:05 +00:00
|
|
|
|
|
2009-02-14 17:13:09 +00:00
|
|
|
|
TRectype from(to);
|
|
|
|
|
|
|
|
|
|
from.put(LETINT_ANNO, data.year() - 1);
|
|
|
|
|
|
|
|
|
|
TCursor c(r, "", 2 ,&from, &to);
|
2008-08-27 23:23:05 +00:00
|
|
|
|
const int items = c.items();
|
|
|
|
|
|
|
|
|
|
if (items > 0)
|
|
|
|
|
{
|
|
|
|
|
TDate dal;
|
|
|
|
|
TDate al(31, 12, data.year());
|
2009-02-14 17:13:09 +00:00
|
|
|
|
|
|
|
|
|
for (long pos = items - 1; pos >= 0L; pos--)
|
2008-08-27 23:23:05 +00:00
|
|
|
|
{
|
2009-02-14 17:13:09 +00:00
|
|
|
|
c = pos;
|
|
|
|
|
|
2008-08-27 23:23:05 +00:00
|
|
|
|
const int tipo = c.curr().get_int(LETINT_TIPOOP);
|
|
|
|
|
|
|
|
|
|
if (tipo == 3)
|
|
|
|
|
{
|
|
|
|
|
dal = c.curr().get_date(LETINT_DAL);
|
|
|
|
|
al = c.curr().get_date(LETINT_AL);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
dal = c.curr().get_date(LETINT_VSDATA);
|
|
|
|
|
if (c.pos() < items - 1)
|
|
|
|
|
{
|
|
|
|
|
++c;
|
|
|
|
|
const int tipo_next = c.curr().get_int(LETINT_TIPOOP);
|
|
|
|
|
if (tipo_next == 3)
|
|
|
|
|
al = c.curr().get_date(LETINT_DAL);
|
|
|
|
|
else
|
|
|
|
|
al = c.curr().get_date(LETINT_VSDATA);
|
|
|
|
|
--c;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (dal <= data)
|
|
|
|
|
{
|
|
|
|
|
_letint = c.curr();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
_lettera_found = !_letint.empty();
|
|
|
|
|
if (_lettera_found && !extended)
|
|
|
|
|
_lettera_found = data <= al;
|
|
|
|
|
}
|
|
|
|
|
_last_data = data;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return _lettera_found;
|
|
|
|
|
}
|
|
|
|
|
|
1998-08-25 18:07:30 +00:00
|
|
|
|
int TCli_for::read(const TRectype & rec, word op, word lockop)
|
1997-06-12 16:26:22 +00:00
|
|
|
|
{
|
|
|
|
|
_ven_rec.zero();
|
1998-08-25 18:07:30 +00:00
|
|
|
|
int err = TMultiple_rectype::read(rec, op, lockop);
|
2008-08-27 23:23:05 +00:00
|
|
|
|
_last_data = botime;
|
1997-06-12 16:26:22 +00:00
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int TCli_for::read(char tipo, long codice, word op, word lockop)
|
|
|
|
|
{
|
1998-08-25 18:07:30 +00:00
|
|
|
|
int err = NOERR;
|
|
|
|
|
_ven_rec.zero();
|
1997-06-12 16:26:22 +00:00
|
|
|
|
zero();
|
1998-08-25 18:07:30 +00:00
|
|
|
|
if (tipo > ' ' && codice > 0L)
|
|
|
|
|
{
|
|
|
|
|
put(CLI_TIPOCF, tipo);
|
|
|
|
|
put(CLI_CODCF, codice);
|
|
|
|
|
err = TMultiple_rectype::read(op, lockop);
|
|
|
|
|
}
|
2008-08-27 23:23:05 +00:00
|
|
|
|
_last_data = botime;
|
1998-08-25 18:07:30 +00:00
|
|
|
|
return err;
|
1997-06-12 16:26:22 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int TCli_for::remove(TBaseisamfile& f) const
|
|
|
|
|
{
|
|
|
|
|
TLocalisamfile v(LF_CFVEN);
|
|
|
|
|
|
|
|
|
|
const int err = vendite().remove(v);
|
|
|
|
|
if (err != NOERR && err != _iskeynotfound)
|
|
|
|
|
return err;
|
|
|
|
|
return TMultiple_rectype:: remove(f);
|
|
|
|
|
}
|
|
|
|
|
|
2008-08-27 23:23:05 +00:00
|
|
|
|
void TCli_for::init()
|
1997-06-12 16:26:22 +00:00
|
|
|
|
{
|
|
|
|
|
_tipo = new TRecfield(*this, CLI_TIPOCF);
|
|
|
|
|
_codice = new TRecfield(*this, CLI_CODCF);
|
|
|
|
|
_ven_tipo = new TRecfield(_ven_rec, CFV_TIPOCF);
|
|
|
|
|
_ven_codice = new TRecfield(_ven_rec, CFV_CODCF);
|
2008-08-27 23:23:05 +00:00
|
|
|
|
_use_lettere = main_app().has_module(LIAUT, CHK_DONGLE);
|
|
|
|
|
if (_use_lettere)
|
2009-08-19 07:26:11 +00:00
|
|
|
|
_use_lettere = ini_get_bool(CONFIG_DITTA, "ve", "USELETTERE");
|
2008-08-27 23:23:05 +00:00
|
|
|
|
}
|
|
|
|
|
|
2010-12-30 16:21:47 +00:00
|
|
|
|
const TString& TCli_for::find_listino_al(const TDate& datadoc) const
|
|
|
|
|
{
|
|
|
|
|
const bool gest_list_catven = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV", false, 1);
|
|
|
|
|
const TRectype& v = vendite();
|
|
|
|
|
TString4 listino = v.get(CFV_CODLIST);
|
|
|
|
|
|
|
|
|
|
//se il cliente ha un listino specificato -> va usato (previo controllo validit<69>)
|
|
|
|
|
while (listino.full())
|
|
|
|
|
{
|
|
|
|
|
TToken_string key_condv;
|
|
|
|
|
key_condv.add("L");
|
|
|
|
|
if (gest_list_catven)
|
|
|
|
|
key_condv.add(v.get(CFV_CATVEN));
|
|
|
|
|
else
|
|
|
|
|
key_condv.add("");
|
|
|
|
|
key_condv.add("");
|
|
|
|
|
key_condv.add("");
|
|
|
|
|
key_condv.add(listino);
|
|
|
|
|
const TRectype& rec_condv = cache().get(LF_CONDV, key_condv);
|
|
|
|
|
|
|
|
|
|
const TDate inizio_validita = rec_condv.get_date(CONDV_VALIN);
|
|
|
|
|
const TDate fine_validita = rec_condv.get_date(CONDV_VALFIN);
|
|
|
|
|
|
|
|
|
|
//usa il listino indicato sul cliente solo se <20> valido per la data del documento
|
|
|
|
|
if (datadoc >= inizio_validita && (datadoc <= fine_validita || !fine_validita.ok()))
|
|
|
|
|
break;
|
|
|
|
|
else
|
|
|
|
|
listino = rec_condv.get(CONDV_CODLISSUCC);
|
|
|
|
|
}
|
|
|
|
|
return get_tmp_string() = listino;
|
|
|
|
|
}
|
|
|
|
|
|
2010-09-08 10:09:59 +00:00
|
|
|
|
void TCli_for::cli2doc(TDocumento & doc)
|
|
|
|
|
{
|
|
|
|
|
const TRectype & v = vendite();
|
|
|
|
|
|
|
|
|
|
doc.put(DOC_CODVAL, get(CLI_CODVAL));
|
|
|
|
|
doc.put(DOC_CODLIN, get(CLI_CODLIN));
|
|
|
|
|
doc.put(DOC_CODPAG, get(CLI_CODPAG));
|
Patch level : 10.0 870
Files correlati : ef0.exe
Ricompilazione Demo : [ ]
Commento :
Gestione CUP
Verificare che i profili persnalizzati continuino a funzionare
Nella gestione profili e documenti aggiunti i campi per gestire piu banche di appoggio e presentazione dei clienti/ fornitori
La ricerca e sulla tabella se il cliente / fornitore non ha banche altrimenti e sulle banche del cliente/fornitore.
Ai profili personalizzati vanno aggiunti-modificati e posizionati i campi :
NU 117 5
BE
PR 2 11 "Banca appoggio : Cod. ABI "
FL "Z"
CH NORMAL
FI CODABIA
US %BAN SE CODTAB?="?????"
IN CODTAB[1,5] 117
DI "Cod. Istit." CODTAB[1,5]
DI "Cod. Fil." CODTAB[6,10]
DI "Denominazione@50" S0
OU 117 CODTAB[1,5]
OU 336 S0
OU 197 CODTAB[1,5]
ME CO,220
EN
NU 118 5
BE
PR 42 11 "Cod. CAB "
FL "Z"
CH NORMAL
FI CODCABA
US %BAN SE CODTAB?="??????????"
IN CODTAB[1,5] 117
IN CODTAB[6,10] 118
CO DI 117
OU 117 CODTAB[1,5]
OU 118 CODTAB[6,10]
OU 336 S0
OU 198 CODTAB[6,10]
ME CO,221
EN
NU 220 5
BE
PR 2 11 "Banca appoggio : Cod. ABI "
FL "ZH"
CH NORMAL
FI CODABIA
US 98 KEY 2
JOIN %BAN INTO CODTAB[1,5]==ABI CODTAB[6,10]==CAB
IN TIPOCF 107 SE
IN CODCF 108 SE
IN TIPOBAN "V"
IN ABI 220
IN CAB 221
IN PROGPR ""
DI "Cod. Istit." ABI
DI "Cod. Fil." CAB
DI "IBAN@27" IBAN
DI "Denominazione@50" %BAN->S0
OU 220 ABI
OU 221 CAB
OU 336 %BAN->S0
OU 192 IBAN
OU 197 ABI
OU 198 CAB
EN
NU 221 5
BE
PR 42 11 "Cod. CAB "
FL "ZH"
CH NORMAL
FI CODCABA
CO US 220
CO IN 220
CO DI 220
CO OU 220
EN
per la banca di appoggio
NU 119 5
BE
PR 2 14 "Banca presentazione : Cod. ABI "
FL "Z"
CH NORMAL
FI CODABIP
CO US 117
IN CODTAB[1,5] 119
DI "Cod. Istit." CODTAB[1,5]
DI "Cod. Fil." CODTAB[6,10]
DI "Denominazione@50" S0
OU 119 CODTAB[1,5]
OU 338 S0
ME CO,222
EN
NU 120 5
BE
PR 42 14 "Cod. CAB "
FL "Z"
CH NORMAL
FI CODCABP
CO US 118
IN CODTAB[1,5] 119
IN CODTAB[6,10] 120
CO DI 119
OU 119 CODTAB[1,5]
OU 120 CODTAB[6,10]
OU 338 S0
ME CO,223
EN
NU 214 2
BE
PR 60 14 "Progressivo "
FL "Z"
FI PROGBNP
US BNP
JOIN %BAN ALIAS 100 INTO CODTAB=CODTAB[1,10]
IN CODTAB[1,5] 119
IN CODTAB[6,10] 120
IN CODTAB[11,12] 214
DI "Cod. Istit." CODTAB[1,5]
DI "Cod. Fil." CODTAB[6,10]
DI "Progr." CODTAB[11,12]
DI "IBAN@27" S3
DI "Denominazione@50" 100@->S0
OU 119 CODTAB[1,5]
OU 120 CODTAB[6,10]
OU 214 CODTAB[11,12]
OU 338 100@->S0
ME CO,224
EN
NU 222 5
BE
PR 2 14 "Banca presentazione : Cod. ABI "
FL "ZH"
CH NORMAL
FI CODABIP
US 98 KEY 2
JOIN %BAN INTO CODTAB[1,5]==ABI CODTAB[6,10]==CAB
IN TIPOCF 107 SE
IN CODCF 108 SE
IN TIPOBAN "N"
IN ABI 222
IN CAB 223
IN PROGPR 224
DI "Cod. Istit." ABI
DI "Cod. Fil." CAB
DI "Progr." PROGPR
DI "IBAN@27" IBAN
DI "Denominazione@50" %BAN->S0
OU 222 ABI
OU 223 CAB
OU 224 PROGPR
OU 338 %BAN->S0
OU 192 IBAN
EN
NU 223 5
BE
PR 42 14 "Cod. CAB "
FL "ZH"
CH NORMAL
FI CODCABP
CO US 222
CO IN 222
CO DI 222
CO OU 222
EN
NU 224 2
BE
PR 60 14 "Progressivo "
FL "ZH"
CH NORMAL
FI PROGBNP
CO US 222
CO IN 222
CO DI 222
CO OU 222
EN
per la banca di presentazione.
Sono stati aggiunti campi CUP e CIG che hanno la ricerca sulla tabella ne caso normale e la ricerca sul file
commesse clienti nel caso sia presente l'analitica
Vanno aggiunti e posizionati ai profili personalizzati nel caso servano:
ST 215 15
BE
PR 2 11 "Cod.Unico Prog."
FL "U"
CH NORMAL
FI CUP
US %CUP
IN CODTAB 215
DI "Codice@15" CODTAB
DI "Descrizione@50" S0
OU 215 CODTAB
OU 216 S0
HE "Inserisci il Codice Unico di Progetto"
WA "Codice Unico di Progetto non trovato"
CH NORMAL
EN
ST 216 50
BE
PR 35 11 ""
FL ""
CH NORMAL
US %CUP KEY 2
IN S0 216
DI "Descrizione@50" S0
DI "Codice@15" CODTAB
CO OU 215
EN
ST 217 15
BE
PR 2 12 "Cod.Ident.Gara "
FL "U"
CH NORMAL
FI CIG
US %CIG
IN CODTAB 217
DI "Codice@15" CODTAB
DI "Descrizione@50" S0
OU 217 CODTAB
OU 218 S0
HE "Inserisci il Codice Identificativo Gara"
WA "Codice Identificativo Gara non trovato"
CH NORMAL
EN
ST 218 50
BE
PR 35 12 ""
FL ""
CH NORMAL
US %CIG KEY 2
IN S0 218
DI "Descrizione@50" S0
DI "Codice@15" CODTAB
CO OU 217
EN
ST 219 20
BE
PR 2 13 ""
FL "H"
FI CODCMS
EN
La generazione effetti scrive il CUP e il CIG sull'effetto.
La contabilizzazione scrive il CUP e il CIG sulle righe contabili.
git-svn-id: svn://10.65.10.50/branches/R_10_00@21374 c028cbd2-c16b-5b4b-a496-9718f37d4682
2010-12-28 08:28:47 +00:00
|
|
|
|
|
|
|
|
|
TToken_string key;
|
|
|
|
|
|
|
|
|
|
key.add(get(CLI_TIPOCF));
|
|
|
|
|
key.add(get(CLI_CODCF));
|
|
|
|
|
key.add("V");
|
|
|
|
|
key.add("1");
|
|
|
|
|
|
|
|
|
|
const TRectype & cfban = cache().get(LF_CFBAN, key);
|
|
|
|
|
|
|
|
|
|
if (cfban.empty())
|
|
|
|
|
{
|
|
|
|
|
doc.put(DOC_CODCABA, get(CLI_CODCAB));
|
|
|
|
|
doc.put(DOC_CODABIA, get(CLI_CODABI));
|
|
|
|
|
doc.put(DOC_IBAN, get(CLI_IBAN));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
doc.put(DOC_CODABIA, cfban.get(CFBAN_ABI));
|
|
|
|
|
doc.put(DOC_CODCABA, cfban.get(CFBAN_CAB));
|
|
|
|
|
doc.put(DOC_IBAN, get(CFBAN_IBAN));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
key.cut(0);
|
|
|
|
|
key.add(get(CLI_TIPOCF));
|
|
|
|
|
key.add(get(CLI_CODCF));
|
|
|
|
|
key.add("N");
|
|
|
|
|
key.add("1");
|
|
|
|
|
|
|
|
|
|
const TRectype & cfbanpr = cache().get(LF_CFBAN, key);
|
|
|
|
|
|
|
|
|
|
// Setta i campi che appartengono al file LF_CFVEN
|
|
|
|
|
if (cfbanpr.empty())
|
|
|
|
|
{
|
|
|
|
|
doc.put(DOC_CODABIP, v.get(CFV_CODABIPR));
|
|
|
|
|
doc.put(DOC_CODCABP, v.get(CFV_CODCABPR));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
doc.put(DOC_CODABIP, cfbanpr.get(CFBAN_ABI));
|
|
|
|
|
doc.put(DOC_CODCABP, cfbanpr.get(CFBAN_CAB));
|
|
|
|
|
doc.put(DOC_PROGBNP, cfbanpr.get(CFBAN_PROGPR));
|
|
|
|
|
}
|
2010-09-08 10:09:59 +00:00
|
|
|
|
doc.put(DOC_RAGGR, v.get(CFV_RAGGDOC));
|
|
|
|
|
doc.put(DOC_RAGGREFF, v.get(CFV_RAGGEFF));
|
|
|
|
|
doc.put(DOC_CODINDSP, v.get(CFV_CODINDSP));
|
|
|
|
|
doc.put(DOC_CODAG, v.get(CFV_CODAG));
|
|
|
|
|
doc.put(DOC_CODAGVIS, v.get(CFV_CODAG1));
|
|
|
|
|
doc.put(DOC_CODSPMEZZO, v.get(CFV_CODSPMEZZO));
|
|
|
|
|
doc.put(DOC_CODPORTO, v.get(CFV_CODPORTO));
|
|
|
|
|
doc.put(DOC_CODNOTESP1, v.get(CFV_CODNOTESP1));
|
|
|
|
|
doc.put(DOC_CODNOTESP2, v.get(CFV_CODNOTESP2));
|
|
|
|
|
doc.put(DOC_CODNOTE, v.get(CFV_CODNOTE));
|
|
|
|
|
doc.put(DOC_CODVETT1, v.get(CFV_CODVETT1));
|
|
|
|
|
doc.put(DOC_CODVETT2, v.get(CFV_CODVETT2));
|
|
|
|
|
doc.put(DOC_CODVETT3, v.get(CFV_CODVETT3));
|
|
|
|
|
doc.put(DOC_PERCSPINC, v.get(CFV_PERCSPINC));
|
|
|
|
|
doc.put(DOC_ADDBOLLI, v.get(CFV_ADDBOLLI));
|
|
|
|
|
doc.put(DOC_CATVEN, v.get(CFV_CATVEN));
|
|
|
|
|
doc.put(DOC_LIQDIFF, get_int(CLI_ALLEG) == 7 && v.get_bool(CFV_FATTSOSP) ? "X" : "");
|
2010-12-21 15:50:47 +00:00
|
|
|
|
|
|
|
|
|
//listino: deve essere attiva la gestione listini nella ditta
|
|
|
|
|
const bool gest_listini = ini_get_bool(CONFIG_DITTA, "ve", "GES", false, 1);
|
|
|
|
|
if (gest_listini)
|
2010-12-30 16:21:47 +00:00
|
|
|
|
{
|
|
|
|
|
const TDate datadoc = doc.get_date(DOC_DATADOC);
|
|
|
|
|
const TString& listino = find_listino_al(datadoc);
|
|
|
|
|
doc.put(DOC_CODLIST, listino);
|
|
|
|
|
}
|
2010-12-21 15:50:47 +00:00
|
|
|
|
|
|
|
|
|
doc.put(DOC_ZONA, v.get(CFV_CODZONA));
|
|
|
|
|
doc.put(DOC_RAGGR, v.get(CFV_RAGGDOC));
|
|
|
|
|
|
|
|
|
|
//aggiungere gestione spese e bolli???
|
2010-09-08 10:09:59 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2008-08-27 23:23:05 +00:00
|
|
|
|
TCli_for::TCli_for(char tipo, long codice) : TMultiple_rectype( LF_CLIFO ), _ven_rec(LF_CFVEN),
|
|
|
|
|
_letint(LF_LETINT), _use_lettere(false), _lettera_found(false)
|
|
|
|
|
{
|
|
|
|
|
init();
|
1997-06-12 16:26:22 +00:00
|
|
|
|
add_file(LF_INDSP, IND_CODIND);
|
1998-08-25 18:07:30 +00:00
|
|
|
|
if (tipo > ' ' && codice > 0L)
|
|
|
|
|
read(tipo, codice);
|
1997-06-12 16:26:22 +00:00
|
|
|
|
}
|
|
|
|
|
|
2008-08-27 23:23:05 +00:00
|
|
|
|
TCli_for::TCli_for(const TRectype & rec) : TMultiple_rectype(rec), _ven_rec(LF_CFVEN),
|
|
|
|
|
_letint(LF_LETINT), _use_lettere(false), _lettera_found(false)
|
1997-06-12 16:26:22 +00:00
|
|
|
|
{
|
2008-08-27 23:23:05 +00:00
|
|
|
|
init();
|
1997-06-12 16:26:22 +00:00
|
|
|
|
add_file(LF_INDSP, IND_CODIND);
|
1998-08-25 18:07:30 +00:00
|
|
|
|
read(rec);
|
1997-06-12 16:26:22 +00:00
|
|
|
|
}
|
|
|
|
|
|
2008-08-27 23:23:05 +00:00
|
|
|
|
TCli_for::TCli_for(const TCli_for & c) : TMultiple_rectype(c), _ven_rec(c._ven_rec),
|
|
|
|
|
_letint(LF_LETINT), _use_lettere(false), _lettera_found(false)
|
1997-06-12 16:26:22 +00:00
|
|
|
|
{
|
2008-08-27 23:23:05 +00:00
|
|
|
|
init();
|
1997-06-12 16:26:22 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TCli_for::~TCli_for()
|
|
|
|
|
{
|
|
|
|
|
delete _tipo;
|
|
|
|
|
delete _codice;
|
|
|
|
|
delete _ven_tipo;
|
|
|
|
|
delete _ven_codice;
|
|
|
|
|
}
|
|
|
|
|
|