Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/trunk@17206 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
rajitgill 2008-09-10 09:22:52 +00:00
parent 48ff1ac328
commit 977d7280a7
2 changed files with 219 additions and 148 deletions

View File

@ -1,3 +1,5 @@
#include <automask.h>
#include <execp.h>
#include <msksheet.h> #include <msksheet.h>
#include <relapp.h> #include <relapp.h>
#include <recarray.h> #include <recarray.h>
@ -6,9 +8,121 @@
#include "lv0400.h" #include "lv0400.h"
#include "../mg/anamag.h" #include "../mg/anamag.h"
class TContratti_msk: public TAutomask
{
protected:
bool on_art_select();
virtual bool on_field_event(TOperable_field& o,TField_event e,long jolly);
public:
TContratti_msk();
};
bool TContratti_msk::on_art_select()
{
TSheet_field& ss=sfield(F_RIGHE);
TToken_string & row = ss.row(ss.selected());
const TString80 codart(row.get(ss.cid2index(S_CODART)));
const TRectype & artrec = cache().get(LF_ANAMAG, codart);
set(F_GRMERC,artrec.get(ANAMAG_GRMERC).sleft(3));
set(F_COLORE,artrec.get(ANAMAG_COLORE));
set(F_LIVELLO,artrec.get(ANAMAG_LIVELLO));
set(F_PPCONF,artrec.get(ANAMAG_PPCONF));
set(F_PPCOLLO,artrec.get(ANAMAG_PPCOLLO));
set(F_PPPALLET,artrec.get(ANAMAG_PPPALLET));
set(F_TIPOPARTE,artrec.get(ANAMAG_TIPOPARTE));
set(F_CODLAV1,artrec.get(ANAMAG_CODLAV1));
set(F_CODLAV2,artrec.get(ANAMAG_CODLAV2));
set(F_LINDEST1,artrec.get(ANAMAG_LINDEST1));
set(F_LINDEST2,artrec.get(ANAMAG_LINDEST2));
set(F_LAVATRICE,artrec.get(ANAMAG_LAVATRICE));
set(F_ARTLAVCONT,artrec.get(ANAMAG_ARTLAVCONT));
set(F_MANGDEST,artrec.get(ANAMAG_MANGDEST));
const int indsped=get_int(F_INDSPED);
const TDate oggi(TODAY);
TString query, filter;
filter << "ANNOES=#ANNOES CODART=#CODART TIPOCF=C CODCF=#CLIENTE";
if (indsped > 0)
filter << " INDSPED=" << indsped;
query << "USE CLIFOGIAC KEY 3\n"
<< "FROM " << filter << '\n'
<< "TO " << filter << '\n';
TISAM_recordset recset (query);
recset.set_var("#CLIENTE",get_long(F_CODCF));
recset.set_var("#ANNOES",TVariant((long)oggi.year()));
recset.set_var("#CODART",TVariant(codart));
real dotod,consyear;
for (bool ok=recset.move_first(); ok; ok=recset.move_next())
{
dotod+=recset.get("GIAC").as_real();
consyear+=recset.get("ACQ").as_real()+recset.get("ENT").as_real();
}
set(F_DOTOD,dotod);
set(F_CONSANNO,consyear);
const bool varclcons = get_int(F_PPCONF)>0;
ss.enable_cell(ss.selected(),ss.cid2index(S_CALCCONS));
ss.sheet_mask().set(S_CALCCONS,"0");
row.add("0",ss.cid2index(S_CALCCONS));
return true;
}
bool TContratti_msk:: on_field_event(TOperable_field& o,TField_event e,long jolly)
{
switch(o.dlg())
{
case DLG_PLANNING:
if (e==fe_button && !field(F_CODCONT).empty())
{
TRelation_application& app=(TRelation_application&) main_app();
app.get_relation()->read(_isequal,_unlock);
TString str;
str << "lv0 -4 " << get(F_CODCF) << " " << get(F_CODCONT);
TExternal_app planning(str);
planning.run();
app.get_relation()->read(_isequal,_lock);
}
break;
case S_CODART:
if (e==fe_modify)
{
TSheet_field& ss=sfield(F_RIGHE);
TToken_string& row=ss.row(ss.selected());
row.add(o.get(),0);
on_art_select();
}
break;
case F_RIGHE:
if (e==se_enter)
on_art_select();
break;
default:break;
}
return true;
}
TContratti_msk::TContratti_msk() :TAutomask("lv0400a")
{
}
class TContratti_app: public TRelation_application class TContratti_app: public TRelation_application
{ {
TMask* _msk; TContratti_msk* _msk;
TRelation* _rel; TRelation* _rel;
bool _unicont; bool _unicont;
@ -29,16 +143,13 @@ protected:
virtual int write(const TMask& m); virtual int write(const TMask& m);
virtual int rewrite(const TMask& m); virtual int rewrite(const TMask& m);
virtual bool remove(); virtual bool remove();
static bool notify(TSheet_field& ss, int r, KEY key);
}; };
bool TContratti_app:: user_create() bool TContratti_app:: user_create()
{ {
_rel=new TRelation (LF_LVCONDV); _rel=new TRelation (LF_LVCONDV);
_msk= new TMask ("lv0400a"); _msk= new TContratti_msk;
TSheet_field& sheet = _msk->sfield(F_RIGHE);
sheet.set_notify(notify );
return true; return true;
} }
@ -92,46 +203,6 @@ bool TContratti_app:: get_next_key(TToken_string& key)
return true; return true;
} }
bool TContratti_app::notify( TSheet_field& ss, int r, KEY key )
{
TMask& m = ss.mask();
switch (key)
{
case K_TAB: // modifica
{
TToken_string & row = ss.row(ss.selected());
const TString80 codart(row.get(ss.cid2index(S_CODART)));
const TRectype & artrec = cache().get(LF_ANAMAG, codart);
m.set(F_GRMERC,artrec.get(ANAMAG_GRMERC).sleft(3));
m.set(F_COLORE,artrec.get(ANAMAG_COLORE));
m.set(F_LIVELLO,artrec.get(ANAMAG_LIVELLO));
m.set(F_PPCONF,artrec.get(ANAMAG_PPCONF));
m.set(F_PPCOLLO,artrec.get(ANAMAG_PPCOLLO));
m.set(F_PPPALLET,artrec.get(ANAMAG_PPPALLET));
m.set(F_TIPOPARTE,artrec.get(ANAMAG_TIPOPARTE));
m.set(F_CODLAV1,artrec.get(ANAMAG_CODLAV1));
m.set(F_CODLAV2,artrec.get(ANAMAG_CODLAV2));
m.set(F_LINDEST1,artrec.get(ANAMAG_LINDEST1));
m.set(F_LINDEST2,artrec.get(ANAMAG_LINDEST2));
m.set(F_LAVATRICE,artrec.get(ANAMAG_LAVATRICE));
m.set(F_ARTLAVCONT,artrec.get(ANAMAG_ARTLAVCONT));
m.set(F_MANGDEST,artrec.get(ANAMAG_MANGDEST));
const bool varclcons = m.get_int(F_PPCONF)>0;
ss.enable_cell(ss.selected(),ss.cid2index(S_CALCCONS));
ss.sheet_mask().set(S_CALCCONS,"0");
row.add("0",ss.cid2index(S_CALCCONS));
}
break;
default:
break;
}
return true;
}
void TContratti_app:: build_query(const TMask& m,TString& query) const void TContratti_app:: build_query(const TMask& m,TString& query) const

View File

@ -100,10 +100,9 @@ END
BUTTON DLG_PLANNING 10 2 BUTTON DLG_PLANNING 10 2
BEGIN BEGIN
PROMPT 66 2 "~Planning" PROMPT 66 2 "~Planning"
MESSAGE RUN,lv0 -4 #F_CODCF #F_CODCONT
END END
SPREADSHEET F_RIGHE 0 9 SPREADSHEET F_RIGHE 0 8
BEGIN BEGIN
PROMPT 0 5 "Righe contratto" PROMPT 0 5 "Righe contratto"
ITEM "Articolo@20" ITEM "Articolo@20"
@ -139,13 +138,19 @@ END
NUMBER F_DOTOD 9 NUMBER F_DOTOD 9
BEGIN BEGIN
PROMPT 2 15 "Dotazione odierna " PROMPT 2 15 "Dotaz. odierna "
FLAGS "D" FLAGS "D"
END END
STRING F_COLORE 20 10
BEGIN
PROMPT 30 15 "Colore "
FLAGS "D"
END
STRING F_GRMERC 3 STRING F_GRMERC 3
BEGIN BEGIN
PROMPT 32 15 "Tipologia " PROMPT 55 15 "Tipologia "
FLAG "UD" FLAG "UD"
USE GMC KEY 1 SELECT CODTAB[4,5]=="" USE GMC KEY 1 SELECT CODTAB[4,5]==""
INPUT CODTAB F_GRMERC INPUT CODTAB F_GRMERC
@ -155,93 +160,87 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
STRING F_COLORE 20 15
BEGIN
PROMPT 54 15 "Colore "
FLAGS "D"
END
NUMBER F_PPCONF 9 NUMBER F_PPCONF 9
BEGIN BEGIN
PROMPT 2 16 "Pz. per Pacco " PROMPT 2 16 "Pz. per Pacco "
FLAGS "D" FLAGS "D"
END END
NUMBER F_PPCOLLO 9 NUMBER F_PPCOLLO 9
BEGIN BEGIN
PROMPT 32 16 "Per Sacco " PROMPT 30 16 "Per Sacco "
FLAGS "D" FLAGS "D"
END END
NUMBER F_PPPALLET 9 NUMBER F_PPPALLET 9
BEGIN BEGIN
PROMPT 54 16 "Per Carrello " PROMPT 55 16 "Per Carrello "
FLAGS "D" FLAGS "D"
END END
STRING F_MANGDEST 3 STRING F_MANGDEST 3
BEGIN BEGIN
PROMPT 2 17 "Mangano Destinazione " PROMPT 2 17 "Mangano Dest. "
FLAGS "D" FLAGS "D"
END END
STRING F_ARTLAVCONT 4 STRING F_ARTLAVCONT 4
BEGIN BEGIN
PROMPT 32 17 "Art.Lava.cont. " PROMPT 30 17 "Art.Lav.cont."
FLAGS "D" FLAGS "D"
END END
STRING F_LAVATRICE 4 STRING F_LAVATRICE 4
BEGIN BEGIN
PROMPT 54 17 "Lavatrice " PROMPT 55 17 "Lavatrice "
FLAGS "D" FLAGS "D"
END END
STRING F_CODLAV1 3 STRING F_CODLAV1 3
BEGIN BEGIN
PROMPT 2 18 "Cod. Lavaggio 1 " PROMPT 2 18 "Cod. Lavag. 1 "
FLAGS "D" FLAGS "D"
END END
STRING F_CODLAV2 3 STRING F_CODLAV2 3
BEGIN BEGIN
PROMPT 32 18 "Cod. Lavaggio 2 " PROMPT 30 18 "Cod. Lavag. 2"
FLAGS "D" FLAGS "D"
END END
STRING F_TIPOPARTE 1 STRING F_TIPOPARTE 1
BEGIN BEGIN
PROMPT 65 18 "Tipo Parte " PROMPT 55 18 "Tipo Parte "
FLAGS "D" FLAGS "D"
END END
STRING F_LINDEST1 3 STRING F_LINDEST1 3
BEGIN BEGIN
PROMPT 2 19 "Linea destinazione 1 " PROMPT 2 19 "Linea dest. 1 "
FLAGS "D" FLAGS "D"
END END
STRING F_LINDEST2 3 STRING F_LINDEST2 3
BEGIN BEGIN
PROMPT 32 19 "Linea destinazione 2 " PROMPT 30 19 "Linea dest. 2"
FLAGS "D" FLAGS "D"
END END
STRING F_LIVELLO 1 STRING F_LIVELLO 1
BEGIN BEGIN
PROMPT 65 19 "Livello " PROMPT 55 19 "Livello "
FLAGS "D" FLAGS "D"
END END
NUMBER F_CONSMESE 9 NUMBER F_CONSMESE 9
BEGIN BEGIN
PROMPT 2 20 "Qtà. consegnata nel mese" PROMPT 2 20 "Consegnato mese"
FLAGS "D" FLAGS "D"
END END
NUMBER F_CONSANNO 9 NUMBER F_CONSANNO 9
BEGIN BEGIN
PROMPT 41 20 "Qtà. consegnata nell' anno " PROMPT 30 20 "Consegn. anno"
FLAGS "D" FLAGS "D"
END END
@ -521,7 +520,8 @@ BEGIN
OUTPUT S_DESCR DESCR OUTPUT S_DESCR DESCR
OUTPUT S_PREZZOST COSTSTD OUTPUT S_PREZZOST COSTSTD
FIELD CODART FIELD CODART
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
ADD RUN ve2 -3
END END
STRING S_DESCR 50 STRING S_DESCR 50
@ -537,54 +537,44 @@ END
CURRENCY S_PREZZOST 15 CURRENCY S_PREZZOST 15
BEGIN BEGIN
PROMPT 1 4 "Prezzo in vigore " PROMPT 1 4 "Prezzo in vigore "
FIELD PREZZO FIELD PREZZO
END END
CURRENCY S_PREZZORN 15 CURRENCY S_PREZZORN 15
BEGIN BEGIN
PROMPT 45 4 "Prezzo di rinnovo " PROMPT 43 4 "Prezzo di rinnovo "
FIELD PREZRIN FIELD PREZRIN
END END
CURRENCY S_IMPFISART 15 CURRENCY S_IMPFISART 15
BEGIN BEGIN
PROMPT 1 5 "Importo fisso " PROMPT 1 5 "Importo fisso "
FIELD IMPFISART FIELD IMPFISART
END END
NUMBER S_SCONTO 6 2 NUMBER S_SCONTO 6 2
BEGIN BEGIN
PROMPT 45 5 "Sconto % " PROMPT 43 5 "Sconto % "
FIELD SCONTPERC FIELD SCONTPERC
END END
NUMBER S_CONG 9 NUMBER S_CONG 9
BEGIN BEGIN
PROMPT 1 6 "Conguaglio " PROMPT 1 6 "Conguaglio "
FIELD QTACONG FIELD QTACONG
END END
CURRENCY S_VALCONV 15 CURRENCY S_VALCONV 15
BEGIN BEGIN
PROMPT 45 6 "Val. convenzionale" PROMPT 43 6 "Val. convenzionale"
FLAGS "U" FLAGS "U"
FIELD VALCONV FIELD VALCONV
END END
LISTBOX S_ARTBLOC 25
BEGIN
PROMPT 1 7 "Articolo bloccato "
ITEM "0|Nessuna"
ITEM "1|Articolo in sostituzione"
ITEM "2|Cliente in chiusura"
ITEM "3|Contratto in rinnovo"
FIELD ARTBLOC
END
STRING S_UM 2 STRING S_UM 2
BEGIN BEGIN
PROMPT 59 7 "Unità di misura" PROMPT 1 7 "Unità di misura "
USE LF_UMART KEY 2 USE LF_UMART KEY 2
JOIN UMS INTO CODTAB=UM JOIN UMS INTO CODTAB=UM
INPUT CODART S_CODART SELECT INPUT CODART S_CODART SELECT
@ -596,9 +586,65 @@ BEGIN
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
LISTBOX S_TIPOFORF 34 STRING S_CAUSMAG 4
BEGIN BEGIN
PROMPT 1 8 "Tipo Forfait" PROMPT 43 7 "Causale di default"
USE CAU
INPUT CODTAB S_CAUSMAG
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT S_CAUSMAG CODTAB
FIELD CAUSMAG
CHECKTYPE NORMAL
END
CURRENCY S_PREZDAN 15
BEGIN
PROMPT 1 8 "Prezzo danneggiati "
FLAGS "U"
FIELD PREZDAN
END
CURRENCY S_PRZDTTMP 15
BEGIN
PROMPT 43 8 "Prezzo dot. temp. "
FLAGS "U"
FIELD PRZDTTMP
END
NUMBER S_DOTIN 9
BEGIN
PROMPT 1 9 "Dot. iniziale "
FIELD DOTIN
END
NUMBER S_DOTTMP 9
BEGIN
PROMPT 43 9 "Dot. temporanea "
FIELD DOTTMP
END
DATE S_INDTTMP
BEGIN
PROMPT 1 10 "Inizio dot. temporanea "
FIELD INDTTMP
END
DATE S_FIDTTMP
BEGIN
PROMPT 43 10 "Fine dot. temp "
FIELD FIDTTMP
END
NUMBER S_FORFPERCL 6 2
BEGIN
PROMPT 1 11 "% Forfait cliente "
FIELD FORFPERCL
END
LISTBOX S_TIPOFORF 1 34
BEGIN
PROMPT 1 12 "Tipo Forfait "
ITEM "0|Nessuno" ITEM "0|Nessuno"
ITEM "1|A valore fisso" ITEM "1|A valore fisso"
ITEM "2|Nolo in base a dot. iniziale" ITEM "2|Nolo in base a dot. iniziale"
@ -611,80 +657,34 @@ BEGIN
FIELD TIPOFORF FIELD TIPOFORF
END END
NUMBER S_FORFPERCL 6 2 LISTBOX S_ARTBLOC 1 34
BEGIN BEGIN
PROMPT 55 8 "% Forfait cliente" PROMPT 1 13 "Articolo bloccato "
FIELD FORFPERCL ITEM "0|Nessuna"
ITEM "1|Articolo in sostituzione"
ITEM "2|Cliente in chiusura"
ITEM "3|Contratto in rinnovo"
FIELD ARTBLOC
END END
CURRENCY S_PREZDAN 15 LISTBOX S_CALCCONS 1 34
BEGIN BEGIN
PROMPT 1 9 "Prezzo danneggiati " PROMPT 1 14 "Calcolo del consegnato "
FLAGS "U"
FIELD PREZDAN
END
STRING S_CAUSMAG 4
BEGIN
PROMPT 52 9 "Causale di default "
USE CAU
INPUT CODTAB S_CAUSMAG
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT S_CAUSMAG CODTAB
FIELD CAUSMAG
CHECKTYPE NORMAL
END
LISTBOX S_CALCCONS 26
BEGIN
PROMPT 14 10 "Calcolo del consegnato "
ITEM "0|Conguaglio alla confezione" ITEM "0|Conguaglio alla confezione"
ITEM "1|Uguale al ritirato" ITEM "1|Uguale al ritirato"
FIELD CALCCONS FIELD CALCCONS
END END
NUMBER S_DOTIN 9 LISTBOX S_TIPONOL 1 34
BEGIN BEGIN
PROMPT 1 13 "Dotazione iniziale " PROMPT 1 15 "Tipo Noleggio "
FIELD DOTIN
END
NUMBER S_DOTTMP 9
BEGIN
PROMPT 1 14 "Dotazione temporanea "
FIELD DOTTMP
END
CURRENCY S_PRZDTTMP 15
BEGIN
PROMPT 40 14 "Prezzo dot. temporanea"
FLAGS "U"
FIELD PRZDTTMP
END
DATE S_INDTTMP
BEGIN
PROMPT 1 15 "Inizio dot. temporanea "
FIELD INDTTMP
END
DATE S_FIDTTMP
BEGIN
PROMPT 40 15 "Fine dot. temporanea "
FIELD FIDTTMP
END
LISTBOX S_TIPONOL 15
BEGIN
PROMPT 1 16 "Tipo Noleggio"
FIELD TIPONOL FIELD TIPONOL
FLAGS "D" FLAGS "D"
END END
BOOLEAN S_RITAUDTTMP BOOLEAN S_RITAUDTTMP
BEGIN BEGIN
PROMPT 40 16 "Ritiro automatico dotazione temporanea" PROMPT 1 16 "Ritiro automatico dotazione temporanea"
FIELD RITAUDTTMP FIELD RITAUDTTMP
END END
@ -696,7 +696,7 @@ END
BOOLEAN S_ARROT BOOLEAN S_ARROT
BEGIN BEGIN
PROMPT 40 17 "Arrotondamento" PROMPT 1 18 "Arrotondamento"
FIELD ARROT FIELD ARROT
END END