Patch level : 10.0
Files correlati : lv0.exe, lvtbcau.msk Ricompilazione Demo : [ ] Commento : Aggiunta la gestione delle causali di magazzino (solo campi di lavanderia) nelle causali di lavanderia git-svn-id: svn://10.65.10.50/trunk@18208 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e3a9259d18
commit
978a74842d
@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
#include <automask.h>
|
#include <automask.h>
|
||||||
#include <modtbapp.h>
|
#include <modtbapp.h>
|
||||||
|
#include <tabutil.h>
|
||||||
|
|
||||||
|
#include "lvtbcau.h"
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// Maschera generica di gestione tabelle lavanderie
|
// Maschera generica di gestione tabelle lavanderie
|
||||||
@ -18,7 +21,7 @@ public:
|
|||||||
|
|
||||||
bool TLV_table_mask::on_field_event(TOperable_field &o, TField_event e, long jolly)
|
bool TLV_table_mask::on_field_event(TOperable_field &o, TField_event e, long jolly)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -30,8 +33,12 @@ class TLV_table_app : public TTable_module_application
|
|||||||
{
|
{
|
||||||
protected: // TRelation_application
|
protected: // TRelation_application
|
||||||
virtual TMask* user_create_mask();
|
virtual TMask* user_create_mask();
|
||||||
|
virtual int write(const TMask& m);
|
||||||
|
virtual int rewrite(const TMask& m);
|
||||||
virtual bool get_next_key(TToken_string& key);
|
virtual bool get_next_key(TToken_string& key);
|
||||||
|
|
||||||
|
void cambia_segni(const TMask& m, const bool ritirato);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -46,6 +53,81 @@ TMask* TLV_table_app::user_create_mask()
|
|||||||
return TTable_module_application::user_create_mask();
|
return TTable_module_application::user_create_mask();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TLV_table_app::cambia_segni(const TMask& m, const bool ritirato)
|
||||||
|
{
|
||||||
|
//instanzio una TTable sulla ytabella delle causali di magazzino
|
||||||
|
TTable cau("%CAU");
|
||||||
|
const TString16 causale = m.get(ritirato ? F_CAUSALE_RITIRO : F_CAUSALE_CONSEGNA);
|
||||||
|
cau.put("CODTAB", causale);
|
||||||
|
//se trovo la causale
|
||||||
|
if (cau.read(_isequal, _lock) == NOERR)
|
||||||
|
{
|
||||||
|
TString s2 = cau.get("S2");
|
||||||
|
TString16 sgn = "";
|
||||||
|
int min = ritirato ? F_SGNDOTIN_R : F_SGNDOTIN_C;
|
||||||
|
int max = ritirato ? F_SGNCONMN_R : F_SGNCONMN_C;
|
||||||
|
//mi costruisco la stringa dei segni delle movimentazioni riportata in maschera
|
||||||
|
for (short i = min; i <= max; i++)
|
||||||
|
{
|
||||||
|
TString4 tmp;
|
||||||
|
switch (m.get_int(i))
|
||||||
|
{
|
||||||
|
case 0: tmp << "0 "; break;
|
||||||
|
case 1: tmp << "+1"; break;
|
||||||
|
case -1: tmp << "-1"; break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
sgn << tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
//estraggo la sottostringa che mi interessa dalla tabella delle causali e la porto a lunghezza 10
|
||||||
|
TString16 str = s2.mid(28,10);
|
||||||
|
if(str.len() < 10)
|
||||||
|
str << " ";
|
||||||
|
|
||||||
|
//chiedo se volglio proprio modificare i segni della movimentazione di magazzino
|
||||||
|
if (str != sgn && yesno_box(TR("Si desidera veramente modificare i segni delle causali?")))
|
||||||
|
{
|
||||||
|
s2.overwrite(sgn,28,10);
|
||||||
|
cau.put("S2", s2);
|
||||||
|
cau.rewrite();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
cau.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ridefinizione del metodo write
|
||||||
|
int TLV_table_app::write(const TMask& m)
|
||||||
|
{
|
||||||
|
const TString4 name = get_relation()->file(0).name();
|
||||||
|
if (name == "CAU")
|
||||||
|
{
|
||||||
|
if(m.get_bool(F_RITIRATO))
|
||||||
|
cambia_segni(m, true);
|
||||||
|
|
||||||
|
if(m.get_bool(F_CONSEGNATO))
|
||||||
|
cambia_segni(m, false);
|
||||||
|
}
|
||||||
|
return TTable_module_application::write(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ridefinizione del metodo rewrite
|
||||||
|
int TLV_table_app::rewrite(const TMask& m)
|
||||||
|
{
|
||||||
|
const TString4 name = get_relation()->file(0).name();
|
||||||
|
if (name == "CAU")
|
||||||
|
{
|
||||||
|
if(m.get_bool(F_RITIRATO))
|
||||||
|
cambia_segni(m, true);
|
||||||
|
|
||||||
|
if(m.get_bool(F_CONSEGNATO))
|
||||||
|
cambia_segni(m, false);
|
||||||
|
}
|
||||||
|
return TTable_module_application::rewrite(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Cerca di generare automaticamente la prossima chiave numerica di una tabella
|
// Cerca di generare automaticamente la prossima chiave numerica di una tabella
|
||||||
bool TLV_table_app::get_next_key(TToken_string& key)
|
bool TLV_table_app::get_next_key(TToken_string& key)
|
||||||
{
|
{
|
||||||
|
25
lv/lvtbcau.h
25
lv/lvtbcau.h
@ -5,10 +5,21 @@
|
|||||||
#define F_RITIRATO 104
|
#define F_RITIRATO 104
|
||||||
#define F_CAUSALE_RITIRO 105
|
#define F_CAUSALE_RITIRO 105
|
||||||
#define F_DES_CAUSALE_RITIRO 106
|
#define F_DES_CAUSALE_RITIRO 106
|
||||||
#define F_CONSEGNATO 107
|
#define F_SGNDOTIN_R 107
|
||||||
#define F_CAUSALE_CONSEGNA 108
|
#define F_SGNDOTOD_R 108
|
||||||
#define F_DES_CAUSALE_CONSEGNA 109
|
#define F_SGNDOTTM_R 109
|
||||||
#define F_CAUSALE_RESO 110
|
#define F_SGNCONYR_R 110
|
||||||
#define F_STAMPA_BOLLA 111
|
#define F_SGNCONMN_R 111
|
||||||
#define F_CALC_IMPORTO 112
|
#define F_CONSEGNATO 112
|
||||||
#define F_CONTR_DOTAZIONE 113
|
#define F_CAUSALE_CONSEGNA 113
|
||||||
|
#define F_DES_CAUSALE_CONSEGNA 114
|
||||||
|
#define F_SGNDOTIN_C 115
|
||||||
|
#define F_SGNDOTOD_C 116
|
||||||
|
#define F_SGNDOTTM_C 117
|
||||||
|
#define F_SGNCONYR_C 118
|
||||||
|
#define F_SGNCONMN_C 119
|
||||||
|
#define F_CAUSALE_RESO 120
|
||||||
|
#define F_CAUSALE_ROTTO 121
|
||||||
|
//#define F_STAMPA_BOLLA 117
|
||||||
|
//#define F_CALC_IMPORTO 118
|
||||||
|
//#define F_CONTR_DOTAZIONE 119
|
127
lv/lvtbcau.uml
127
lv/lvtbcau.uml
@ -4,9 +4,9 @@ TOOLBAR "" 0 0 0 2
|
|||||||
#include "relapbar.h"
|
#include "relapbar.h"
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Causali Lavanderie" -1 -1 78 10
|
PAGE "Causali Lavanderie" -1 -1 80 10
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 76 4
|
GROUPBOX DLG_NULL 80 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "@bDati Causale"
|
PROMPT 1 1 "@bDati Causale"
|
||||||
END
|
END
|
||||||
@ -61,7 +61,7 @@ BEGIN
|
|||||||
KEY 2
|
KEY 2
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 90 4
|
GROUPBOX DLG_NULL 80 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "@b Ritiro"
|
PROMPT 1 5 "@b Ritiro"
|
||||||
END
|
END
|
||||||
@ -76,13 +76,18 @@ END
|
|||||||
|
|
||||||
STRING F_CAUSALE_RITIRO 5
|
STRING F_CAUSALE_RITIRO 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "Causale di magazzino"
|
PROMPT 2 7 "Causale di mag. "
|
||||||
USE %CAU KEY 1
|
USE %CAU KEY 1
|
||||||
INPUT CODTAB F_CAUSALE_RITIRO
|
INPUT CODTAB F_CAUSALE_RITIRO
|
||||||
DISPLAY "Codice@8" CODTAB
|
DISPLAY "Codice@8" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_CAUSALE_RITIRO CODTAB
|
OUTPUT F_CAUSALE_RITIRO CODTAB
|
||||||
OUTPUT F_DES_CAUSALE_RITIRO S0
|
OUTPUT F_DES_CAUSALE_RITIRO S0
|
||||||
|
OUTPUT F_SGNDOTIN_R S2[29,30]
|
||||||
|
OUTPUT F_SGNDOTOD_R S2[31,32]
|
||||||
|
OUTPUT F_SGNDOTTM_R S2[33,34]
|
||||||
|
OUTPUT F_SGNCONYR_R S2[35,36]
|
||||||
|
OUTPUT F_SGNCONMN_R S2[37,38]
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Causale ritirato obbligatoria"
|
WARNING "Causale ritirato obbligatoria"
|
||||||
GROUP 1
|
GROUP 1
|
||||||
@ -92,7 +97,7 @@ END
|
|||||||
|
|
||||||
STRING F_DES_CAUSALE_RITIRO 50
|
STRING F_DES_CAUSALE_RITIRO 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 7 " "
|
PROMPT 27 7 ""
|
||||||
USE %CAU KEY 2
|
USE %CAU KEY 2
|
||||||
INPUT S0 F_DES_CAUSALE_RITIRO
|
INPUT S0 F_DES_CAUSALE_RITIRO
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
@ -102,7 +107,52 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 90 4
|
LISTBOX F_SGNDOTIN_R 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 8 "Dot. In."
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_SGNDOTOD_R 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 18 8 "Dot. Od."
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_SGNDOTTM_R 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 33 8 "Dot. Temp."
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_SGNCONYR_R 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 50 8 "Cons. Anno"
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_SGNCONMN_R 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 66 8 "Cons. Mese"
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 80 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "@b Consegna"
|
PROMPT 1 10 "@b Consegna"
|
||||||
END
|
END
|
||||||
@ -117,13 +167,18 @@ END
|
|||||||
|
|
||||||
STRING F_CAUSALE_CONSEGNA 5
|
STRING F_CAUSALE_CONSEGNA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 12 "Causale di magazzino"
|
PROMPT 2 12 "Causale di mag. "
|
||||||
USE %CAU KEY 1
|
USE %CAU KEY 1
|
||||||
INPUT CODTAB F_CAUSALE_CONSEGNA
|
INPUT CODTAB F_CAUSALE_CONSEGNA
|
||||||
DISPLAY "Codice@8" CODTAB
|
DISPLAY "Codice@8" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_CAUSALE_CONSEGNA CODTAB
|
OUTPUT F_CAUSALE_CONSEGNA CODTAB
|
||||||
OUTPUT F_DES_CAUSALE_CONSEGNA S0
|
OUTPUT F_DES_CAUSALE_CONSEGNA S0
|
||||||
|
OUTPUT F_SGNDOTIN_C S2[29,30]
|
||||||
|
OUTPUT F_SGNDOTOD_C S2[31,32]
|
||||||
|
OUTPUT F_SGNDOTTM_C S2[33,34]
|
||||||
|
OUTPUT F_SGNCONYR_C S2[35,36]
|
||||||
|
OUTPUT F_SGNCONMN_C S2[37,38]
|
||||||
FIELD S2
|
FIELD S2
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Causale consegnato obbligatoria"
|
WARNING "Causale consegnato obbligatoria"
|
||||||
@ -133,7 +188,7 @@ END
|
|||||||
|
|
||||||
STRING F_DES_CAUSALE_CONSEGNA 50
|
STRING F_DES_CAUSALE_CONSEGNA 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 12 " "
|
PROMPT 27 12 ""
|
||||||
USE %CAU KEY 2
|
USE %CAU KEY 2
|
||||||
INPUT S0 F_DES_CAUSALE_CONSEGNA
|
INPUT S0 F_DES_CAUSALE_CONSEGNA
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
@ -143,17 +198,67 @@ BEGIN
|
|||||||
GROUP 2
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 90 4
|
LISTBOX F_SGNDOTIN_C 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 14 ""
|
PROMPT 2 13 "Dot. In."
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_SGNDOTOD_C 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 18 13 "Dot. Od."
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_SGNDOTTM_C 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 33 13 "Dot. Temp."
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_SGNCONYR_C 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 49 13 "Cons. Anno"
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_SGNCONMN_C 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 66 13 "Cons. Mese"
|
||||||
|
ITEM "0| "
|
||||||
|
ITEM "+1|+"
|
||||||
|
ITEM "-1|-"
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 80 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 15 "@bTipo Causale"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_CAUSALE_RESO
|
BOOLEAN F_CAUSALE_RESO
|
||||||
BEGIN
|
BEGIN
|
||||||
FIELD B2
|
FIELD B2
|
||||||
PROMPT 2 15 "Causale di reso"
|
PROMPT 2 16 "Causale di reso"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_CAUSALE_ROTTO
|
||||||
|
BEGIN
|
||||||
|
FIELD B3
|
||||||
|
PROMPT 25 16 "Causale di rotto"
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user