Patch level : 10.0 870
Files correlati : ef0.exe Ricompilazione Demo : [ ] Commento : Gestione CUP Sugli effetti sono stati aggiunti i campi CUP e CIG. Le stampe di controllo e la stampa distinte li stampano. Nei moduli di stampa delle distinte personalizzati delle distinte si devono aggiungerequesti 2 campi STRING 30 15 BEGIN KEY "CUP" PROMPT 2 6 "CUP " FIELD CUP END STRING 31 10 BEGIN KEY "CIG" PROMPT 25 6 "CIG " FIELD CIG END Sono state aggoiunte le colonne CUP e CIG nella gestione Incassi e pagamenti. Questi vengono eventualmente letti dalla fattura in contabilità o possono essere impostati. Questi campi vengono poi usati per il raggruppamento degli effetti se impostato, poi scritti sull'effetto. La contabilizzazione effetti scrive sulle righe contabili il cup e il cig in corrispondenza dei conti cliente e fornitore git-svn-id: svn://10.65.10.50/branches/R_10_00@21369 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0e69065ad1
commit
b070046c49
14
ef/dse.frm
14
ef/dse.frm
@ -182,6 +182,20 @@ BEGIN
|
||||
FIELD CODCAB
|
||||
END
|
||||
|
||||
STRING 30 15
|
||||
BEGIN
|
||||
KEY "CUP"
|
||||
PROMPT 2 6 "CUP "
|
||||
FIELD CUP
|
||||
END
|
||||
|
||||
STRING 31 10
|
||||
BEGIN
|
||||
KEY "CIG"
|
||||
PROMPT 25 6 "CIG "
|
||||
FIELD CIG
|
||||
END
|
||||
|
||||
STRING 29 35
|
||||
BEGIN
|
||||
KEY "Conto Corrente"
|
||||
|
@ -37,6 +37,10 @@
|
||||
#define F_TIPOCF 231
|
||||
#define F_CONTROEURO 232
|
||||
#define F_PROG 233
|
||||
#define F_CUP 234
|
||||
#define F_DCUP 235
|
||||
#define F_CIG 236
|
||||
#define F_DCIG 237
|
||||
|
||||
#define F_IBAN 250
|
||||
#define F_IBAN_STATO 251
|
||||
|
@ -407,32 +407,79 @@ BEGIN
|
||||
CHECKTYPE SEARCH
|
||||
END
|
||||
|
||||
STRING F_CUP 22
|
||||
BEGIN
|
||||
PROMPT 2 11 "CUP "
|
||||
USE %CUP
|
||||
INPUT CODTAB F_CUP
|
||||
DISPLAY "Codice@22" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CUP CODTAB
|
||||
OUTPUT F_DCUP S0
|
||||
FIELD CUP
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DCUP 50 30
|
||||
BEGIN
|
||||
PROMPT 40 11 ""
|
||||
USE %CUP KEY 2
|
||||
INPUT S0 F_DCUP
|
||||
DISPLAY "Ragione Sociale@50" S0
|
||||
DISPLAY "Codice@22" CODTAB
|
||||
COPY OUTPUT F_CUP
|
||||
END
|
||||
|
||||
STRING F_CIG 10
|
||||
BEGIN
|
||||
PROMPT 2 12 "CIG "
|
||||
USE %CIG
|
||||
INPUT CODTAB F_CIG
|
||||
DISPLAY "Codice@10" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice gara" S1
|
||||
OUTPUT F_CIG CODTAB
|
||||
OUTPUT F_DCIG S0
|
||||
FIELD CIG
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DCIG 50 30
|
||||
BEGIN
|
||||
PROMPT 40 12 ""
|
||||
USE %CIG KEY 2
|
||||
INPUT S0 F_DCIG
|
||||
DISPLAY "Ragione Sociale@50" S0
|
||||
DISPLAY "Codice@10" CODTAB
|
||||
COPY OUTPUT F_CIG
|
||||
END
|
||||
|
||||
DATE F_DATAEMISS
|
||||
BEGIN
|
||||
PROMPT 1 11 "Data di emissione "
|
||||
PROMPT 1 13 "Data di emissione "
|
||||
FIELD DATAEMISS
|
||||
END
|
||||
|
||||
NUMBER F_NUMEMISS 8
|
||||
BEGIN
|
||||
PROMPT 42 11 "Nr. di emissione "
|
||||
PROMPT 42 13 "Nr. di emissione "
|
||||
FIELD NUMEMISS
|
||||
END
|
||||
|
||||
BOOLEAN F_EFFSTAMP
|
||||
BEGIN
|
||||
PROMPT 1 12 "Effetto stampato"
|
||||
PROMPT 1 14 "Effetto stampato"
|
||||
FIELD EFFSTAMP
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 0 13 "@bDistinta"
|
||||
PROMPT 0 15 "@bDistinta"
|
||||
END
|
||||
|
||||
LIST F_TIPODIST 15
|
||||
BEGIN
|
||||
PROMPT 1 14 "Tipo distinta "
|
||||
PROMPT 1 16 "Tipo distinta "
|
||||
FIELD TIPODIST
|
||||
ITEM " | "
|
||||
ITEM "I|All'incasso"
|
||||
@ -443,7 +490,7 @@ END
|
||||
|
||||
NUMBER F_NDIST 5
|
||||
BEGIN
|
||||
PROMPT 42 14 "Nr. distinta "
|
||||
PROMPT 42 16 "Nr. distinta "
|
||||
FIELD NDIST
|
||||
FLAGS "D"
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
@ -452,46 +499,46 @@ END
|
||||
|
||||
DATE F_DATADIST
|
||||
BEGIN
|
||||
PROMPT 1 15 "Data distinta "
|
||||
PROMPT 1 17 "Data distinta "
|
||||
FIELD DATADIST
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_NRIGADIST 4
|
||||
BEGIN
|
||||
PROMPT 42 15 "Nr. di riga "
|
||||
PROMPT 42 17 "Nr. di riga "
|
||||
FIELD NRIGADIST
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BOOLEAN F_DISTSTAM
|
||||
BEGIN
|
||||
PROMPT 1 16 "Distinta stampata"
|
||||
PROMPT 1 18 "Distinta stampata"
|
||||
FIELD DISTSTAM
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE F_DATARIBA
|
||||
BEGIN
|
||||
PROMPT 1 18 "Data Ri.Ba. "
|
||||
PROMPT 1 20 "Data Ri.Ba. "
|
||||
FIELD DATARIBA
|
||||
END
|
||||
|
||||
BOOLEAN F_DISRIBAEST
|
||||
BEGIN
|
||||
PROMPT 42 18 "Distinta Ri.Ba. estratta"
|
||||
PROMPT 42 20 "Distinta Ri.Ba. estratta"
|
||||
FIELD DISRIBAEST
|
||||
END
|
||||
|
||||
BOOLEAN F_EFFCONT
|
||||
BEGIN
|
||||
PROMPT 1 19 "Effetto contabilizzato"
|
||||
PROMPT 1 21 "Effetto contabilizzato"
|
||||
FIELD EFFCONT
|
||||
END
|
||||
|
||||
BOOLEAN F_EFFCOMP
|
||||
BEGIN
|
||||
PROMPT 42 19 "Effetto completato"
|
||||
PROMPT 42 21 "Effetto completato"
|
||||
FIELD EFFCOMP
|
||||
END
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include <comuni.h>
|
||||
#include <cfven.h>
|
||||
#include <indsp.h>
|
||||
#include <modaut.h>
|
||||
|
||||
class TRiba_form;
|
||||
class TDistinta_form;
|
||||
@ -632,6 +633,12 @@ void TEmissione::print()
|
||||
if (!nomeform.exist()) // se non esiste
|
||||
nomeform = "dse.frm"; // utilizzo quello generico
|
||||
_formdse = new TDistinta_form(nomeform, _firmrel);
|
||||
TForm_item * cup = _formdse->exist_field('B', odd_page , 30);
|
||||
if (cup != NULL && !main_app().has_module(CUAUT))
|
||||
cup->hide();
|
||||
TForm_item * cig = _formdse->exist_field('B', odd_page , 31);
|
||||
if (cig != NULL && !main_app().has_module(CUAUT))
|
||||
cig->hide();
|
||||
enable_dettaglio(*_formdse);
|
||||
_formdse->set_order(tipord);
|
||||
print_dse(tipost,ndist,tipodist,is_vis);
|
||||
@ -1224,6 +1231,20 @@ void TRiba_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TStr
|
||||
descfatt << ' ' << str.right(2);
|
||||
}
|
||||
}
|
||||
if (main_app().has_module(CUAUT))
|
||||
{
|
||||
const TString &cup = effetto.get(EFF_CUP);
|
||||
|
||||
if (cup.full())
|
||||
descfatt << " CUP: " << cup;
|
||||
else
|
||||
{
|
||||
const TString &cig = effetto.get(EFF_CIG);
|
||||
|
||||
if (cig.full())
|
||||
descfatt << " CIG: " << cig;
|
||||
}
|
||||
}
|
||||
const int l = descfatt.len();
|
||||
TString in(s.get());
|
||||
if (in[0]=='!')
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include <clifo.h>
|
||||
#include <effetti.h>
|
||||
#include <modaut.h>
|
||||
#include <reffetti.h>
|
||||
|
||||
#include "ef0101.h"
|
||||
@ -498,6 +499,10 @@ void TPrint_effetti_app::set_scadenza()
|
||||
(const char *)valuta);
|
||||
}
|
||||
write_bancapp();
|
||||
if (main_app().has_module(CUAUT))
|
||||
set_row(3, "@1gCUP @s@25gCIG @s",
|
||||
FLD(LF_EFFETTI, EFF_CUP),
|
||||
FLD(LF_EFFETTI, EFF_CIG));
|
||||
for(int i = 0; i < _interline; i++)
|
||||
set_row(i+1," ");
|
||||
}
|
||||
@ -525,6 +530,10 @@ void TPrint_effetti_app::set_banca_app()
|
||||
(const char *)valuta);
|
||||
}
|
||||
write_bancapp();
|
||||
if (main_app().has_module(CUAUT))
|
||||
set_row(3,"@1gCUP @s@25gCIG @s",
|
||||
FLD(LF_EFFETTI, EFF_CUP),
|
||||
FLD(LF_EFFETTI, EFF_CIG));
|
||||
for(int i = 0; i < _interline; i++)
|
||||
set_row(i+1,"");
|
||||
}
|
||||
@ -552,6 +561,10 @@ void TPrint_effetti_app::set_banca_pre()
|
||||
(const char *)valuta);
|
||||
}
|
||||
write_bancapp();
|
||||
if (main_app().has_module(CUAUT))
|
||||
set_row(3, "@1gCUP @s@25gCIG @s",
|
||||
FLD(LF_EFFETTI, EFF_CUP),
|
||||
FLD(LF_EFFETTI, EFF_CIG));
|
||||
for(int i = 0; i < _interline; i++)
|
||||
set_row(i+1,"");
|
||||
}
|
||||
@ -585,6 +598,10 @@ void TPrint_effetti_app::set_distinta()
|
||||
set_row(2,"@100g%s", (const char *)TCurrency::get_firm_val());
|
||||
}
|
||||
write_bancapp();
|
||||
if (main_app().has_module(CUAUT))
|
||||
set_row(3, "@1gCUP @s@25gCIG @s",
|
||||
FLD(LF_EFFETTI, EFF_CUP),
|
||||
FLD(LF_EFFETTI, EFF_CIG));
|
||||
for(int i = 0; i < _interline; i++) set_row(i+1,"");
|
||||
}
|
||||
|
||||
@ -611,6 +628,10 @@ void TPrint_effetti_app::set_cliente()
|
||||
(const char *)valuta);
|
||||
}
|
||||
write_bancapp();
|
||||
if (main_app().has_module(CUAUT))
|
||||
set_row(3, "@1gCUP @s@25gCIG @s",
|
||||
FLD(LF_EFFETTI, EFF_CUP),
|
||||
FLD(LF_EFFETTI, EFF_CIG));
|
||||
for(int i = 0; i < _interline; i++) set_row(i+1," ");
|
||||
}
|
||||
|
||||
|
@ -537,6 +537,9 @@ bool TContabilizzazione_effetti_app::add_cg_row(const TEffetto& eff, const TRect
|
||||
banks.add(key,b_rec,is_present);
|
||||
|
||||
c_rec->put(RMV_IMPORTO,imp);
|
||||
c_rec->put(RMV_CUP, eff.get(EFF_CUP));
|
||||
c_rec->put(RMV_CIG, eff.get(EFF_CIG));
|
||||
|
||||
customers.add(c_rec);
|
||||
|
||||
return !is_present;
|
||||
|
@ -10,6 +10,8 @@
|
||||
|
||||
#include <clifo.h>
|
||||
#include <cfven.h>
|
||||
#include <partite.h>
|
||||
#include <rmov.h>
|
||||
#include "../cg/cgsaldac.h"
|
||||
#include "../ef/ef0301.h"
|
||||
|
||||
@ -43,8 +45,8 @@ public:
|
||||
void update_total();
|
||||
virtual bool on_key(KEY key);
|
||||
|
||||
TRectype& new_row_effetto(TDistinta& dist, char tipocf, long codcf, const TDate & datapag,
|
||||
int& rigadist, int& rigaeff) const;
|
||||
TRectype& new_row_effetto(TDistinta& dist, char tipocf, long codcf, const TString & cup, const TString & cig,
|
||||
const TDate & datapag, int& rigadist, int& rigaeff) const;
|
||||
long get_free_num() const;
|
||||
void save_rate();
|
||||
void print();
|
||||
@ -243,6 +245,27 @@ bool TPE_mask::fill_row(const TRiga_scadenze& rs, TToken_string& row, bool& part
|
||||
case 9:row.add(TR("Bonifico")); break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
TRiga_partite& rp = rs.riga();
|
||||
TString cup;
|
||||
TString cig;
|
||||
|
||||
const long numreg = rp.get_long(PART_NREG);
|
||||
|
||||
if (numreg > 0)
|
||||
{
|
||||
TToken_string key;
|
||||
|
||||
key.add(numreg);
|
||||
key.add(1);
|
||||
|
||||
const TRectype & rmov = cache().get(LF_RMOV, key);
|
||||
|
||||
cup = rmov.get(RMV_CUP);
|
||||
cig = rmov.get(RMV_CIG);
|
||||
}
|
||||
row.add(cup);
|
||||
row.add(cig);
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
@ -431,11 +454,12 @@ bool TPE_mask::fill_distinta(bool clear_all)
|
||||
const bool dist_cont = dist.contabilizzata();
|
||||
if (dist.items() > 0)
|
||||
{
|
||||
TToken_string row;
|
||||
int rows = 0;
|
||||
for (int e = 0; e < dist.items(); e++)
|
||||
{
|
||||
const TEffetto& eff = dist[e];
|
||||
const TBill clifo(0, 0, eff.get_long(EFF_CODCF), eff.get_char(EFF_TIPOCF));
|
||||
|
||||
if (e==0)
|
||||
set(F_TIPOPAG, eff.get_int(EFF_TIPOPAG));
|
||||
for (int r = 1; r <= eff.rows_r(); r++)
|
||||
@ -450,13 +474,18 @@ bool TPE_mask::fill_distinta(bool clear_all)
|
||||
{
|
||||
TRiga_scadenze& rs = game.rata(nriga, nrata);
|
||||
bool partially_unassigned;
|
||||
if (fill_row(rs, row, partially_unassigned, dist_cont, clear_all))
|
||||
TSheet_field& sheet = sfield(F_SHEET);
|
||||
TToken_string& row = sheet.row(rows++);
|
||||
if (fill_row(rs, row, partially_unassigned, dist_cont, clear_all))
|
||||
{
|
||||
const int numrow = insert_row(row);
|
||||
|
||||
row.add(eff.get(EFF_CUP), sheet.cid2index(F_CUP));
|
||||
row.add(eff.get(EFF_CIG), sheet.cid2index(F_CIG));
|
||||
|
||||
if (partially_unassigned)
|
||||
sheet.disable_cell(numrow, 1); // Non e' possibile mettere saldo
|
||||
sheet.disable_cell(r - 1, 1); // Non e' possibile mettere saldo
|
||||
if (dist_cont)
|
||||
sheet.disable_cell(numrow, -1); // Non e' possibile modificare nulla
|
||||
sheet.disable_cell(r - 1, -1); // Non e' possibile modificare nulla
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -498,8 +527,8 @@ bool TPE_mask::fill_distinta(bool clear_all)
|
||||
return full;
|
||||
}
|
||||
|
||||
TRectype& TPE_mask::new_row_effetto(TDistinta& dist, char tipocf, long codcf, const TDate & datapag,
|
||||
int& rigadist, int& rigaeff ) const
|
||||
TRectype& TPE_mask::new_row_effetto(TDistinta& dist, char tipocf, long codcf, const TString & cup, const TString & cig,
|
||||
const TDate & datapag, int& rigadist, int& rigaeff ) const
|
||||
{
|
||||
TString16 codice; codice << tipocf << '|' << codcf;
|
||||
const bool ragg = !cache().get(LF_CFVEN, codice, CFV_RAGGEFF).blank();
|
||||
@ -512,9 +541,20 @@ TRectype& TPE_mask::new_row_effetto(TDistinta& dist, char tipocf, long codcf, co
|
||||
TEffetto& eff = dist[i];
|
||||
if (eff.get_char(EFF_TIPOCF) == tipocf && eff.get_long(EFF_CODCF) == codcf && datapag == eff.get_date(EFF_DATASCAD))
|
||||
{
|
||||
neweff = &eff;
|
||||
rigadist = i+1;
|
||||
break;
|
||||
bool found = true;
|
||||
|
||||
if (main_app().has_module(CUAUT))
|
||||
{
|
||||
const TString & eff_cup = eff.get(EFF_CUP);
|
||||
|
||||
found = (cup == eff_cup) && (cig == eff.get(EFF_CIG));
|
||||
}
|
||||
if (found)
|
||||
{
|
||||
neweff = &eff;
|
||||
rigadist = i+1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -528,6 +568,8 @@ TRectype& TPE_mask::new_row_effetto(TDistinta& dist, char tipocf, long codcf, co
|
||||
neweff->put(EFF_CODVAL, get(F_CODVAL));
|
||||
neweff->put(EFF_CAMBIO, get(F_CAMBIO));
|
||||
neweff->put(EFF_DATACAMBIO, get(F_DATACAMBIO));
|
||||
neweff->put(EFF_CUP, cup);
|
||||
neweff->put(EFF_CIG, cig);
|
||||
}
|
||||
rigaeff = neweff->rows_r()+1;
|
||||
return neweff->row_r(rigaeff, TRUE);
|
||||
@ -661,7 +703,9 @@ void TPE_mask::save_rate()
|
||||
const char tipocf = get(F_TIPOCF)[0];
|
||||
const long codcf = row->get_long(sheet.cid2index(F_CODCF));
|
||||
|
||||
TRectype& reff = new_row_effetto(distinta, tipocf, codcf, datapag, rigadist, rigaeff);
|
||||
const TString cup = row->get(sheet.cid2index(F_CUP));
|
||||
const TString cig = row->get(sheet.cid2index(F_CIG));
|
||||
TRectype& reff = new_row_effetto(distinta, tipocf, codcf, cup, cig, datapag, rigadist, rigaeff);
|
||||
reff.put(REFF_ANNO, row->get(sheet.cid2index(F_ANNO)));
|
||||
reff.put(REFF_NUMPART, row->get(sheet.cid2index(F_PARTITA)));
|
||||
reff.put(REFF_NRIGA, row->get(sheet.cid2index(F_RIGA)));
|
||||
@ -693,9 +737,11 @@ void TPE_mask::save_rate()
|
||||
}
|
||||
|
||||
TEffetto& eff = distinta[rigadist-1];
|
||||
|
||||
eff.put(EFF_DATASCAD, datapag);
|
||||
check_bank(eff, log); // Cerca di sistemare ABI/CAB/IBAN
|
||||
|
||||
|
||||
TRectype& reff = eff.row_r(rigaeff);
|
||||
const real oldimp = reff.get(REFF_IMPORTO);
|
||||
const real oldimpval = reff.get(REFF_IMPORTOVAL);
|
||||
|
@ -44,3 +44,7 @@
|
||||
#define F_RIGADIST 113
|
||||
#define F_RIGAEFF 114
|
||||
#define F_DESC_TIPO 115
|
||||
#define F_CUP 116
|
||||
#define F_DCUP 117
|
||||
#define F_CIG 118
|
||||
#define F_DCIG 119
|
||||
|
@ -337,6 +337,10 @@ BEGIN
|
||||
ITEM "Riga"
|
||||
ITEM "Effetto"
|
||||
ITEM "Tipo Pagamento@20"
|
||||
ITEM "CUP@15"
|
||||
ITEM "Descrizione CUP@50"
|
||||
ITEM "CIG@10"
|
||||
ITEM "Descrizione CIG@50"
|
||||
END
|
||||
|
||||
CURRENCY F_TOTAL 18
|
||||
@ -448,6 +452,53 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CUP 22
|
||||
BEGIN
|
||||
PROMPT 1 8 "CUP "
|
||||
USE %CUP
|
||||
INPUT CODTAB F_CUP
|
||||
DISPLAY "Codice@22" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CUP CODTAB
|
||||
OUTPUT F_DCUP S0
|
||||
FIELD CUP
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DCUP 50 30
|
||||
BEGIN
|
||||
PROMPT 40 8 ""
|
||||
USE %CUP KEY 2
|
||||
INPUT S0 F_DCUP
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice@22" CODTAB
|
||||
COPY OUTPUT F_CUP
|
||||
END
|
||||
|
||||
STRING F_CIG 10
|
||||
BEGIN
|
||||
PROMPT 1 9 "CIG "
|
||||
USE %CIG
|
||||
INPUT CODTAB F_CIG
|
||||
DISPLAY "Codice@10" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice gara" S1
|
||||
OUTPUT F_CIG CODTAB
|
||||
OUTPUT F_DCIG S0
|
||||
FIELD CIG
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DCIG 50 30
|
||||
BEGIN
|
||||
PROMPT 40 9 ""
|
||||
USE %CIG KEY 2
|
||||
INPUT S0 F_DCIG
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice@10" CODTAB
|
||||
COPY OUTPUT F_CIG
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user