Patch level : 2.2 kkk

Files correlati     : ve0
Ricompilazione Demo : [ ]
Commento            :

Modifica con conseguenze epocali:
aggiunti campi per gestione contabilita' analitica nella testata e nelle righe documento.
E' implicita la conversione degli archivi e la rigenerazione di tutti profili delle maschere


git-svn-id: svn://10.65.10.50/trunk@13048 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2005-05-05 10:37:07 +00:00
parent 26ac7c154e
commit 2cd60f8950
26 changed files with 454 additions and 235 deletions

View File

@ -1,3 +1,3 @@
33
0
$doc|0|0|496|0|Documenti di vendita|NDOC*3||
$doc|0|0|516|0|Documenti di vendita|NDOC*3||

View File

@ -1,5 +1,5 @@
33
77
78
CODNUM|1|4|0|Codice della numerazione
ANNO|2|4|0|Anno
PROVV|1|1|0|Tipo numerazione <P>rovvisorio <D>efinitivo
@ -75,6 +75,7 @@ COLL_GOLEM|11|10|0|Collegamento lista di GOLEM
DOCEVASO|8|1|0|Ordine evaso
CODCMS|1|20|0|Codice Commessa
FASCMS|1|10|0|Fase Commessa
CODCOSTO|1|20|0|Centro di costo
NUMREG|3|7|0|Numero movimento contabilizzato
NUMANT|3|7|0|Numero movimento anticipo contabilizzato
3

View File

@ -1,3 +1,3 @@
34
0
$rdoc|21|21|453|31|Righe documenti di vendita|NDOC*3||
$rdoc|21|21|473|31|Righe documenti di vendita|NDOC*3||

View File

@ -1,5 +1,5 @@
34
52
53
CODNUM|1|4|0|Codice Numeriazione
ANNO|2|4|0|Anno
PROVV|1|1|0|Tipo numerazione <P>rovvisoria <D>efinitiva
@ -52,6 +52,7 @@ DANDOC|3|7|0|Numero del documento originale
DAIDRIGA|3|6|0|Identificatore riga originale
CODCMS|1|20|0|Codice Commessa
FASCMS|1|10|0|Fase Commessa
CODCOSTO|1|20|0|Centro di costo
4
CODNUM+ANNO+PROVV+NDOC+NRIGA|
CODNUM+ANNO+PROVV+CODART+LIVELLO+CODMAG|X

View File

@ -127,16 +127,12 @@ CAUSMAG = S_OBBLIGATORIO //2900
CAUSMAGC = S_DISABILITATO //2900
DESCRMAG = S_NORMALE //2900
DESCRMAGC = S_DISABILITATO //2900
CODCMS = S_NORMALE //3000
DESCRCMS = S_NORMALE //3000
FASCMS = S_NORMALE //3000
DESCRFAS = S_NORMALE //3000
BLANK = S_DISABILITATO //4000
[DEFAULT]
[SHEET]
NCOLS=22
NCOLS=20
1=FR_CODMAG
2=FR_CODDEP
3=FR_CODART
@ -157,8 +153,6 @@ NCOLS=22
18=FR_CAUS
19=FR_CODMAGC
20=FR_CODDEPC
21=FR_CODCMS
22=FR_FASCMS
[RIGHE]
NTIPIRIGA=*
@ -195,7 +189,6 @@ NHANDLER=0
2400 = S_NORMALE
2500 = S_NORMALE
2900 = S_NORMALE
3000 = S_NORMALE
4000 = S_NORMALE
[ORDINEGRUPPI]
@ -224,5 +217,4 @@ NGROUPS=25
22=1900
23=1000
24=2900
25=3000

View File

@ -1,6 +1,6 @@
#include "veuml.h"
TOOLBAR "" 0 20 60 2
TOOLBAR "" 0 -2 0 2
#include "toolbar.h"
ENDPAGE

View File

@ -1682,72 +1682,6 @@ TYPE=T_STRINGA
PROMPT=""
SIZE=50
[CODCMS]
GROUP=3000
X=2
Y=1
FIELDNAME=CODCMS
MSKID=F_CODCMS
TYPE=T_STRINGA
PROMPT="Commessa : Codice "
USE=CMS
INPUT=CODTAB F_CODCMS
DISPLAY="Codice@20" CODTAB~"Descrizione@50" S0
OUTPUT=F_CODCMS CODTAB~F_DESCRCMS S0
WARNING=Commessa non trovata
SIZE=20
FLAG=UZ
HELP=Inserisci il codice della commessa
SPECIAL=CH NORMAL
[DESCRCMS]
GROUP=3000
X=20
Y=2
MSKID=F_DESCRCMS
TYPE=T_STRINGA
USE=CMS KEY 2
INPUT=S0 F_DESCRCMS
DISPLAY="Descrizione@50" S0~"Codice@20" CODTAB
COPY=OU F_CODCMS
WARNING=Commessa non trovata
PROMPT=""
SIZE=70
SPECIAL=CH NORMAL
[FASCMS]
GROUP=3000
X=2
Y=3
FIELDNAME=FASCMS
MSKID=F_FASCMS
TYPE=T_STRINGA
PROMPT=" Fase "
USE=FSC
INPUT=CODTAB F_FASCMS
DISPLAY="Codice@10" CODTAB~"Descrizione@50" S0
OUTPUT=F_FASCMS CODTAB~F_DESCRFAS S0
WARNING=Fase commessa non trovata
SIZE=10
FLAG=UZ
HELP=Inserisci il codice della fase commessa
SPECIAL=CH NORMAL
[DESCRFAS]
GROUP=3000
X=20
Y=4
MSKID=F_DESCRFAS
TYPE=T_STRINGA
PROMPT=""
USE=FSC KEY 2
INPUT=S0 F_DESCRFAS
DISPLAY="Descrizione@50" S0~"Codice@10" CODTAB
COPY=OU F_FASCMS
WARNING=Fase commessa non trovata
SIZE=50
SPECIAL=CH NORMAL
[BLANK]
GROUP=4000
X=100

View File

@ -1,31 +1,51 @@
STATORIGA|2|1|Stato|1
LORDO|4||Lordo|5
TIPORIGA|2|2|Tipo riga|2
CODMAG[1,3]|2|3|Mag. |3
CODMAG[4,5]|2|2|Dep.|2
CODART|2|20|Cod. Art.|20
CODG1|2|9|Cod.G.1|9
CODG2|2|9|Cod.G.2|9
CODG3|2|9|Cod.G.3|9
CODG4|2|9|Cod.G.4|9
CODART|2|20|Codice Articolo|20
CODG1|2|9|Codice\nLivello 1|9
CODG2|2|9|Codice\nLivello 2|9
CODG3|2|9|Codice\nLivello 3|9
CODG4|2|9|Codice\nLivello 4|9
DESCR|2|50|Descrizione|50
UMQTA|2|2|UM|2
QTA|3|1103|Qta|11
QTA|3|1305|Quantita'|11
PREZZO|3|1802|Prezzo|18
QTAEVASA|3|1103|Qta Evasa|11
RIGAEVASA|4||Riga Evasa|1
QTAEVASA|3|1305|Quantita'\nEvasa|11
RIGAEVASA|5||Evasa|1
TARA|3|1502|Tara|15
PNETTO|3|1502|P.Netto|15
PNETTO|3|1502|Peso Netto|15
NCOLLI|3|7|N.Colli|7
DAEVADERE|4||Da evadere|1
SCONTO|2|25|Sconto|25
PERCPROV|3|502|Perc.Provv.|5
PERCPROV|3|502|Perc.\nProvv.|5
IMPFISUN|4||Imp.Fisso unitario|1
IMPFISSO|3|1802|Importo Fisso|18
CODIVA|2|4|Cod.IVA|4
CODIVA|2|4|Codice\nIVA|4
ADDIVA|4||Addebito IVA|1
ASPBENI|2|3|Aspetto beni|3
CODCAUS|2|3|Causale Mag.|12
CODMAGC[1,3]|2|3|Mag.Coll.|9
CODMAGC[4,5]|2|2|Dep.Coll.|9
CODCAUS|2|3|Causale\nMagazzino|12
CODMAGC[1,3]|2|3|Magazzino\nCollegato|9
CODMAGC[4,5]|2|2|Deposito\nCollegato|9
DATACONS|4|10|Data\nconsegna|10
CODARTMAG|2|20|Cod. Art. Mag.|20
CHECKED|4|10|Controllato|11
QTAGG1|3|1305|Quantita'\nagg. 1|13
QTAGG2|3|1305|Quantita'\nagg. 2|13
QTAGG3|3|1305|Quantita'\nagg. 3|13
QTAGG4|3|1305|Quantita'\nagg. 4|13
QTAGG5|3|1305|Quantita'\nagg. 5|13
IMPIANTO|2|5|Impianto|8
LINEA|2|5|Linea|5
CDC1|2|20|Centro di costo 1|20
CDC2|2|20|Centro di costo 2|20
CDC3|2|20|Centro di costo 3|20
CDC4|2|20|Centro di costo 4|20
CDC5|2|20|Centro di costo 5|20
CDC6|2|20|Centro di costo 6|20
CDC7|2|20|Centro di costo 7|20
CDC8|2|20|Centro di costo 8|20
CDC9|2|20|Centro di costo 9|20
CDC10|2|20|Centro di costo 10|20
CDC11|2|20|Centro di costo 11|20
CDC12|2|20|Centro di costo 12|20

View File

@ -790,6 +790,9 @@ protected:
void sconto_testa2mask();
void spese2mask();
int insert_anal_fields(TMask& m, int page, int lf, int& y, short& dlg, short& dlgd, bool required);
void insert_anal_page();
void configura_sheet(TSheet_field& sheet);
static bool ss_notify(TSheet_field& ss, int r, KEY key);
static bool ss_handler(TMask_field& f, KEY key);

View File

@ -832,7 +832,8 @@ void TRiga_documento::autosave(TSheet_field & f)
const int num = numero() - 1;
if (num >= 0 && num < f.items())
{
{
TMask& m = f.sheet_mask();
TToken_string & row = f.row(num);
const int lordo_id = f.cid2index(FR_LORDO);
@ -840,10 +841,10 @@ void TRiga_documento::autosave(TSheet_field & f)
if (lordo)
{
row.add(" ", lordo_id);
f.sheet_mask().reset(FR_LORDO);
m.reset(FR_LORDO);
}
put( RDOC_TIPORIGA, row.get( f.cid2index(FR_TIPORIGA )) );
TString16 codmag(row.get(f.cid2index(FR_CODMAG)));
TString8 codmag(row.get(f.cid2index(FR_CODMAG)));
codmag.left_just(3);
codmag << row.get( f.cid2index(FR_CODDEP ));
@ -876,7 +877,7 @@ void TRiga_documento::autosave(TSheet_field & f)
const int prezzo_id = f.cid2index(FR_PREZZO);
real prezzo(row.get(prezzo_id));
const TString16 codiva(row.get(f.cid2index(FR_CODIVA)));
const TString8 codiva(row.get(f.cid2index(FR_CODIVA)));
if (lordo)
{
iva(codiva).scorpora(prezzo, doc().decimals(TRUE));
@ -917,8 +918,18 @@ void TRiga_documento::autosave(TSheet_field & f)
put( RDOC_QTAGG5, row.get( f.cid2index(FR_QTAGG5 )) );
put( RDOC_IMPIANTO, row.get( f.cid2index(FR_IMPIANTO )) );
put( RDOC_LINEA, row.get( f.cid2index(FR_LINEA )) );
put( RDOC_CODCMS, row.get( f.cid2index(FR_CODCMS)) );
put( RDOC_FASCMS, row.get( f.cid2index(FR_FASCMS)) );
for (short cdcid = FR_CDC1; cdcid <= FR_CDC12; cdcid++)
{
const int pos = m.id2pos(cdcid);
if (pos < 0)
break;
TMask_field& fld = m.fld(pos);
const TFieldref* fldref = fld.field();
if (fldref == NULL)
break;
fldref->write(fld.get(), *this);
}
}
}
@ -959,7 +970,7 @@ void TRiga_documento::autoload(TSheet_field & f)
row.add( get( RDOC_ADDIVA ), f.cid2index(FR_ADDIVA ));
row.add( get( RDOC_ASPBENI ), f.cid2index(FR_ASPBENI ));
row.add( get( RDOC_CAUSMAG ), f.cid2index(FR_CAUS ));
const TString16 codmagc(get("CODMAGC"));
const TString8 codmagc(get("CODMAGC"));
row.add( codmagc.left(3), f.cid2index(FR_CODMAGC ));
row.add( codmagc.mid(3), f.cid2index(FR_CODDEPC ));
row.add( get( RDOC_DATACONS ), f.cid2index(FR_DATACONS ));
@ -972,8 +983,20 @@ void TRiga_documento::autoload(TSheet_field & f)
row.add( get( RDOC_QTAGG5) , f.cid2index(FR_QTAGG5));
row.add( get( RDOC_IMPIANTO) , f.cid2index(FR_IMPIANTO));
row.add( get( RDOC_LINEA) , f.cid2index(FR_LINEA));
row.add( get( RDOC_CODCMS) , f.cid2index(FR_CODCMS));
row.add( get( RDOC_FASCMS) , f.cid2index(FR_FASCMS));
TMask& m = f.sheet_mask();
for (short cdcid = FR_CDC1; cdcid <= FR_CDC12; cdcid++)
{
const int pos = m.id2pos(cdcid);
if (pos < 0)
break;
TMask_field& fld = m.fld(pos);
const TFieldref* fldref = fld.field();
if (fldref == NULL)
break;
const TString& val = fldref->read(*this);
row.add(val, f.cid2index(cdcid));
}
}
TArticolo_giacenza * TRiga_documento::articolo() const

View File

@ -1014,6 +1014,7 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const
const TDate datacons(get_date(DOC_DATACONS));
const TString80 codcms(get(DOC_CODCMS));
const TString80 fascms(get(DOC_FASCMS));
const TString80 codcos(get(DOC_CODCOSTO));
for (int i = rows; i > 0; i--)
{
@ -1040,11 +1041,12 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const
r.put(RDOC_DATACONS, datacons);
}
if (r.get(RDOC_CODCMS).empty())
if (r.get(RDOC_CODCMS).blank() && r.get(RDOC_FASCMS).blank() && r.get(RDOC_CODCOSTO).blank())
{
r.put(RDOC_CODCMS, codcms);
if (r.get(RDOC_FASCMS).empty())
r.put(RDOC_FASCMS, fascms);
r.put(RDOC_CODCOSTO, codcos);
}
}
if (is_ordine())
((TDocumento *)this)->put(DOC_DOCEVASO, docevaso); // Tutte le righe evase -> doc evaso
@ -2099,19 +2101,23 @@ TRecord_array& TDocumento::body(int logicnum) const
const TDate datacons(get_date(DOC_DATACONS));
const TString80 codcms(get(DOC_CODCMS));
const TString80 fascms(get(DOC_FASCMS));
const TString80 codcos(get(DOC_CODCOSTO));
for (int i = r.rows(); i > 0; i--)
{
TRectype & rec = r[i];
TRectype& rec = r[i];
TRecfield dcons(rec, RDOC_DATACONS);
if (is_ordine() && datacons == dcons)
dcons = "";
TRecfield ccms(rec, RDOC_CODCMS);
TRecfield fcms(rec, RDOC_FASCMS);
if (codcms == ccms)
TRecfield ccos(rec, RDOC_CODCOSTO);
if (codcms == ccms && fascms == fcms && codcos == ccos)
{
ccms = "";
if (fascms == fcms)
fcms = "";
ccos = "";
}
}
}
return r;

View File

@ -173,8 +173,12 @@ int TMovimentoPN_VE::set_cg_rec(int n, const TImporto& imp, TBill& conto, const
if (main_app().has_module(CMAUT, CHK_DONGLE))
{
rec.put(RMV_CODCMS,codcms);
rec.put(RMV_FASCMS,fascms);
TString cms = codcms;
TString fsc = fascms;
if (cms.blank() && fsc.blank()) // Se la commessa e' vuota ...
conto.default_cdc(cms, fsc); // ... ne cerco una standard
rec.put(RMV_CODCMS, cms);
rec.put(RMV_FASCMS, fsc);
}
rec.put(RMV_DESCR, desc);

View File

@ -21,9 +21,11 @@
#include "veini.h"
#include "sconti.h"
#include "../cg/cg2103.h"
#include "../ca/calib01.h"
#include "doc.h"
#include "rdoc.h"
#include "rdoc.h"
TDocumento_mask::TDocumento_mask(const char* td)
: TVariable_mask(), _progs_page(-1),
@ -48,12 +50,20 @@ TDocumento_mask::TDocumento_mask(const char* td)
_sheet->set_notify( ss_notify );
_sheet->set_append(FALSE);
TList_field& listbox = ( TList_field& )field( F_LBTIPORIGA );
TList_field& listbox = (TList_field&)field(F_LBTIPORIGA);
TTipo_documento& tdoc = (TTipo_documento&)_doc.tipo();
TToken_string& keys = (TToken_string&) tdoc.keys_descrs()[0];
TToken_string& descrs = (TToken_string&) tdoc.keys_descrs()[1];
TToken_string& keys = (TToken_string&)tdoc.keys_descrs()[0];
TToken_string& descrs = (TToken_string&)tdoc.keys_descrs()[1];
listbox.replace_items(keys, descrs);
// Controlla se deve generare la pagina di analitica
if (dongle().active(CAAUT))
{
const TCausale causale(tdoc.causale());
if (causale.link_analitica())
insert_anal_page();
}
configura_sheet(*_sheet);
@ -69,7 +79,6 @@ TDocumento_mask::TDocumento_mask(const char* td)
for (i = fields() - 1; i >= 0; i--)
{
TMask_field & f = fld(i);
if (f.is_editable())
f.set_handler(universal_handler);
}
@ -239,6 +248,131 @@ TDocumento_mask::~TDocumento_mask()
delete _smartcard;
}
int TDocumento_mask::insert_anal_fields(TMask& m, int page, int lf, int& y,
short& dlg, short& dlgd, bool required)
{
const int h = ca_create_fields(m, page, lf, 2, y, dlg, dlgd);
const bool main_mask = m.id2pos(F_SHEET) > 0;
for (int i = 0; i < h; i++)
{
TEdit_field& fld = m.efield(dlg+i);
int logic = lf;
if (logic == LF_FASI)
{
const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
if (fasinfo.parent() != 0)
{
const TMultilevel_code_info& parinfo = ca_multilevel_code_info(fasinfo.parent());
if (i < parinfo.levels())
logic = fasinfo.parent();
}
}
const char* fieldname = NULL;
switch(logic)
{
case LF_COMMESSE: fieldname = DOC_CODCMS; break;
case LF_FASI : fieldname = DOC_FASCMS; break;
default : fieldname = DOC_CODCOSTO; break;
}
TFieldref* f = (TFieldref*)fld.field();
f->set_name(fieldname);
fld.check_type(required ? CHECK_REQUIRED : CHECK_NORMAL);
TEdit_field& dfld = m.efield(dlgd+i);
dfld.set_field(EMPTY_STRING); // Toglie campi che fan saltare gli output!
if (main_mask)
{
TSheet_field& sf = sfield(F_SHEET);
const TString head = fld.prompt();
const int colid = FR_CDC1+(fld.dlg()-F_CDC1);
sf.set_column_header(colid, head);
if (fld.size() > head.len())
sf.set_column_width(colid, fld.size()*8); // XI_FU_MULTIPLE
TMask& sm = sf.sheet_mask();
TString80 str; str << *fld.field();
sm.efield(colid).set_field(str); // Ricopia il campo nella maschera di riga per poterlo salvare!
}
}
y += h+1;
dlg += h; dlgd += h;
return h;
}
void TDocumento_mask::insert_anal_page()
{
const int newpage = win2page(_sheet->parent())+1;
insert_page("Pagina", newpage); // Inserisce una pagina vuota con un titolo a caso
// Rinumera i titoli di tutte le pagine
const int lastpage = win2page(fld(fields()-1).parent()); // Calcola in numero dell'ultima pagina
TToken_string caption;
int i;
for (i = 0; i <= lastpage; i++)
{
TString16 tag = TR("Pag.");
tag << (i+1); // Calcola il titolo di ogni pagina
caption.add(tag);
}
set_caption(caption); // Setta tutti i titoli contemporaneamente
add_groupbox(DLG_NULL, newpage, "", 1, 0, 78, 6);
add_string(DLG_NULL, newpage, TR("Cod. num. "), 2, 1, 4, "D").set_group(2);
add_string(DLG_NULL, newpage, "", 24, 1, 50, "D").set_group(3);
add_string(DLG_NULL, newpage, TR("Tipo doc. "), 2, 2, 4, "D").set_group(4);
add_string(DLG_NULL, newpage, "", 24, 2, 50, "D").set_group(5);
add_number(DLG_NULL, newpage, TR("Esercizio "), 2, 3, 4, "D").set_group(9);
add_number(DLG_NULL, newpage, TR("Numero doc. "), 24, 3, 6, "D").set_group(6);
add_date(DLG_NULL, newpage, TR("Data "), 46, 3, "D").set_group(7);
add_string(DLG_NULL, newpage, TR("Stato "), 67, 3, 1, "D").set_group(8);
add_number(DLG_NULL, newpage, TR("Cliente "), 2, 4, 6, "D").set_group(10);
add_string(DLG_NULL, newpage, "", 24, 4, 50, "D").set_group(11);
add_groupbox(DLG_NULL, newpage, TR("Contabilita' Analitica"), 1, 6, 78, 14);
const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
const bool use_fsc = fasinfo.levels() > 0;
TConfig_anal ini;
const bool fsc_req = use_fsc && ini.get_bool("FscRequired");
int y = 7;
short dlg = F_CDC1; // id del primo campo da generare
short dlgd = F_DESCDC1;
for (i = 0; i < 2; i++)
{
const TString& level = ini.get("Level", NULL, i+1); // Legge il livello 1 o 2
if (level == "CDC") // Crea centro di costo
{
if (use_fsc && fasinfo.parent() == LF_CDC)
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, fsc_req);
else
{
const bool cdc_req = ini.get_bool("CdcRequired");
insert_anal_fields(*this, newpage, LF_CDC, y, dlg, dlgd, cdc_req);
}
} else
if (level == "CMS") // Crea commessa
{
if (use_fsc && fasinfo.parent() == LF_COMMESSE)
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, fsc_req);
else
{
const bool cms_req = ini.get_bool("CmsRequired");
insert_anal_fields(*this, newpage, LF_COMMESSE, y, dlg, dlgd, cms_req);
}
}
}
if (use_fsc && fasinfo.parent() <= 0)
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, fsc_req);
}
void TDocumento_mask::configura_sheet(TSheet_field& sheet)
{
TBit_array to_delete(MAX_COLUMNS);
@ -275,7 +409,6 @@ void TDocumento_mask::configura_sheet(TSheet_field& sheet)
else
to_delete.set(0L);
to_delete.reset(1);
if (!to_delete[sheet.cid2index(FR_CODDEP)])
sheet.enable_column(FR_CODDEP, _ges_dep && _ges_mag);
@ -288,18 +421,35 @@ void TDocumento_mask::configura_sheet(TSheet_field& sheet)
to_delete.set(sheet.cid2index(FR_CODARTMAG));
to_delete.set(sheet.cid2index(FR_CHECKED));
const bool ca_active = dongle().active(CMAUT) || dongle().active(CAAUT);
if (ca_active)
{
const TMultilevel_code_info& cdc = ca_multilevel_code_info(LF_CDC);
const TMultilevel_code_info& cms = ca_multilevel_code_info(LF_COMMESSE);
const TMultilevel_code_info& fas = ca_multilevel_code_info(LF_FASI);
const int levels = cdc.levels() + cms.levels() + fas.levels();
for (short cid = FR_CDC1; cid <= FR_CDC12; cid++)
{
const int level = cid-FR_CDC1;
to_delete.set(sheet.cid2index(cid), level >= levels);
if (level < levels)
colonne.add(cid);
}
}
for ( i = MAX_COLUMNS - 1; i >= 0; i-- )
{
if( to_delete[i] )
{
sheet.enable_column( i + FIRST_FIELD, FALSE);
sheet.delete_column( i + FIRST_FIELD);
}
}
if (!sheet.user_saved_columns_order())
sheet.set_columns_order(&colonne);
}
TCond_vendita& TDocumento_mask::condv() const
{
if (_condv == NULL)
@ -311,7 +461,6 @@ TCond_vendita& TDocumento_mask::condv() const
}
void TDocumento_mask::update_progs(bool stop_run)
{
static bool updating_progs = false;
@ -901,6 +1050,39 @@ TVariable_mask* TDocumento_mask::riga_mask(int numriga)
}
m->set_handler(DLG_USER, link_handler);
}
const bool ca_active = dongle().active(CMAUT) || dongle().active(CAAUT);
if (ca_active)
{
TConfig_anal ini;
const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
const bool use_fsc = fasinfo.levels() > 0;
int y = 1;
short dlg = FR_CDC1; // id del primo campo da generare
short dlgd = FR_DESCDC1;
for (i = 0; i < 2; i++)
{
const TString& level = ini.get("Level", NULL, i+1); // Legge il livello 1 o 2
if (level == "CDC") // Crea centro di costo
{
if (use_fsc && fasinfo.parent() == LF_CDC)
insert_anal_fields(*m, 2, LF_FASI, y, dlg, dlgd, false);
else
insert_anal_fields(*m, 2, LF_CDC, y, dlg, dlgd, false);
} else
if (level == "CMS") // Crea commessa
{
if (use_fsc && fasinfo.parent() == LF_COMMESSE)
insert_anal_fields(*m, 2, LF_FASI, y, dlg, dlgd, false);
else
insert_anal_fields(*m, 2, LF_COMMESSE, y, dlg, dlgd, false);
}
}
if (use_fsc && fasinfo.parent() <= 0)
insert_anal_fields(*m, 2, LF_FASI, y, dlg, dlgd, false);
}
}
m->set_sheet((TSheet_field *)&(field(F_SHEET)));

View File

@ -1,7 +1,6 @@
#ifndef __VERIG_H
#define __VERIG_H
#define FR_LORDO 101
#define FR_TIPORIGA 102
#define FR_CODMAG 103
@ -75,32 +74,53 @@
#define FR_QTAGG5 137
#define FR_IMPIANTO 138
#define FR_LINEA 139
#define FR_CODCMS 140
#define FR_FASCMS 141
#define FR_JOLLY1 142
#define FR_JOLLY2 143
#define FR_JOLLY3 144
#define FR_JOLLY4 145
#define FR_JOLLY5 146
#define FR_JOLLY6 147
#define FR_JOLLY7 148
#define FR_JOLLY8 149
#define FR_JOLLY9 150
#define FR_JOLLY10 151
#define FR_END 152
#define FR_CDC1 140
#define FR_CDC2 141
#define FR_CDC3 142
#define FR_CDC4 143
#define FR_CDC5 144
#define FR_CDC6 145
#define FR_CDC7 146
#define FR_CDC8 147
#define FR_CDC9 148
#define FR_CDC10 149
#define FR_CDC11 150
#define FR_CDC12 151
#define FR_JOLLY1 152
#define FR_JOLLY2 153
#define FR_JOLLY3 154
#define FR_JOLLY4 155
#define FR_JOLLY5 156
#define FR_JOLLY6 157
#define FR_JOLLY7 158
#define FR_JOLLY8 159
#define FR_JOLLY9 160
#define FR_JOLLY10 161
#define FR_END 162
#define MAX_COLUMNS FR_END-FR_LORDO
#define FR_DESMAG 250
#define FR_DESDEP 251
#define FR_DESIVA 252
#define FR_DESASP 253
#define FR_DESTIPORIGA 254
#define FR_DESCRCAUS 255
#define FR_DESMAGC 256
#define FR_DESDEPC 257
#define FR_DESIMP 258
#define FR_DESLNP 259
#define FR_DESCMS 260
#define FR_DESFAS 261
#define FR_CODGOL 262
#define FR_DESMAG 270
#define FR_DESDEP 271
#define FR_DESIVA 272
#define FR_DESASP 273
#define FR_DESTIPORIGA 274
#define FR_DESCRCAUS 275
#define FR_DESMAGC 276
#define FR_DESDEPC 277
#define FR_DESIMP 278
#define FR_DESLNP 279
#define FR_CODGOL 280
#define FR_DESCDC1 281
#define FR_DESCDC2 282
#define FR_DESCDC3 283
#define FR_DESCDC4 284
#define FR_DESCDC5 285
#define FR_DESCDC6 286
#define FR_DESCDC7 287
#define FR_DESCDC8 288
#define FR_DESCDC9 289
#define FR_DESCDC10 290
#define FR_DESCDC11 291
#define FR_DESCDC12 292
#endif

View File

@ -1,6 +1,6 @@
#include "veuml.h"
#ifdef FULL_SCREEN
TOOLBAR "" 0 20 0 2
TOOLBAR "" 0 -2 0 2
BUTTON DLG_OK 10 2
BEGIN
@ -1725,83 +1725,6 @@ ENDIF
END
ENDIF
IFDEF(FLD_CODCMS)
STRING FR_CODCMS 20
BEGIN
IFDEF(X_CODCMS)
PROMPT X_CODCMS Y_CODCMS PR_CODCMS
ELSEIF
PROMPT 2 11 "Commessa "
ENDIF
USE CMS
INPUT CODTAB FR_CODCMS
DISPLAY "Codice commessa@20" CODTAB
DISPLAY "Descrizione @50" S0
OUTPUT FR_CODCMS CODTAB
OUTPUT FR_DESCMS S0
FIELD CODCMS
FLAGS "UZ"
IFDEF(CH_CODCMS)
CHECKTYPE CH_CODCMS
ELSEIF
CHECKTYPE NORMAL
ENDIF
END
STRING FR_DESCMS 50
BEGIN
IFDEF(X_CODCMS)
PROMPT 14 Y_CODCMS ""
ELSEIF
PROMPT 14 12 ""
ENDIF
USE CMS KEY 2
INPUT S0 FR_DESCMS
DISPLAY "Descrizione @50" S0
DISPLAY "Codice commessa@20" CODTAB
COPY OUTPUT FR_CODCMS
CHECKTYPE NORMAL
END
STRING FR_FASCMS 10
BEGIN
IFDEF(X_FASCMS)
PROMPT X_FASCMS Y_FASCMS PR_FASCMS
ELSEIF
PROMPT 2 13 "Fase "
ENDIF
USE FSC
INPUT CODTAB FR_FASCMS
DISPLAY "Codice Fase@10" CODTAB
DISPLAY "Descrizione @50" S0
OUTPUT FR_FASCMS CODTAB
OUTPUT FR_DESCMS S0
FIELD FASCMS
FLAGS "UZ"
IFDEF(CH_FASCMS)
CHECKTYPE CH_CODCMS
ELSEIF
CHECKTYPE NORMAL
ENDIF
END
STRING FR_DESFAS 50
BEGIN
IFDEF(X_FASCMS)
PROMPT 14 Y_FASCMS ""
ELSEIF
PROMPT 14 14 ""
ENDIF
USE FAS KEY 2
INPUT S0 FR_DESFAS
DISPLAY "Descrizione @50" S0
DISPLAY "Codice Fase@10" CODTAB
COPY OUTPUT FR_FASCMS
CHECKTYPE NORMAL
END
ENDIF
#endif
IFDEF(JOLLY)
@ -1838,6 +1761,119 @@ END
ENDPAGE
PAGE "Pag.3" -1 -1 MASK_WIDTH MASK_HEIGHT
GROUPBOX DLG_NULL 78 14
BEGIN
PROMPT 1 0 "Contabilita' analitica"
END
IFDEF(FLD_CDC1)
STRING FR_CDC1 20
BEGIN
PROMPT 2 1 "Cms1 "
FLAGS "B"
END
STRING FR_CDC2 20
BEGIN
PROMPT 2 2 "Cms2 "
FLAGS "B"
END
STRING FR_CDC3 20
BEGIN
PROMPT 2 3 "Cms3 "
FLAGS "B"
END
STRING FR_CDC4 20
BEGIN
PROMPT 2 4 "Cms4 "
FLAGS "B"
END
STRING FR_CDC5 20
BEGIN
PROMPT 2 5 "Cms5 "
FLAGS "B"
END
STRING FR_CDC6 20
BEGIN
PROMPT 2 6 "Cms6 "
FLAGS "B"
END
STRING FR_CDC7 20
BEGIN
PROMPT 2 7 "Cms7 "
FLAGS "B"
END
STRING FR_CDC8 20
BEGIN
PROMPT 2 8 "Cms8 "
FLAGS "B"
END
STRING FR_CDC9 20
BEGIN
PROMPT 2 9 "Cms9 "
FLAGS "B"
END
STRING FR_CDC10 20
BEGIN
PROMPT 2 10 "Cms10 "
FLAGS "B"
END
STRING FR_CDC11 20
BEGIN
PROMPT 2 11 "Cms11 "
FLAGS "B"
END
STRING FR_CDC12 20
BEGIN
PROMPT 2 12 "Cms12 "
FLAGS "B"
END
ENDIF // Campi analitici
#ifndef FULL_SCREEN
BUTTON DLG_OK 10 2
BEGIN
PROMPT -14 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -24 -1 ""
END
#ifndef PAGE_1
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -34 -1 "Elimina"
MESSAGE EXIT,K_DEL
END
BUTTON DLG_USER 10 2
BEGIN
PROMPT -44 -1 "~Collega"
PICTURE BMP_LINK
END
#define PAGE_1
#endif
#endif
ENDPAGE
IFDEF(JOLLYP)
INCLDEF(JOLLYP)

View File

@ -40,7 +40,7 @@ DEFINE_FIELD(QTAGG4)
DEFINE_FIELD(QTAGG5)
DEFINE_FIELD(IMPIANTO)
DEFINE_FIELD(LINEA)
DEFINE_FIELD(CODCMS)
DEFINE_FIELD(CDC1)
DEFINE(JOLLYP, "jolly.uml")

View File

@ -43,7 +43,6 @@ DEFINE_FIELD(CODDEPC)
DEFINE_FIELD(DESDEPC)
DEFINE_FIELD(IMPIANTO)
DEFINE_FIELD(LINEA)
DEFINE_FIELD(CODCMS)
#include "verig.uml"

View File

@ -17,7 +17,6 @@ DEFINE_FIELD(CODIVA)
F_POS(CODIVA, 2, 13,"Cod. IVA " )
DEFINE_FIELD(DESIVA)
F_POS(DESIVA, 22, 13,"" )
DEFINE_FIELD(CODCMS)
#include "verig.uml"

View File

@ -16,7 +16,6 @@ DEFINE_FIELD(CODIVA)
F_POS(CODIVA, 2, 13,"Cod. IVA " )
DEFINE_FIELD(DESIVA)
F_POS(DESIVA, 22, 13,"" )
DEFINE_FIELD(CODCMS)
#include "verig.uml"

View File

@ -11,7 +11,6 @@ DEFINE_FIELD(CODIVA)
F_POS(CODIVA, 2, 11,"Cod. IVA " )
DEFINE_FIELD(DESIVA)
F_POS(DESIVA, 22, 11,"" )
DEFINE_FIELD(CODCMS)
#define PAGE_2
#include "verig.uml"

View File

@ -19,7 +19,6 @@ DEFINE_FIELD(CODIVA)
F_POS(CODIVA, 2, 13,"Cod. IVA " )
DEFINE_FIELD(DESIVA)
F_POS(DESIVA, 22, 13,"" )
DEFINE_FIELD(CODCMS)
#include "verig.uml"

View File

@ -19,7 +19,6 @@ DEFINE_FIELD(CODIVA)
F_POS(CODIVA, 2, 13,"Cod. IVA " )
DEFINE_FIELD(DESIVA)
F_POS(DESIVA, 22, 13,"" )
DEFINE_FIELD(CODCMS)
#include "verig.uml"

View File

@ -19,7 +19,6 @@ DEFINE_FIELD(CODIVA)
F_POS(CODIVA, 2, 13,"Cod. IVA " )
DEFINE_FIELD(DESIVA)
F_POS(DESIVA, 22, 13,"" )
DEFINE_FIELD(CODCMS)
#include "verig.uml"

View File

@ -41,7 +41,6 @@ DEFINE_FIELD(CODMAGC)
DEFINE_FIELD(DESMAGC)
DEFINE_FIELD(CODDEPC)
DEFINE_FIELD(DESDEPC)
DEFINE_FIELD(CODCMS)
#include "verig.uml"

View File

@ -41,7 +41,6 @@ DEFINE_FIELD(CODMAGC)
DEFINE_FIELD(DESMAGC)
DEFINE_FIELD(CODDEPC)
DEFINE_FIELD(DESDEPC)
DEFINE_FIELD(CODCMS)
#include "verig.uml"

View File

@ -105,5 +105,11 @@
#define F_CODDITTA 209
#define F_RAGSOCDITTA 210
#define F_CDC1 251
#define F_CDC12 262
#define F_DESCDC1 271
#define F_DESCDC12 282
//#define F_SELECT 101
#endif // veuml.h