Patch level : 10.0 854
Files correlati : cg0.exe ca0.exe Ricompilazione Demo : [ ] Commento : Campi per gestione CUP nei clienti e nelle commesse git-svn-id: svn://10.65.10.50/branches/R_10_00@21263 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1f18a99255
commit
3c7ec717e2
292
ca/ca0600.cpp
292
ca/ca0600.cpp
@ -6,6 +6,7 @@
|
||||
#include "calib01.h"
|
||||
#include "ca0600a.h"
|
||||
#include "commesse.h"
|
||||
#include "cfcms.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//MASCHERA
|
||||
@ -56,7 +57,19 @@ class TCms_app : public TAnal_app
|
||||
bool _has_filter;
|
||||
|
||||
protected:
|
||||
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
|
||||
void fin2row(const TMask& m);
|
||||
void for2row(const TMask& m);
|
||||
void row2fin(const TMask& m);
|
||||
void row2for(const TMask& m);
|
||||
virtual int read(TMask& m);
|
||||
virtual int write(const TMask& m);
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual bool remove();
|
||||
|
||||
virtual void ini2mask(TConfig& ini, TMask&m, bool query);
|
||||
virtual void mask2ini(const TMask& m, TConfig& ini);
|
||||
|
||||
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
|
||||
|
||||
virtual bool filtered() const;
|
||||
|
||||
@ -65,8 +78,285 @@ protected:
|
||||
virtual bool protected_record(TRectype& record);
|
||||
virtual TSimple_anal_msk* create_mask() const { return new TCms_anal_msk; }
|
||||
virtual bool user_create();
|
||||
|
||||
public:
|
||||
|
||||
TCms_app() {}
|
||||
};
|
||||
|
||||
void TCms_app::fin2row(const TMask& m)
|
||||
{
|
||||
const TRelation * r = get_relation();
|
||||
TToken_string key;
|
||||
|
||||
key.add(r->curr().get(COMMESSE_CODCMS));
|
||||
key.add("C");
|
||||
|
||||
TRecord_array fins(key, LF_CFCMS);
|
||||
const int items = fins.rows();
|
||||
TSheet_field & s = m.sfield(F_CMS_FINAN);
|
||||
|
||||
s.destroy();
|
||||
for (int i = 1; i <= items; i++)
|
||||
{
|
||||
const TRectype & rec = fins[i];
|
||||
TToken_string & str = s.row(i - 1);
|
||||
|
||||
|
||||
str.add(rec.get(CFCMS_CODCF), s.cid2index(F_CMS_CODFIN));
|
||||
str.add(rec.get(CFCMS_NRIGABAN), s.cid2index(F_CMS_NRIGABANFIN));
|
||||
str.add(rec.get(CFCMS_CUP), s.cid2index(F_CMS_CUPFIN));
|
||||
str.add(rec.get(CFCMS_CIG), s.cid2index(F_CMS_CIGFIN));
|
||||
str.add(rec.get(CFCMS_PERCFIN), s.cid2index(F_CMS_PERCFINFIN));
|
||||
str.add(rec.get(CFCMS_DESCR), s.cid2index(F_CMS_DESCRFIN));
|
||||
s.check_row(i - 1);
|
||||
}
|
||||
s.force_update();
|
||||
}
|
||||
|
||||
void TCms_app::for2row(const TMask& m)
|
||||
{
|
||||
const TRelation * r = get_relation();
|
||||
TToken_string key;
|
||||
|
||||
key.add(r->curr().get(COMMESSE_CODCMS));
|
||||
key.add("F");
|
||||
|
||||
TRecord_array fors(key, LF_CFCMS);
|
||||
const int items = fors.rows();
|
||||
TSheet_field & s = m.sfield(F_CMS_FORN);
|
||||
|
||||
s.destroy();
|
||||
for (int i = 1; i <= items; i++)
|
||||
{
|
||||
const TRectype & rec = fors[i];
|
||||
TToken_string & str = s.row(i - 1);
|
||||
|
||||
str.add(rec.get(CFCMS_CODCF), s.cid2index(F_CMS_CODFOR));
|
||||
str.add(rec.get(CFCMS_NRIGABAN), s.cid2index(F_CMS_NRIGABANFOR));
|
||||
str.add(rec.get(CFCMS_CUP), s.cid2index(F_CMS_CUPFOR));
|
||||
str.add(rec.get(CFCMS_CIG), s.cid2index(F_CMS_CUPFOR));
|
||||
s.check_row(i - 1);
|
||||
}
|
||||
s.force_update();
|
||||
}
|
||||
|
||||
int TCms_app::read(TMask& m)
|
||||
{
|
||||
int err = TAnal_app::read(m);
|
||||
|
||||
if (err == NOERR)
|
||||
{
|
||||
fin2row(m);
|
||||
for2row(m);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
void TCms_app::row2fin(const TMask& m)
|
||||
{
|
||||
TRelation * r = get_relation();
|
||||
TToken_string key;
|
||||
|
||||
key.add(r->lfile().get(COMMESSE_CODCMS));
|
||||
key.add("C");
|
||||
|
||||
TRecord_array fins(key, LF_CFCMS);
|
||||
TSheet_field & s = m.sfield(F_CMS_FINAN);
|
||||
const int items = s.items();
|
||||
|
||||
fins.destroy_rows();
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
TRectype & rec = fins.row(i + 1, true);
|
||||
TToken_string & str = s.row(i);
|
||||
|
||||
rec.put(CFCMS_CODCF, str.get(s.cid2index(F_CMS_CODFIN)));
|
||||
rec.put(CFCMS_NRIGABAN, str.get(s.cid2index(F_CMS_NRIGABANFIN)));
|
||||
rec.put(CFCMS_CUP, str.get(s.cid2index(F_CMS_CUPFIN)));
|
||||
rec.put(CFCMS_CIG, str.get(s.cid2index(F_CMS_CIGFIN)));
|
||||
rec.put(CFCMS_PERCFIN, str.get(s.cid2index(F_CMS_PERCFINFIN)));
|
||||
rec.put(CFCMS_DESCR, str.get(s.cid2index(F_CMS_DESCRFIN)));
|
||||
}
|
||||
fins.write(true);
|
||||
}
|
||||
|
||||
void TCms_app::row2for(const TMask& m)
|
||||
{
|
||||
TRelation * r = get_relation();
|
||||
TToken_string key;
|
||||
|
||||
key.add(r->lfile().get(COMMESSE_CODCMS));
|
||||
key.add("F");
|
||||
|
||||
TRecord_array fors(key, LF_CFCMS);
|
||||
TSheet_field & s = m.sfield(F_CMS_FORN);
|
||||
const int items = s.items();
|
||||
|
||||
fors.destroy_rows();
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
TRectype & rec = fors.row(i + 1, true);
|
||||
TToken_string & str = s.row(i);
|
||||
|
||||
rec.put(CFCMS_CODCF, str.get(s.cid2index(F_CMS_CODFOR)));
|
||||
rec.put(CFCMS_NRIGABAN, str.get(s.cid2index(F_CMS_NRIGABANFOR)));
|
||||
rec.put(CFCMS_CUP, str.get(s.cid2index(F_CMS_CUPFOR)));
|
||||
rec.put(CFCMS_CIG, str.get(s.cid2index(F_CMS_CIGFOR)));
|
||||
}
|
||||
fors.write(true);
|
||||
}
|
||||
|
||||
int TCms_app::write(const TMask& m)
|
||||
{
|
||||
TRelation * r = get_relation();
|
||||
|
||||
m.autosave(*r);
|
||||
int err = TAnal_app::write(m);
|
||||
if (err == NOERR)
|
||||
{
|
||||
row2fin(m);
|
||||
row2for(m);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
int TCms_app::rewrite(const TMask& m)
|
||||
{
|
||||
TRelation * r = get_relation();
|
||||
|
||||
m.autosave(*r);
|
||||
int err = TAnal_app::rewrite(m);
|
||||
if (err == NOERR)
|
||||
{
|
||||
row2fin(m);
|
||||
row2for(m);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
bool TCms_app::remove()
|
||||
{
|
||||
int err = TAnal_app::remove();
|
||||
if (err == NOERR)
|
||||
{
|
||||
TRelation * r = get_relation();
|
||||
TToken_string key;
|
||||
|
||||
key.add(r->lfile().get(COMMESSE_CODCMS));
|
||||
key.add("C");
|
||||
|
||||
TRecord_array fins(key, LF_CFCMS);
|
||||
|
||||
err = fins.remove();
|
||||
if (err == NOERR)
|
||||
{
|
||||
key.cut(0);
|
||||
key.add(r->lfile().get(COMMESSE_CODCMS));
|
||||
key.add("F");
|
||||
|
||||
TRecord_array fors(key, LF_CFCMS);
|
||||
err = fors.remove();
|
||||
}
|
||||
}
|
||||
return err == NOERR;
|
||||
}
|
||||
|
||||
void TCms_app::ini2mask(TConfig& ini, TMask& m, bool query)
|
||||
{
|
||||
TString p;
|
||||
const TRelation * r = get_relation();
|
||||
|
||||
TAnal_app::ini2mask(ini, m, query);
|
||||
|
||||
if (!query)
|
||||
{
|
||||
int i;
|
||||
p << LF_CFCMS << ",C";
|
||||
TSheet_field & si = m.sfield(F_CMS_FINAN);
|
||||
|
||||
for (i = 0; ; i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
const long codcf = ini.get_long(CFCMS_CODCF, para);
|
||||
if (codcf == 0L)
|
||||
break;
|
||||
TToken_string & row = si.row(i);
|
||||
|
||||
row.add(codcf, si.cid2index(F_CMS_CODFIN));
|
||||
row.add(ini.get(CFCMS_NRIGABAN, para), si.cid2index(F_CMS_NRIGABANFIN));
|
||||
row.add(ini.get(CFCMS_CUP, para), si.cid2index(F_CMS_CUPFIN));
|
||||
row.add(ini.get(CFCMS_CIG, para), si.cid2index(F_CMS_CIGFIN));
|
||||
row.add(ini.get(CFCMS_PERCFIN, para), si.cid2index(F_CMS_PERCFINFIN));
|
||||
row.add(ini.get(CFCMS_DESCR, para), si.cid2index(F_CMS_DESCRFIN));
|
||||
si.update_mask(i - 1);
|
||||
}
|
||||
si.force_update();
|
||||
|
||||
p.cut(0);
|
||||
p << LF_CFCMS << ",F";
|
||||
|
||||
TSheet_field & so = m.sfield(F_CMS_FORN);
|
||||
|
||||
for (i = 0; ; i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
const long codcf = ini.get_long(CFCMS_CODCF, para);
|
||||
if (codcf == 0L)
|
||||
break;
|
||||
TToken_string & row = so.row(i);
|
||||
|
||||
row.add(codcf, so.cid2index(F_CMS_CODFOR));
|
||||
row.add(ini.get(CFCMS_NRIGABAN, para), so.cid2index(F_CMS_NRIGABANFOR));
|
||||
row.add(ini.get(CFCMS_CUP, para), so.cid2index(F_CMS_CUPFOR));
|
||||
row.add(ini.get(CFCMS_CIG, para), so.cid2index(F_CMS_CIGFOR));
|
||||
so.update_mask(i - 1);
|
||||
}
|
||||
so.force_update();
|
||||
}
|
||||
}
|
||||
|
||||
void TCms_app::mask2ini(const TMask& m, TConfig& ini)
|
||||
{
|
||||
TString p;
|
||||
const TRelation * r = get_relation();
|
||||
|
||||
TAnal_app::mask2ini(m, ini);
|
||||
p << LF_CFCMS << ",C";
|
||||
TSheet_field & si = m.sfield(F_CMS_FINAN);
|
||||
int items = si.items();
|
||||
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
TToken_string & row = si.row(i);
|
||||
|
||||
ini.set(CFCMS_CODCF, row.get(si.cid2index(F_CMS_CODFIN)), para);
|
||||
ini.set(CFCMS_NRIGABAN, row.get(si.cid2index(F_CMS_NRIGABANFIN)), para);
|
||||
ini.set(CFCMS_CUP, row.get(si.cid2index(F_CMS_CUPFIN)), para);
|
||||
ini.set(CFCMS_CIG, row.get(si.cid2index(F_CMS_CIGFIN)), para);
|
||||
ini.set(CFCMS_PERCFIN, row.get(si.cid2index(F_CMS_PERCFINFIN)), para);
|
||||
ini.set(CFCMS_DESCR, row.get(si.cid2index(F_CMS_DESCRFIN)), para);
|
||||
}
|
||||
|
||||
p.cut(0);
|
||||
p << LF_CFCMS << ",F";
|
||||
|
||||
TSheet_field & so = m.sfield(F_CMS_FORN);
|
||||
|
||||
items = so.items();
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
TToken_string & row = so.row(i);
|
||||
|
||||
ini.set(CFCMS_CODCF, row.get(so.cid2index(F_CMS_CODFOR)), para);
|
||||
ini.set(CFCMS_NRIGABAN, row.get(so.cid2index(F_CMS_NRIGABANFOR)), para);
|
||||
ini.set(CFCMS_CUP, row.get(so.cid2index(F_CMS_CUPFOR)), para);
|
||||
ini.set(CFCMS_CIG, row.get(so.cid2index(F_CMS_CIGFOR)), para);
|
||||
}
|
||||
}
|
||||
|
||||
bool TCms_app::filtered() const
|
||||
{
|
||||
if (_has_filter)
|
||||
|
27
ca/ca0600a.h
27
ca/ca0600a.h
@ -57,6 +57,8 @@
|
||||
#define F_CMS_CODATT 256
|
||||
#define F_CMS_CODDITTA 257
|
||||
#define F_CMS_INDETR 258
|
||||
#define F_CMS_FINAN 259
|
||||
#define F_CMS_FORN 260
|
||||
|
||||
#define F_CMS_MAG 353
|
||||
#define F_CMS_DESCMAG 354
|
||||
@ -79,3 +81,28 @@
|
||||
|
||||
#define F_CMSDES1 701
|
||||
#define F_CMSDES4 705
|
||||
|
||||
#define F_CMS_CODFIN 101
|
||||
#define F_CMS_RAGFIN 102
|
||||
#define F_CMS_NRIGABANFIN 103
|
||||
#define F_CMS_IBANFIN 104
|
||||
#define F_CMS_CUPFIN 105
|
||||
#define F_CMS_CIGFIN 106
|
||||
#define F_CMS_PERCFINFIN 107
|
||||
#define F_CMS_DESCRFIN 108
|
||||
|
||||
#define F_CMS_DCUPFIN 171
|
||||
#define F_CMS_DCIGFIN 172
|
||||
#define F_CMS_GARAFIN 173
|
||||
#define F_CMS_TIPOCLI 174
|
||||
|
||||
#define F_CMS_CODFOR 101
|
||||
#define F_CMS_RAGFOR 102
|
||||
#define F_CMS_NRIGABANFOR 103
|
||||
#define F_CMS_IBANFOR 104
|
||||
#define F_CMS_CUPFOR 105
|
||||
#define F_CMS_CIGFOR 106
|
||||
|
||||
#define F_CMS_DCUPFOR 171
|
||||
#define F_CMS_DCIGFOR 172
|
||||
#define F_CMS_GARAFOR 173
|
||||
|
347
ca/ca0600a.uml
347
ca/ca0600a.uml
@ -6,7 +6,7 @@ TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 1" 0 0 0 2
|
||||
PAGE "Commessa" 0 0 0 2
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
@ -126,34 +126,7 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 2" -1 -1 64 6
|
||||
|
||||
STRING F_CMS_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 2 1 "Cliente "
|
||||
FIELD CODCF
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CMS_CODCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
OUTPUT F_CMS_CODCF CODCF
|
||||
OUTPUT F_CMS_CRAGSOC RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_CMS_CRAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 20 1 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_CMS_CRAGSOC
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
COPY OUTPUT F_CMS_CODCF
|
||||
END
|
||||
PAGE "Parametri" -1 -1 64 6
|
||||
|
||||
LIST F_CMS_REGIVA 2 14
|
||||
BEGIN
|
||||
@ -415,7 +388,7 @@ END
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Pagina 3" -1 -1 64 6
|
||||
PAGE "Parametri" -1 -1 64 6
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
@ -587,7 +560,7 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pagina 4" 0 0 0 2
|
||||
PAGE "Default" 0 0 0 2
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
@ -596,4 +569,316 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Clienti/Fornitori" 0 0 0 2
|
||||
|
||||
SPREADSHEET F_CMS_FINAN 0 10
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bFinanziatori"
|
||||
ITEM "Codice"
|
||||
ITEM "Ragione Sociale@50"
|
||||
ITEM "Riga banca"
|
||||
ITEM "IBAN@27"
|
||||
ITEM "CUP@22"
|
||||
ITEM "CIG@10"
|
||||
ITEM "% finanziamento"
|
||||
ITEM "Settore/Dipartimento/Servizio@50"
|
||||
END
|
||||
|
||||
SPREADSHEET F_CMS_FORN 0 10
|
||||
BEGIN
|
||||
PROMPT 1 12 "@bFornitori"
|
||||
ITEM "Codice"
|
||||
ITEM "Ragione Sociale@50"
|
||||
ITEM "Riga banca"
|
||||
ITEM "IBAN@27"
|
||||
ITEM "CUP@22"
|
||||
ITEM "CIG@10"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Finanziatori" 0 0 0 2
|
||||
|
||||
STRING F_CMS_CODFIN 6
|
||||
BEGIN
|
||||
PROMPT 2 1 "Cliente "
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CMS_CODFIN
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
OUTPUT F_CMS_CODFIN CODCF
|
||||
OUTPUT F_CMS_RAGFIN RAGSOC
|
||||
OUTPUT F_CMS_TIPOCLI ALLEG
|
||||
CHECKTYPE REQUIRED
|
||||
ADD RUN cg0 -1
|
||||
END
|
||||
|
||||
STRING F_CMS_RAGFIN 50
|
||||
BEGIN
|
||||
PROMPT 20 1 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_CMS_RAGFIN
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
COPY OUTPUT F_CMS_CODFIN
|
||||
END
|
||||
|
||||
LISTBOX F_CMS_TIPOCLI 1 35
|
||||
BEGIN
|
||||
PROMPT 2 60 "Tipo cliente/fornitore "
|
||||
ITEM " |Valido per allegato IVA" MESSAGE CLEAR,1@
|
||||
ITEM "1|Non valido per allegato IVA" MESSAGE CLEAR,1@
|
||||
ITEM "2|Occasionale" MESSAGE CLEAR,1@
|
||||
ITEM "3|Documenti riepilogativi" MESSAGE CLEAR,1@
|
||||
ITEM "4|Codice fiscale gia' inserito" MESSAGE CLEAR,1@
|
||||
ITEM "5|Estero" MESSAGE CLEAR,1@
|
||||
ITEM "6|Privato" MESSAGE CLEAR,1@
|
||||
ITEM "7|Ente pubblico" MESSAGE ENABLE,1@
|
||||
ITEM "8|Fallimento/proc.concorsuale" MESSAGE CLEAR,1@
|
||||
FLAGS "DG"
|
||||
END
|
||||
|
||||
NUMBER F_CMS_NRIGABANFIN 3
|
||||
BEGIN
|
||||
PROMPT 2 3 "Conto corr. "
|
||||
USE LF_CFBAN
|
||||
JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CMS_CODFIN SELECT
|
||||
INPUT TIPOBAN "V"
|
||||
INPUT NRIGA F_CMS_NRIGABANFIN
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||
DISPLAY "IBAN" IBAN
|
||||
OUTPUT F_CMS_NRIGABANFIN NRIGA
|
||||
OUTPUT F_CMS_IBANFIN IBAN
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_CMS_IBANFIN 27
|
||||
BEGIN
|
||||
PROMPT 25 3 "IBAN "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CMS_CUPFIN 22
|
||||
BEGIN
|
||||
PROMPT 2 5 "CUP "
|
||||
USE %CUP
|
||||
INPUT CODTAB F_CMS_CUPFIN
|
||||
DISPLAY "Codice@22" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CMS_CUPFIN CODTAB
|
||||
OUTPUT F_CMS_DCUPFIN S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_CMS_DCUPFIN 50 30
|
||||
BEGIN
|
||||
PROMPT 40 5 ""
|
||||
USE %CUP KEY 2
|
||||
INPUT S0 F_CMS_DCUPFIN
|
||||
DISPLAY "Ragione Sociale@50" S0
|
||||
DISPLAY "Codice@22" CODTAB
|
||||
COPY OUTPUT F_CMS_CUPFIN
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_CMS_CIGFIN 10
|
||||
BEGIN
|
||||
PROMPT 2 6 "CIG "
|
||||
USE %CIG
|
||||
INPUT CODTAB F_CMS_CIGFIN
|
||||
DISPLAY "Codice@10" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice gara" S1
|
||||
OUTPUT F_CMS_CIGFIN CODTAB
|
||||
OUTPUT F_CMS_DCIGFIN S0
|
||||
OUTPUT F_CMS_GARAFIN S1
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_CMS_DCIGFIN 50 30
|
||||
BEGIN
|
||||
PROMPT 40 6 ""
|
||||
USE %CIG KEY 2
|
||||
INPUT S0 F_CMS_DCIGFIN
|
||||
DISPLAY "Ragione Sociale@50" S0
|
||||
DISPLAY "Codice@10" CODTAB
|
||||
COPY OUTPUT F_CMS_CIGFIN
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_CMS_GARAFIN 10
|
||||
BEGIN
|
||||
PROMPT 8 7 "Codice gara "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_CMS_PERCFINFIN 6 2
|
||||
BEGIN
|
||||
PROMPT 8 8 "% di finanz."
|
||||
END
|
||||
|
||||
STRING F_CMS_DESCRFIN 50
|
||||
BEGIN
|
||||
PROMPT 8 9 "Descrizione "
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Fornitori" 0 0 0 2
|
||||
|
||||
STRING F_CMS_CODFOR 6
|
||||
BEGIN
|
||||
PROMPT 2 1 "Fornitore"
|
||||
FIELD CODCF
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_CMS_CODFOR
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
OUTPUT F_CMS_CODFIN CODCF
|
||||
OUTPUT F_CMS_RAGFIN RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
ADD RUN cg0 -1
|
||||
END
|
||||
|
||||
STRING F_CMS_RAGFOR 50
|
||||
BEGIN
|
||||
PROMPT 20 1 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC F_CMS_RAGFOR
|
||||
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
COPY OUTPUT F_CMS_CODFOR
|
||||
END
|
||||
|
||||
NUMBER F_CMS_NRIGABANFOR 3
|
||||
BEGIN
|
||||
PROMPT 2 3 "Conto corr. "
|
||||
USE LF_CFBAN
|
||||
JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_CMS_CODFOR SELECT
|
||||
INPUT TIPOBAN "V"
|
||||
INPUT NRIGA F_CMS_NRIGABANFOR
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||
DISPLAY "IBAN" IBAN
|
||||
OUTPUT F_CMS_NRIGABANFOR NRIGA
|
||||
OUTPUT F_CMS_IBANFOR IBAN
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_CMS_IBANFOR 27
|
||||
BEGIN
|
||||
PROMPT 2 25 "IBAN "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CMS_CUPFOR 22
|
||||
BEGIN
|
||||
PROMPT 2 5 "CUP "
|
||||
USE %CUP
|
||||
INPUT CODTAB F_CMS_CUPFOR
|
||||
DISPLAY "Codice@22" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CMS_CUPFOR CODTAB
|
||||
OUTPUT F_CMS_DCUPFOR S0
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_CMS_DCUPFOR 50 30
|
||||
BEGIN
|
||||
PROMPT 40 5 ""
|
||||
USE %CUP KEY 2
|
||||
INPUT S0 F_CMS_DCUPFOR
|
||||
DISPLAY "Ragione Sociale@50" S0
|
||||
DISPLAY "Codice@22" CODTAB
|
||||
COPY OUTPUT F_CMS_CUPFOR
|
||||
END
|
||||
|
||||
STRING F_CMS_CIGFOR 10
|
||||
BEGIN
|
||||
PROMPT 2 6 "CIG "
|
||||
USE %CIG
|
||||
INPUT CODTAB F_CMS_CIGFOR
|
||||
DISPLAY "Codice@10" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice gara" S1
|
||||
OUTPUT F_CMS_CIGFOR CODTAB
|
||||
OUTPUT F_CMS_DCIGFOR S0
|
||||
OUTPUT F_CMS_GARAFOR S1
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_CMS_DCIGFOR 50 30
|
||||
BEGIN
|
||||
PROMPT 40 6 ""
|
||||
USE %CIG KEY 2
|
||||
INPUT S0 F_CMS_DCIGFOR
|
||||
DISPLAY "Ragione Sociale@50" S0
|
||||
DISPLAY "Codice@10" CODTAB
|
||||
COPY OUTPUT F_CMS_CIGFOR
|
||||
END
|
||||
|
||||
STRING F_CMS_GARAFOR 10
|
||||
BEGIN
|
||||
PROMPT 8 7 "Codice gara "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
10
ca/cfcms.h
Executable file
10
ca/cfcms.h
Executable file
@ -0,0 +1,10 @@
|
||||
#define CFCMS_COMMESSA "COMMESSA"
|
||||
#define CFCMS_TIPOCF "TIPOCF"
|
||||
#define CFCMS_NRIGA "NRIGA"
|
||||
#define CFCMS_CODCF "CODCF"
|
||||
#define CFCMS_DESCR "DESCR"
|
||||
#define CFCMS_NRIGABAN "NRIGABAN"
|
||||
#define CFCMS_CUP "CUP"
|
||||
#define CFCMS_CIG "CIG"
|
||||
#define CFCMS_CINT "CINT"
|
||||
#define CFCMS_PERCFIN "PERCFIN"
|
@ -1,3 +1,3 @@
|
||||
99
|
||||
0
|
||||
$cmscf|0|0|60|0|Clienti Fornitori per commessa|||
|
||||
$cmscf|0|0|145|0|Clienti Fornitori per commessa|||
|
||||
|
@ -1,11 +1,14 @@
|
||||
99
|
||||
7
|
||||
10
|
||||
COMMESSA|1|20|0|Codice commessa
|
||||
TIPOCF|1|1|0|Tipo (<C>liente/<F>ornitore)
|
||||
NRIGA|2|3|0|Numero riga
|
||||
CODCF|3|6|0|Codice cliente/fornitore
|
||||
DESCR|1|70|0|Descrizione servizio/dipartimento/assessorato/centro di costo/commessa
|
||||
NRIGABAN|2|3|0|Numero riga Banca
|
||||
CUP|1|20|0|Codice CUP/ CIG
|
||||
CUP|1|15|0|Codice CUP/ CIG
|
||||
CIG|1|10|0|Codice Identificativo Gara
|
||||
CINT|1|10|0|Codice Identificativo Interno del finanazioamento (Privati)
|
||||
PERCFIN|4|6|2|Percentuale di finanziamento
|
||||
1
|
||||
COMMESSA+TIPOCF+NRIGA|
|
||||
|
10
cg/cfban.h
Executable file
10
cg/cfban.h
Executable file
@ -0,0 +1,10 @@
|
||||
#define CFBAN_TIPOCF "TIPOCF"
|
||||
#define CFBAN_CODCF "CODCF"
|
||||
#define CFBAN_TIPOBAN "TIPOBAN"
|
||||
#define CFBAN_NRIGA "NRIGA"
|
||||
#define CFBAN_ABI "ABI"
|
||||
#define CFBAN_CAB "CAB"
|
||||
#define CFBAN_PROGPR "PROGPR"
|
||||
#define CFBAN_NUMCC "NUMCC"
|
||||
#define CFBAN_IBAN "IBAN"
|
||||
|
280
cg/cg0200.cpp
280
cg/cg0200.cpp
@ -19,6 +19,7 @@
|
||||
#include <comuni.h>
|
||||
#include <indsp.h>
|
||||
#include <mov.h>
|
||||
#include "cfban.h"
|
||||
|
||||
class TClifo_application : public TRelation_application
|
||||
{
|
||||
@ -56,6 +57,7 @@ protected:
|
||||
virtual int write(const TMask& m);
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual int read(TMask& m);
|
||||
virtual bool remove();
|
||||
|
||||
virtual void ini2mask(TConfig& ini, TMask&m, bool query);
|
||||
virtual void mask2ini(const TMask& m, TConfig& ini);
|
||||
@ -634,7 +636,6 @@ void TClifo_application::init_insert_mode(TMask& m)
|
||||
void TClifo_application::init_modify_mode(TMask& m)
|
||||
{
|
||||
m.enable_page(4, _gesven);
|
||||
m.efield(F_IBAN_STATO).validate(K_TAB); // Decodifica IBAN
|
||||
m.enable(DLG_CONTRLAV, main_app().has_module(LVAUT) && m.get(F_TIPOCF) == "C");
|
||||
}
|
||||
|
||||
@ -662,13 +663,15 @@ int TClifo_application::read(TMask& m)
|
||||
const TRectype& cfven = get_relation()->curr(LF_CFVEN);
|
||||
TToken_string nonacc(cfven.get(CFV_NONACCEFF), ';');
|
||||
TToken_string nonscd(cfven.get(CFV_NONSCADEFF), ';');
|
||||
int i;
|
||||
|
||||
set_pnae(m, nonacc, nonscd);
|
||||
|
||||
if (_gesven)
|
||||
{
|
||||
TToken_string riga(240);
|
||||
indsp_sheet().reset();
|
||||
for (int i=0; i< _rel->indirizzi_items();i++)
|
||||
for (i = 0; i < _rel->indirizzi_items(); i++)
|
||||
{
|
||||
TRectype& rec=_rel->indirizzo(i);
|
||||
riga.cut(0);
|
||||
@ -706,12 +709,83 @@ int TClifo_application::read(TMask& m)
|
||||
field_sheet(F_CODINDEFF).add(riga);
|
||||
}
|
||||
}
|
||||
TToken_string key;
|
||||
|
||||
key.add(m.get(F_TIPOCF));
|
||||
key.add(m.get(F_CODCF));
|
||||
key.add("V");
|
||||
|
||||
TRecord_array ns_ban(key, LF_CFBAN);
|
||||
const TRectype& clifo = get_relation()->curr(LF_CLIFO);
|
||||
TSheet_field & ns_sh = m.sfield(F_BANA);
|
||||
|
||||
ns_sh.destroy(-1, false);
|
||||
for (i = 1; i <= ns_ban.rows(); i++)
|
||||
{
|
||||
TToken_string & row = ns_sh.row(i -1);
|
||||
const TRectype & ban = ns_ban.row(i);
|
||||
|
||||
row.add(ban.get(CFBAN_ABI), ns_sh.cid2index(F_BBAN_ABI));
|
||||
row.add(ban.get(CFBAN_CAB), ns_sh.cid2index(F_BBAN_CAB));
|
||||
row.add(ban.get(CFBAN_NUMCC), ns_sh.cid2index(F_BBAN_CONTO));
|
||||
|
||||
const TString & iban = ban.get(CFBAN_IBAN);
|
||||
|
||||
row.add(iban, ns_sh.cid2index(F_IBAN));
|
||||
ns_sh.update_mask(i - 1);
|
||||
if (iban.full())
|
||||
ns_sh.sheet_row_mask(i - 1).efield(F_IBAN_STATO).validate(K_TAB); // Decodifica IBAN
|
||||
ns_sh.update_row(i - 1);
|
||||
}
|
||||
if (ns_ban.rows() == 0 && clifo.get_int(CLI_CODABI) != 0)
|
||||
{
|
||||
TToken_string & row = ns_sh.row(0);
|
||||
|
||||
row.add(clifo.get(CLI_CODABI), ns_sh.cid2index(F_BBAN_ABI));
|
||||
row.add(clifo.get(CLI_CODCAB), ns_sh.cid2index(F_BBAN_CAB));
|
||||
row.add(clifo.get(CLI_NUMCC), ns_sh.cid2index(F_BBAN_CONTO));
|
||||
|
||||
const TString & iban = clifo.get(CLI_IBAN);
|
||||
|
||||
row.add(iban, ns_sh.cid2index(F_IBAN));
|
||||
ns_sh.update_mask(0);
|
||||
}
|
||||
key.cut(0);
|
||||
key.add(m.get(F_TIPOCF));
|
||||
key.add(m.get(F_CODCF));
|
||||
key.add("N");
|
||||
|
||||
TRecord_array vs_ban(key, LF_CFBAN);
|
||||
TSheet_field & vs_sh = m.sfield(F_BANP);
|
||||
|
||||
vs_sh.destroy(-1, false);
|
||||
for (i = 1; i <= vs_ban.rows(); i++)
|
||||
{
|
||||
TToken_string & row = vs_sh.row(i -1);
|
||||
const TRectype & ban = vs_ban.row(i);
|
||||
|
||||
row.add(ban.get(CFBAN_ABI), vs_sh.cid2index(F_BBAN_ABI));
|
||||
row.add(ban.get(CFBAN_CAB), vs_sh.cid2index(F_BBAN_CAB));
|
||||
row.add(ban.get(CFBAN_PROGPR), vs_sh.cid2index(F_PROGPR));
|
||||
vs_sh.update_mask(i - 1);
|
||||
vs_sh.sheet_row_mask(i - 1).efield(F_IBAN_STATO).validate(K_TAB); // Decodifica IBAN
|
||||
vs_sh.update_row(i - 1);
|
||||
}
|
||||
if (vs_ban.rows() == 0 && cfven.get_int(CFV_CODABIPR) != 0)
|
||||
{
|
||||
TToken_string & row = vs_sh.row(0);
|
||||
|
||||
row.add(cfven.get(CFV_CODABIPR), vs_sh.cid2index(F_BBAN_ABI));
|
||||
row.add(cfven.get(CFV_CODCABPR), vs_sh.cid2index(F_BBAN_CAB));
|
||||
vs_sh.update_mask(0);
|
||||
}
|
||||
return _rel->status();
|
||||
}
|
||||
|
||||
void TClifo_application::ini2mask(TConfig& ini, TMask& m, bool query)
|
||||
{
|
||||
TRelation_application::ini2mask(ini, m, query);
|
||||
int i;
|
||||
|
||||
if (!query)
|
||||
{
|
||||
@ -728,7 +802,7 @@ void TClifo_application::ini2mask(TConfig& ini, TMask& m, bool query)
|
||||
{
|
||||
TToken_string riga(240);
|
||||
TString16 para;
|
||||
for (int i=0; ;i++)
|
||||
for (i = 0; ; i++)
|
||||
{
|
||||
para.format("%d,%d", LF_INDSP, i+1);
|
||||
if (!ini.set_paragraph(para))
|
||||
@ -773,18 +847,87 @@ void TClifo_application::ini2mask(TConfig& ini, TMask& m, bool query)
|
||||
}
|
||||
}
|
||||
}
|
||||
TString p;
|
||||
|
||||
p << LF_CFBAN << ",V";
|
||||
TSheet_field & ns_sh = m.sfield(F_BANA);
|
||||
|
||||
for (i = 0; ; i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
const TString & abi = ini.get(CFBAN_ABI, para);
|
||||
if (abi.blank())
|
||||
break;
|
||||
TToken_string & row = ns_sh.row(i);
|
||||
|
||||
row.add(abi, ns_sh.cid2index(F_BBAN_ABI));
|
||||
row.add(ini.get(CFBAN_CAB, para), ns_sh.cid2index(F_BBAN_CAB));
|
||||
row.add(ini.get(CFBAN_NUMCC, para), ns_sh.cid2index(F_BBAN_CONTO));
|
||||
|
||||
const TString & iban = ini.get(CFBAN_IBAN, para);
|
||||
|
||||
row.add(iban, ns_sh.cid2index(F_IBAN));
|
||||
ns_sh.update_mask(i - 1);
|
||||
}
|
||||
p.cut(0);
|
||||
p << LF_CFBAN << ",N";
|
||||
TSheet_field & vs_sh = m.sfield(F_BANP);
|
||||
|
||||
for (i = 0; ; i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
const TString & abi = ini.get(CFBAN_ABI, para);
|
||||
|
||||
if (abi.blank())
|
||||
break;
|
||||
TToken_string & row = vs_sh.row(i);
|
||||
|
||||
row.add(abi, vs_sh.cid2index(F_BBAN_ABI));
|
||||
row.add(ini.get(CFBAN_CAB, para), vs_sh.cid2index(F_BBAN_CAB));
|
||||
row.add(ini.get(CFBAN_PROGPR, para), vs_sh.cid2index(F_PROGPR));
|
||||
vs_sh.update_mask(i - 1);
|
||||
}
|
||||
}
|
||||
|
||||
int TClifo_application::rewrite(const TMask& m)
|
||||
{
|
||||
common_f(m);
|
||||
return TRelation_application::rewrite(m);
|
||||
common_f(m);
|
||||
return TRelation_application::rewrite(m);
|
||||
}
|
||||
|
||||
int TClifo_application::write(const TMask& m)
|
||||
{
|
||||
common_f(m);
|
||||
return TRelation_application::write(m);
|
||||
common_f(m);
|
||||
return TRelation_application::write(m);
|
||||
}
|
||||
|
||||
bool TClifo_application::remove()
|
||||
{
|
||||
int err = TRelation_application::remove();
|
||||
|
||||
if (err == NOERR)
|
||||
{
|
||||
TRelation * r = get_relation();
|
||||
TToken_string key;
|
||||
|
||||
key.add(r->lfile().get(CLI_TIPOCF));
|
||||
key.add(r->lfile().get(CLI_CODCF));
|
||||
key.add("V");
|
||||
|
||||
TRecord_array ns_ban(key, LF_CFBAN);
|
||||
|
||||
ns_ban.remove();
|
||||
|
||||
key.cut(0);
|
||||
key.add(r->lfile().get(CLI_TIPOCF));
|
||||
key.add(r->lfile().get(CLI_CODCF));
|
||||
key.add("N");
|
||||
|
||||
TRecord_array vs_ban(key, LF_CFBAN);
|
||||
|
||||
vs_ban.remove();
|
||||
}
|
||||
return err == NOERR;
|
||||
}
|
||||
|
||||
void TClifo_application::mask2ini(const TMask& m, TConfig& ini)
|
||||
@ -795,6 +938,7 @@ void TClifo_application::mask2ini(const TMask& m, TConfig& ini)
|
||||
get_pnae(m, nonacceff, nonscadeff);
|
||||
ini.set(CFV_NONACCEFF, nonacceff, "17");
|
||||
ini.set(CFV_NONSCADEFF, nonscadeff, "17");
|
||||
int i;
|
||||
|
||||
if (_gesven)
|
||||
{
|
||||
@ -805,7 +949,6 @@ void TClifo_application::mask2ini(const TMask& m, TConfig& ini)
|
||||
const int n_items = rows.items();
|
||||
|
||||
TString16 para;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < n_items; i++)
|
||||
{
|
||||
@ -838,6 +981,53 @@ void TClifo_application::mask2ini(const TMask& m, TConfig& ini)
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
TString p;
|
||||
|
||||
p << LF_CFBAN << ",V";
|
||||
TSheet_field & ns_sh = m.sfield(F_BANA);
|
||||
|
||||
for (int i = 0; i < ns_sh.items(); i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
TToken_string & row = ns_sh.row(i);
|
||||
|
||||
ini.set(CFBAN_ABI, row.get(ns_sh.cid2index(F_BBAN_ABI)), para);
|
||||
ini.set(CFBAN_CAB, row.get(ns_sh.cid2index(F_BBAN_CAB)), para);
|
||||
ini.set(CFBAN_NUMCC, row.get(ns_sh.cid2index(F_BBAN_CONTO)), para);
|
||||
ini.set(CFBAN_IBAN, row.get(ns_sh.cid2index(F_IBAN)), para);
|
||||
}
|
||||
for ( ; ; i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
|
||||
if (ini.set_paragraph(para))
|
||||
ini.remove_all();
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
p.cut(0);
|
||||
p << LF_CFBAN << ",N";
|
||||
TSheet_field & vs_sh = m.sfield(F_BANP);
|
||||
|
||||
for (i = 0; i < vs_sh.items(); i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
TToken_string & row = vs_sh.row(i);
|
||||
|
||||
ini.set(CFBAN_ABI, row.get(vs_sh.cid2index(F_BBAN_ABI)), para);
|
||||
ini.set(CFBAN_CAB, row.get(vs_sh.cid2index(F_BBAN_CAB)), para);
|
||||
ini.set(CFBAN_PROGPR, row.get(vs_sh.cid2index(F_PROGPR)), para);
|
||||
}
|
||||
for ( ; ; i++)
|
||||
{
|
||||
TString para(p); para << "," << i + 1;
|
||||
|
||||
if (ini.set_paragraph(para))
|
||||
ini.remove_all();
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -908,6 +1098,7 @@ void TClifo_application::get_pnae(const TMask& m, TToken_string& nonacceff, TTok
|
||||
void TClifo_application::common_f(const TMask& m)
|
||||
{
|
||||
TString alter = m.get(F_RICALT);
|
||||
int i;
|
||||
|
||||
if (alter.blank() && m.mode() == MODE_INS)
|
||||
((TMask &)m).set(F_RICALT, m.get(F_RAGSOC).left(m.field(F_RICALT).size()));
|
||||
@ -928,7 +1119,7 @@ void TClifo_application::common_f(const TMask& m)
|
||||
TArray& rows=indsp_sheet().rows_array();
|
||||
int n_items = rows.items();
|
||||
|
||||
for (int i = 0; i < n_items; i++)
|
||||
for (i = 0; i < n_items; i++)
|
||||
{
|
||||
TToken_string& row=(TToken_string&)rows[i];
|
||||
TRectype& rec=_rel->indirizzo(i);
|
||||
@ -953,6 +1144,73 @@ void TClifo_application::common_f(const TMask& m)
|
||||
rec.put(IND_CODIND,i+1);
|
||||
}
|
||||
}
|
||||
TToken_string key;
|
||||
|
||||
key.add(m.get(F_TIPOCF));
|
||||
key.add(m.get(F_CODCF));
|
||||
key.add("V");
|
||||
|
||||
TRecord_array ns_ban(key, LF_CFBAN);
|
||||
TRectype& clifo = get_relation()->curr(LF_CLIFO);
|
||||
TSheet_field & ns_sh = m.sfield(F_BANA);
|
||||
const int nsrow = ns_sh.items();
|
||||
|
||||
for (i = 0; i < nsrow; i++)
|
||||
{
|
||||
TToken_string & row = ns_sh.row(i);
|
||||
TRectype & ban = ns_ban.row(i + 1, true);
|
||||
|
||||
ban.put(CFBAN_ABI, row.get(ns_sh.cid2index(F_BBAN_ABI)));
|
||||
ban.put(CFBAN_CAB, row.get(ns_sh.cid2index(F_BBAN_CAB)));
|
||||
ban.put(CFBAN_NUMCC, row.get(ns_sh.cid2index(F_BBAN_CONTO)));
|
||||
ban.put(CFBAN_IBAN, row.get(ns_sh.cid2index(F_IBAN)));
|
||||
if (i == 0)
|
||||
{
|
||||
clifo.put(CLI_CODABI, row.get(ns_sh.cid2index(F_BBAN_ABI)));
|
||||
clifo.put(CLI_CODCAB, row.get(ns_sh.cid2index(F_BBAN_CAB)));
|
||||
clifo.put(CLI_NUMCC, row.get(ns_sh.cid2index(F_BBAN_CONTO)));
|
||||
clifo.put(CLI_IBAN, row.get(ns_sh.cid2index(F_IBAN)));
|
||||
}
|
||||
}
|
||||
if (nsrow == 0)
|
||||
{
|
||||
clifo.zero(CLI_CODABI);
|
||||
clifo.zero(CLI_CODCAB);
|
||||
clifo.zero(CLI_NUMCC);
|
||||
clifo.zero(CLI_IBAN);
|
||||
}
|
||||
if (ns_ban.write(true) != NOERR)
|
||||
return;
|
||||
|
||||
key.cut(0);
|
||||
key.add(m.get(F_TIPOCF));
|
||||
key.add(m.get(F_CODCF));
|
||||
key.add("N");
|
||||
|
||||
TRecord_array vs_ban(key, LF_CFBAN);
|
||||
TSheet_field & vs_sh = m.sfield(F_BANP);
|
||||
const int vsrow = vs_sh.items();
|
||||
|
||||
for (i = 0; i < vsrow; i++)
|
||||
{
|
||||
TToken_string & row = vs_sh.row(i);
|
||||
TRectype & ban = vs_ban.row(i + 1, true);
|
||||
|
||||
ban.put(CFBAN_ABI, row.get(vs_sh.cid2index(F_BBAN_ABI)));
|
||||
ban.put(CFBAN_CAB, row.get(vs_sh.cid2index(F_BBAN_CAB)));
|
||||
ban.put(CFBAN_PROGPR, row.get(vs_sh.cid2index(F_PROGPR)));
|
||||
if (i == 0)
|
||||
{
|
||||
cfven.put(CFV_CODABIPR, row.get(ns_sh.cid2index(F_BBAN_ABI)));
|
||||
cfven.put(CFV_CODCABPR, row.get(ns_sh.cid2index(F_BBAN_CAB)));
|
||||
}
|
||||
}
|
||||
if (vsrow == 0)
|
||||
{
|
||||
cfven.zero(CFV_CODABIPR);
|
||||
cfven.zero(CFV_CODCABPR);
|
||||
}
|
||||
vs_ban.write(true);
|
||||
}
|
||||
|
||||
void TClifo_application::indsp_sheet_rebuilder()
|
||||
@ -1046,7 +1304,6 @@ bool TClifo_application::user_create() // initvar e arrmask
|
||||
LF_ANAGFIS, LF_PCON, LF_COMUNI, 0);
|
||||
_has_cg = has_module(CGAUT, CHK_DONGLE);
|
||||
_rel = new TClifoVI;
|
||||
|
||||
_msk = new TMask("cg0200a") ;
|
||||
|
||||
_msk->set_handler(F_TIPOCF, tipocf_handler);
|
||||
@ -1075,8 +1332,7 @@ bool TClifo_application::user_create() // initvar e arrmask
|
||||
|
||||
bool TClifo_application::user_destroy() // releasev e arrmask
|
||||
{
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
delete _rel;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
30
cg/cg0200.h
30
cg/cg0200.h
@ -40,19 +40,7 @@
|
||||
#define F_CODPAG 131
|
||||
#define F_DESPAG 331
|
||||
#define F_RAGSOC1 132
|
||||
#define F_CODABI 133
|
||||
#define F_CODCAB 134
|
||||
|
||||
#define F_IBAN 350
|
||||
#define F_IBAN_STATO 351
|
||||
#define F_IBAN_CHECK 352
|
||||
#define F_BBAN 353
|
||||
#define F_BBAN_CIN 354
|
||||
#define F_BBAN_ABI 355
|
||||
#define F_BBAN_CAB 356
|
||||
#define F_BBAN_CONTO 357
|
||||
|
||||
#define F_DESBAN 140
|
||||
#define F_CODVAL 136
|
||||
#define F_DESVAL 336
|
||||
#define F_FIDO 139
|
||||
@ -137,7 +125,6 @@
|
||||
#define F_RAGSOCALLEG 228
|
||||
#define F_CODDEP 230
|
||||
#define F_RAGGEFF 232
|
||||
#define F_NUMCC 233
|
||||
#define F_CODLIST1 234
|
||||
#define F_ESACC 235
|
||||
#define F_ESALL 236
|
||||
@ -174,6 +161,23 @@
|
||||
#define F_DOCMAIL 307
|
||||
#define DLG_ANAG 308
|
||||
#define DLG_CONTRLAV 309
|
||||
#define F_BANA 310
|
||||
#define F_BANP 311
|
||||
#define F_DIPPUBB 312
|
||||
#define F_ENTE 313
|
||||
#define F_AUTORIZ 314
|
||||
|
||||
#define F_IBAN_STATO 101
|
||||
#define F_IBAN_CHECK 102
|
||||
#define F_BBAN_CIN 103
|
||||
#define F_BBAN_ABI 104
|
||||
#define F_BBAN_CAB 105
|
||||
#define F_BBAN_CONTO 106
|
||||
#define F_PROGPR 107
|
||||
#define F_DESBAN 108
|
||||
#define F_IBAN 109
|
||||
|
||||
#define F_BBAN 350
|
||||
|
||||
|
||||
//////////////////////////////////////
|
||||
|
478
cg/cg0200a.uml
478
cg/cg0200a.uml
@ -626,7 +626,7 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Banche/Condizioni" -1 -1 78 19
|
||||
PAGE "Banche" -1 -1 78 19
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
@ -663,115 +663,86 @@ BEGIN
|
||||
GROUP 6
|
||||
END
|
||||
|
||||
NUMBER F_CODABI 5
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 4 "Banca d'appoggio "
|
||||
FIELD CODABI
|
||||
FLAGS "Z"
|
||||
USE %BAN SELECT CODTAB ?= "?????"
|
||||
INPUT CODTAB F_CODABI
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_CODABI CODTAB[1,5]
|
||||
HELP "Codice ABI banca del C/F"
|
||||
CHECKTYPE NORMAL
|
||||
MESSAGE COPY,F_BBAN_ABI
|
||||
PROMPT 0 4 "@bBanche di appoggio"
|
||||
END
|
||||
|
||||
NUMBER F_CODCAB 5
|
||||
SPREADSHEET F_BANA 80 7
|
||||
BEGIN
|
||||
PROMPT 28 4 ""
|
||||
FIELD CODCAB
|
||||
FLAGS "Z"
|
||||
USE %BAN SELECT CODTAB ?= "??????????"
|
||||
INPUT CODTAB[1,5] F_CODABI
|
||||
INPUT CODTAB[6,10] F_CODCAB
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_CODABI CODTAB[1,5]
|
||||
OUTPUT F_CODCAB CODTAB[6,10]
|
||||
OUTPUT F_DESBAN S0
|
||||
HELP "Codice CAB banca del C/F"
|
||||
CHECKTYPE NORMAL
|
||||
MESSAGE COPY,F_BBAN_CAB
|
||||
PROMPT 0 5 ""
|
||||
ITEM "IBAN\nStato"
|
||||
ITEM "IBAN\nCheck"
|
||||
ITEM "IBAN\nCIN"
|
||||
ITEM "IBAN\nABI"
|
||||
ITEM "IBAN\nCAB"
|
||||
ITEM "IBAN\nConto@12"
|
||||
ITEM "@1"
|
||||
ITEM "Descrizione@50"
|
||||
ITEM "IBAN@27"
|
||||
END
|
||||
|
||||
STRING F_DESBAN 50 37
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 37 4 ""
|
||||
USE %BAN KEY 2 SELECT CODTAB ?= "??????????"
|
||||
INPUT S0 F_DESBAN
|
||||
DISPLAY "Denominazione@50" S0
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||
COPY OUTPUT F_CODCAB
|
||||
PROMPT 0 14 "@bBanche di presentazione"
|
||||
END
|
||||
|
||||
STRING F_NUMCC 20
|
||||
SPREADSHEET F_BANP 80 7
|
||||
BEGIN
|
||||
PROMPT 2 5 "Conto corrente "
|
||||
FIELD NUMCC
|
||||
FLAGS "U"
|
||||
PROMPT 0 15 ""
|
||||
ITEM "IBAN\nStato"
|
||||
ITEM "IBAN\nCheck"
|
||||
ITEM "IBAN\nCIN"
|
||||
ITEM "IBAN\nABI"
|
||||
ITEM "IBAN\nCAB"
|
||||
ITEM "IBAN\nConto@12"
|
||||
ITEM "Progressivo"
|
||||
ITEM "Descrizione@50"
|
||||
ITEM "IBAN@27"
|
||||
END
|
||||
|
||||
STRING F_IBAN 34
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Condizioni" -1 -1 78 19
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
PROMPT 2 60 ""
|
||||
PROMPT 1 0 "Dati identificativi"
|
||||
END
|
||||
|
||||
LIST DLG_NULL 1 11
|
||||
BEGIN
|
||||
PROMPT 2 1 "Tipo "
|
||||
FLAGS "D"
|
||||
FIELD IBAN
|
||||
GROUP 1
|
||||
ITEM "C|Clienti"
|
||||
ITEM "F|Fornitori"
|
||||
END
|
||||
|
||||
STRING F_IBAN_STATO 2
|
||||
NUMBER DLG_NULL 6
|
||||
BEGIN
|
||||
PROMPT 2 6 "Codice IBAN "
|
||||
FLAGS "U"
|
||||
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||
PROMPT 2 2 "Codice "
|
||||
FLAGS "RD"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_IBAN_CHECK 2
|
||||
STRING DLG_NULL 30
|
||||
BEGIN
|
||||
PROMPT 24 6 ""
|
||||
FLAGS "UZ"
|
||||
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||
PROMPT 25 1 "Cognome/Rag. Soc. "
|
||||
FLAGS "D"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRINGA F_BBAN 30
|
||||
STRING DLG_NULL 20
|
||||
BEGIN
|
||||
PROMPT 33 6 "BBAN "
|
||||
FLAGS "UH"
|
||||
PROMPT 25 2 "Nome/Seconda parte Rag. Soc. "
|
||||
FLAGS "D"
|
||||
GROUP 6
|
||||
END
|
||||
|
||||
STRINGA F_BBAN_CIN 1
|
||||
BEGIN
|
||||
PROMPT 33 6 "BBAN "
|
||||
FLAGS "U"
|
||||
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||
END
|
||||
|
||||
NUMBER F_BBAN_ABI 5
|
||||
BEGIN
|
||||
PROMPT 41 6 ""
|
||||
FLAGS "DGZ"
|
||||
END
|
||||
|
||||
NUMBER F_BBAN_CAB 5
|
||||
BEGIN
|
||||
PROMPT 48 6 ""
|
||||
FLAGS "DGZ"
|
||||
END
|
||||
|
||||
STRING F_BBAN_CONTO 12
|
||||
BEGIN
|
||||
PROMPT 55 6 ""
|
||||
FLAGS "UZ"
|
||||
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||
END
|
||||
|
||||
|
||||
STRING F_CODVAL 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Valuta "
|
||||
PROMPT 2 4 "Valuta "
|
||||
FLAGS "UZ"
|
||||
FIELD CODVAL
|
||||
USE %VAL
|
||||
@ -785,7 +756,7 @@ END
|
||||
|
||||
STRING F_DESVAL 50
|
||||
BEGIN
|
||||
PROMPT 22 8 ""
|
||||
PROMPT 22 4 ""
|
||||
USE %VAL KEY 2
|
||||
INPUT S0 F_DESVAL
|
||||
DISPLAY "Descrizione@50" S0
|
||||
@ -796,7 +767,7 @@ END
|
||||
|
||||
STRING F_CODVALINTRA 3
|
||||
BEGIN
|
||||
PROMPT 2 9 "Valuta INTRA "
|
||||
PROMPT 2 5 "Valuta INTRA "
|
||||
FLAGS "UZ"
|
||||
FIELD VALINTRA
|
||||
COPY USE F_CODVAL
|
||||
@ -810,7 +781,7 @@ END
|
||||
|
||||
STRING F_DESVALINTRA 50
|
||||
BEGIN
|
||||
PROMPT 22 9 ""
|
||||
PROMPT 22 5 ""
|
||||
COPY USE F_DESVAL
|
||||
INPUT S0 F_DESVALINTRA
|
||||
COPY DISPLAY F_DESVAL
|
||||
@ -821,7 +792,7 @@ END
|
||||
|
||||
STRING F_CODLIN 1
|
||||
BEGIN
|
||||
PROMPT 2 10 "Lingua "
|
||||
PROMPT 2 6 "Lingua "
|
||||
FIELD CODLIN
|
||||
USE %LNG
|
||||
FLAGS "U"
|
||||
@ -836,7 +807,7 @@ END
|
||||
|
||||
STRING F_DESLIN 50
|
||||
BEGIN
|
||||
PROMPT 22 10 ""
|
||||
PROMPT 22 6 ""
|
||||
USE %LNG KEY 2
|
||||
INPUT S0 F_DESLIN
|
||||
DISPLAY "Descrizione@50" S0
|
||||
@ -847,7 +818,7 @@ END
|
||||
|
||||
STRING F_CODPAG 4
|
||||
BEGIN
|
||||
PROMPT 2 11 "Pagamento "
|
||||
PROMPT 2 7 "Pagamento "
|
||||
FIELD CODPAG
|
||||
FLAGS "U#"
|
||||
USE %CPG
|
||||
@ -863,7 +834,7 @@ END
|
||||
|
||||
STRING F_DESPAG 50
|
||||
BEGIN
|
||||
PROMPT 22 11 ""
|
||||
PROMPT 22 7 ""
|
||||
USE %CPG KEY 2
|
||||
INPUT S0 F_DESPAG
|
||||
DISPLAY "Descrizione@50" S0
|
||||
@ -875,7 +846,7 @@ END
|
||||
|
||||
CURRENCY F_FIDO 15
|
||||
BEGIN
|
||||
PROMPT 2 12 "Fido "
|
||||
PROMPT 2 8 "Fido "
|
||||
FIELD FIDO
|
||||
DRIVENBY F_CODVAL
|
||||
HELP "Importo massimo fido del cliente/fornitore"
|
||||
@ -883,18 +854,18 @@ END
|
||||
|
||||
GROUPBOX DLG_NULL 76 3
|
||||
BEGIN
|
||||
PROMPT 1 13 "@bConto cliente/fornitore"
|
||||
PROMPT 1 9 "@bConto cliente/fornitore"
|
||||
END
|
||||
|
||||
NUMBER F_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 2 14 "Grp."
|
||||
PROMPT 2 10 "Grp."
|
||||
FIELD GRUPPO
|
||||
END
|
||||
|
||||
NUMBER F_CONTO 3
|
||||
BEGIN
|
||||
PROMPT 11 14 "Cnt."
|
||||
PROMPT 11 10 "Cnt."
|
||||
FIELD CONTO
|
||||
USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
|
||||
INPUT GRUPPO F_GRUPPO
|
||||
@ -912,7 +883,7 @@ END
|
||||
|
||||
STRING F_DESCONTO 50
|
||||
BEGIN
|
||||
PROMPT 22 14 ""
|
||||
PROMPT 22 10 ""
|
||||
USE LF_PCON KEY 2 SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
|
||||
INPUT DESCR F_DESCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
@ -925,18 +896,18 @@ END
|
||||
|
||||
GROUPBOX DLG_RIC 76 4
|
||||
BEGIN
|
||||
PROMPT 1 16 "@bConto di ricavo"
|
||||
PROMPT 1 12 "@bConto di ricavo"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_CST 76 4
|
||||
BEGIN
|
||||
PROMPT 1 16 "@bConto di costo"
|
||||
PROMPT 1 12 "@bConto di costo"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER F_GRUPPORIC 3
|
||||
BEGIN
|
||||
PROMPT 2 17 "Gruppo "
|
||||
PROMPT 2 13 "Gruppo "
|
||||
FIELD GRUPPORIC
|
||||
FLAGS "R"
|
||||
HELP "Gruppo di contropartita"
|
||||
@ -944,7 +915,7 @@ END
|
||||
|
||||
NUMBER F_CONTORIC 3
|
||||
BEGIN
|
||||
PROMPT 27 17 "Conto "
|
||||
PROMPT 27 13 "Conto "
|
||||
FIELD CONTORIC
|
||||
FLAGS "R"
|
||||
HELP "Conto di contropartita"
|
||||
@ -952,7 +923,7 @@ END
|
||||
|
||||
NUMBER F_SOTTOCRIC 6
|
||||
BEGIN
|
||||
PROMPT 47 17 "Sottoconto "
|
||||
PROMPT 47 13 "Sottoconto "
|
||||
FIELD SOTTOCRIC
|
||||
FLAGS "R"
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
@ -974,7 +945,7 @@ END
|
||||
|
||||
STRING F_DESCRIC 50
|
||||
BEGIN
|
||||
PROMPT 2 18 "Descrizione "
|
||||
PROMPT 2 14 "Descrizione "
|
||||
USE LF_PCON KEY 2 SELECT SOTTOCONTO!=""
|
||||
INPUT DESCR F_DESCRIC
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
@ -986,9 +957,32 @@ BEGIN
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
BOOLEAN F_DIPPUBB
|
||||
BEGIN
|
||||
PROMPT 2 16 "Dipendente pubblico"
|
||||
FIELD DIPPUBB
|
||||
MESSAGE FALSE CLEAR,40@
|
||||
MESSAGE TRUE ENABLE,40@
|
||||
GROUP 4
|
||||
END
|
||||
|
||||
STRING F_ENTE 50
|
||||
BEGIN
|
||||
PROMPT 2 17 "Ente "
|
||||
FIELD ENTE
|
||||
GROUP 4 40
|
||||
END
|
||||
|
||||
STRING F_AUTORIZ 50
|
||||
BEGIN
|
||||
PROMPT 2 18 "Autorizzazione"
|
||||
FIELD AUTORIZ
|
||||
GROUP 4 40
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Banche/Effetti" -1 -1 78 19
|
||||
PAGE "Effetti" -1 -1 78 19
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
@ -1025,86 +1019,48 @@ BEGIN
|
||||
GROUP 6
|
||||
END
|
||||
|
||||
NUMBER F_CODABIPR 5
|
||||
BEGIN
|
||||
PROMPT 2 4 "Banca presentazione ABI "
|
||||
FIELD LF_CFVEN->CODABIPR
|
||||
FLAGS "Z"
|
||||
COPY USE F_CODABI
|
||||
INPUT CODTAB F_CODABIPR
|
||||
COPY DISPLAY F_CODABI
|
||||
OUTPUT F_CODABIPR CODTAB[1,5]
|
||||
HELP "Codice ABI della banca presentazione effetti"
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_CODBANPR 5
|
||||
BEGIN
|
||||
PROMPT 43 4 "CAB "
|
||||
FIELD LF_CFVEN->CODCABPR
|
||||
FLAGS "Z"
|
||||
COPY USE F_CODCAB
|
||||
INPUT CODTAB[1,5] F_CODABIPR
|
||||
INPUT CODTAB[6,10] F_CODBANPR
|
||||
COPY DISPLAY F_CODCAB
|
||||
OUTPUT F_CODABIPR CODTAB[1,5]
|
||||
OUTPUT F_CODBANPR CODTAB[6,10]
|
||||
OUTPUT F_DESBANPR S0
|
||||
HELP "Codice CAB della banca presentazione effetti"
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DESBANPR 50 47
|
||||
BEGIN
|
||||
PROMPT 2 5 "Denominazione "
|
||||
COPY USE F_DESBAN
|
||||
INPUT S0 F_DESBANPR
|
||||
COPY DISPLAY F_DESBAN
|
||||
COPY OUTPUT F_CODBANPR
|
||||
END
|
||||
|
||||
CURRENCY F_IMPMINEFF 10
|
||||
BEGIN
|
||||
PROMPT 2 6 "Importo minimo effetti "
|
||||
PROMPT 2 4 "Importo minimo effetti "
|
||||
FIELD LF_CFVEN->IMPMINEFF
|
||||
END
|
||||
|
||||
BOOLEAN F_EMEFFRICH
|
||||
BEGIN
|
||||
PROMPT 43 6 "Emissione effetti"
|
||||
PROMPT 43 4 "Emissione effetti"
|
||||
FIELD LF_CFVEN->EMEFFRICH
|
||||
END
|
||||
|
||||
BOOLEAN F_RAGGEFF
|
||||
BEGIN
|
||||
PROMPT 43 7 "Raggruppamento effetti"
|
||||
PROMPT 43 5 "Raggruppamento effetti"
|
||||
FIELD LF_CFVEN->RAGGEFF
|
||||
END
|
||||
|
||||
NUMBER F_NUMESC 5
|
||||
BEGIN
|
||||
PROMPT 2 8 "Ultimo Nr. estratto conto "
|
||||
PROMPT 2 6 "Ultimo Nr. estratto conto "
|
||||
FIELD LF_CFVEN->NUMESC
|
||||
GROUP 9
|
||||
END
|
||||
|
||||
NUMBER F_MAXSOLL 2
|
||||
BEGIN
|
||||
PROMPT 43 8 "Numero max solleciti "
|
||||
PROMPT 43 6 "Numero max solleciti "
|
||||
FIELD LF_CFVEN->MAXSOLL
|
||||
GROUP 7 9
|
||||
END
|
||||
|
||||
DATE F_DATAESC
|
||||
BEGIN
|
||||
PROMPT 2 9 "Data ultimo estratto conto "
|
||||
PROMPT 2 7 "Data ultimo estratto conto "
|
||||
FIELD LF_CFVEN->DATAESC
|
||||
GROUP 9
|
||||
END
|
||||
|
||||
DATE F_DATASOLL
|
||||
BEGIN
|
||||
PROMPT 43 9 "Data ultimo sollecito "
|
||||
PROMPT 43 7 "Data ultimo sollecito "
|
||||
FIELD LF_CFVEN->DATASOLL
|
||||
GROUP 7 9
|
||||
END
|
||||
@ -1112,7 +1068,7 @@ END
|
||||
/* Campo non ancora utilizzato
|
||||
STRING F_PROFSOLL 5
|
||||
BEGIN
|
||||
PROMPT 45 10 "Codice profilo "
|
||||
PROMPT 45 8 "Codice profilo "
|
||||
FIELD LF_CFVEN->PROFSOLL
|
||||
GROUP 7
|
||||
END
|
||||
@ -1120,12 +1076,12 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 10 "@bPeriodi di non accettazione effetti"
|
||||
PROMPT 1 8 "@bPeriodi di non accettazione effetti"
|
||||
END
|
||||
|
||||
SPREADSHEET F_NONACCEFF 76
|
||||
BEGIN
|
||||
PROMPT 1 11 "Periodi effetti"
|
||||
PROMPT 1 9 "Periodi effetti"
|
||||
ITEM "Dal\nGiorno@8"
|
||||
ITEM "Dal\nMese"
|
||||
ITEM "Al\nGiorno@8"
|
||||
@ -2070,6 +2026,228 @@ ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Banche di appoggio" -1 -1 80 8
|
||||
|
||||
STRING F_IBAN_STATO 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice IBAN "
|
||||
FLAGS "U"
|
||||
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||
END
|
||||
|
||||
NUMBER F_IBAN_CHECK 2
|
||||
BEGIN
|
||||
PROMPT 24 2 ""
|
||||
FLAGS "UZ"
|
||||
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||
END
|
||||
|
||||
STRINGA F_BBAN_CIN 1
|
||||
BEGIN
|
||||
PROMPT 33 2 "BBAN "
|
||||
FLAGS "U"
|
||||
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||
END
|
||||
|
||||
NUMBER F_BBAN_ABI 5
|
||||
BEGIN
|
||||
PROMPT 41 2 ""
|
||||
USE %BAN SELECT CODTAB ?= "?????"
|
||||
INPUT CODTAB F_BBAN_ABI
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_BBAN_ABI CODTAB[1,5]
|
||||
HELP "Codice ABI banca del C/F"
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
NUMBER F_BBAN_CAB 5
|
||||
BEGIN
|
||||
PROMPT 50 2 ""
|
||||
USE %BAN SELECT CODTAB ?= "??????????"
|
||||
INPUT CODTAB[1,5] F_BBAN_ABI
|
||||
INPUT CODTAB[6,10] F_BBAN_CAB
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_BBAN_ABI CODTAB[1,5]
|
||||
OUTPUT F_BBAN_CAB CODTAB[6,10]
|
||||
OUTPUT F_DESBAN S0
|
||||
HELP "Codice CAB banca del C/F"
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
STRING F_BBAN_CONTO 12
|
||||
BEGIN
|
||||
PROMPT 59 2 ""
|
||||
FLAGS "UZ"
|
||||
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||
END
|
||||
|
||||
NUMBER F_PROGPR 2
|
||||
BEGIN
|
||||
PROMPT 2 60 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESBAN 50 40
|
||||
BEGIN
|
||||
PROMPT 20 4 "Descrizione "
|
||||
USE %BAN KEY 2 SELECT CODTAB ?= "??????????"
|
||||
INPUT S0 F_DESBAN
|
||||
DISPLAY "Denominazione@50" S0
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||
COPY OUTPUT F_BBAN_CAB
|
||||
END
|
||||
|
||||
STRING F_IBAN 27
|
||||
BEGIN
|
||||
PROMPT 2 6 "IBAN "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_BBAN 23
|
||||
BEGIN
|
||||
PROMPT 2 60 "BBAN "
|
||||
FLAGS "HD"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Banche di presentazione" -1 -1 80 8
|
||||
|
||||
STRING F_IBAN_STATO 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice IBAN "
|
||||
FLAGS "UDG"
|
||||
END
|
||||
|
||||
NUMBER F_IBAN_CHECK 2
|
||||
BEGIN
|
||||
PROMPT 24 2 ""
|
||||
FLAGS "UZD"
|
||||
END
|
||||
|
||||
STRINGA F_BBAN_CIN 1
|
||||
BEGIN
|
||||
PROMPT 33 42 "BBAN "
|
||||
FLAGS "UDG"
|
||||
END
|
||||
|
||||
NUMBER F_BBAN_ABI 5
|
||||
BEGIN
|
||||
PROMPT 41 2 ""
|
||||
USE BNP
|
||||
JOIN %BAN ALIAS 100 INTO CODTAB==CODTAB[1,10]
|
||||
INPUT CODTAB[1,5] F_BBAN_ABI
|
||||
INPUT CODTAB[6,10] F_BBAN_CAB
|
||||
INPUT CODTAB[11,12] F_PROGPR
|
||||
DISPLAY "ABI@5" CODTAB[1,5]
|
||||
DISPLAY "CAB@5" CODTAB[6,10]
|
||||
DISPLAY "Progr." CODTAB[11,12]
|
||||
DISPLAY "IBAN@25" S3
|
||||
DISPLAY "Denominazione@50" 100@->S0
|
||||
OUTPUT F_BBAN_ABI CODTAB[1,5]
|
||||
OUTPUT F_BBAN_CAB CODTAB[6,10]
|
||||
OUTPUT F_PROGPR CODTAB[11,12]
|
||||
OUTPUT F_DESBAN 100@->S0
|
||||
OUTPUT F_IBAN S3
|
||||
OUTPUT F_IBAN_STATO S3[1,2]
|
||||
OUTPUT F_IBAN_CHECK S3[3,4]
|
||||
OUTPUT F_BBAN_CIN S3[5,5]
|
||||
OUTPUT F_BBAN_CONTO S3[16,27]
|
||||
HELP "Codice ABI banca del C/F"
|
||||
CHECKTYPE SEARCH
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
NUMBER F_BBAN_CAB 5
|
||||
BEGIN
|
||||
PROMPT 50 2 ""
|
||||
COPY ALL F_BBAN_ABI
|
||||
HELP "Codice CAB banca del C/F"
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
STRING F_BBAN_CONTO 12
|
||||
BEGIN
|
||||
PROMPT 59 2 ""
|
||||
FLAGS "UDZ"
|
||||
END
|
||||
|
||||
NUMBER F_PROGPR 2
|
||||
BEGIN
|
||||
PROMPT 2 4 "Progressivo "
|
||||
COPY ALL F_BBAN_ABI
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
STRING F_DESBAN 50 40
|
||||
BEGIN
|
||||
PROMPT 20 4 "Descrizione "
|
||||
USE %BAN KEY 2 SELECT (CODTAB ?= "??????????"&&100@->CODTAB!="")
|
||||
JOIN BNP ALIAS 100 INTO CODTAB==CODTAB
|
||||
INPUT S0 F_DESBAN
|
||||
DISPLAY "Denominazione@50" S0
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||
COPY OUTPUT F_BBAN_CAB
|
||||
END
|
||||
|
||||
STRING F_IBAN 27
|
||||
BEGIN
|
||||
PROMPT 2 6 "IBAN "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Effetti" -1 -1 42 10
|
||||
|
||||
GROUPBOX DLG_NULL 40 4
|
||||
|
@ -1,3 +1,3 @@
|
||||
20
|
||||
0
|
||||
$clifo|0|0|737|0|Clienti/Fornitori|||
|
||||
$clifo|0|0|838|0|Clienti/Fornitori|||
|
||||
|
@ -1,5 +1,5 @@
|
||||
20
|
||||
58
|
||||
61
|
||||
TIPOCF|1|1|0|Tipo <C>liente <F>ornitore
|
||||
CODCF|3|6|0|Codice
|
||||
RAGSOC|1|50|0|Ragione sociale
|
||||
@ -58,6 +58,9 @@ REFERENTE|1|50|0|Persona referente presso il cliente/fornitore
|
||||
VALINTRA|1|3|0|Codice Valuta Intracomunitaria
|
||||
CODCFASS|3|6|0|Codice cliente (fornitori) o fornitore (clienti) associato
|
||||
CODCFFATT|3|6|0|Codice cliente (fornitore) cui fatturare
|
||||
DIPPUBB|8|1|0|Dipendente Pubblico
|
||||
ENTE|1|50|0|Ente di appartenenza (Dipendente Pubblico)
|
||||
AUTORIZ|1|50|0|Autorizzazione (Dipendente Pubblico)
|
||||
6
|
||||
TIPOCF+CODCF|
|
||||
TIPOCF+UPPER(RAGSOC)|X
|
||||
|
@ -1,3 +1,3 @@
|
||||
98
|
||||
0
|
||||
$cfban|0|0|77|0|Banche per clienti e fornitori|||
|
||||
$cfban|0|0|79|0|Banche per clienti e fornitori|||
|
||||
|
@ -1,12 +1,14 @@
|
||||
98
|
||||
8
|
||||
9
|
||||
TIPOCF|1|1|0|Tipo (<C>liente/<F>ornitore)
|
||||
CODCF|3|6|0|Codice cliente/fornitore
|
||||
TIPOBAN|1|2|0|Tipo Banca (<N>ostra, <V>ostra)
|
||||
NRIGA|2|3|0|Numero riga
|
||||
ABI|9|5|0|ABI
|
||||
CAB|9|5|0|CAB
|
||||
PROGPR|9|2|0|Progressivo per banche di presentazione
|
||||
NUMCC|1|20|0|Numero conto corrente
|
||||
IBAN|1|34|0|IBAN
|
||||
1
|
||||
2
|
||||
TIPOCF+CODCF+TIPOBAN+NRIGA|
|
||||
TIPOCF+CODCF+TIPOBAN+ABI+CAB+NUMCC|X
|
||||
|
@ -68,6 +68,9 @@
|
||||
#define CLI_REFERENTE "REFERENTE"
|
||||
#define CLI_VALINTRA "VALINTRA"
|
||||
#define CLI_CODCFASS "CODCFASS"
|
||||
#define CLI_DIPPUBB "DIPPUBB"
|
||||
#define CLI_ENTE "ENTE"
|
||||
#define CLI_AUTORIZ "AUTORIZ"
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -874,7 +874,7 @@ bool ini_get_bool(int cfg, const char* para, const char* name, bool defval, int
|
||||
int ini_get_int(const char* file, const char* para, const char* name, int defval, int idx)
|
||||
{
|
||||
DECLARE_VARNAME(name, idx);
|
||||
return xvt_sys_get_profile_int(file, para, name, defval);
|
||||
return xvt_sys_get_profile_int(file, para, varname, defval);
|
||||
}
|
||||
|
||||
bool ini_set_int(const char* file, const char* paragraph, const char* name, int val, int idx)
|
||||
|
@ -1006,6 +1006,28 @@ void TControl::set_rect(const RCT& r)
|
||||
xvt_vobj_move((WINDOW)_obj->v.btn->btnctl, &r);
|
||||
}
|
||||
}
|
||||
|
||||
void TControl::set_rect(short cx, short cy, short cwidth, short cheight, short clen)
|
||||
{
|
||||
XI_RCT rct = coord2rct(_obj->itf, cx, cy, cwidth + 1, cheight);
|
||||
|
||||
xi_fu_to_pu(_obj->itf, (XI_PNT*)&rct, 2);
|
||||
set_rect((const RCT &)rct);
|
||||
|
||||
if ( _obj->type == XIT_FIELD)
|
||||
{
|
||||
if (_obj->v.field->button)
|
||||
{
|
||||
const short delta = _obj->v.field->btn_rct.left - (_obj->v.field->rct.right + CAMPI_SCAVATI);
|
||||
|
||||
_obj->v.field->btn_rct.left -= delta;
|
||||
_obj->v.field->btn_rct.right -= delta;
|
||||
}
|
||||
|
||||
if (clen > 0)
|
||||
_obj->v.field->field_width = clen + 1;
|
||||
}
|
||||
}
|
||||
|
||||
unsigned long TControl::flags2attr(const char* flags) const
|
||||
{
|
||||
|
@ -117,6 +117,7 @@ public:
|
||||
|
||||
virtual RCT& get_rect(RCT& r) const;
|
||||
virtual void set_rect(const RCT& r);
|
||||
virtual void set_rect(short cx, short cy, short cwidth, short cheight, short clen = 0);
|
||||
|
||||
// @cmember imposta la posizione del cursore a <pos>
|
||||
void set_caret_pos(int pos = -1);
|
||||
|
@ -463,6 +463,11 @@ void TMask_field::set_rect(const RCT& r)
|
||||
if (_ctl) _ctl->set_rect(r);
|
||||
}
|
||||
|
||||
void TMask_field::set_rect(short cx, short cy, short cwidth, short cheight, short clen)
|
||||
{
|
||||
if (_ctl) _ctl->set_rect(cx, cy, cwidth, cheight, clen);
|
||||
}
|
||||
|
||||
// Certified 100%
|
||||
// @doc EXTERNAL
|
||||
|
||||
@ -978,8 +983,7 @@ HIDDEN void run_app(TMask& mask, TToken_string& msg)
|
||||
{
|
||||
if (*f == '#')
|
||||
{
|
||||
const int id = atoi(++f);
|
||||
a << mask.get(id);
|
||||
mask.focus_field().evaluate_field(f);
|
||||
break;
|
||||
}
|
||||
else
|
||||
|
@ -166,7 +166,8 @@ public:
|
||||
|
||||
virtual RCT& get_rect(RCT& r) const;
|
||||
virtual void set_rect(const RCT& r);
|
||||
|
||||
virtual void set_rect(short cx, short cy, short cwidth, short cheight, short clen = 0);
|
||||
|
||||
// @cmember Ritorna l'identificatore del controllo
|
||||
virtual short dlg() const;
|
||||
|
||||
|
@ -30,6 +30,16 @@ bool TTable_module_application::protected_record(TRectype& rec)
|
||||
return rec.get_bool("FPC");
|
||||
}
|
||||
|
||||
void TTable_module_application::set_mask(TMask * mask)
|
||||
{
|
||||
if (mask != NULL)
|
||||
{
|
||||
if (_msk != NULL)
|
||||
delete _msk;
|
||||
_msk = mask;
|
||||
}
|
||||
}
|
||||
|
||||
TMask* TTable_module_application::user_create_mask()
|
||||
{
|
||||
TModule_table& tab = (TModule_table&)file();
|
||||
|
@ -27,6 +27,7 @@ protected:
|
||||
virtual bool user_destroy();
|
||||
virtual bool protected_record(TRectype& rec);
|
||||
virtual TMask* get_mask(int mode);
|
||||
virtual void set_mask(TMask * mask);
|
||||
virtual TRelation* get_relation() const;
|
||||
virtual void print();
|
||||
|
||||
|
@ -983,7 +983,7 @@ HIDDEN bool _iban_val(TMask_field& f, KEY key)
|
||||
|
||||
if (f.dlg() == id[1]) // Campo Stato IBAN
|
||||
{
|
||||
if (key == K_TAB && !m.is_running())
|
||||
if (key == K_TAB && !f.focusdirty())
|
||||
{
|
||||
const TString& iban = m.get(id[0]);
|
||||
m.set(id[1], iban.left(2));
|
||||
|
Loading…
x
Reference in New Issue
Block a user