Riportata la R_98_01_01M sul main trunk
git-svn-id: svn://10.65.10.50/trunk@5884 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
37d71bc9d8
commit
7740b94e1c
12
ef/dse.frm
12
ef/dse.frm
@ -207,13 +207,13 @@ NUMERO 27 18
|
|||||||
BEGIN
|
BEGIN
|
||||||
KEY "importo"
|
KEY "importo"
|
||||||
PROMPT 122 1 ""
|
PROMPT 122 1 ""
|
||||||
FIELD 31->IMPORTO
|
MESSAGE _IMPORTO
|
||||||
PICTURE "###.###.###.###,@@"
|
PICTURE "###.###.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
SECTION FOOTER ODD 2
|
SECTION FOOTER LAST 2
|
||||||
|
|
||||||
STRING 25
|
STRING 25
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -231,11 +231,11 @@ END
|
|||||||
NUMERO 28 18
|
NUMERO 28 18
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Totale"
|
KEY "Totale"
|
||||||
PROMPT 111 2 "TOTALE "
|
PROMPT 115 2 "TOTALE "
|
||||||
PICTURE "###.###.###.###,@@"
|
PICTURE "###.###.###.###"
|
||||||
MESSAGE _FOOTER,!TOTALE
|
MESSAGE _FOOTER,!TOTALE
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
@ -19,7 +19,7 @@ class TVariazione_effetti: public TRelation_application
|
|||||||
TMask *_msk;
|
TMask *_msk;
|
||||||
TEffetto *_effetto;
|
TEffetto *_effetto;
|
||||||
TRelation *_rel;
|
TRelation *_rel;
|
||||||
TLocalisamfile *_reff, *_cess, *_com, * _doc, * _rdoc;
|
TLocalisamfile *_reff, *_cess, *_com, * _doc, * _rdoc, *_cfven, *_occas;
|
||||||
protected:
|
protected:
|
||||||
virtual void init_query_mode(TMask&);
|
virtual void init_query_mode(TMask&);
|
||||||
virtual void init_insert_mode(TMask&);
|
virtual void init_insert_mode(TMask&);
|
||||||
@ -265,6 +265,8 @@ bool TVariazione_effetti::user_create()
|
|||||||
_com = new TLocalisamfile(LF_COMUNI);
|
_com = new TLocalisamfile(LF_COMUNI);
|
||||||
_doc = new TLocalisamfile(LF_DOC);
|
_doc = new TLocalisamfile(LF_DOC);
|
||||||
_rdoc = new TLocalisamfile(LF_RIGHEDOC);
|
_rdoc = new TLocalisamfile(LF_RIGHEDOC);
|
||||||
|
_cfven = new TLocalisamfile(LF_CFVEN);
|
||||||
|
_occas = new TLocalisamfile(LF_OCCAS);
|
||||||
_effetto = new TEffetto;
|
_effetto = new TEffetto;
|
||||||
_msk->set_handler(F_CODVAL, codval_handler);
|
_msk->set_handler(F_CODVAL, codval_handler);
|
||||||
_msk->set_handler(F_EFFCONT, contab_handler);
|
_msk->set_handler(F_EFFCONT, contab_handler);
|
||||||
@ -286,6 +288,8 @@ bool TVariazione_effetti::user_destroy()
|
|||||||
delete _com;
|
delete _com;
|
||||||
delete _doc;
|
delete _doc;
|
||||||
delete _rdoc;
|
delete _rdoc;
|
||||||
|
delete _cfven;
|
||||||
|
delete _occas;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,7 +216,7 @@ bool TEffetto::fatt(long num)
|
|||||||
// restituisce i dati relativi alle fatture a cui si riferisce l'effetto
|
// restituisce i dati relativi alle fatture a cui si riferisce l'effetto
|
||||||
// costruendo una TToken_string del tipo
|
// costruendo una TToken_string del tipo
|
||||||
// "num_fatt0|data_fatt0|imp_fatt0|num_fatt1|data_fatt1|imp_fatt1|..."
|
// "num_fatt0|data_fatt0|imp_fatt0|num_fatt1|data_fatt1|imp_fatt1|..."
|
||||||
TToken_string* TEffetto::dati_fatt(long num)
|
TToken_string* TEffetto::dati_fatt(long num, const bool valuta)
|
||||||
{
|
{
|
||||||
TToken_string* dati= new TToken_string;
|
TToken_string* dati= new TToken_string;
|
||||||
dati->cut(0);
|
dati->cut(0);
|
||||||
@ -229,8 +229,15 @@ TToken_string* TEffetto::dati_fatt(long num)
|
|||||||
{
|
{
|
||||||
dati->add(righe_eff.get(REFF_NFATT));//prende il numero
|
dati->add(righe_eff.get(REFF_NFATT));//prende il numero
|
||||||
dati->add(righe_eff.get(REFF_DATAFATT));//prende la data
|
dati->add(righe_eff.get(REFF_DATAFATT));//prende la data
|
||||||
dati->add(righe_eff.get(REFF_IMPFATT));//prende l' importo
|
dati->add(righe_eff.get(valuta ? REFF_IMPFATTVAL : REFF_IMPFATT));//prende l' importo
|
||||||
righe_eff.next();// passa alla riga successiva
|
righe_eff.next();// passa alla riga successiva
|
||||||
}
|
}
|
||||||
return dati;
|
return dati;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const bool TEffetto::in_valuta()
|
||||||
|
{
|
||||||
|
TString val = get(EFF_CODVAL);
|
||||||
|
val.upper();
|
||||||
|
return val.not_empty() && val != "LIT";
|
||||||
|
}
|
||||||
|
@ -80,7 +80,8 @@ public:
|
|||||||
// restituisce il numero della riga distinta a cui appartiene l'effetto estraendolo dal record
|
// restituisce il numero della riga distinta a cui appartiene l'effetto estraendolo dal record
|
||||||
int nrgdist() const { return get_int(EFF_NRIGADIST); }
|
int nrgdist() const { return get_int(EFF_NRIGADIST); }
|
||||||
// restituisce l'importo dell'effetto
|
// restituisce l'importo dell'effetto
|
||||||
real importo() const { return get_real(EFF_IMPORTO); }
|
real importo(const bool valuta = FALSE) const { return get_real(valuta ? EFF_IMPORTOVAL : EFF_IMPORTO); }
|
||||||
|
const bool in_valuta() ;
|
||||||
// setta i campi per la quarta chiave del file
|
// setta i campi per la quarta chiave del file
|
||||||
void put_key(TRectype& rec,char tipodist, long ndist, int nrigadist = 0);
|
void put_key(TRectype& rec,char tipodist, long ndist, int nrigadist = 0);
|
||||||
// setta i campi per la prima chiave del file
|
// setta i campi per la prima chiave del file
|
||||||
@ -88,7 +89,7 @@ public:
|
|||||||
// restituisce true se l'effetto si riferisce ad una sola fattura
|
// restituisce true se l'effetto si riferisce ad una sola fattura
|
||||||
bool fatt(long num);
|
bool fatt(long num);
|
||||||
// restituisce i dati relativi alle fatture a cui si riferisce l'effetto
|
// restituisce i dati relativi alle fatture a cui si riferisce l'effetto
|
||||||
TToken_string* dati_fatt(long num);
|
TToken_string* dati_fatt(long num, const bool valuta = FALSE);
|
||||||
// costruttore di default
|
// costruttore di default
|
||||||
TEffetto();
|
TEffetto();
|
||||||
// costuisce l'effetto con il record passato
|
// costuisce l'effetto con il record passato
|
||||||
|
19
ef/ef0300.h
19
ef/ef0300.h
@ -17,7 +17,16 @@
|
|||||||
#define F_TIPOPAG 112
|
#define F_TIPOPAG 112
|
||||||
#define F_SHEET_RIBA 113
|
#define F_SHEET_RIBA 113
|
||||||
|
|
||||||
// Identificatori campi per lo spreadsheet Righe Distinta
|
// Identificatori campi per lo spreadsheet di selezione RiBa da aggiungere
|
||||||
|
// alla distinta (ef0300c.uml)
|
||||||
|
#define F_DADATA 201
|
||||||
|
#define F_ADATA 202
|
||||||
|
#define F_TIPORD 203
|
||||||
|
#define F_SHEET 204
|
||||||
|
#define F_TOTIMPDIST 205
|
||||||
|
#define F_IMPSEL 206
|
||||||
|
|
||||||
|
// Identificatori campi per lo spreadsheet Righe Distinta (ef0300b.uml ed ef0300d.uml)
|
||||||
#define F_CHECK 101
|
#define F_CHECK 101
|
||||||
#define F_NRIBA 102
|
#define F_NRIBA 102
|
||||||
#define F_SCAD 103
|
#define F_SCAD 103
|
||||||
@ -29,13 +38,5 @@
|
|||||||
#define F_IMPORTO 109
|
#define F_IMPORTO 109
|
||||||
#define F_IMPORTOVAL 110
|
#define F_IMPORTOVAL 110
|
||||||
|
|
||||||
// Identificatori campi per lo spreadsheet di selezione RiBa da aggiungere
|
|
||||||
// alla distinta
|
|
||||||
#define F_DADATA 101
|
|
||||||
#define F_ADATA 102
|
|
||||||
#define F_TIPORD 103
|
|
||||||
#define F_SHEET 104
|
|
||||||
#define F_TOTIMPDIST 105
|
|
||||||
#define F_IMPSEL 106
|
|
||||||
|
|
||||||
#endif // __EF0300_H
|
#endif // __EF0300_H
|
||||||
|
@ -84,6 +84,7 @@ BEGIN
|
|||||||
DISPLAY "Denominazione@50" S0
|
DISPLAY "Denominazione@50" S0
|
||||||
OUTPUT F_CODABIP CODTAB[1,5]
|
OUTPUT F_CODABIP CODTAB[1,5]
|
||||||
OUTPUT F_CODCABP CODTAB[6,10]
|
OUTPUT F_CODCABP CODTAB[6,10]
|
||||||
|
OUTPUT F_DENBANP S0
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
VALIDATE REQIF_FUNC 1 F_CODCABP
|
VALIDATE REQIF_FUNC 1 F_CODCABP
|
||||||
WARNING "Banca assente"
|
WARNING "Banca assente"
|
||||||
|
@ -64,5 +64,8 @@ BEGIN
|
|||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
#include "ef0300d.uml"
|
|
||||||
|
#include "ef0300d.uml"
|
||||||
|
|
||||||
|
@ -396,7 +396,7 @@ void TEmissione::print_rb(char tipost, int ndist, char tipodist, int ncopie, con
|
|||||||
if (!is_vis)
|
if (!is_vis)
|
||||||
pi = new TProgind(n,"Stampa Effetti...",FALSE,TRUE,10);
|
pi = new TProgind(n,"Stampa Effetti...",FALSE,TRUE,10);
|
||||||
// ciclo sugli elementi del cursore di stampa
|
// ciclo sugli elementi del cursore di stampa
|
||||||
for (*fcur = 0; fcur->pos() < n; ++(*fcur))
|
//for (*fcur = 0; fcur->pos() < n; ++(*fcur))
|
||||||
{
|
{
|
||||||
if (!is_vis)
|
if (!is_vis)
|
||||||
pi->addstatus(1L); // aggiorna la barra d'attesa
|
pi->addstatus(1L); // aggiorna la barra d'attesa
|
||||||
@ -510,7 +510,24 @@ bool TRiba_form::validate(TForm_item &cf, TToken_string &s)
|
|||||||
{
|
{
|
||||||
const TString code(s.get(0));
|
const TString code(s.get(0));
|
||||||
TString valore;
|
TString valore;
|
||||||
if (code == "_BANCAP")
|
|
||||||
|
if (code == "_IMPORTO")
|
||||||
|
{
|
||||||
|
// gestione dei campi relativi all'importo dell'effetto. Setta il valore da
|
||||||
|
// solo se e' in valuta (cambia anche la picture)
|
||||||
|
// sintassi: _IMPORTO
|
||||||
|
TEffetto effetto(cursor()->file().curr());
|
||||||
|
TString picture(cf.picture());
|
||||||
|
const bool in_valuta = effetto.in_valuta();
|
||||||
|
real importo = effetto.importo(in_valuta);
|
||||||
|
if (in_valuta)
|
||||||
|
picture << ",@@@";
|
||||||
|
valore = importo.string(picture);
|
||||||
|
cf.set(valore);
|
||||||
|
cf.put_paragraph(valore);
|
||||||
|
cf.set("");
|
||||||
|
}
|
||||||
|
if (code == "_BANCAP")
|
||||||
{
|
{
|
||||||
// gestione dei campi relativi alla banca di presentazione dell'effetto
|
// gestione dei campi relativi alla banca di presentazione dell'effetto
|
||||||
// sintassi: _BANCAP
|
// sintassi: _BANCAP
|
||||||
@ -534,12 +551,13 @@ bool TRiba_form::validate(TForm_item &cf, TToken_string &s)
|
|||||||
// "!A" fattura o fatture
|
// "!A" fattura o fatture
|
||||||
// "!DATI" numero e data fattura
|
// "!DATI" numero e data fattura
|
||||||
// "!IMPFATT" importo fattura
|
// "!IMPFATT" importo fattura
|
||||||
TCursor* fcur = cursor();
|
//TCursor* fcur = cursor();
|
||||||
TLocalisamfile &eff = fcur->file(LF_EFFETTI);
|
//TLocalisamfile &eff = fcur->file(LF_EFFETTI);
|
||||||
TEffetto effetto = eff.curr();
|
TEffetto effetto(cursor()->file().curr());// = eff.curr();
|
||||||
long num = effetto.numero();
|
long num = effetto.numero();
|
||||||
|
const bool in_valuta = effetto.in_valuta();
|
||||||
bool condition = (effetto.fatt(num));//TRUE se effetto non raggruppato
|
bool condition = (effetto.fatt(num));//TRUE se effetto non raggruppato
|
||||||
TToken_string* dati = effetto.dati_fatt(num);
|
TToken_string* dati = effetto.dati_fatt(num, in_valuta);
|
||||||
TString in(s.get());
|
TString in(s.get());
|
||||||
if (in[0]=='!')
|
if (in[0]=='!')
|
||||||
{
|
{
|
||||||
@ -571,8 +589,11 @@ bool TRiba_form::validate(TForm_item &cf, TToken_string &s)
|
|||||||
{
|
{
|
||||||
if (condition)
|
if (condition)
|
||||||
{
|
{
|
||||||
|
TString picture(cf.picture());
|
||||||
|
if (in_valuta)
|
||||||
|
picture << ",@@@";
|
||||||
real importo(dati->get(2));
|
real importo(dati->get(2));
|
||||||
cf.set(importo.string("###.###.###.###,@@"));
|
cf.set(importo.string(picture));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -615,7 +636,23 @@ bool TDistinta_form::validate(TForm_item &cf, TToken_string &s)
|
|||||||
{
|
{
|
||||||
const TString code(s.get(0));
|
const TString code(s.get(0));
|
||||||
TString valore;
|
TString valore;
|
||||||
if (code == "_BANCAP")
|
if (code == "_IMPORTO")
|
||||||
|
{
|
||||||
|
// gestione dei campi relativi all'importo dell'effetto. Setta il valore da
|
||||||
|
// solo se e' in valuta (cambia anche la picture)
|
||||||
|
// sintassi: _IMPORTO
|
||||||
|
TEffetto effetto(cursor()->file().curr());
|
||||||
|
TString picture(cf.picture());
|
||||||
|
const bool in_valuta = effetto.in_valuta();
|
||||||
|
real importo = effetto.importo(in_valuta);
|
||||||
|
if (in_valuta)
|
||||||
|
picture << ",@@@";
|
||||||
|
valore = importo.string(picture);
|
||||||
|
cf.set(valore);
|
||||||
|
cf.put_paragraph(valore);
|
||||||
|
cf.set("");
|
||||||
|
}
|
||||||
|
if (code == "_BANCAP")
|
||||||
{
|
{
|
||||||
// gestione dei campi relativi alla banca di presentazione della distinta
|
// gestione dei campi relativi alla banca di presentazione della distinta
|
||||||
// sintassi: _BANCAP
|
// sintassi: _BANCAP
|
||||||
@ -665,9 +702,9 @@ bool TDistinta_form::validate(TForm_item &cf, TToken_string &s)
|
|||||||
// sintassi: _FATT,<macro>
|
// sintassi: _FATT,<macro>
|
||||||
// dove: <macro> è uno delle macro seguenti:
|
// dove: <macro> è uno delle macro seguenti:
|
||||||
// "!DATI" numero e data fattura
|
// "!DATI" numero e data fattura
|
||||||
TCursor* fcur = cursor();
|
//TCursor* fcur = cursor();
|
||||||
TLocalisamfile &eff = fcur->file(LF_EFFETTI);
|
//TLocalisamfile &eff = fcur->file(LF_EFFETTI);
|
||||||
TEffetto effetto = eff.curr();
|
TEffetto effetto(cursor()->file().curr()); //= eff.curr();
|
||||||
long num = effetto.numero();
|
long num = effetto.numero();
|
||||||
TToken_string* dati = effetto.dati_fatt(num);
|
TToken_string* dati = effetto.dati_fatt(num);
|
||||||
int elem = dati->items();
|
int elem = dati->items();
|
||||||
@ -716,14 +753,15 @@ bool TDistinta_form::validate(TForm_item &cf, TToken_string &s)
|
|||||||
if (in == "TOTALE")
|
if (in == "TOTALE")
|
||||||
{
|
{
|
||||||
real totale = 0.0;
|
real totale = 0.0;
|
||||||
TLocalisamfile &eff = fcur->file(LF_EFFETTI);
|
TString picture(cf.picture());
|
||||||
|
TEffetto effetto(fcur->file().curr());
|
||||||
|
const bool in_valuta = effetto.in_valuta();
|
||||||
|
if (in_valuta) // In una distinta le riba sono tutte della stessa valuta; quindi basta prenderne 1
|
||||||
|
picture << ",@@@";
|
||||||
|
TLocalisamfile& eff = fcur->file();
|
||||||
for (*fcur = 0; fcur->pos() < i; ++(*fcur))
|
for (*fcur = 0; fcur->pos() < i; ++(*fcur))
|
||||||
{
|
totale += eff.get_real(in_valuta ? EFF_IMPORTOVAL : EFF_IMPORTO);
|
||||||
TEffetto effetto = eff.curr();
|
cf.set(totale.string(picture));
|
||||||
real imp = (real)effetto.importo();
|
|
||||||
totale +=imp;
|
|
||||||
}
|
|
||||||
cf.set(totale.string("###.###.###.###,@@"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
valore = cf.get();
|
valore = cf.get();
|
||||||
@ -731,6 +769,7 @@ bool TDistinta_form::validate(TForm_item &cf, TToken_string &s)
|
|||||||
cf.set("");
|
cf.set("");
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
if (code== "_PAGENO")
|
if (code== "_PAGENO")
|
||||||
{
|
{
|
||||||
// messaggio per stampare il numero di pagina corrente
|
// messaggio per stampare il numero di pagina corrente
|
||||||
@ -738,6 +777,7 @@ bool TDistinta_form::validate(TForm_item &cf, TToken_string &s)
|
|||||||
cf.set(pg); cf.put_paragraph(pg);
|
cf.set(pg); cf.put_paragraph(pg);
|
||||||
cf.set("");
|
cf.set("");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
return TForm::validate(cf, s);
|
return TForm::validate(cf, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,10 +6,10 @@ PAGE "Emissione Effetti e Distinte" -1 -1 77 19
|
|||||||
RADIOBUTTON F_TIPOEMIS 76
|
RADIOBUTTON F_TIPOEMIS 76
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 0 " "
|
PROMPT 1 0 " "
|
||||||
ITEM "1| Emissione RI.BA. su floppy"
|
ITEM "1|Emissione RI.BA. su floppy"
|
||||||
MESSAGE DISABLE,2@|DISABLE,4@|DISABLE,5@
|
MESSAGE DISABLE,2@|DISABLE,4@|DISABLE,5@
|
||||||
MESSAGE ENABLE,1@
|
MESSAGE ENABLE,1@
|
||||||
ITEM "2| Emissione RI.BA. su moduli cartacei"
|
ITEM "2|Emissione RI.BA. su moduli cartacei"
|
||||||
MESSAGE DISABLE,1@
|
MESSAGE DISABLE,1@
|
||||||
MESSAGE ENABLE,2@
|
MESSAGE ENABLE,2@
|
||||||
END
|
END
|
||||||
@ -23,9 +23,9 @@ LIST F_TIPODIST 18
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 5 "Tipo Distinta "
|
PROMPT 2 5 "Tipo Distinta "
|
||||||
KEY 4
|
KEY 4
|
||||||
ITEM "I| All'incasso"
|
ITEM "I|All'incasso"
|
||||||
ITEM "B| Salvo buon fine"
|
ITEM "B|Salvo buon fine"
|
||||||
ITEM "S| Allo sconto"
|
ITEM "S|Allo sconto"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_NUMBER 5
|
NUMBER F_NUMBER 5
|
||||||
@ -63,8 +63,8 @@ END
|
|||||||
LIST F_UNITA 9
|
LIST F_UNITA 9
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 8 "Unità di output "
|
PROMPT 2 8 "Unità di output "
|
||||||
ITEM "a| Drive A"
|
ITEM "a|Drive A"
|
||||||
ITEM "b| Drive B"
|
ITEM "b|Drive B"
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -87,9 +87,9 @@ END
|
|||||||
LIST F_EMIS 20
|
LIST F_EMIS 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Emissione "
|
PROMPT 2 11 "Emissione "
|
||||||
ITEM "1| Emissione effetti"
|
ITEM "1|Emissione effetti"
|
||||||
MESSAGE DISABLE,4@|ENABLE,5@
|
MESSAGE DISABLE,4@|ENABLE,5@
|
||||||
ITEM "2| Emissione distinta"
|
ITEM "2|Emissione distinta"
|
||||||
MESSAGE ENABLE,4@|DISABLE,5@
|
MESSAGE ENABLE,4@|DISABLE,5@
|
||||||
GROUP 2
|
GROUP 2
|
||||||
END
|
END
|
||||||
@ -105,16 +105,16 @@ END
|
|||||||
LIST F_TIPORD 14
|
LIST F_TIPORD 14
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 13 "Tipo Ordinamento "
|
PROMPT 2 13 "Tipo Ordinamento "
|
||||||
ITEM "S| Scadenza "
|
ITEM "S|Scadenza "
|
||||||
ITEM "F| Fattura "
|
ITEM "F|Fattura "
|
||||||
GROUP 4
|
GROUP 4
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_TIPOST 14
|
LIST F_TIPOST 14
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 43 12 "Tipo di Stampa "
|
PROMPT 43 12 "Tipo di Stampa "
|
||||||
ITEM "P| Provvisoria"
|
ITEM "P|Provvisoria"
|
||||||
ITEM "D| Definitiva"
|
ITEM "D|Definitiva"
|
||||||
GROUP 2
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -34,15 +34,14 @@ BEGIN
|
|||||||
KEY "data scadenza"
|
KEY "data scadenza"
|
||||||
PROMPT 50 2 ""
|
PROMPT 50 2 ""
|
||||||
FIELD 31->DATASCAD
|
FIELD 31->DATASCAD
|
||||||
FORMAT "2444/"
|
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 2 18
|
NUMERO 2 18
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "importo"
|
KEY "importo"
|
||||||
PROMPT 70 2 ""
|
PROMPT 70 2 ""
|
||||||
FIELD 31->IMPORTO
|
MESSAGE _IMPORTO
|
||||||
PICTURE "###.###.###.###,@@"
|
PICTURE "###.###.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 3 50
|
STRING 3 50
|
||||||
@ -104,6 +103,7 @@ BEGIN
|
|||||||
KEY "importo fattura"
|
KEY "importo fattura"
|
||||||
PROMPT 73 10 ""
|
PROMPT 73 10 ""
|
||||||
MESSAGE _FATT,!IMPFATT
|
MESSAGE _FATT,!IMPFATT
|
||||||
|
PICTURE "###.###.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 11 30 2
|
STRING 11 30 2
|
||||||
@ -188,4 +188,4 @@ END
|
|||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
[AREADICH_001]
|
|
||||||
Caption = "Dichiarazioni"
|
|
||||||
Picture = <ba00.bmp>
|
|
||||||
Module = 0
|
|
||||||
Item_01 = "Modello 740", "740 -t -cCONF740.FPW", ""
|
|
||||||
Item_02 = "Modello 750", "750 -t -cCONF750.FPW", ""
|
|
||||||
Item_03 = "Modello 760", "760 -t -cCONF760.FPW", ""
|
|
||||||
Item_04 = "Modello 770", <77prassi.men>
|
|
||||||
Item_05 = "Dichiarazione IVA", "miva -t", ""
|
|
||||||
Item_06 = "Gestione ICI", "gici -t /cPRAWIN.INI", ""
|
|
||||||
|
|
@ -11,6 +11,7 @@ BEGIN
|
|||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_INIZIO1 CODTAB[1,1]
|
OUTPUT F_INIZIO1 CODTAB[1,1]
|
||||||
GROUP 1
|
GROUP 1
|
||||||
|
NUM_EXPR #F_FINE1>=#F_INIZIO1
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -23,6 +24,7 @@ BEGIN
|
|||||||
COPY DISPLAY F_INIZIO1
|
COPY DISPLAY F_INIZIO1
|
||||||
OUTPUT F_FINE1 CODTAB
|
OUTPUT F_FINE1 CODTAB
|
||||||
GROUP 2
|
GROUP 2
|
||||||
|
NUM_EXPR #F_FINE1>=#F_INIZIO1
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -35,6 +37,7 @@ END
|
|||||||
|
|
||||||
STRING F_INIZIO2 20
|
STRING F_INIZIO2 20
|
||||||
BEGIN
|
BEGIN
|
||||||
|
FLAGS "U"
|
||||||
PROMPT 28 1 "Dal gruppo "
|
PROMPT 28 1 "Dal gruppo "
|
||||||
FIELD LF_TABCOM->CODTAB[2,20]
|
FIELD LF_TABCOM->CODTAB[2,20]
|
||||||
USE GCA SELECT CODTAB[1,1]==#F_INIZIO1
|
USE GCA SELECT CODTAB[1,1]==#F_INIZIO1
|
||||||
@ -43,21 +46,22 @@ BEGIN
|
|||||||
DISPLAY "Codice " CODTAB[2,20]
|
DISPLAY "Codice " CODTAB[2,20]
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_INIZIO2 CODTAB[2,20]
|
OUTPUT F_INIZIO2 CODTAB[2,20]
|
||||||
OUTPUT F_INIZIO1 CODTAB[1,1]
|
// OUTPUT F_INIZIO1 CODTAB[1,1]
|
||||||
GROUP 1
|
GROUP 1
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_FINE2 20
|
STRING F_FINE2 20
|
||||||
BEGIN
|
BEGIN
|
||||||
|
FLAGS "U"
|
||||||
PROMPT 28 3 " Al gruppo "
|
PROMPT 28 3 " Al gruppo "
|
||||||
FIELD LF_TABCOM->CODTAB[2,20]
|
FIELD LF_TABCOM->CODTAB[2,20]
|
||||||
USE GCA SELECT CODTAB[1,1]==#F_FINE1
|
USE GCA SELECT CODTAB[1,1]==#F_INIZIO1
|
||||||
INPUT CODTAB[1,1] F_FINE1
|
INPUT CODTAB[1,1] F_INIZIO1
|
||||||
INPUT CODTAB[2,20] F_FINE2
|
INPUT CODTAB[2,20] F_FINE2
|
||||||
COPY DISPLAY F_INIZIO2
|
COPY DISPLAY F_INIZIO2
|
||||||
OUTPUT F_FINE2 CODTAB[2,20]
|
OUTPUT F_FINE2 CODTAB[2,20]
|
||||||
OUTPUT F_FINE1 CODTAB[1,1]
|
// OUTPUT F_FINE1 CODTAB[1,1]
|
||||||
GROUP 2
|
GROUP 2
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
BIN
mg/mg01.bmp
BIN
mg/mg01.bmp
Binary file not shown.
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 94 KiB |
@ -221,11 +221,17 @@ bool TMask_tabmag::numlivart_handler(TMask_field& f, KEY k)
|
|||||||
// HANDLER DEL CODICE LIVELLO anagrafica
|
// HANDLER DEL CODICE LIVELLO anagrafica
|
||||||
bool TMask_tabmag::codgrp_handler(TMask_field& f, KEY k)
|
bool TMask_tabmag::codgrp_handler(TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
if ((k == K_TAB && f.focusdirty())||k == K_ENTER )
|
if ((k == K_TAB && f.focusdirty() )||k == K_ENTER )
|
||||||
{
|
{
|
||||||
TMask_tabmag & myself=((TMask_tabmag &)f.mask());
|
TMask_tabmag & myself=((TMask_tabmag &)f.mask());
|
||||||
|
|
||||||
if (!(myself.cod_liv->fit_to_format(f.get(),myself.get_int(F_CODLIV))))
|
if (!myself.cod_liv->enabled())
|
||||||
|
{
|
||||||
|
f.error_box("Livelli del codice non abilitati");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!f.empty() && !(myself.cod_liv->fit_to_format(f.get(),myself.get_int(F_CODLIV))))
|
||||||
{
|
{
|
||||||
f.error_box("Codice non corrispondente al formato previsto");
|
f.error_box("Codice non corrispondente al formato previsto");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -6,10 +6,12 @@
|
|||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
#include "mglib.h"
|
||||||
#include "mg0200.h"
|
#include "mg0200.h"
|
||||||
|
|
||||||
class TStampa_tabmag : public TApplication
|
class TStampa_tabmag : public TApplication
|
||||||
{
|
{
|
||||||
|
TCodice_livelli * _cod_liv;
|
||||||
TMask * _mask;
|
TMask * _mask;
|
||||||
TForm * _form;
|
TForm * _form;
|
||||||
|
|
||||||
@ -18,10 +20,46 @@ protected:
|
|||||||
virtual bool create();
|
virtual bool create();
|
||||||
virtual bool destroy();
|
virtual bool destroy();
|
||||||
virtual bool menu(MENU_TAG);
|
virtual bool menu(MENU_TAG);
|
||||||
|
static bool hnd_livinizio(TMask_field &, KEY); // handler
|
||||||
|
static bool hnd_livfine(TMask_field &, KEY); // handler
|
||||||
|
public:
|
||||||
|
const TCodice_livelli & liv_cod()
|
||||||
|
{return *_cod_liv;}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bool TStampa_tabmag::hnd_livinizio(TMask_field &f, KEY k)
|
||||||
|
{
|
||||||
|
if (f.empty())
|
||||||
|
{
|
||||||
|
f.set("1");
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
bool TStampa_tabmag::hnd_livfine(TMask_field &f, KEY k)
|
||||||
|
{
|
||||||
|
const TCodice_livelli &codliv = ((TStampa_tabmag &)main_app()).liv_cod();
|
||||||
|
if (f.empty())
|
||||||
|
{
|
||||||
|
f.set(codliv.last_level());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (f.focusdirty())
|
||||||
|
{
|
||||||
|
TMask & m=f.mask();
|
||||||
|
const bool enab=(m.get(F_INIZIO1)==f.get() && m.get_bool(F_DETTAGLIO));
|
||||||
|
|
||||||
|
m.enable(F_INIZIO2,enab );
|
||||||
|
m.enable(F_FINE2,enab );
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
void TStampa_tabmag::set_print(TString & tabname)
|
void TStampa_tabmag::set_print(TString & tabname)
|
||||||
{
|
{
|
||||||
|
const short begin=_cod_liv->code_start(_mask->get_int(F_INIZIO1)),
|
||||||
|
end= begin+_cod_liv->code_length(_mask->get_int(F_INIZIO1))-1;
|
||||||
|
|
||||||
TString filter;
|
TString filter;
|
||||||
TRectype from_rec(LF_TAB),to_rec(LF_TAB);
|
TRectype from_rec(LF_TAB),to_rec(LF_TAB);
|
||||||
from_rec.put("COD",tabname);
|
from_rec.put("COD",tabname);
|
||||||
@ -30,11 +68,12 @@ void TStampa_tabmag::set_print(TString & tabname)
|
|||||||
to_rec.put("CODTAB",_mask->get(F_FINE1));
|
to_rec.put("CODTAB",_mask->get(F_FINE1));
|
||||||
if (tabname=="FCA" || tabname=="FCG") {
|
if (tabname=="FCA" || tabname=="FCG") {
|
||||||
if (*_mask->get(F_INIZIO2))
|
if (*_mask->get(F_INIZIO2))
|
||||||
filter << "500@->CODTAB[2,20]>=" << _mask->get(F_INIZIO2);
|
filter << "500@->CODTAB[" << begin << "," << end << "]>=" << '"' <<_mask->get(F_INIZIO2) << '"' ;
|
||||||
if (filter.not_empty())
|
|
||||||
filter << "&&";
|
|
||||||
if (*_mask->get(F_FINE2))
|
if (*_mask->get(F_FINE2))
|
||||||
filter << "500@->CODTAB[2,20]<=" << _mask->get(F_FINE2);
|
{
|
||||||
|
if (filter.not_empty()) filter << "&&";
|
||||||
|
filter << "500@->CODTAB[" << begin << "," << end << "]<=" << '"' << _mask->get(F_FINE2) << '"' ;
|
||||||
|
}
|
||||||
_form->find_field('B',odd_page,"GRUPPI").show(_mask->get_bool(F_DETTAGLIO));
|
_form->find_field('B',odd_page,"GRUPPI").show(_mask->get_bool(F_DETTAGLIO));
|
||||||
}
|
}
|
||||||
_form->cursor()->setregion(from_rec,to_rec);
|
_form->cursor()->setregion(from_rec,to_rec);
|
||||||
@ -59,6 +98,12 @@ bool TStampa_tabmag::menu(MENU_TAG)
|
|||||||
formname << tabname;
|
formname << tabname;
|
||||||
|
|
||||||
_mask = new TMask(maskname);
|
_mask = new TMask(maskname);
|
||||||
|
_mask->set_handler(F_INIZIO1,hnd_livinizio);
|
||||||
|
_mask->set_handler(F_FINE1,hnd_livfine);
|
||||||
|
if (tabname=="FCA")
|
||||||
|
_cod_liv = new TCodart_livelli();
|
||||||
|
else
|
||||||
|
_cod_liv = new TCodgiac_livelli();
|
||||||
while ((_mask->run() == K_ENTER)) {
|
while ((_mask->run() == K_ENTER)) {
|
||||||
_form = new TForm(formname);
|
_form = new TForm(formname);
|
||||||
set_print(tabname);
|
set_print(tabname);
|
||||||
@ -71,6 +116,7 @@ bool TStampa_tabmag::menu(MENU_TAG)
|
|||||||
bool TStampa_tabmag::destroy()
|
bool TStampa_tabmag::destroy()
|
||||||
{
|
{
|
||||||
delete _mask;
|
delete _mask;
|
||||||
|
delete _cod_liv;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,13 +227,14 @@ bool TMask_movmag::update_rigamov (int r, const char * old_codcaus)
|
|||||||
ss.insert(r+1);
|
ss.insert(r+1);
|
||||||
ss.row(r+1)=ss.row(r);
|
ss.row(r+1)=ss.row(r);
|
||||||
} else {
|
} else {
|
||||||
codmag=ss.cell(r+1,ss.cid2index(F_CODMAG));
|
|
||||||
coddep=ss.cell(r+1,ss.cid2index(F_CODDEP));
|
|
||||||
ss.row(r+1)=ss.row(r);
|
ss.row(r+1)=ss.row(r);
|
||||||
}
|
}
|
||||||
|
//codmag=ss.cell(r,ss.cid2index(F_CODMAG));
|
||||||
|
//coddep=ss.cell(r,ss.cid2index(F_CODDEP));
|
||||||
|
//ss.row(r+1).add(codmag,ss.cid2index(F_CODMAG));
|
||||||
|
//ss.row(r+1).add(coddep,ss.cid2index(F_CODDEP));
|
||||||
ss.row(r+1).add(prezzo.string(),ss.cid2index(F_PREZZO));
|
ss.row(r+1).add(prezzo.string(),ss.cid2index(F_PREZZO));
|
||||||
ss.row(r+1).add(codmag,ss.cid2index(F_CODMAG));
|
|
||||||
ss.row(r+1).add(coddep,ss.cid2index(F_CODDEP));
|
|
||||||
ss.row(r+1).add(cau.caus_collegata(),ss.cid2index(F_CAUSRIG));
|
ss.row(r+1).add(cau.caus_collegata(),ss.cid2index(F_CAUSRIG));
|
||||||
ss.row(r+1).add(TString(1,riga_automatica),ss.cid2index(F_AUTOMATICA));
|
ss.row(r+1).add(TString(1,riga_automatica),ss.cid2index(F_AUTOMATICA));
|
||||||
ss.check_row(r+1);
|
ss.check_row(r+1);
|
||||||
|
@ -31,8 +31,10 @@ bool TMask_buildmov::handle_annoes(TMask_field &fld, KEY k)
|
|||||||
TMask_buildmov &mask=(TMask_buildmov &)fld.mask();
|
TMask_buildmov &mask=(TMask_buildmov &)fld.mask();
|
||||||
if (fld.get().empty())
|
if (fld.get().empty())
|
||||||
{
|
{
|
||||||
// DEFAULT
|
// DEFAULT
|
||||||
fld.set(mask.esercizi.date2esc(mask.get_date(F_DATA)));
|
const long esc=mask.esercizi.date2esc(mask.get_date(F_DATA));
|
||||||
|
if (esc!=0)
|
||||||
|
fld.set(esc);
|
||||||
}
|
}
|
||||||
if (k == K_TAB && fld.focusdirty())
|
if (k == K_TAB && fld.focusdirty())
|
||||||
{
|
{
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
#include "mg1200.h"
|
#include "mg1200.h"
|
||||||
|
|
||||||
TOOLBAR "" 0 20 60 2
|
TOOLBAR "" 0 20 40 2
|
||||||
BUTTON DLG_OK 14 2
|
BUTTON DLG_OK 14 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -13 -1 "Ricostruisci"
|
PROMPT -12 -1 "Ricostruisci"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_CANCEL 14 2
|
BUTTON DLG_CANCEL 14 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -23 -1 "Annulla"
|
PROMPT -22 -1 "Annulla"
|
||||||
END
|
END
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ PAGE "Ricostruzione movimenti" 11 50 10
|
|||||||
|
|
||||||
DATE F_DATA
|
DATE F_DATA
|
||||||
BEGIN
|
BEGIN
|
||||||
FLAGS "DA"
|
FLAGS "HDA"
|
||||||
PROMPT 1 1 "Anno attuale"
|
PROMPT 1 1 "Anno attuale"
|
||||||
MESSAGE "0",F_ANNOES
|
MESSAGE "0",F_ANNOES
|
||||||
END
|
END
|
||||||
@ -26,9 +26,9 @@ BEGIN
|
|||||||
PROMPT 2 3 "Codice esercizio "
|
PROMPT 2 3 "Codice esercizio "
|
||||||
USE ESC
|
USE ESC
|
||||||
INPUT CODTAB F_ANNOES
|
INPUT CODTAB F_ANNOES
|
||||||
DISPLAY "Esercizio" CODTAB
|
DISPLAY "Esercizio@20" CODTAB
|
||||||
DISPLAY "Dal@12" D0
|
DISPLAY "Dal@20" D0
|
||||||
DISPLAY "Al@12" D0
|
DISPLAY "Al@20" D1
|
||||||
OUTPUT F_ANNOES CODTAB
|
OUTPUT F_ANNOES CODTAB
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
@ -79,6 +79,8 @@ Item_07 = "Categorie acquisti articoli", "ba3 -0 CAA", ""
|
|||||||
Item_08 = "Raggrupp. fiscali articoli", "ba3 -0 RFA", ""
|
Item_08 = "Raggrupp. fiscali articoli", "ba3 -0 RFA", ""
|
||||||
Item_09 = "Raggruppamenti causali magazzino", "mg0 -0 %RFC", ""
|
Item_09 = "Raggruppamenti causali magazzino", "mg0 -0 %RFC", ""
|
||||||
Item_10 = "Causali magazzino", "mg0 -0 %CAU", ""
|
Item_10 = "Causali magazzino", "mg0 -0 %CAU", ""
|
||||||
|
Item_11 = "Gruppi codice articoli", "mg0 -0 GCA", ""
|
||||||
|
Item_12 = "Gruppi codice giacenze", "mg0 -0 GCG", ""
|
||||||
|
|
||||||
[MGAREA_007]
|
[MGAREA_007]
|
||||||
Caption = "Stampa tabelle"
|
Caption = "Stampa tabelle"
|
||||||
@ -138,6 +140,8 @@ Item_06 = "Categorie acquisti articoli", "ba3 -1 CAA", ""
|
|||||||
Item_07 = "Raggrupp. fiscali articoli", "ba3 -1 RFA", ""
|
Item_07 = "Raggrupp. fiscali articoli", "ba3 -1 RFA", ""
|
||||||
Item_08 = "Raggruppamenti causali magazzino", "ba3 -1 %RFC", ""
|
Item_08 = "Raggruppamenti causali magazzino", "ba3 -1 %RFC", ""
|
||||||
Item_09 = "Causali magazzino", "ba3 -1 %CAU", ""
|
Item_09 = "Causali magazzino", "ba3 -1 %CAU", ""
|
||||||
|
Item_10 = "Formato e gruppi codice articoli", "mg0 -1 FCA", ""
|
||||||
|
Item_11 = "Formato e gruppi codice giacenze", "mg0 -1 FCG", ""
|
||||||
|
|
||||||
[MGAREA_012]
|
[MGAREA_012]
|
||||||
Caption = "Gestione archivi di base"
|
Caption = "Gestione archivi di base"
|
||||||
@ -152,7 +156,7 @@ Item_05 = "Sconti clienti", "ba3 -0 %SCC", ""
|
|||||||
Item_06 = "Sconti incondizionati", "ve2 -0 i", ""
|
Item_06 = "Sconti incondizionati", "ve2 -0 i", ""
|
||||||
Item_07 = "Sconti di riga", "ve2 -0 r", ""
|
Item_07 = "Sconti di riga", "ve2 -0 r", ""
|
||||||
Item_08 = "Clienti/Fornitori", "cg0 -1", "F"
|
Item_08 = "Clienti/Fornitori", "cg0 -1", "F"
|
||||||
Item_09 = "Agenti", "sv0 -4", ""
|
Item_09 = "Agenti", "pr0 -4", ""
|
||||||
|
|
||||||
[MGAREA_013]
|
[MGAREA_013]
|
||||||
Caption = "Stampa archivi di base"
|
Caption = "Stampa archivi di base"
|
||||||
@ -167,7 +171,7 @@ Item_05 = "Sconti clienti", "ba3 -1 %SCC", ""
|
|||||||
Item_06 = "Sconti incondizionati", "ve3 -0 i", ""
|
Item_06 = "Sconti incondizionati", "ve3 -0 i", ""
|
||||||
Item_07 = "Sconti di riga", "ve3 -0 r", ""
|
Item_07 = "Sconti di riga", "ve3 -0 r", ""
|
||||||
Item_08 = "Clienti/Fornitori", "cg1 -1", "F"
|
Item_08 = "Clienti/Fornitori", "cg1 -1", "F"
|
||||||
Item_09 = "Agenti", "sv1 -0", ""
|
Item_09 = "Agenti", "pr1 -0", ""
|
||||||
|
|
||||||
[MGAREA_019]
|
[MGAREA_019]
|
||||||
Caption = "Servizi"
|
Caption = "Servizi"
|
||||||
|
@ -410,6 +410,7 @@ public:
|
|||||||
virtual void synchronize_bodies();
|
virtual void synchronize_bodies();
|
||||||
virtual int remove(TBaseisamfile& f) const ;
|
virtual int remove(TBaseisamfile& f) const ;
|
||||||
void add_automatiche();
|
void add_automatiche();
|
||||||
|
virtual void zero(char c = '\0');// azzeramento ;
|
||||||
virtual int write(TBaseisamfile& f) const ;
|
virtual int write(TBaseisamfile& f) const ;
|
||||||
virtual int rewrite(TBaseisamfile& f) const ;
|
virtual int rewrite(TBaseisamfile& f) const ;
|
||||||
int force_update_bal();
|
int force_update_bal();
|
||||||
|
@ -109,7 +109,8 @@ void TArticolo::set_body_key(TRectype & rowrec)
|
|||||||
|
|
||||||
int TArticolo::read(TRectype & rec, word op, word lockop)
|
int TArticolo::read(TRectype & rec, word op, word lockop)
|
||||||
{
|
{
|
||||||
if (op == _isequal && lockop == _nolock && strcmp (rec.get(ANAMAG_CODART), (const char *) (*_codice)) == 0)
|
TString compstr((const char *) *_codice);
|
||||||
|
if (op == _isequal && lockop == _nolock && strcmp (rec.get(ANAMAG_CODART), (const char *) (compstr)) == 0)
|
||||||
return NOERR;
|
return NOERR;
|
||||||
|
|
||||||
*_codice = rec.get(ANAMAG_CODART);
|
*_codice = rec.get(ANAMAG_CODART);
|
||||||
@ -123,8 +124,9 @@ int TArticolo::read(TRectype & rec, word op, word lockop)
|
|||||||
|
|
||||||
int TArticolo::read(const char * cod, word op, word lockop)
|
int TArticolo::read(const char * cod, word op, word lockop)
|
||||||
{
|
{
|
||||||
put(ANAMAG_CODART,cod);
|
TRectype tmp(*this);
|
||||||
return read( *this, op, lockop);
|
tmp.put(ANAMAG_CODART,cod);
|
||||||
|
return read( tmp, op, lockop);
|
||||||
}
|
}
|
||||||
|
|
||||||
const TString & TArticolo::descrizione(const char* lingua) const
|
const TString & TArticolo::descrizione(const char* lingua) const
|
||||||
@ -173,14 +175,29 @@ bool TArticolo::unlock()
|
|||||||
bool TArticolo::lock_and_prompt()
|
bool TArticolo::lock_and_prompt()
|
||||||
{
|
{
|
||||||
TString mess;
|
TString mess;
|
||||||
mess << "Il record di anagrafica dell'articolo ''"<< codice() << "'' risulta essere già in uso.\n Interrompo ?";
|
int err;
|
||||||
TTimed_breakbox bbox((const char *)mess,10);
|
|
||||||
do {
|
do {
|
||||||
TLocalisamfile anag(LF_ANAMAG);
|
TLocalisamfile anag(LF_ANAMAG);
|
||||||
anag.curr()=*this;
|
anag.curr()=*this;
|
||||||
if (anag.read(_isequal,_testandlock)==NOERR)
|
err=anag.read(_isequal,_testandlock);
|
||||||
return TRUE;
|
switch (err)
|
||||||
} while (bbox.run()!=K_ESC);
|
{
|
||||||
|
case NOERR:
|
||||||
|
return TRUE;
|
||||||
|
case _islocked:
|
||||||
|
{
|
||||||
|
mess.cut(0);
|
||||||
|
mess << "Il record di anagrafica dell'articolo ''"<< codice() << "'' risulta essere già in uso.\n Interrompo ?";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
mess.cut(0);
|
||||||
|
mess << "Non riesco ad accedere al record di anagrafica dell'articolo ''"<< codice() << "'' \n Interrompo ?";
|
||||||
|
}
|
||||||
|
TTimed_breakbox bbox((const char *)mess,10);
|
||||||
|
if (bbox.run()==K_ESC)
|
||||||
|
return FALSE;
|
||||||
|
} while (TRUE);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1039,6 +1056,15 @@ TMov_mag::~TMov_mag()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TMov_mag::zero(char c)
|
||||||
|
{
|
||||||
|
TMultiple_rectype::zero(c);
|
||||||
|
|
||||||
|
lines_to_add.destroy();
|
||||||
|
lines_to_subtract.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
// valuta il valore della chiave per un nuovo record
|
// valuta il valore della chiave per un nuovo record
|
||||||
bool TMov_mag::renum()
|
bool TMov_mag::renum()
|
||||||
{
|
{
|
||||||
@ -1115,16 +1141,16 @@ void TMov_mag::add_automatiche()
|
|||||||
int TMov_mag::write(TBaseisamfile& f) const
|
int TMov_mag::write(TBaseisamfile& f) const
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
((TMov_mag *)this)->add_automatiche();
|
TMov_mag &myself=((TMov_mag &)*this);
|
||||||
// memorizza le variazioni
|
myself.add_automatiche();
|
||||||
|
|
||||||
const int nrows = rows();
|
const int nrows = rows();
|
||||||
|
|
||||||
for (int i = 1; i <= nrows; i++)
|
for (int i = 1; i <= nrows; i++)
|
||||||
((TMov_mag *)this)->line_inserted(line2key(i), line2data(i));
|
myself.line_inserted(line2key(i), line2data(i));
|
||||||
if ((res=TMultiple_rectype::write(f))==NOERR )
|
if ((res=TMultiple_rectype::write(f))==NOERR )
|
||||||
// effettua la variazione dei saldi
|
// effettua la variazione dei saldi
|
||||||
((TMov_mag *)this)->update_balances();
|
myself.update_balances();
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1302,12 +1328,15 @@ int TMov_mag::update_balances()
|
|||||||
while (curr_key) {
|
while (curr_key) {
|
||||||
curr_art.read((const char *)key2field(*curr_key,"CODART"));
|
curr_art.read((const char *)key2field(*curr_key,"CODART"));
|
||||||
if (curr_art.lock_and_prompt()) {
|
if (curr_art.lock_and_prompt()) {
|
||||||
|
// lock gained
|
||||||
TLine_movmag & line_mov=(TLine_movmag &)lines_to_add[*curr_key];
|
TLine_movmag & line_mov=(TLine_movmag &)lines_to_add[*curr_key];
|
||||||
TCausale_magazzino & causmag=(TCausale_magazzino &)cache_causali.get(line_mov.codcaus());
|
TCausale_magazzino & causmag=(TCausale_magazzino &)cache_causali.get(line_mov.codcaus());
|
||||||
|
|
||||||
if (causmag.update_ultcos())
|
if (causmag.update_ultcos())
|
||||||
|
{
|
||||||
curr_art.update_ultcosti(line_mov.prezzo(),get_date("DATACOMP"));
|
curr_art.update_ultcosti(line_mov.prezzo(),get_date("DATACOMP"));
|
||||||
// lock gained
|
curr_art.rewrite();
|
||||||
|
}
|
||||||
giac_putkey(mag,get("ANNOES"),*curr_key);
|
giac_putkey(mag,get("ANNOES"),*curr_key);
|
||||||
if (mag.read()!=NOERR) {
|
if (mag.read()!=NOERR) {
|
||||||
// non trovato: aggiungo
|
// non trovato: aggiungo
|
||||||
|
@ -3,10 +3,18 @@ Caption = "Gestione magazzino"
|
|||||||
Picture = <mg01.bmp>
|
Picture = <mg01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
Flags = ""
|
Flags = ""
|
||||||
|
Item_01 = "Tabelle", [PRASSIMG_061]
|
||||||
Item_05 = "Movimenti", [PRASSIMG_063]
|
Item_05 = "Movimenti", [PRASSIMG_063]
|
||||||
Item_06 = "Stampe", [PRASSIMG_064]
|
Item_06 = "Stampe", [PRASSIMG_064]
|
||||||
Item_08 = "Configurazione magazzino", [PRASSIMG_099]
|
Item_08 = "Configurazione magazzino", [PRASSIMG_099]
|
||||||
|
|
||||||
|
[PRASSIMG_061]
|
||||||
|
Caption = "Tabelle di magazzino"
|
||||||
|
Picture = <mg01.bmp>
|
||||||
|
Item_02 = "Gestione tabelle", [MGAREA_006]
|
||||||
|
Item_03 = "Stampa tabelle", [MGAREA_011]
|
||||||
|
|
||||||
|
|
||||||
[PRASSIMG_063]
|
[PRASSIMG_063]
|
||||||
Caption = "Movimenti di magazzino"
|
Caption = "Movimenti di magazzino"
|
||||||
Picture = <mg01.bmp>
|
Picture = <mg01.bmp>
|
||||||
|
@ -25,6 +25,7 @@ int main( int argc, char** argv )
|
|||||||
error_box( usage, argv[0] );
|
error_box( usage, argv[0] );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
exit(0);
|
||||||
return rt;
|
return rt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -521,6 +521,9 @@ TMask* TMotore_application::get_mask( int mode )
|
|||||||
msk1->set_handler( F_CODNOTE, note_hndl );
|
msk1->set_handler( F_CODNOTE, note_hndl );
|
||||||
msk1->set_handler( F_DATADOC, data_hndl );
|
msk1->set_handler( F_DATADOC, data_hndl );
|
||||||
msk1->set_handler( 99, elabora_handler ); // cazzo !!!!!!
|
msk1->set_handler( 99, elabora_handler ); // cazzo !!!!!!
|
||||||
|
#ifndef DBG
|
||||||
|
msk1->disable(99);
|
||||||
|
#endif
|
||||||
msk1->set_handler( DLG_PRINT, print_handler );
|
msk1->set_handler( DLG_PRINT, print_handler );
|
||||||
int numhandler = pro( ).get_int( "NHANDLER", "HANDLERS" ); // prof
|
int numhandler = pro( ).get_int( "NHANDLER", "HANDLERS" ); // prof
|
||||||
for ( i = 1; i <= numhandler; i ++ )
|
for ( i = 1; i <= numhandler; i ++ )
|
||||||
|
@ -155,7 +155,7 @@ SIZE=20
|
|||||||
[PAIVA]
|
[PAIVA]
|
||||||
// il campo e' letto nel file 20 clifo
|
// il campo e' letto nel file 20 clifo
|
||||||
GROUP=100
|
GROUP=100
|
||||||
X=35
|
X=38
|
||||||
Y=1
|
Y=1
|
||||||
MSKID=F_PAIVA
|
MSKID=F_PAIVA
|
||||||
TYPE=T_STRINGA
|
TYPE=T_STRINGA
|
||||||
|
@ -322,14 +322,14 @@ bool TMask_anamag::handle_stoanno(TMask_field &fld, KEY k)
|
|||||||
{
|
{
|
||||||
TSheet_field &fld_stomag= (TSheet_field &)fld.mask().field(F_SHEETSTOMAG);
|
TSheet_field &fld_stomag= (TSheet_field &)fld.mask().field(F_SHEETSTOMAG);
|
||||||
|
|
||||||
if (mask.get_int(F_STOANNO) >=mask.esercizi_contabili().last())
|
/*if (mask.get_int(F_STOANNO) >=mask.esercizi_contabili().last())
|
||||||
{
|
{
|
||||||
fld.error_box("Impossibile dare la composizione delle rimanenze per l'ultimo anno");
|
fld.error_box("Impossibile dare la composizione delle rimanenze per l'ultimo anno");
|
||||||
mask.reset(F_STOANNO);
|
mask.reset(F_STOANNO);
|
||||||
}
|
}*/
|
||||||
if (mask.get(F_STOANNO).empty() )
|
if (mask.get(F_STOANNO).empty() )
|
||||||
{
|
{
|
||||||
mask.set(F_STOANNORIF, max(mask.esercizi_contabili().first(),mask.esercizi_contabili().pred(mask.get_int(F_ANNORIF))) );
|
mask.set(F_STOANNORIF, mask.esercizi_contabili().last()) ;
|
||||||
mask.set(F_STOANNO, mask.get(F_STOANNORIF));
|
mask.set(F_STOANNO, mask.get(F_STOANNORIF));
|
||||||
}
|
}
|
||||||
if ( fld.focusdirty() && mask.last_annosto>0 && mask.last_annosto!=fld.mask().get_int(F_STOANNO))
|
if ( fld.focusdirty() && mask.last_annosto>0 && mask.last_annosto!=fld.mask().get_int(F_STOANNO))
|
||||||
@ -520,12 +520,12 @@ int TMask_anamag::add_totali_storico(TString & codmag)
|
|||||||
real totq,totval;
|
real totq,totval;
|
||||||
TLocalisamfile mag(LF_MAG);
|
TLocalisamfile mag(LF_MAG);
|
||||||
mag.setkey(2);
|
mag.setkey(2);
|
||||||
mag.put(MAG_ANNOES,esercizi_contabili().next(get_int(F_STOANNORIF)));
|
mag.put(MAG_ANNOES,get(F_STOANNORIF));
|
||||||
//mag.put(MAG_CODART,get(F_CODART));
|
//mag.put(MAG_CODART,get(F_CODART));
|
||||||
mag.put(MAG_CODMAG,codmag);
|
mag.put(MAG_CODMAG,codmag);
|
||||||
mag.read();
|
mag.read();
|
||||||
while (!mag.eof()
|
while (!mag.eof()
|
||||||
&& esercizi_contabili().next(get_int(F_STOANNORIF))==mag.get_int(MAG_ANNOES)
|
&& get_int(F_STOANNORIF)==mag.get_int(MAG_ANNOES)
|
||||||
&& strncmp((const char *)codmag,mag.get(MAG_CODMAG),3)==0)
|
&& strncmp((const char *)codmag,mag.get(MAG_CODMAG),3)==0)
|
||||||
{
|
{
|
||||||
if (get(F_CODART)==mag.get(MAG_CODART))
|
if (get(F_CODART)==mag.get(MAG_CODART))
|
||||||
@ -611,15 +611,16 @@ bool TMask_anamag::check_totali_storico()
|
|||||||
TSheet_field &s =(TSheet_field &)field(F_SHEETSTOMAG);
|
TSheet_field &s =(TSheet_field &)field(F_SHEETSTOMAG);
|
||||||
for (int r=0 ; r< s.items() ; r++)
|
for (int r=0 ; r< s.items() ; r++)
|
||||||
{
|
{
|
||||||
|
// rintraccia il totale
|
||||||
for (; r< s.items() && *s.cell(r,s.cid2index(F_STOTIPORIGA))!=SIMBOLO_TOTALI; r++) ;
|
for (; r< s.items() && *s.cell(r,s.cid2index(F_STOTIPORIGA))!=SIMBOLO_TOTALI; r++) ;
|
||||||
real totq1(s.cell(r,s.cid2index(F_STOQUANT))),totq2(s.cell(r+1,s.cid2index(F_STOQUANT)));
|
real totq1(s.cell(r,s.cid2index(F_STOQUANT))),totq2(s.cell(r+1,s.cid2index(F_STOQUANT)));
|
||||||
if (totq1!=totq2)
|
if (totq1!=totq2)
|
||||||
if (!yesno_box("La somma delle composizioni dello storico \nper il magazzino %s non corrisponde \nalla rimanenza dell'esercizio successivo\n Proseguo ugualmente ?",
|
if (!yesno_box("La somma delle composizioni dello storico \nper il magazzino %s non corrisponde \nalla rimanenza iniziale.\n Proseguo ugualmente ?",
|
||||||
(const char *)s.cell(r,s.cid2index(F_STOCODMAG))))
|
(const char *)s.cell(r,s.cid2index(F_STOCODMAG))))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
real totval1(s.cell(r,s.cid2index(F_STOVAL))),totval2(s.cell(r+1,s.cid2index(F_STOVAL)));
|
real totval1(s.cell(r,s.cid2index(F_STOVAL))),totval2(s.cell(r+1,s.cid2index(F_STOVAL)));
|
||||||
if (totval1!=totval2)
|
if (totval1!=totval2)
|
||||||
return yesno_box("La somma del valore delle composizioni dello storico \n per il magazzino %s non corrisponde \nal valore della rimanenza dell'esercizio successivo\n Proseguo ugualmente ?",
|
return yesno_box("La somma del valore delle composizioni dello storico \n per il magazzino %s non corrisponde \nal valore della rimanenza iniziale.\n Proseguo ugualmente ?",
|
||||||
(const char *)s.cell(r,s.cid2index(F_STOCODMAG)));
|
(const char *)s.cell(r,s.cid2index(F_STOCODMAG)));
|
||||||
r++;
|
r++;
|
||||||
}
|
}
|
||||||
@ -692,7 +693,15 @@ bool TMask_anamag::notify_sheet_sto(TSheet_field &s, int r, KEY k)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case (K_ENTER): // fine modifica
|
case (K_ENTER): // fine modifica
|
||||||
|
newanno=(s.cell(r,s.cid2index(F_STOANNOES)));
|
||||||
newcodmag=(s.cell(r,s.cid2index(F_STOCODMAG)));
|
newcodmag=(s.cell(r,s.cid2index(F_STOCODMAG)));
|
||||||
|
|
||||||
|
if (m.esercizi_contabili()[atoi(newanno)].inizio() >= m.esercizi_contabili()[m.get_int(F_STOANNO)].inizio())
|
||||||
|
{
|
||||||
|
s.row(r).add(oldanno,s.cid2index(F_STOANNOES));
|
||||||
|
s.error_box("La rimanenza iniziale di un esercizio deve essere composta da parti provenienti da esercizi precedenti");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
// modifica
|
// modifica
|
||||||
m.update_totali_storico(newcodmag);
|
m.update_totali_storico(newcodmag);
|
||||||
if (oldcodmag==s.cell(r,s.cid2index(F_STOCODMAG)))
|
if (oldcodmag==s.cell(r,s.cid2index(F_STOCODMAG)))
|
||||||
@ -703,6 +712,12 @@ bool TMask_anamag::notify_sheet_sto(TSheet_field &s, int r, KEY k)
|
|||||||
m.remove_totali_storico(oldcodmag);
|
m.remove_totali_storico(oldcodmag);
|
||||||
}
|
}
|
||||||
case (K_CTRL + K_INS ): // fine inserimento
|
case (K_CTRL + K_INS ): // fine inserimento
|
||||||
|
if (*s.cell(r,s.cid2index(F_STOCODMAG))==' ' && m.magazzini().standardmag().not_empty())
|
||||||
|
{
|
||||||
|
// new line
|
||||||
|
s.row(r).add(m.magazzini().standardmag(),s.cid2index(F_STOCODMAG));
|
||||||
|
}
|
||||||
|
|
||||||
newcodmag=(s.cell(r,s.cid2index(F_STOCODMAG)));
|
newcodmag=(s.cell(r,s.cid2index(F_STOCODMAG)));
|
||||||
newanno=(s.cell(r,s.cid2index(F_STOANNOES)));
|
newanno=(s.cell(r,s.cid2index(F_STOANNOES)));
|
||||||
if (newcodmag != " ")
|
if (newcodmag != " ")
|
||||||
@ -729,10 +744,6 @@ bool TMask_anamag::notify_sheet_sto(TSheet_field &s, int r, KEY k)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case (K_INS): // richiesta di inserimento
|
case (K_INS): // richiesta di inserimento
|
||||||
if (m.magazzini().standardmag().not_empty())
|
|
||||||
{
|
|
||||||
s.row(r).add(m.magazzini().standardmag(),s.cid2index(F_STOCODMAG));
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -960,11 +971,13 @@ void TMask_anamag::ricalcola_giacenze()
|
|||||||
{
|
{
|
||||||
TLocalisamfile mag(LF_MAG),stomag(LF_STOMAG);
|
TLocalisamfile mag(LF_MAG),stomag(LF_STOMAG);
|
||||||
int annoes=esercizi_contabili().first();
|
int annoes=esercizi_contabili().first();
|
||||||
|
// ciclo sugli esercizi
|
||||||
do {
|
do {
|
||||||
mag.zero();
|
mag.zero();
|
||||||
mag.put(MAG_ANNOES,annoes);
|
mag.put(MAG_ANNOES,annoes);
|
||||||
mag.put(MAG_CODART,get(F_CODART));
|
mag.put(MAG_CODART,get(F_CODART));
|
||||||
mag.read();
|
mag.read(_isgteq);
|
||||||
|
// ciclo per le giacenze di questo esercizio
|
||||||
while (!mag.eof() && get(F_CODART)==mag.get(MAG_CODART) && annoes==mag.get_int(MAG_ANNOES))
|
while (!mag.eof() && get(F_CODART)==mag.get(MAG_CODART) && annoes==mag.get_int(MAG_ANNOES))
|
||||||
{
|
{
|
||||||
mag.put(MAG_LIVRIOR,mag.get_real(MAG_LIVRIOR)*fc); // update ..
|
mag.put(MAG_LIVRIOR,mag.get_real(MAG_LIVRIOR)*fc); // update ..
|
||||||
@ -984,27 +997,27 @@ void TMask_anamag::ricalcola_giacenze()
|
|||||||
mag.put(MAG_PRODCOMP,mag.get_real(MAG_PRODCOMP)*fc);
|
mag.put(MAG_PRODCOMP,mag.get_real(MAG_PRODCOMP)*fc);
|
||||||
mag.put(MAG_PRODFIN,mag.get_real(MAG_PRODFIN)*fc);
|
mag.put(MAG_PRODFIN,mag.get_real(MAG_PRODFIN)*fc);
|
||||||
mag.put(MAG_SCORTAMIN,mag.get_real(MAG_SCORTAMIN)*fc);
|
mag.put(MAG_SCORTAMIN,mag.get_real(MAG_SCORTAMIN)*fc);
|
||||||
// valori
|
// i valori non vanno aggiornati !
|
||||||
mag.put(MAG_VALACQ,mag.get_real(MAG_VALACQ)*fc);
|
/*mag.put(MAG_VALACQ,mag.get_real(MAG_VALACQ)*fc);
|
||||||
mag.put(MAG_VALENT,mag.get_real(MAG_VALENT)*fc);
|
mag.put(MAG_VALENT,mag.get_real(MAG_VALENT)*fc);
|
||||||
mag.put(MAG_VALVEN,mag.get_real(MAG_VALVEN)*fc);
|
mag.put(MAG_VALVEN,mag.get_real(MAG_VALVEN)*fc);
|
||||||
mag.put(MAG_VALUSC,mag.get_real(MAG_VALUSC)*fc);
|
mag.put(MAG_VALUSC,mag.get_real(MAG_VALUSC)*fc);
|
||||||
mag.put(MAG_VALORDC,mag.get_real(MAG_VALORDC)*fc);
|
mag.put(MAG_VALORDC,mag.get_real(MAG_VALORDC)*fc);
|
||||||
mag.put(MAG_VALORDF,mag.get_real(MAG_VALORDF)*fc);
|
mag.put(MAG_VALORDF,mag.get_real(MAG_VALORDF)*fc);
|
||||||
mag.put(MAG_VALRIM,mag.get_real(MAG_VALRIM)*fc);
|
mag.put(MAG_VALRIM,mag.get_real(MAG_VALRIM)*fc);
|
||||||
mag.put(MAG_VALSCARTI,mag.get_real(MAG_VALSCARTI)*fc);
|
mag.put(MAG_VALSCARTI,mag.get_real(MAG_VALSCARTI)*fc); */
|
||||||
|
|
||||||
mag.rewrite();
|
mag.rewrite();
|
||||||
mag.next();
|
mag.next();
|
||||||
}
|
}
|
||||||
stomag.zero();
|
stomag.zero();
|
||||||
stomag.put(MAG_ANNOES,annoes);
|
stomag.put(STOMAG_ANNOESRIF,annoes);
|
||||||
stomag.put(MAG_CODART,get(F_CODART));
|
stomag.put(STOMAG_CODART,get(F_CODART));
|
||||||
stomag.read();
|
stomag.read(_isgteq);
|
||||||
while (!stomag.eof() && get(F_CODART)==stomag.get(MAG_CODART) && annoes==mag.get_int(MAG_ANNOES))
|
// ciclo per lo storico di questo esercizio
|
||||||
|
while (!stomag.eof() && get(F_CODART)==stomag.get(STOMAG_CODART) && annoes==stomag.get_int(STOMAG_ANNOESRIF))
|
||||||
{
|
{
|
||||||
stomag.put(STOMAG_QUANT,mag.get_real(STOMAG_QUANT)*fc); // update ..
|
stomag.put(STOMAG_QUANT,stomag.get_real(STOMAG_QUANT)*fc); // update ..
|
||||||
stomag.put(STOMAG_VALORE,mag.get_real(STOMAG_VALORE)*fc);
|
|
||||||
|
|
||||||
stomag.rewrite();
|
stomag.rewrite();
|
||||||
stomag.next();
|
stomag.next();
|
||||||
|
@ -949,7 +949,7 @@ END
|
|||||||
|
|
||||||
STRING F_STOANNORIF 4 // anno usato per il write dell'annata precedente
|
STRING F_STOANNORIF 4 // anno usato per il write dell'annata precedente
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 6 "Composizione rimanenze a fine "
|
PROMPT 2 6 "Composizione rimanenze iniziali del "
|
||||||
FLAGS "DP"
|
FLAGS "DP"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -112,6 +112,7 @@ bool TStampa_sconti::create()
|
|||||||
TMask choose("VE3100"); // istanzia la maschera di scelta del tipo di tabella
|
TMask choose("VE3100"); // istanzia la maschera di scelta del tipo di tabella
|
||||||
if (choose.run() == K_ENTER) _sconti= choose.get(F_TIPOSC); // prende il tipo di tabella dalla maschera
|
if (choose.run() == K_ENTER) _sconti= choose.get(F_TIPOSC); // prende il tipo di tabella dalla maschera
|
||||||
}
|
}
|
||||||
|
_sconti.upper();
|
||||||
switch (_sconti[0])
|
switch (_sconti[0])
|
||||||
{
|
{
|
||||||
case 'D': // sconti documento
|
case 'D': // sconti documento
|
||||||
@ -135,7 +136,8 @@ bool TStampa_sconti::create()
|
|||||||
_cve = new TTable("CVE");
|
_cve = new TTable("CVE");
|
||||||
_zon = new TTable("%ZON");
|
_zon = new TTable("%ZON");
|
||||||
_cpg = new TTable("%CPG");
|
_cpg = new TTable("%CPG");
|
||||||
dispatch_e_menu(BAR_ITEM(1));
|
if (gotcha)
|
||||||
|
dispatch_e_menu(BAR_ITEM(1));
|
||||||
return (gotcha);
|
return (gotcha);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ JOIN 34 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
|
|||||||
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||||
JOIN 47 TO 34 INTO CODART==CODART
|
JOIN 47 TO 34 INTO CODART==CODART
|
||||||
JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG
|
JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG
|
||||||
JOIN 122 TO 33 ALIAS 202 INTO CODTAB==CODAG
|
JOIN 122 TO 33 ALIAS 202 INTO CODAGE==CODAG
|
||||||
JOIN %POR TO 33 ALIAS 203 INTO CODTAB==CODPORTO
|
JOIN %POR TO 33 ALIAS 203 INTO CODTAB==CODPORTO
|
||||||
JOIN %BAN TO 33 ALIAS 204 INTO CODTAB==CODABIA+CODCABA
|
JOIN %BAN TO 33 ALIAS 204 INTO CODTAB==CODABIA+CODCABA
|
||||||
JOIN %VET TO 33 ALIAS 205 INTO CODTAB==CODVETT1
|
JOIN %VET TO 33 ALIAS 205 INTO CODTAB==CODVETT1
|
||||||
@ -244,7 +244,7 @@ STRING 29 28 1
|
|||||||
BEGIN
|
BEGIN
|
||||||
KEY "nome agente"
|
KEY "nome agente"
|
||||||
PROMPT 33 29 ""
|
PROMPT 33 29 ""
|
||||||
FIELD 202@->S0
|
FIELD 202@->RAGSOC
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
@ -3,7 +3,7 @@ JOIN 34 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
|
|||||||
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||||
JOIN 47 INTO CODART==CODART
|
JOIN 47 INTO CODART==CODART
|
||||||
JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG
|
JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG
|
||||||
JOIN 122 TO 33 ALIAS 202 INTO CODTAB==CODAG
|
JOIN 122 TO 33 ALIAS 202 INTO CODAGE==CODAG
|
||||||
JOIN %POR TO 33 ALIAS 203 INTO CODTAB==CODPORTO
|
JOIN %POR TO 33 ALIAS 203 INTO CODTAB==CODPORTO
|
||||||
JOIN %BAN TO 33 ALIAS 204 INTO CODTAB==CODABIA+CODCABA
|
JOIN %BAN TO 33 ALIAS 204 INTO CODTAB==CODABIA+CODCABA
|
||||||
JOIN %VET TO 33 ALIAS 205 INTO CODTAB==CODVETT1
|
JOIN %VET TO 33 ALIAS 205 INTO CODTAB==CODVETT1
|
||||||
@ -252,7 +252,7 @@ STRING 29 28 1
|
|||||||
BEGIN
|
BEGIN
|
||||||
KEY "nome agente"
|
KEY "nome agente"
|
||||||
PROMPT 33 29 ""
|
PROMPT 33 29 ""
|
||||||
FIELD 202@->S0
|
FIELD 202@->RAGSOC
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
|||||||
JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||||
JOIN 47 TO 34 INTO CODART==CODART
|
JOIN 47 TO 34 INTO CODART==CODART
|
||||||
JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG
|
JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG
|
||||||
JOIN 122 TO 33 ALIAS 202 INTO CODAGE==CODAG
|
JOIN 122 TO 33 ALIAS 202 INTO CODAGE==CODAG
|
||||||
JOIN %POR TO 33 ALIAS 203 INTO CODTAB==CODPORTO
|
JOIN %POR TO 33 ALIAS 203 INTO CODTAB==CODPORTO
|
||||||
JOIN %BAN TO 33 ALIAS 204 INTO CODTAB==CODABIA+CODCABA
|
JOIN %BAN TO 33 ALIAS 204 INTO CODTAB==CODABIA+CODCABA
|
||||||
JOIN %VET TO 33 ALIAS 205 INTO CODTAB==CODVETT1
|
JOIN %VET TO 33 ALIAS 205 INTO CODTAB==CODVETT1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user