diff --git a/cg/cg4600.cpp b/cg/cg4600.cpp index 39e3a1f67..887d8ce7f 100755 --- a/cg/cg4600.cpp +++ b/cg/cg4600.cpp @@ -21,6 +21,8 @@ bool mask_datac (TMask_field&, KEY); bool mask_dataap (TMask_field&, KEY); bool mask_distinti (TMask_field&, KEY); +bool attivo_passivo(TMask_field&, KEY); +bool costi_ricavi (TMask_field&, KEY); #define MAX 99 @@ -245,6 +247,68 @@ bool mask_distinti (TMask_field& f, KEY k) return TRUE; } +bool attivo_passivo (TMask_field& f, KEY k) +{ + TLocalisamfile pcon (LF_PCON); + + if (k == K_ENTER) + { + int g,c; + int id = f.dlg(); + + if (id == F_UTILPC) + g = f.mask().get_int(F_UTILPG); + else + if (id == F_PERDPC) + g = f.mask().get_int(F_PERDPG); + + c = atoi(f.get()); + + pcon.setkey(1); + pcon.zero(); + pcon.put(PCN_GRUPPO, g); + pcon.put(PCN_CONTO, c); + if (pcon.read() == NOERR) + { + int indbil = pcon.get_int(PCN_INDBIL); + if (indbil != 1 && indbil != 2 && indbil != 5) + return f.warning_box("Indicatore di bilancio errato"); + } + } + return TRUE; +} + +bool costi_ricavi (TMask_field& f, KEY k) +{ + TLocalisamfile pcon (LF_PCON); + + if (k == K_ENTER) + { + int g,c; + int id = f.dlg(); + + if (id == F_UTILEC) + g = f.mask().get_int(F_UTILEG); + else + if (id == F_PERDEC) + g = f.mask().get_int(F_PERDEG); + + c = atoi(f.get()); + + pcon.setkey(1); + pcon.zero(); + pcon.put(PCN_GRUPPO, g); + pcon.put(PCN_CONTO, c); + if (pcon.read() == NOERR) + { + int indbil = pcon.get_int(PCN_INDBIL); + if (indbil != 3 && indbil != 4) + return f.warning_box("Indicatore di bilancio errato"); + } + } + return TRUE; +} + bool CG4600_application::create() { TApplication::create(); @@ -345,6 +409,10 @@ bool CG4600_application::set() m.set_handler (F_DATAC, mask_datac); m.set_handler (F_DATAAP, mask_dataap); m.set_handler (F_PERDES, mask_distinti); + m.set_handler (F_UTILPC, attivo_passivo); + m.set_handler (F_PERDPC, attivo_passivo); + m.set_handler (F_UTILEC, costi_ricavi); + m.set_handler (F_PERDEC, costi_ricavi); tasto = m.run(); @@ -427,7 +495,7 @@ bool CG4600_application::set() message_box("Apertura/chiusura conti completata"); - return TRUE; + return FALSE; } //K_ENTER return FALSE; } diff --git a/cg/cg4600a.uml b/cg/cg4600a.uml index a2bbe0e66..d03d5a3d9 100755 --- a/cg/cg4600a.uml +++ b/cg/cg4600a.uml @@ -57,7 +57,7 @@ BEGIN PROMPT 36 5 "Data/Anno apertura " HELP "Data in cui effettuare il movimento di apertura" WARNING "Inserire una data non inferiore alla data di chiusura" - VALIDATE DATE_CMP_FUNC >= F_DATAC + VALIDATE DATE_CMP_FUNC >= F_DATAC END NUMBER F_ANNOCH 4 @@ -185,7 +185,7 @@ NUMBER F_UTILPG 3 BEGIN PROMPT 3 12 "Utile d'esercizio c/to patrim. " HELP "Codice conto patrimoniale in cui ripilogare l'utile d'esercizio" - USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="") && ((INDBIL="1")||(INDBIL="2")||(INDBIL="5")) + USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="") CHECKTYPE REQUIRED COPY DISPLAY F_BILCHG OUTPUT F_UTILPG GRUPPO @@ -219,7 +219,7 @@ NUMBER F_PERDPG 3 BEGIN PROMPT 3 13 "Perdita d'esercizio c/to patr. " HELP "Codice conto patrimoniale in cui ripilogare la perdita d'esercizio" - USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="") && ((INDBIL="1")||(INDBIL="2")||(INDBIL="5")) + USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="") CHECKTYPE REQUIRED COPY DISPLAY F_BILCHG OUTPUT F_PERDPG GRUPPO @@ -253,7 +253,7 @@ NUMBER F_UTILEG 3 BEGIN PROMPT 3 14 "Utile d'esercizio c/to econom. " HELP "Codice conto economico in cui ripilogare l'utile d'esercizio" - USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="") && ((INDBIL="3")||(INDBIL="4")) + USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="") CHECKTYPE REQUIRED COPY DISPLAY F_BILCHG OUTPUT F_UTILEG GRUPPO @@ -287,7 +287,7 @@ NUMBER F_PERDEG 3 BEGIN PROMPT 3 15 "Perdita d'esercizio c/to econ. " HELP "Codice conto economico in cui ripilogare la perdita d'esercizio" - USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="") && ( (INDBIL="3")||(INDBIL="4") ) + USE LF_PCON KEY 1 SELECT (SOTTOCONTO!="") CHECKTYPE REQUIRED COPY DISPLAY F_BILCHG OUTPUT F_PERDEG GRUPPO