Aggiunta box riepilogativa del test di velocita'.

Spostato all'inizio il codice Altro per la lista del Tipo IVA.


git-svn-id: svn://10.65.10.50/trunk@39 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1994-08-19 10:42:50 +00:00
parent 5e5176d3c8
commit 617fd7e074
6 changed files with 143 additions and 165 deletions

View File

@ -595,16 +595,11 @@ void TPrimanota_application::mask2rel(const TMask& m)
r.put("ANNOES", annoes);
r.put("NUMREG", numreg);
r.put("NUMRIG", cur);
const char* imponibile = row.get(0);
r.put("IMPONIBILE", imponibile);
r.put("IMPONIBILE", row.get(0));
r.put("CODIVA", row.get());
const char* imposta = row.get();
r.put("IMPOSTA", imposta);
r.put("TIPOCR", row.get());
r.put("TIPODET", row.get());
r.put("IMPOSTA", row.get());
r.put("TIPOCR", row.get());
const TConto c(row, -1, 0x1);
const int rimp = bill2pos(c, 'I')+1;

View File

@ -182,6 +182,7 @@ DISPLAY "Descrizione@50" DESCR
DISPLAY "Codice" CODCAUS
COPY OUTPUT F_CODCAUS
MESSAGE COPY,H_DESCRCAUS
CHECKTYPE REQUIRED
ADD RUN cg0 -4
END
@ -214,8 +215,8 @@ BEGIN
PROMPT 51 9 "Riepilogo fino al n. "
FIELD LF_MOV->UPROTIVA
NUM_EXPR (#F_RIEPILOGO==0)||(#F_RIEPILOGO>=#F_PROTIVA)
WARNING "Il riepilogo non puo' essere inferiore al protocollo IVA"
END
WARNING "Il riepilogo non puo' essere inferiore al protocollo IVA"
END
STRING F_CLIFO 1
BEGIN
@ -291,6 +292,7 @@ NUM_EXPR (#F_RIEPILOGO==0)||(#F_RIEPILOGO>=#F_PROTIVA)
DISPLAY "Partita IVA@12" PAIV
DISPLAY "Codice" CODCF
COPY OUTPUT F_FORNITORE
CHECKTYPE REQUIRED
ADD RUN cg0 -1
END
@ -305,6 +307,7 @@ NUM_EXPR (#F_RIEPILOGO==0)||(#F_RIEPILOGO>=#F_PROTIVA)
DISPLAY "Partita IVA@12" PAIV
DISPLAY "Codice" CODCF
COPY OUTPUT F_CLIENTE
CHECKTYPE REQUIRED
ADD RUN cg0 -1
END
@ -320,6 +323,7 @@ NUM_EXPR (#F_RIEPILOGO==0)||(#F_RIEPILOGO>=#F_PROTIVA)
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Codice" CODCF
COPY OUTPUT F_CLIENTE
CHECKTYPE NORMAL
ADD RUN cg0 -1
END
@ -333,6 +337,7 @@ NUM_EXPR (#F_RIEPILOGO==0)||(#F_RIEPILOGO>=#F_PROTIVA)
INPUT PAIV F_PIVAFORNITORE
COPY DISPLAY F_PIVACLIENTE
COPY OUTPUT F_FORNITORE
CHECKTYPE NORMAL
ADD RUN cg0 -1
END

View File

@ -14,6 +14,7 @@ const char* iva2name(TipoIVA iva)
case nessuna_iva : i = "Nessuna IVA"; break;
case iva_acquisti: i = "IVA Acquisti"; break;
case iva_vendite : i = "IVA Vendite"; break;
case iva_generica: i = "IVA Generica"; break;
default : i = "IVA ERRATA!"; break;
}
@ -73,7 +74,7 @@ TRegistro& TRegistro::operator =(const TRegistro& r)
int TRegistro::tipo() const
{
const int t = _rec.ok() ? _rec.get_int("I0") : 0;
const int t = ok() ? _rec.get_int("I0") : 0;
return t;
}
@ -238,14 +239,11 @@ bool TCausale::read(const char* cod, int year)
for (int riga = 1; riga < size(); riga++) // Fill gaps
if (objptr(riga) == NULL) add(rcaus.curr(), riga);
if (year > 0)
{
TString16 codreg(caus.get("REG"));
const bool ok = _reg.read(codreg, year); // Read register
if (!ok && codreg.not_empty())
return error_box("Non esiste il registro '%s' per l'anno %d",
(const char*)codreg, year);
}
TString16 codreg(caus.get("REG"));
const bool ok = _reg.read(codreg, year); // Read register
if (!ok && codreg.not_empty())
return error_box("Non esiste il registro '%s' per l'anno %d",
(const char*)codreg, year);
}
else
{
@ -318,7 +316,7 @@ TipoIVA TCausale::iva() const
if (tpd.read() == NOERR)
{
i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica
if (i != iva_vendite && i != iva_acquisti)
if (i == iva_generica)
i = _reg.iva();
}
}

View File

@ -2,33 +2,33 @@ PAGE "RIGA IVA" -1 -1 70 15
GROUPBOX DLG_NULL 67 4
BEGIN
PROMPT 1 1 "Conto"
PROMPT 1 1 "Conto"
END
LIST 106 1 12
BEGIN
PROMPT 2 2 "Tipo "
FIELD TMCF
ITEM " |Conto"
MESSAGE SHOW,109|HIDE,209|HIDE,309
ITEM "C|Cliente"
MESSAGE SHOW,209|HIDE,109|HIDE,309
ITEM "F|Fornitore"
MESSAGE SHOW,309|HIDE,109|HIDE,209
FLAGS "U"
PROMPT 2 2 "Tipo "
FIELD TMCF
ITEM " |Conto"
MESSAGE SHOW,109|HIDE,209|HIDE,309
ITEM "C|Cliente"
MESSAGE SHOW,209|HIDE,109|HIDE,309
ITEM "F|Fornitore"
MESSAGE SHOW,309|HIDE,109|HIDE,209
FLAGS "U"
END
NUMBER 107 3
BEGIN
PROMPT 21 2 "Gruppo "
FIELD GRUPPO
PROMPT 21 2 "Gruppo "
FIELD GRUPPO
END
NUMBER 108 3
BEGIN
PROMPT 33 2 "Conto "
FIELD CONTO
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
PROMPT 33 2 "Conto "
FIELD CONTO
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
INPUT GRUPPO 107
INPUT CONTO 108
DISPLAY "Gruppo" GRUPPO
@ -39,15 +39,15 @@ USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
OUTPUT 107 GRUPPO
OUTPUT 108 CONTO
OUTPUT 110 DESCR
OUTPUT 104 TIPOSPRIC
OUTPUT 105 TIPOSPRIC
ADD RUN cg0 -0
CHECKTYPE NORMAL
WARNING "Conto inesistente nella riga IVA"
END
END
NUMBER 109 6
BEGIN
NUMBER 109 6
BEGIN
PROMPT 46 2 "Sottoconto "
FIELD SOTTOCONTO
USE LF_PCON SELECT SOTTOCONTO!=""
@ -58,7 +58,7 @@ USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT 104 TIPOSPRIC
OUTPUT 105 TIPOSPRIC
OUTPUT 107 GRUPPO
OUTPUT 108 CONTO
OUTPUT 109 SOTTOCONTO
@ -66,11 +66,11 @@ USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
ADD RUN cg0 -0
CHECKTYPE NORMAL
WARNING "Sottoconto inesistente nella riga IVA"
END
END
NUMBER 209 6
BEGIN
NUMBER 209 6
BEGIN
PROMPT 46 2 "Cliente "
USE LF_CLIFO
INPUT TIPOCF "C"
@ -84,11 +84,11 @@ USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
CHECKTYPE NORMAL
ADD RUN cg0 -1
FLAGS "G"
MESSAGE COPY,109|RESET,104
END
MESSAGE COPY,109|RESET,105
END
NUMBER 309 6
BEGIN
NUMBER 309 6
BEGIN
PROMPT 46 2 "Fornitore "
USE LF_CLIFO
INPUT TIPOCF "F"
@ -102,22 +102,22 @@ USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
CHECKTYPE NORMAL
ADD RUN cg0 -1
FLAGS "G"
MESSAGE COPY,109|RESET,104
END
MESSAGE COPY,109|RESET,105
END
STRING 110 50
BEGIN
STRING 110 50
BEGIN
PROMPT 2 3 "Descrizione "
FLAGS "D"
END
END
GROUPBOX DLG_NULL 67 5
BEGIN
GROUPBOX DLG_NULL 67 5
BEGIN
PROMPT 1 5 "Imposta"
END
END
STRING 102 4
BEGIN
STRING 102 4
BEGIN
PROMPT 2 6 "IVA "
FLAGS "U"
USE %IVA
@ -129,16 +129,16 @@ USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
OUTPUT 102 CODTAB
OUTPUT 211 S0
CHECKTYPE NORMAL
END
END
STRING 211 50
BEGIN
STRING 211 50
BEGIN
PROMPT 15 6 ""
FLAGS "D"
END
END
NUMBER 103 1
BEGIN
NUMBER 103 1
BEGIN
PROMPT 2 7 "Detraz. "
SHEET "Codice|Descrizione@60"
INPUT 103
@ -148,37 +148,37 @@ USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
ITEM "9|IVA non detraibile per l'articolo 19"
OUTPUT 103
OUTPUT 213
END
END
STRING 213 50
BEGIN
STRING 213 50
BEGIN
PROMPT 15 7 ""
FLAGS "D"
END
END
NUMBER 101 14
BEGIN
NUMBER 101 14
BEGIN
PROMPT 2 8 "Imponibile "
FLAGS "RV"
PICTURE "."
END
END
NUMBER 104 14
BEGIN
NUMBER 104 14
BEGIN
PROMPT 41 8 "Imposta "
FLAGS "RV"
PICTURE "."
END
END
GROUPBOX DLG_NULL 67 3
BEGIN
GROUPBOX DLG_NULL 67 3
BEGIN
PROMPT 1 10 "Costo/Ricavo"
END
END
STRING 105 1
BEGIN
STRING 105 1
BEGIN
PROMPT 2 11 "Tipo "
FLAGS "D"
HELP "Specifica il tipo Costo/Ricavo"
@ -193,30 +193,30 @@ USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
ITEM "8|Altri beni strumentali acquistati in leasing"
OUTPUT 105
OUTPUT 212
END
END
STRING 212 50
BEGIN
STRING 212 50
BEGIN
PROMPT 15 11 ""
FLAGS "D"
END
END
BUTTON DLG_OK 9 2
BEGIN
BUTTON DLG_OK 9 2
BEGIN
PROMPT -13 -1 ""
END
END
BUTTON DLG_CANCEL 9 2
BEGIN
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -23 -1 ""
END
END
BUTTON DLG_DELREC 9 2
BEGIN
BUTTON DLG_DELREC 9 2
BEGIN
PROMPT -33 -1 "Elimina"
END
END
ENDPAGE
ENDPAGE
ENDMASK
ENDMASK

View File

@ -1,10 +1,10 @@
#ifndef __CG4_H
#define __CG4_H
//int cg4100(int argc, char* argv[]);
//int cg4300(int argc, char* argv[]);
int cg4400(int argc, char* argv[]);
int cg4500(int argc, char* argv[]);
//int cg4600(int argc, char* argv[]);
#endif // __CG4_H
#ifndef __CG4_H
#define __CG4_H
//int cg4100(int argc, char* argv[]);
//int cg4300(int argc, char* argv[]);
int cg4400(int argc, char* argv[]);
int cg4500(int argc, char* argv[]);
int cg4600(int argc, char* argv[]);
#endif // __CG4_H

View File

@ -1,20 +1,18 @@
// Chiusura/Apertura Conti
#include <config.h>
#include <mask.h>
#include <printapp.h>
#include <relation.h>
#include <tabutil.h>
#include <printapp.h>
#include <mask.h>
#include <date.h>
#include <scanner.h>
#include <utility.h>
#include <prefix.h>
#include <config.h>
#include <urldefid.h>
#include <utility.h>
#include "cg4.h"
#include "cg4600.h"
#include "cg2101.h"
#include "cglib.h"
#include <cglib.h>
#include <cg4.h>
#include <cg4600.h>
#include <cg2101.h>
#include <pconti.h>
#include <mov.h>
#include <saldi.h>
@ -40,8 +38,9 @@ class CG4600_application : public TApplication
TCursor* _cur;
TSaldo_agg* _sld;
Saldo _sale;
long _annoes_msk, _sproper, _numreg;
int _annoes_msk;
long _sproper, _numreg;
TDate _datareg;
TString _codcaus, _annoeseprec;
int _gproper, _cproper;
@ -132,14 +131,14 @@ bool mask_datac (TMask_field& f, KEY k)
bool mask_dataap (TMask_field& f, KEY k)
{
TTable TabEs ("ESC");
TTable TabReg("REG");
int anno = 0;
TString annos (4);
bool ok = TRUE;
if ( (k == K_ENTER) && f.to_check(k) )
{
TTable TabEs ("ESC");
TTable TabReg("REG");
int anno = 0;
TabEs.last();
TDate inizio = TabEs.get_date("D0");
TDate fine = TabEs.get_date("D1");
@ -148,28 +147,19 @@ bool mask_dataap (TMask_field& f, KEY k)
TDate iniziop = TabEs.get_date("D0");
TDate finep = TabEs.get_date("D1");
if (f.get() < inizio)
{
f.warning_box ("La data di apertura non puo' essere inferiore alla data di inizio esercizio in corso");
return FALSE;
}
return f.error_box ("La data di apertura non puo' essere inferiore alla data di inizio esercizio in corso");
if (f.get() > fine)
{
f.warning_box ("La data di apertura non puo' essere superiore alla data di fine esercizio in corso");
return FALSE;
}
return f.error_box ("La data di apertura non puo' essere superiore alla data di fine esercizio in corso");
if ( scarico.ok() && (f.get() <= scarico) )
{
f.warning_box ("La data di apertura non puo' essere inferiore o uguale alla data di scarico");
return FALSE;
}
return f.error_box ("La data di apertura non puo' essere inferiore o uguale alla data di scarico");
if ( (f.get() >= inizio) && (f.get() <= fine) ) //la data di apertura e' cioe' relativa all'esercizio in corso
anno = fine.year();
anno = fine.year();
else if( (f.get() >= iniziop) && (f.get() <= finep) ) //la data di apertura e' cioe' relativa all'esercizio precedente
anno = finep.year();
anno = finep.year();
TabReg.zero();
annos = format ("%04d", anno);
TString16 annos(format ("%04d", anno));
TabReg.put ("CODTAB", annos);
TRectype r (TabReg.curr());
TabReg.read(_isgteq);
@ -180,19 +170,16 @@ bool mask_dataap (TMask_field& f, KEY k)
int tiporeg = TabReg.get_int("I0");
if (tiporeg == 5)
{
TDate datast = TabReg.get_date("D3");
if (f.get() < datast)
{
ok = FALSE;
break;
}
TDate datast = TabReg.get_date("D3");
if (f.get() < datast)
{
ok = FALSE;
break;
}
}
}
if (!ok)
{
f.warning_box("La data di apertura non puo' essere inferiore alla data ultima stampa bollato");
return FALSE;
}
return f.error_box("La data di apertura non puo' essere inferiore alla data ultima stampa bollato");
}
return TRUE;
}
@ -237,7 +224,6 @@ bool mask_distinti (TMask_field& f, KEY k)
idg = idg + 3;
idc = idc + 3;
ids = ids + 3;
}
}
return TRUE;
@ -262,9 +248,7 @@ bool CG4600_application::create()
TApplication::create();
_rel = new TRelation (LF_PCON);
_cur = new TCursor(_rel,"((GRUPPO!=\"\")&&(CONTO!=\"\")&&(SOTTOCONTO==\"\"))",1);
_pn = new TMovimentoPN();
_saldi = new TLocalisamfile (LF_SALDI);
_mov = new TLocalisamfile (LF_MOV);
@ -293,19 +277,18 @@ bool CG4600_application::destroy()
void CG4600_application::anno_ese_precedente()
{
TTable tabesc ("ESC");
TString16 chiave;
int err = "NOERR";
TTable tabesc ("ESC");
TString16 chiave; chiave << _annoes_msk;
tabesc.zero();
chiave << _annoes_msk;
tabesc.put("CODTAB", chiave);
err = tabesc.read();
const int err = tabesc.read();
if (err == NOERR)
{
tabesc.prev();
_annoeseprec = tabesc.get("CODTAB");
}
else
_annoeseprec = 0;
}
void CG4600_application::ultima_registrazione()
@ -370,7 +353,7 @@ bool CG4600_application::set()
if (tasto == K_ENTER)
{
_annoes_msk = m.get_long(F_ANNO);
_annoes_msk = m.get_int (F_ANNO);
_datareg = m.get (F_DATAC);
_codcaus = m.get (F_CHIUSURA);
_gproper = m.get_int (F_PROPERG);
@ -413,7 +396,7 @@ void CG4600_application::record_rmov_proper(long numrig,TRectype& rmov,real& tot
if (tot_saldo.sign() < 0)
{
sez_rmov = 'D';
tot_saldo = tot_saldo * (-1.00);
tot_saldo = -tot_saldo;
}
rmov.put(RMV_SEZIONE, sez_rmov);
@ -619,7 +602,7 @@ void CG4600_application::ricavi()
if (j >= 1)
{
record_rmov_proper (numrig, rmov);
record_rmov_proper (numrig, rmov, tot_saldo);
if (tot_saldo.sign() > 0)
sez_rmov = 'A';
@ -662,7 +645,7 @@ void CG4600_application::ricavi()
// di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma).
record_rmov_proper (numrig, rmov);
record_rmov_proper (numrig, rmov, tot_saldo);
if (tot_saldo.sign() > 0)
sez_rmov = 'A';
@ -718,18 +701,15 @@ bool CG4600_application::menu(MENU_TAG m)
return set();
return FALSE;
}
int main /* cg4600 */(int argc, char* argv[])
int cg4600 (int argc, char* argv[])
{
CG4600_application main_app;
main_app.run(argc, argv, "Chiusura Apertura Conti");
main_app.run(argc, argv, "Chiusura/Apertura Conti");
return TRUE;
}