Correzioni al piano dei conti nella gestione dei codici IV direttiva come

proposto da Gabriella


git-svn-id: svn://10.65.10.50/trunk@320 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-10-05 12:18:01 +00:00
parent 2ae5971478
commit 5bc0d3b903
5 changed files with 106 additions and 119 deletions

View File

@ -24,6 +24,8 @@ class CG0100_application : public TRelation_application
virtual void init_query_mode(TMask& m);
virtual void init_insert_mode(TMask& m);
virtual void init_modify_mode(TMask& m) {init_insert_mode(m);}
virtual int write(const TMask& m);
virtual int read(TMask& m);
public:
virtual TRelation* get_relation() const {return _rel;}
@ -31,6 +33,43 @@ public:
};
int CG0100_application::read(TMask& m)
{
const TRelation *r = get_relation();
m.autoload(r);
if (m.get(FLD_CM1_LETTIVD).empty())
{
int sezivd = m.get_int(FLD_CM1_SEZIVD);
if (sezivd == 1 || sezivd == 2)
m.set(FLD_CM1_SEZIVD, sezivd + 5);
}
if (m.get(FLD_CM1_LETTIVDOPP).empty())
{
int sezivd = m.get_int(FLD_CM1_SEZIVDOPP);
if (sezivd == 1 || sezivd == 2)
m.set(FLD_CM1_SEZIVDOPP, sezivd + 5);
}
return NOERR;
}
int CG0100_application::write(const TMask& m)
{
TRelation *r = get_relation();
r->zero();
m.autosave(r);
int sezivd = m.get_int(FLD_CM1_SEZIVD);
if (sezivd == 5 || sezivd == 6)
r->lfile().put(PCN_SEZIVD, sezivd - 5);
sezivd = m.get_int(FLD_CM1_SEZIVDOPP);
if (sezivd == 5 || sezivd == 6)
r->lfile().put(PCN_SEZIVDOPP, sezivd - 5);
return r->write();
}
// Controlla se puo' essere effettuata la cancellazione di un conto
bool CG0100_application::protected_record(TRectype &rec)
@ -91,37 +130,6 @@ HIDDEN bool tmcf_handler(TMask_field& f, KEY key)
return TRUE;
}
HIDDEN bool ivd_enable = TRUE;
HIDDEN bool indbil_handler(TMask_field& f, KEY key)
{
if (f.active() && key == K_SPACE)
{
TMask& m = f.mask();
const int indbil = atoi(f.get());
if (indbil == ORDINE)
{
m.send_key(K_SHIFT + K_CTRL + 'h', -4);
m.show(FLD_CM1_SEZIVDH);
m.enable(FLD_CM1_SEZIVDH);
}
else
{
m.show(FLD_CM1_SEZIVD);
m.hide(FLD_CM1_SEZIVDH);
m.enable(FLD_CM1_SEZIVD, ivd_enable);
m.show(FLD_CM1_LETTIVD, ivd_enable);
m.show(FLD_CM1_NUMRIVD, ivd_enable);
m.show(FLD_CM1_NUMIVD, ivd_enable);
m.show(FLD_CM1_LETTIVDH, !ivd_enable);
m.show(FLD_CM1_NUMRIVDH, !ivd_enable);
m.show(FLD_CM1_NUMIVDH, !ivd_enable);
}
}
return TRUE;
}
void CG0100_application::init_insert_mode(TMask& m)
@ -129,6 +137,7 @@ void CG0100_application::init_insert_mode(TMask& m)
const int gruppo = atoi(m.get(FLD_CM1_GRUPPO));
const int conto = atoi(m.get(FLD_CM1_CONTO));
const long sottoc = atol(m.get(FLD_CM1_SOTTOCONTO));
bool ivd_enable = TRUE;
if (conto == 0 && sottoc == 0)
m.send_key(K_SHIFT + K_CTRL + 'h', -1);
@ -161,41 +170,25 @@ void CG0100_application::init_insert_mode(TMask& m)
s4 = pconti.get(PCN_NUMIVD);
indbil = pconti.get_int(PCN_INDBIL);
}
if (indbil == ORDINE)
{
m.send_key(K_SHIFT + K_CTRL + 'h', -4);
m.show(FLD_CM1_SEZIVDH);
m.disable(FLD_CM1_SEZIVDH);
m.set(FLD_CM1_SEZIVDH, s1);
ivd_enable = (s1 == 0);
}
else
{
m.show(FLD_CM1_SEZIVD);
m.hide(FLD_CM1_SEZIVDH);
ivd_enable = (s1 == 0) && s2.empty() && s3.empty() && s4.empty();
}
ivd_enable = (s1 == 0) && s2.empty() && s3.empty() && s4.empty();
}
else ivd_enable = TRUE;
m.show(FLD_CM1_RICSER, indbil == PASSIVITA || indbil == RICAVI);
if (conto != 0)
{
if (indbil != ORDINE)
m.enable(FLD_CM1_SEZIVD, ivd_enable);
m.show(FLD_CM1_LETTIVD, ivd_enable);
m.show(FLD_CM1_NUMRIVD, ivd_enable);
m.show(FLD_CM1_NUMIVD, ivd_enable);
m.show(FLD_CM1_LETTIVDH, !ivd_enable);
m.show(FLD_CM1_NUMRIVDH, !ivd_enable);
m.show(FLD_CM1_NUMIVDH, !ivd_enable);
if (!ivd_enable)
{
m.enable(FLD_CM1_SEZIVD, ivd_enable);
m.show(FLD_CM1_LETTIVD, ivd_enable);
m.show(FLD_CM1_NUMRIVD, ivd_enable);
m.show(FLD_CM1_NUMIVD, ivd_enable);
m.show(FLD_CM1_LETTIVDH, !ivd_enable);
m.show(FLD_CM1_NUMRIVDH, !ivd_enable);
m.show(FLD_CM1_NUMIVDH, !ivd_enable);
if (!ivd_enable)
{
m.set(FLD_CM1_SEZIVD, s1);
m.set(FLD_CM1_LETTIVDH, s2);
m.set(FLD_CM1_NUMRIVDH, s3);
m.set(FLD_CM1_NUMIVDH, s4);
}
m.set(FLD_CM1_SEZIVD, s1);
m.set(FLD_CM1_LETTIVDH, s2);
m.set(FLD_CM1_NUMRIVDH, s3);
m.set(FLD_CM1_NUMIVDH, s4);
m.enable(FLD_CM1_SEZIVDOPP);
}
pconti.zero();
pconti.put(PCN_GRUPPO, gruppo);
@ -288,7 +281,7 @@ bool CG0100_application::user_create()
_msk = new TMask("cg0100a") ;
_msk->set_handler(FLD_CM1_GRUPPO, gruppo_handler);
_msk->set_handler(FLD_CM1_SOTTOCONTO, sottoc_handler);
_msk->set_handler(FLD_CM1_INDBIL, indbil_handler);
/* _msk->set_handler(FLD_CM1_INDBIL, indbil_handler); */
_msk->set_handler(FLD_CM1_TMCF, tmcf_handler);
_rel = new TRelation(LF_PCON);

View File

@ -109,34 +109,26 @@ BEGIN
ITEM "5|Conti d'ordine"
END
LIST FLD_CM1_SEZIVD 1 17
LIST FLD_CM1_SEZIVD 1 19
BEGIN
PROMPT 4 7 "Sez. e classe IV dir.: "
FIELD LF_PCON->SEZIVD
GROUP 1 4
ITEM "0|Nessuna" MESSAGE RESET,5@
ITEM "1|Attivita'"
ITEM "2|Passivita'"
ITEM "9|Conto economico"
ITEM "0|Nessuna" MESSAGE CLEAR,5@|CLEAR,6@
ITEM "1|Attivita'" MESSAGE ENABLE,5@|ENABLE,6@
ITEM "2|Passivita'" MESSAGE ENABLE,5@|ENABLE,6@
ITEM "9|Conto economico" MESSAGE ENABLE,5@|ENABLE,6@
ITEM "5|Conto d'ordine" MESSAGE CLEAR,5@|ENABLE,6@
ITEM "6|C.ordine attivo" MESSAGE CLEAR,5@|ENABLE,6@
ITEM "7|C.ordine passivo" MESSAGE CLEAR,5@|ENABLE,6@
HELP "Inserire il codice del conto secondo la IV direttiva CEE"
END
LIST FLD_CM1_SEZIVDH 1 19
BEGIN
PROMPT 4 7 "Sez. e classe IV dir.: "
FIELD LF_PCON->SEZIVD
ITEM "0|Nessuna" MESSAGE RESET,5@
ITEM "1|C.ordine attivo"
ITEM "2|C.ordine passivo"
ITEM "5|C.ordine"
FLAGS "H"
END
STRING FLD_CM1_LETTIVD 1 1
BEGIN
PROMPT 51 7 ""
FIELD LF_PCON->LETTIVD
GROUP 1 4 5
GROUP 1 5
FLAGS "U"
END
@ -144,14 +136,14 @@ STRING FLD_CM1_LETTIVDH 1
BEGIN
PROMPT 51 7 ""
FLAGS "HDU"
GROUP 4 5
GROUP 5
END
NUMBER FLD_CM1_NUMRIVD 8 4
BEGIN
PROMPT 55 7 ""
FIELD LF_PCON->NUMRIVD
GROUP 1 4 5
GROUP 1 5
FLAGS "MZ"
END
@ -159,7 +151,7 @@ NUMBER FLD_CM1_NUMRIVDH 8 4
BEGIN
PROMPT 55 7 ""
FLAGS "HDMZ"
GROUP 4 5
GROUP 5
END
NUMBER FLD_CM1_NUMIVD 2
@ -167,7 +159,7 @@ BEGIN
PROMPT 66 7 ""
FIELD LF_PCON->NUMIVD
FLAGS "RZ"
GROUP 1 4 5
GROUP 1 5
USE %IVD
INPUT CODTAB[1,1] FLD_CM1_SEZIVD
INPUT CODTAB[2,2] FLD_CM1_LETTIVD
@ -175,7 +167,7 @@ BEGIN
INPUT CODTAB[7,8] FLD_CM1_NUMIVD
DISPLAY "Sezione" CODTAB[1,1]
DISPLAY "Lettera" CODTAB[2,2]
DISPLAY "Classe " CODTAB[3,6]
DISPLAY "Classe @M" CODTAB[3,6]
DISPLAY "Numero" CODTAB[7,8]
DISPLAY "Descrizione@50" S0
OUTPUT FLD_CM1_SEZIVD CODTAB[1,1]
@ -190,18 +182,21 @@ NUMBER FLD_CM1_NUMIVDH 2
BEGIN
PROMPT 66 7 ""
FLAGS "HDRZ"
GROUP 1 4 5
GROUP 1 5
END
LIST FLD_CM1_SEZIVDOPP 1 17
LIST FLD_CM1_SEZIVDOPP 1 19
BEGIN
PROMPT 4 8 "Classe segno opp.: "
FIELD LF_PCON->SEZIVDOPP
GROUP 1 2 4
ITEM "0|Nessuna" MESSAGE RESET,6@
ITEM "1|Attivita'"
ITEM "2|Passivita'"
ITEM "9|Conto economico"
GROUP 1 2 4 6
ITEM "0|Nessuna" MESSAGE CLEAR,7@
ITEM "1|Attivita'" MESSAGE ENABLE,7@
ITEM "2|Passivita'" MESSAGE ENABLE,7@
ITEM "9|Conto economico" MESSAGE ENABLE,7@
ITEM "5|Conto d'ordine" MESSAGE CLEAR,7@
ITEM "6|C.ordine attivo" MESSAGE CLEAR,7@
ITEM "7|C.ordine passivo" MESSAGE CLEAR,7@
HELP "Inserire il codice del conto di sezione opposta secondo la IV direttiva CEE"
END
@ -210,7 +205,7 @@ BEGIN
PROMPT 51 8 ""
FIELD LF_PCON->LETTIVDOPP
FLAGS "U"
GROUP 1 2 4 6
GROUP 1 2 4 7
END
NUMBER FLD_CM1_NUMRIVDOPP 8 4
@ -218,7 +213,7 @@ BEGIN
PROMPT 55 8 ""
FIELD LF_PCON->NUMRIVDOPP
FLAGS "MZ"
GROUP 1 2 4 6
GROUP 1 2 4 7
END
NUMBER FLD_CM1_NUMIVDOPP 2
@ -226,7 +221,7 @@ BEGIN
PROMPT 66 8 ""
FIELD LF_PCON->NUMIVDOPP
FLAGS "RZ"
GROUP 1 2 4 6
GROUP 1 2 4 7
COPY USE FLD_CM1_NUMIVD
INPUT CODTAB[1,1] FLD_CM1_SEZIVDOPP
INPUT CODTAB[2,2] FLD_CM1_LETTIVDOPP

View File

@ -87,12 +87,14 @@ $(O)/cg2102.o: cg2102.cpp cg2102.h $(I6) $(I10) $(I24) $(I27) $(I33)
$(O)/cg2103.o: cg2103.cpp cg2103.h
$(O)/cg2200.o: cg2200.cpp cg2200.h
$(O)/cglib02.o: conto.h cglib02.cpp $(I24) $(I31) $(I33) $(I40) $(I42) $(I51) cglib.h
$(O)/conto.o: conto.cpp $(I6) $(I10) $(I24) $(I27) $(I33)
$(EP)cg2: $(O)/cg2.o $(O)/cg2100.o $(O)/cg2101.o $(O)/cg2102.o $(O)/cg2103.o $(O)/conto.o $(O)/cglib02.o $(LIBD1) $(EP)cg2.frl
$(LINK) $(LFLAGSD1) $@ $(O)/cg2.o $(O)/cg2100.o $(O)/cg2101.o $(O)/cg2102.o $(O)/cg2103.o $(O)/cglib02.o $(O)/conto.o
$(EP)cg2: $(O)/cg2.o $(O)/cg2100.o $(O)/cg2101.o $(O)/cg2102.o $(O)/cg2103.o $(O)/cg2200.o $(O)/conto.o $(O)/cglib02.o $(LIBD1) $(EP)cg2.frl
$(LINK) $(LFLAGSD1) $@ $(O)/cg2.o $(O)/cg2100.o $(O)/cg2101.o $(O)/cg2102.o $(O)/cg2103.o $(O)/cg2200.o $(O)/cglib02.o $(O)/conto.o
$(O)/cg3.o: cg3.cpp $(I10) $(I24) $(I32)

View File

@ -5,23 +5,24 @@
# Maschera
EdMask = cgcfd.msk
# Anno liquidazione IVA
AnLiIv = 1994
AnLiIv =
# Anagrafica clienti/fornitori in comune
AnCfCm = X
AnCfCm =
# Piano conti/tabella causali in comune
PcTcCm = X
PcTcCm =
# Gestione libro cronologico
GsLbCn = X
GsLbCn =
# Codice libro incassi pagamenti
CodLIC =
# Stampa totali fatture a fine registro
StTfFr = X
StTfFr =
# Stampa libro giornale e libro IVA unico
StLgiU = X
StLgiU =
# Gestione saldaconto
GesSal =
# N. rif. allineato a destra per clienti e fornitori
NrCfDx =
NrCliDx =
NrForDx =
# Campo misterioso che segue il precedente
CmSgPc =
# Riferimenti partite
@ -31,7 +32,7 @@ GesVal =
# Codice lingua
CodLin =
# Credito IVA anno precedente
CrIvAp = 0.0
CrIvAp =
# Gestione liquidazione differita
GeLiDi =
# Codice causale chiusura
@ -67,9 +68,9 @@ CsPeCeG =
CsPeCeC =
CsPeCeS =
# Frequenza ratei/riscontri
RrFrAm = A
RrFrAm =
# Mese commerciale ratei/riscontri
RrMeCo = X
RrMeCo =
# Codice causale ratei
RrCcRa =
# Codice causale riscontri

View File

@ -10,28 +10,24 @@ Editor = notepad
# Maschera edit
EdMask = cg5000a.msk
#codice azienda banca
CodCAB = 1
CodCAB =
#codice dipendenza
<<<<<<< prassis.doc
CodABI = 1
CodABI =
# Somma imposte non detraibiili agli acquisti/importazioni in mod. IVA 11
Sind11 = X
=======
CodABI = 1
# Somma imposte non detraibili agli acquist/importazioni in mod. IVA 11
Sind11 = X
>>>>>>> 1.2
Sind11 =
# Stampa intestazione su registri bollati
StiReg = X
StiReg =
# Non stampa data registrazione su registi IVA
NoDtRg = X
NoDtRg =
# Posizionamento cursore su data registrazione in immissione documenti
PoCuDr = X
PoCuDr =
# Codice IVA per ricavi misti relativi ad agenzie di viaggio
CodAgv = 4
CodAgv =
# Interessi liquid. trimestrali per i 4 trimestri
InTr(0) = 1.5
InTr(1) = 1.5
InTr(2) = 1.5
InTr(3) = 1.5
[EOF]