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 <modtbapp.h>
|
||||
#include <tabutil.h>
|
||||
|
||||
#include "lvtbcau.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// 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)
|
||||
{
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -30,7 +33,11 @@ class TLV_table_app : public TTable_module_application
|
||||
{
|
||||
protected: // TRelation_application
|
||||
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);
|
||||
|
||||
void cambia_segni(const TMask& m, const bool ritirato);
|
||||
|
||||
public:
|
||||
};
|
||||
@ -46,6 +53,81 @@ TMask* TLV_table_app::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
|
||||
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_CAUSALE_RITIRO 105
|
||||
#define F_DES_CAUSALE_RITIRO 106
|
||||
#define F_CONSEGNATO 107
|
||||
#define F_CAUSALE_CONSEGNA 108
|
||||
#define F_DES_CAUSALE_CONSEGNA 109
|
||||
#define F_CAUSALE_RESO 110
|
||||
#define F_STAMPA_BOLLA 111
|
||||
#define F_CALC_IMPORTO 112
|
||||
#define F_CONTR_DOTAZIONE 113
|
||||
#define F_SGNDOTIN_R 107
|
||||
#define F_SGNDOTOD_R 108
|
||||
#define F_SGNDOTTM_R 109
|
||||
#define F_SGNCONYR_R 110
|
||||
#define F_SGNCONMN_R 111
|
||||
#define F_CONSEGNATO 112
|
||||
#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"
|
||||
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
|
||||
PROMPT 1 1 "@bDati Causale"
|
||||
END
|
||||
@ -61,7 +61,7 @@ BEGIN
|
||||
KEY 2
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 90 4
|
||||
GROUPBOX DLG_NULL 80 5
|
||||
BEGIN
|
||||
PROMPT 1 5 "@b Ritiro"
|
||||
END
|
||||
@ -76,13 +76,18 @@ END
|
||||
|
||||
STRING F_CAUSALE_RITIRO 5
|
||||
BEGIN
|
||||
PROMPT 2 7 "Causale di magazzino"
|
||||
PROMPT 2 7 "Causale di mag. "
|
||||
USE %CAU KEY 1
|
||||
INPUT CODTAB F_CAUSALE_RITIRO
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CAUSALE_RITIRO CODTAB
|
||||
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
|
||||
WARNING "Causale ritirato obbligatoria"
|
||||
GROUP 1
|
||||
@ -92,7 +97,7 @@ END
|
||||
|
||||
STRING F_DES_CAUSALE_RITIRO 50
|
||||
BEGIN
|
||||
PROMPT 30 7 " "
|
||||
PROMPT 27 7 ""
|
||||
USE %CAU KEY 2
|
||||
INPUT S0 F_DES_CAUSALE_RITIRO
|
||||
DISPLAY "Codice" CODTAB
|
||||
@ -102,7 +107,52 @@ BEGIN
|
||||
FLAGS "D"
|
||||
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
|
||||
PROMPT 1 10 "@b Consegna"
|
||||
END
|
||||
@ -117,13 +167,18 @@ END
|
||||
|
||||
STRING F_CAUSALE_CONSEGNA 5
|
||||
BEGIN
|
||||
PROMPT 2 12 "Causale di magazzino"
|
||||
PROMPT 2 12 "Causale di mag. "
|
||||
USE %CAU KEY 1
|
||||
INPUT CODTAB F_CAUSALE_CONSEGNA
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CAUSALE_CONSEGNA CODTAB
|
||||
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
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Causale consegnato obbligatoria"
|
||||
@ -133,7 +188,7 @@ END
|
||||
|
||||
STRING F_DES_CAUSALE_CONSEGNA 50
|
||||
BEGIN
|
||||
PROMPT 30 12 " "
|
||||
PROMPT 27 12 ""
|
||||
USE %CAU KEY 2
|
||||
INPUT S0 F_DES_CAUSALE_CONSEGNA
|
||||
DISPLAY "Codice" CODTAB
|
||||
@ -143,17 +198,67 @@ BEGIN
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 90 4
|
||||
LISTBOX F_SGNDOTIN_C 1
|
||||
BEGIN
|
||||
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 14 ""
|
||||
PROMPT 1 15 "@bTipo Causale"
|
||||
END
|
||||
|
||||
BOOLEAN F_CAUSALE_RESO
|
||||
BEGIN
|
||||
FIELD B2
|
||||
PROMPT 2 15 "Causale di reso"
|
||||
PROMPT 2 16 "Causale di reso"
|
||||
END
|
||||
|
||||
BOOLEAN F_CAUSALE_ROTTO
|
||||
BEGIN
|
||||
FIELD B3
|
||||
PROMPT 25 16 "Causale di rotto"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user