Correzzioni varie a causalki lista movimenti, mastrini e stampa causali

git-svn-id: svn://10.65.10.50/trunk@100 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1994-08-30 10:59:55 +00:00
parent 11ce8c230c
commit e00b2a76f8
15 changed files with 3430 additions and 3403 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,288 +1,291 @@
#include "cg0500.h" #include "cg0500.h"
TOOLBAR "" 0 20 0 2 TOOLBAR "" 0 20 0 2
#include <toolbar.h> #include <toolbar.h>
ENDPAGE ENDPAGE
PAGE "" -1 -1 77 20 PAGE "" -1 -1 77 20
GROUPBOX DLG_NULL -1 3 GROUPBOX DLG_NULL -1 3
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
END END
STRING F_COD_CAUS 3 STRING F_COD_CAUS 3
BEGIN BEGIN
PROMPT 3 1 "Codice " PROMPT 3 1 "Codice "
FIELD LF_CAUSALI->CODCAUS FIELD LF_CAUSALI->CODCAUS
KEY 1 KEY 1
FLAGS "U" FLAGS "U"
USE LF_CAUSALI USE LF_CAUSALI
INPUT CODCAUS F_COD_CAUS INPUT CODCAUS F_COD_CAUS
DISPLAY "Cod. causale" CODCAUS DISPLAY "Cod. causale" CODCAUS
DISPLAY "Descrizione @50" DESCR DISPLAY "Descrizione @50" DESCR
DISPLAY "Tipo documento" TIPODOC DISPLAY "Tipo documento" TIPODOC
DISPLAY "Codice registro" REG DISPLAY "Codice registro" REG
DISPLAY "Tipo movimento" TIPOMOV DISPLAY "Tipo movimento" TIPOMOV
OUTPUT F_COD_CAUS CODCAUS OUTPUT F_COD_CAUS CODCAUS
OUTPUT F_DESCR DESCR OUTPUT F_DESCR DESCR
HELP "Codice causale" HELP "Codice causale"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
STRING F_DESCR 40 STRING F_DESCR 40
BEGIN BEGIN
PROMPT 17 1 "Descrizione " PROMPT 17 1 "Descrizione "
FIELD LF_CAUSALI->DESCR FIELD LF_CAUSALI->DESCR
COPY USE F_COD_CAUS COPY USE F_COD_CAUS
INPUT CODCAUS F_COD_CAUS INPUT CODCAUS F_COD_CAUS
INPUT DESCR F_DESCR INPUT DESCR F_DESCR
DISPLAY "Cod. causale" CODCAUS DISPLAY "Cod. causale" CODCAUS
DISPLAY "Descrizione @50" DESCR DISPLAY "Descrizione @50" DESCR
DISPLAY "Tipo documento" TIPODOC DISPLAY "Tipo documento" TIPODOC
DISPLAY "Codice registro" REG DISPLAY "Codice registro" REG
DISPLAY "Tipo movimento" TIPOMOV DISPLAY "Tipo movimento" TIPOMOV
OUTPUT F_COD_CAUS CODCAUS OUTPUT F_COD_CAUS CODCAUS
OUTPUT F_DESCR DESCR OUTPUT F_DESCR DESCR
HELP "Descrizione della causale" HELP "Descrizione della causale"
END END
STRING F_TIPO_DOC 2 STRING F_TIPO_DOC 2
BEGIN BEGIN
PROMPT 2 4 "Tipo doc. " PROMPT 2 4 "Tipo doc. "
FIELD LF_CAUSALI->TIPODOC FIELD LF_CAUSALI->TIPODOC
USE %TPD USE %TPD
INPUT CODTAB F_TIPO_DOC INPUT CODTAB F_TIPO_DOC
DISPLAY "Tipo " CODTAB DISPLAY "Tipo " CODTAB
DISPLAY "Descrizione @50 " S0 DISPLAY "Descrizione @50 " S0
OUTPUT F_TIPO_DOC CODTAB OUTPUT F_TIPO_DOC CODTAB
HELP "Tipo documento" HELP "Tipo documento"
CHECKTYPE NORMAL CHECKTYPE NORMAL
MESSAGE HIDE, F_TIPO_MOV_2 | SHOW, 2@ MESSAGE SHOW, 2@
MESSAGE EMPTY HIDE, 2@ | SHOW, F_TIPO_MOV_2 MESSAGE EMPTY HIDE, 2@
FLAGS "U" FLAGS "U"
END END
STRING F_COD_REG 3 STRING F_COD_REG 3
BEGIN BEGIN
PROMPT 23 4 "Cod. reg. " PROMPT 23 4 "Cod. reg. "
FIELD LF_CAUSALI->REG FIELD LF_CAUSALI->REG
USE REG USE REG
INPUT CODTAB[1,4] F_ANNOES INPUT CODTAB[1,4] F_ANNOES
INPUT CODTAB[5,7] F_COD_REG INPUT CODTAB[5,7] F_COD_REG
DISPLAY "Anno" CODTAB[1,4] DISPLAY "Anno" CODTAB[1,4]
DISPLAY "Codice registro " CODTAB[5,7] DISPLAY "Codice registro " CODTAB[5,7]
DISPLAY "Tipo" I0 DISPLAY "Tipo" I0
DISPLAY "Registro corrispettivi" B0 DISPLAY "Registro corrispettivi" B0
DISPLAY "Descrizione @50" S0 DISPLAY "Descrizione @50" S0
OUTPUT F_ANNOES CODTAB[1,4] OUTPUT F_ANNOES CODTAB[1,4]
OUTPUT F_COD_REG CODTAB[5,7] OUTPUT F_COD_REG CODTAB[5,7]
OUTPUT F_TIPO_REG I0 OUTPUT F_TIPO_REG I0
OUTPUT F_CORRISP B0 OUTPUT F_CORRISP B0
HELP "Codice registro" HELP "Codice registro"
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAGS "D" FLAGS "D"
END END
STRING F_TIPO_MOV 2 // Questo rimane sempre nascosto
BEGIN STRING F_TIPO_MOV 2
PROMPT 68 4 "" BEGIN
FIELD LF_CAUSALI->TIPOMOV PROMPT 68 4 ""
FLAGS "H" FIELD LF_CAUSALI->TIPOMOV
END FLAGS "H"
END
LISTBOX F_TIPO_MOV_1 1 20
BEGIN // Viene mostrato questo se TPD non vuoto e diverso da IN AN PG
PROMPT 44 4 "Tipo mov. " LISTBOX F_TIPO_MOV_1 1 20
FIELD LF_CAUSALI->TIPOMOV BEGIN
HELP "Tipo movimento" PROMPT 44 4 "Tipo mov. "
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV FIELD LF_CAUSALI->TIPOMOV
ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV HELP "Tipo movimento"
ITEM "2|Nota credito" MESSAGE COPY,F_TIPO_MOV ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
GROUP 2 ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV
END ITEM "2|Nota credito" MESSAGE COPY,F_TIPO_MOV
// GROUP 2
LISTBOX F_TIPO_MOV_2 1 20 END
BEGIN
PROMPT 44 4 "Tipo mov. " // Viene mostrato questo se TPD vuoto o uguale a IN AN PG
FIELD LF_CAUSALI->TIPOMOV LISTBOX F_TIPO_MOV_2 1 20
HELP "Inserire il tipo movimento" BEGIN
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV PROMPT 44 4 "Tipo mov. "
ITEM "3|Incasso/pagamento " MESSAGE COPY,F_TIPO_MOV FIELD LF_CAUSALI->TIPOMOV
ITEM "5|Insoluto" MESSAGE COPY,F_TIPO_MOV HELP "Inserire il tipo movimento"
ITEM "6|Pagamento insoluto" MESSAGE COPY,F_TIPO_MOV ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
FLAGS "H" ITEM "3|Incasso/pagamento " MESSAGE COPY,F_TIPO_MOV
END ITEM "5|Insoluto" MESSAGE COPY,F_TIPO_MOV
ITEM "6|Pagamento insoluto" MESSAGE COPY,F_TIPO_MOV
STRING F_ANNOES 4 FLAGS "H"
BEGIN END
PROMPT 2 6 ""
FLAGS "H" STRING F_ANNOES 4
END BEGIN
PROMPT 2 6 ""
STRING F_TIPO_REG 4 FLAGS "H"
BEGIN END
PROMPT 23 5 ""
FLAGS "H" STRING F_TIPO_REG 4
END BEGIN
PROMPT 23 5 ""
BOOLEAN F_CORRISP FLAGS "H"
BEGIN END
PROMPT 33 5 ""
FLAGS "H" BOOLEAN F_CORRISP
END BEGIN
PROMPT 33 5 ""
SPREADSHEET F_SHEET_GCS FLAGS "H"
BEGIN END
PROMPT 2 7 ""
ITEM "Tipo conto@21" SPREADSHEET F_SHEET_GCS
ITEM "C/F" BEGIN
ITEM "Gr." PROMPT 2 7 ""
ITEM "Co." ITEM "Tipo conto@21"
ITEM "Sottoc." ITEM "C/F"
ITEM "D/A" ITEM "Gr."
ITEM "Descrizione@50" ITEM "Co."
ITEM "Descr. agg." ITEM "Sottoc."
ITEM "Iva" ITEM "D/A"
ITEM "Cod.Iva" ITEM "Descrizione@50"
END ITEM "Descr. agg."
ITEM "Iva"
ENDPAGE ITEM "Cod.Iva"
END
PAGE "" -1 -1 77 20
ENDPAGE
GROUPBOX DLG_NULL -1 3
BEGIN PAGE "" -1 -1 77 20
PROMPT 1 0 "Campi obbligatori in caricamento documenti"
END GROUPBOX DLG_NULL -1 3
BEGIN
BOOLEAN F_DATA_DOC PROMPT 1 0 "Campi obbligatori in caricamento documenti"
BEGIN END
PROMPT 2 1 "Data documento"
FIELD LF_CAUSALI->DATADOC BOOLEAN F_DATA_DOC
HELP "" BEGIN
CHECKTYPE NORMAL PROMPT 2 1 "Data documento"
END FIELD LF_CAUSALI->DATADOC
HELP ""
BOOLEAN F_NUM_DOC CHECKTYPE NORMAL
BEGIN END
PROMPT 34 1 "Numero documento"
FIELD LF_CAUSALI->NUMDOC BOOLEAN F_NUM_DOC
CHECKTYPE NORMAL BEGIN
END PROMPT 34 1 "Numero documento"
FIELD LF_CAUSALI->NUMDOC
BOOLEAN F_AUTO_FAT CHECKTYPE NORMAL
BEGIN END
PROMPT 2 4 "Autofattura art.34"
FIELD LF_CAUSALI->AUTOFATT BOOLEAN F_AUTO_FAT
CHECKTYPE NORMAL BEGIN
GROUP 2 PROMPT 2 4 "Autofattura art.34"
END FIELD LF_CAUSALI->AUTOFATT
CHECKTYPE NORMAL
BOOLEAN F_ALLEGAT GROUP 2
BEGIN END
PROMPT 34 4 "Documento in allegati"
FIELD LF_CAUSALI->ALLEG BOOLEAN F_ALLEGAT
GROUP 2 BEGIN
END PROMPT 34 4 "Documento in allegati"
FIELD LF_CAUSALI->ALLEG
BOOLEAN F_FAT_RITARDO GROUP 2
BEGIN END
PROMPT 2 6 "Fattura in ritardo"
FIELD LF_CAUSALI->RITFATT BOOLEAN F_FAT_RITARDO
GROUP 2 BEGIN
END PROMPT 2 6 "Fattura in ritardo"
FIELD LF_CAUSALI->RITFATT
STRING F_COD_CAUS_IM 3 GROUP 2
BEGIN END
PROMPT 34 6 "Codice causale per l'incasso immediato "
FIELD LF_CAUSALI->CODCAUSIM STRING F_COD_CAUS_IM 3
COPY USE F_COD_CAUS BEGIN
INPUT CODCAUS F_COD_CAUS_IM PROMPT 34 6 "Codice causale per l'incasso immediato "
COPY DISPLAY F_COD_CAUS FIELD LF_CAUSALI->CODCAUSIM
OUTPUT F_COD_CAUS_IM CODCAUS COPY USE F_COD_CAUS
CHECKTYPE NORMAL INPUT CODCAUS F_COD_CAUS_IM
MESSAGE CLEAR, F_M_770 COPY DISPLAY F_COD_CAUS
GROUP 2 OUTPUT F_COD_CAUS_IM CODCAUS
END CHECKTYPE NORMAL
MESSAGE CLEAR, F_M_770
BOOLEAN F_OP_INTRACOM GROUP 2
BEGIN END
PROMPT 2 8 "Operazione intracomunitaria"
FIELD LF_CAUSALI->INTRACOM BOOLEAN F_OP_INTRACOM
MESSAGE TRUE "X", F_MOV_VALU | DISABLE, F_MOV_VALU BEGIN
MESSAGE FALSE "", F_MOV_VALU | ENABLE, F_MOV_VALU PROMPT 2 8 "Operazione intracomunitaria"
GROUP 2 FIELD LF_CAUSALI->INTRACOM
END MESSAGE TRUE "X", F_MOV_VALU | DISABLE, F_MOV_VALU
MESSAGE FALSE "", F_MOV_VALU | ENABLE, F_MOV_VALU
BOOLEAN F_VALINTRA GROUP 2
BEGIN END
PROMPT 34 8 "Gestione valuta per operazioni intrac."
FIELD LF_CAUSALI->VALINTRA BOOLEAN F_VALINTRA
GROUP 2 BEGIN
END PROMPT 34 8 "Gestione valuta per operazioni intrac."
FIELD LF_CAUSALI->VALINTRA
BOOLEAN F_MOV_VALU GROUP 2
BEGIN END
PROMPT 2 10 "Movimento in valuta"
FIELD LF_CAUSALI->MOVVAL BOOLEAN F_MOV_VALU
GROUP 2 BEGIN
END PROMPT 2 10 "Movimento in valuta"
FIELD LF_CAUSALI->MOVVAL
BOOLEAN F_MOV_SEZ GROUP 2
BEGIN END
PROMPT 34 10 "Movimento solo sezionale"
FIELD LF_CAUSALI->MOVSEZ BOOLEAN F_MOV_SEZ
FLAGS "D" BEGIN
END PROMPT 34 10 "Movimento solo sezionale"
FIELD LF_CAUSALI->MOVSEZ
LISTBOX F_OP_FINE_ANNO 1 13 FLAGS "D"
BEGIN END
PROMPT 2 12 "Operazioni di fine anno "
ITEM " | " LISTBOX F_OP_FINE_ANNO 1 10
ITEM "C|Chiusura" BEGIN
ITEM "A|Apertura" PROMPT 2 12 "Operazioni di fine anno "
FIELD LF_CAUSALI->MOVAP ITEM " | "
FLAGS "H" ITEM "C|Chiusura"
END ITEM "A|Apertura"
FIELD LF_CAUSALI->MOVAP
FLAGS "H"
LISTBOX F_COLL_CESP 1 40 END
BEGIN
PROMPT 2 14 "Collegamento cespiti "
FIELD LF_CAUSALI->COLLCESP LISTBOX F_COLL_CESP 1 40
HELP "Inserire il tipo di collegamento cespiti" BEGIN
ITEM " |Nessuno" PROMPT 2 14 "Collegamento cespiti "
ITEM "A|Acquisto cespite" FIELD LF_CAUSALI->COLLCESP
ITEM "B|Rettifica acquisto" HELP "Inserire il tipo di collegamento cespiti"
ITEM "C|Sostenimento costi" ITEM " |Nessuno"
ITEM "E|Eliminazione dal processo produttivo" ITEM "A|Acquisto cespite"
ITEM "M|Rivalutazione monetaria" ITEM "B|Rettifica acquisto"
ITEM "P|Reinvestimento plusvalenze" ITEM "C|Sostenimento costi"
ITEM "R|Rivalutazione economica" ITEM "E|Eliminazione dal processo produttivo"
ITEM "T|Trasferimento" ITEM "M|Rivalutazione monetaria"
ITEM "V|Vendita cespite" ITEM "P|Reinvestimento plusvalenze"
ITEM "Z|Rettifica vendita" ITEM "R|Rivalutazione economica"
END ITEM "T|Trasferimento"
ITEM "V|Vendita cespite"
LISTBOX F_M_770 1 40 ITEM "Z|Rettifica vendita"
BEGIN END
PROMPT 2 16 "Collegamento Mod.770 "
FIELD LF_CAUSALI->M770 LISTBOX F_M_770 1 40
HELP "Inserire il tipo di collegamento Mod.770" BEGIN
ITEM " |Nessuno" MESSAGE ENABLE,F_COD_CAUS_IM PROMPT 2 16 "Collegamento Mod.770 "
ITEM "1|Ricevuta e/o pagamento fattura percip." MESSAGE CLEAR,F_COD_CAUS_IM FIELD LF_CAUSALI->M770
ITEM "2|Versamento ritenute percip." MESSAGE CLEAR,F_COD_CAUS_IM HELP "Inserire il tipo di collegamento Mod.770"
ITEM "3|Versamento ritenute dipendente" MESSAGE CLEAR,F_COD_CAUS_IM ITEM " |Nessuno" MESSAGE ENABLE,F_COD_CAUS_IM
ITEM "4|Versamento contributi dipendente" MESSAGE CLEAR,F_COD_CAUS_IM ITEM "1|Ricevuta e/o pagamento fattura percip." MESSAGE CLEAR,F_COD_CAUS_IM
ITEM "5|Compensi non soggetti" MESSAGE CLEAR,F_COD_CAUS_IM ITEM "2|Versamento ritenute percip." MESSAGE CLEAR,F_COD_CAUS_IM
ITEM "6|Ritenute per operazioni occasionali" MESSAGE CLEAR,F_COD_CAUS_IM ITEM "3|Versamento ritenute dipendente" MESSAGE CLEAR,F_COD_CAUS_IM
END ITEM "4|Versamento contributi dipendente" MESSAGE CLEAR,F_COD_CAUS_IM
ITEM "5|Compensi non soggetti" MESSAGE CLEAR,F_COD_CAUS_IM
ENDPAGE ITEM "6|Ritenute per operazioni occasionali" MESSAGE CLEAR,F_COD_CAUS_IM
END
ENDMASK
ENDPAGE
#include "cg0500b.uml"
ENDMASK
#include "cg0500b.uml"

View File

@ -18,8 +18,9 @@ BEGIN
MESSAGE SHOW,205|HIDE,105|HIDE,305 MESSAGE SHOW,205|HIDE,105|HIDE,305
ITEM "F|Fornitore" ITEM "F|Fornitore"
MESSAGE SHOW,305|HIDE,105|HIDE,205 MESSAGE SHOW,305|HIDE,105|HIDE,205
FLAGS "U" FLAGS "DG"
// FLAGS "DG" GROUP 1
// FLAGS "U"
END END
NUMBER 103 3 NUMBER 103 3
@ -34,10 +35,12 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
OUTPUT 103 GRUPPO OUTPUT 103 GRUPPO
OUTPUT 107 DESCR OUTPUT 107 DESCR
OUTPUT 102 TMCF // OUTPUT 102 TMCF
WARNING "Conto inesistente o mancante" WARNING "Gruppo inesistente o mancante"
// CHECKTYPE REQUIRED
CHECKTYPE NORMAL
GROUP 1 GROUP 1
ADD RUN CG1 -0 ADD RUN CG0 -1
END END
NUMBER 104 3 NUMBER 104 3
@ -57,7 +60,7 @@ BEGIN
OUTPUT 103 GRUPPO OUTPUT 103 GRUPPO
OUTPUT 107 DESCR OUTPUT 107 DESCR
WARNING "Conto inesistente o mancante" WARNING "Conto inesistente o mancante"
ADD RUN CG1 -0 ADD RUN CG0 -1
GROUP 1 GROUP 1
END END
@ -74,11 +77,11 @@ BEGIN
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
OUTPUT 105 SOTTOCONTO
OUTPUT 103 GRUPPO OUTPUT 103 GRUPPO
OUTPUT 104 CONTO OUTPUT 104 CONTO
OUTPUT 105 SOTTOCONTO
OUTPUT 107 DESCR OUTPUT 107 DESCR
ADD RUN CG1 -0 ADD RUN CG0 -1
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP 1 GROUP 1
END END
@ -97,9 +100,6 @@ BEGIN
DISPLAY "Sottoconto" CODCF DISPLAY "Sottoconto" CODCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Tipo C/F" TIPOCF DISPLAY "Tipo C/F" TIPOCF
OUTPUT 102 TIPOCF
OUTPUT 103 GRUPPO
OUTPUT 104 CONTO
OUTPUT 205 CODCF OUTPUT 205 CODCF
OUTPUT 107 RAGSOC OUTPUT 107 RAGSOC
CHECKTYPE NORMAL CHECKTYPE NORMAL
@ -122,9 +122,6 @@ BEGIN
DISPLAY "Sottoconto" CODCF DISPLAY "Sottoconto" CODCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Tipo C/F" TIPOCF DISPLAY "Tipo C/F" TIPOCF
OUTPUT 102 TIPOCF
OUTPUT 103 GRUPPO
OUTPUT 104 CONTO
OUTPUT 305 CODCF OUTPUT 305 CODCF
OUTPUT 107 RAGSOC OUTPUT 107 RAGSOC
CHECKTYPE NORMAL CHECKTYPE NORMAL

View File

@ -1,338 +1,338 @@
#include <applicat.h> #include <applicat.h>
#include <tabutil.h> #include <tabutil.h>
#include "cg0501.h" #include "cg0501.h"
#include "cg0500.h" #include "cg0500.h"
#include <causali.h> #include <causali.h>
const char* iva2name(TipoIVA iva) const char* iva2name(TipoIVA iva)
{
const char* i;
switch(iva)
{
case nessuna_iva : i = "Nessuna IVA"; break;
case iva_acquisti: i = "IVA Acquisti"; break;
case iva_vendite : i = "IVA Vendite"; break;
default : i = "IVA ERRATA!"; break;
}
return i;
}
///////////////////////////////////////////////////////////
// Registro
///////////////////////////////////////////////////////////
TRegistro::TRegistro(const char* cod, int year) : _rec(LF_TAB), _att(LF_ATTIV)
{
read(cod, year);
}
bool TRegistro::read(const char* cod, int year)
{
if (year <= 0)
{
const TDate oggi(TODAY);
year = oggi.year();
}
int err = ~NOERR;
if (cod && *cod > ' ')
{
TTable reg("REG");
TString16 chiave;
chiave << year << cod;
reg.put("CODTAB", chiave);
err = reg.read();
if (err == NOERR)
_rec = reg.curr();
}
if (_att.ok())
_att.zero();
if (err != NOERR && _rec.ok())
_rec.zero();
return err == NOERR;
}
TRegistro& TRegistro::operator =(const TRegistro& r)
{
_rec = r._rec;
_att = r._att;
return *this;
}
bool TRegistro::corrisp() const
{ {
const bool t = _rec.ok() ? _rec.get_bool("B0") : FALSE; const char* i;
return t; switch(iva)
{
case nessuna_iva : i = "Nessuna IVA"; break;
case iva_acquisti: i = "IVA Acquisti"; break;
case iva_vendite : i = "IVA Vendite"; break;
default : i = "IVA ERRATA!"; break;
}
return i;
} }
int TRegistro::tipo() const ///////////////////////////////////////////////////////////
{ // Registro
const int t = _rec.ok() ? _rec.get_int("I0") : 0; ///////////////////////////////////////////////////////////
return t;
} TRegistro::TRegistro(const char* cod, int year) : _rec(LF_TAB), _att(LF_ATTIV)
{
read(cod, year);
TipoIVA TRegistro::iva() const }
{
TipoIVA i = (TipoIVA)tipo();
if (i != nessuna_iva && i != iva_vendite && i != iva_acquisti) bool TRegistro::read(const char* cod, int year)
{ {
error_box("Il registro '%s' non e' un registro iva, tipo: %d", if (year <= 0)
(const char*)_rec.get("CODTAB"), i); {
i = nessuna_iva; const TDate oggi(TODAY);
} year = oggi.year();
return i; }
}
int err = ~NOERR;
bool TRegistro::read_att()
{ if (cod && *cod > ' ')
if (!_att.empty()) {
return TRUE; TTable reg("REG");
TString16 chiave;
TLocalisamfile attivita(LF_ATTIV); chiave << year << cod;
attivita.put("CODDITTA", MainApp()->get_firm()); reg.put("CODTAB", chiave);
const char* a = _rec.get("S8"); err = reg.read();
attivita.put("CODATT", a); if (err == NOERR)
const int err = attivita.read(); _rec = reg.curr();
_att = attivita.curr(); }
if (err != NOERR)
_att.zero(); if (_att.ok())
_att.zero();
return err == NOERR; if (err != NOERR && _rec.ok())
} _rec.zero();
return err == NOERR;
bool TRegistro::agenzia_viaggi() }
{
if (iva() != iva_vendite)
return FALSE; TRegistro& TRegistro::operator =(const TRegistro& r)
{
bool av = FALSE; _rec = r._rec;
if (read_att()) av = _att.get_bool("REG74TER"); _att = r._att;
return *this;
return av; }
}
const TString& TRegistro::tipo_attivita() bool TRegistro::corrisp() const
{ {
read_att(); const bool t = _rec.ok() ? _rec.get_bool("B0") : FALSE;
return _att.get("TIPOATT"); return t;
} }
int TRegistro::tipo() const
// Certified 99% {
bool TRegistro::update(long protiva, const TDate& datareg) const int t = _rec.ok() ? _rec.get_int("I0") : 0;
{ return t;
bool updated = TRUE; }
if (protiva > _rec.get_long("I5"))
{ TipoIVA TRegistro::iva() const
_rec.put("I5", protiva); {
updated = FALSE; TipoIVA i = (TipoIVA)tipo();
} if (i != nessuna_iva && i != iva_vendite && i != iva_acquisti)
if (datareg > _rec.get_date("D2")) {
{ error_box("Il registro '%s' non e' un registro iva, tipo: %d",
_rec.put("D2", datareg); (const char*)_rec.get("CODTAB"), i);
updated = FALSE; i = nessuna_iva;
} }
return i;
if (!updated) }
{
TTable reg("REG"); bool TRegistro::read_att()
updated = reg.rewrite(_rec) == NOERR; {
} if (!_att.empty())
return TRUE;
return updated;
} TLocalisamfile attivita(LF_ATTIV);
attivita.put("CODDITTA", MainApp()->get_firm());
/////////////////////////////////////////////////////////// const char* a = _rec.get("S8");
// Libro giornale attivita.put("CODATT", a);
/////////////////////////////////////////////////////////// const int err = attivita.read();
_att = attivita.curr();
// Legge il libro giornale dell'anno specificato if (err != NOERR)
bool TLibro_giornale::read(int y) _att.zero();
{
if (y <= 0) return err == NOERR;
{ }
const TDate oggi(TODAY);
y = oggi.year(); bool TRegistro::agenzia_viaggi()
} {
if (iva() != iva_vendite)
if (ok() && y == year()) return TRUE; // Gia' letto! return FALSE;
TTable reg("REG"); bool av = FALSE;
bool found = FALSE; if (read_att()) av = _att.get_bool("REG74TER");
char anno[8]; sprintf(anno, "%4d", y); return av;
reg.put("CODTAB", anno); // Cerca il primo registro dell'anno y }
for (int err = reg.read(_isgteq); err == NOERR; err = reg.next()) const TString& TRegistro::tipo_attivita()
{ {
if (strncmp(reg.get("CODTAB"), anno, 4) != 0) break; read_att();
if (reg.get_int("I0") == libro_giornale) return _att.get("TIPOATT");
{ }
found = TRUE;
break;
} // Certified 99%
} bool TRegistro::update(long protiva, const TDate& datareg)
{
if (!found) reg.zero(); // Memorizza record (anche vuoto) bool updated = TRUE;
_rec = reg.curr();
if (protiva > _rec.get_long("I5"))
return found; {
} _rec.put("I5", protiva);
updated = FALSE;
TLibro_giornale::TLibro_giornale(int y) }
{ if (datareg > _rec.get_date("D2"))
read(y); {
} _rec.put("D2", datareg);
updated = FALSE;
/////////////////////////////////////////////////////////// }
// Causale
/////////////////////////////////////////////////////////// if (!updated)
{
TCausale::TCausale(const char* cod, int year) TTable reg("REG");
: TArray(12), _rec(LF_CAUSALI), _iva(iva_errata) updated = reg.rewrite(_rec) == NOERR;
{ }
if (*cod) read(cod, year);
} return updated;
}
// Legge le righe della causale attualmente selezionata sulla maschera
bool TCausale::read(const char* cod, int year) ///////////////////////////////////////////////////////////
{ // Libro giornale
destroy(); // Delete all rows ///////////////////////////////////////////////////////////
if (*cod > ' ') // Legge il libro giornale dell'anno specificato
{ bool TLibro_giornale::read(int y)
_iva = iva_errata; {
if (y <= 0)
TLocalisamfile caus(LF_CAUSALI); {
caus.setkey(1); const TDate oggi(TODAY);
caus.zero(); y = oggi.year();
caus.put(CAU_CODCAUS, cod); }
int err = caus.read(); if (ok() && y == year()) return TRUE; // Gia' letto!
_rec = caus.curr();
if (err != NOERR) return FALSE; TTable reg("REG");
bool found = FALSE;
TLocalisamfile rcaus(LF_RCAUSALI);
rcaus.setkey(1); char anno[8]; sprintf(anno, "%4d", y);
rcaus.zero(); reg.put("CODTAB", anno); // Cerca il primo registro dell'anno y
rcaus.put(CAU_CODCAUS, cod);
rcaus.put(CAU_NRIGA, 0); for (int err = reg.read(_isgteq); err == NOERR; err = reg.next())
{
err = rcaus.read(_isgteq); // Find first line if (strncmp(reg.get("CODTAB"), anno, 4) != 0) break;
if (err != NOERR) return FALSE; if (reg.get_int("I0") == libro_giornale)
{
while (err == NOERR && rcaus.get(CAU_CODCAUS) == cod) found = TRUE;
{ break;
const int riga = rcaus.get_int(CAU_NRIGA); }
add(rcaus.curr(), riga); }
err = rcaus.next(); // Read next line
} if (!found) reg.zero(); // Memorizza record (anche vuoto)
rcaus.zero(); _rec = reg.curr();
for (int riga = 1; riga < size(); riga++) // Fill gaps
if (objptr(riga) == NULL) add(rcaus.curr(), riga); return found;
}
if (year > 0)
_reg.read(caus.get("REG"), year); // Read register TLibro_giornale::TLibro_giornale(int y)
} {
else read(y);
{ }
_iva = nessuna_iva; // Clear IVA data
_reg.read("", year); ///////////////////////////////////////////////////////////
} // Causale
///////////////////////////////////////////////////////////
TCausale::TCausale(const char* cod, int year)
return TRUE; : TArray(12), _rec(LF_CAUSALI), _iva(iva_errata)
} {
if (*cod) read(cod, year);
}
const TRectype& TCausale::row(int num) const
{ // Legge le righe della causale attualmente selezionata sulla maschera
const TRectype* rec = (const TRectype*)objptr(num); bool TCausale::read(const char* cod, int year)
CHECKD(rec, "Manca la riga di causale ", num); {
return *rec; destroy(); // Delete all rows
}
if (*cod > ' ')
{
TConto& TCausale::bill(int num, TConto& conto) const _iva = iva_errata;
{
const TRectype& rec = row(num); TLocalisamfile caus(LF_CAUSALI);
conto.set(rec.get_int("GRUPPO"), rec.get_int("CONTO"), caus.setkey(1);
rec.get_long("SOTTOCONTO"), rec.get_char("TIPOCF")); caus.zero();
return conto; caus.put(CAU_CODCAUS, cod);
}
int err = caus.read();
bool TCausale::data_doc() const _rec = caus.curr();
{ return _rec.ok() ? _rec.get_bool("DATADOC") : FALSE; } if (err != NOERR) return FALSE;
bool TCausale::num_doc() const TLocalisamfile rcaus(LF_RCAUSALI);
{ return _rec.ok() ? _rec.get_bool("NUMDOC") : FALSE; } rcaus.setkey(1);
rcaus.zero();
bool TCausale::apertura() const rcaus.put(CAU_CODCAUS, cod);
{ return _rec.ok() ? _rec.get_char("MOVAP") == 'A' : FALSE; } rcaus.put(CAU_NRIGA, 0);
bool TCausale::sezionale() const err = rcaus.read(_isgteq); // Find first line
{ return _rec.ok() ? _rec.get_bool("MOVSEZ") : FALSE; } if (err != NOERR) return FALSE;
bool TCausale::valuta() const while (err == NOERR && rcaus.get(CAU_CODCAUS) == cod)
{ return _rec.ok() ? _rec.get_bool("MOVVAL") : FALSE; } {
const int riga = rcaus.get_int(CAU_NRIGA);
bool TCausale::intra() const add(rcaus.curr(), riga);
{ return _rec.ok() ? _rec.get_bool("INTRACOM") : FALSE; } err = rcaus.next(); // Read next line
}
bool TCausale::corrval() const rcaus.zero();
{ return _rec.ok() ? _rec.get_bool("VALINTRA") : FALSE; } for (int riga = 1; riga < size(); riga++) // Fill gaps
if (objptr(riga) == NULL) add(rcaus.curr(), riga);
const char* TCausale::causale_inc_imm() const if (year > 0)
{ return _rec.ok() ? _rec.get("CODCAUSIM") : ""; } _reg.read(caus.get("REG"), year); // Read register
}
const char* TCausale::tipo_doc() const else
{ return _rec.ok() ? _rec.get("TIPODOC") : ""; } {
_iva = nessuna_iva; // Clear IVA data
_reg.read("", year);
TipoIVA TCausale::iva() const }
{
if (_iva == iva_errata)
{
TipoIVA i = nessuna_iva; return TRUE;
}
if (ok())
{
TString tipodoc(_rec.get("TIPODOC")); const TRectype& TCausale::row(int num) const
if (tipodoc.not_empty()) {
{ const TRectype* rec = (const TRectype*)objptr(num);
TTable tpd("%TPD"); CHECKD(rec, "Manca la riga di causale ", num);
tpd.put("CODTAB", tipodoc); return *rec;
if (tpd.read() == NOERR) }
{
i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica
if (i != iva_vendite && i != iva_acquisti) TConto& TCausale::bill(int num, TConto& conto) const
i = _reg.iva(); {
} const TRectype& rec = row(num);
} conto.set(rec.get_int("GRUPPO"), rec.get_int("CONTO"),
} rec.get_long("SOTTOCONTO"), rec.get_char("TIPOCF"));
((TCausale*)this)->_iva = i; // Ricorda IVA per la prossima volta return conto;
} }
return _iva;
} bool TCausale::data_doc() const
{ return _rec.ok() ? _rec.get_bool("DATADOC") : FALSE; }
bool TCausale::similar(const TCausale& c) const bool TCausale::num_doc() const
{ { return _rec.ok() ? _rec.get_bool("NUMDOC") : FALSE; }
return iva() == c.iva() &&
sezionale() == c.sezionale() && bool TCausale::apertura() const
valuta() == c.valuta() && { return _rec.ok() ? _rec.get_char("MOVAP") == 'A' : FALSE; }
intra() == c.intra();
bool TCausale::sezionale() const
{ return _rec.ok() ? _rec.get_bool("MOVSEZ") : FALSE; }
bool TCausale::valuta() const
{ return _rec.ok() ? _rec.get_bool("MOVVAL") : FALSE; }
bool TCausale::intra() const
{ return _rec.ok() ? _rec.get_bool("INTRACOM") : FALSE; }
bool TCausale::corrval() const
{ return _rec.ok() ? _rec.get_bool("VALINTRA") : FALSE; }
const char* TCausale::causale_inc_imm() const
{ return _rec.ok() ? _rec.get("CODCAUSIM") : ""; }
const char* TCausale::tipo_doc() const
{ return _rec.ok() ? _rec.get("TIPODOC") : ""; }
TipoIVA TCausale::iva() const
{
if (_iva == iva_errata)
{
TipoIVA i = nessuna_iva;
if (ok())
{
TString tipodoc(_rec.get("TIPODOC"));
if (tipodoc.not_empty())
{
TTable tpd("%TPD");
tpd.put("CODTAB", tipodoc);
if (tpd.read() == NOERR)
{
i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica
if (i != iva_vendite && i != iva_acquisti)
i = _reg.iva();
}
}
}
((TCausale*)this)->_iva = i; // Ricorda IVA per la prossima volta
}
return _iva;
}
bool TCausale::similar(const TCausale& c) const
{
return iva() == c.iva() &&
sezionale() == c.sezionale() &&
valuta() == c.valuta() &&
intra() == c.intra();
} }

View File

@ -1,97 +1,97 @@
#ifndef __CG2103_H #ifndef __CG2103_H
#define __CG2103_H #define __CG2103_H
#ifndef __ISAM_H #ifndef __ISAM_H
#include <isam.h> #include <isam.h>
#endif #endif
#ifndef __CONTO_H #ifndef __CONTO_H
#include "conto.h" #include "conto.h"
#endif #endif
enum TipoIVA { enum TipoIVA {
iva_errata = -1, iva_errata = -1,
nessuna_iva = 0, nessuna_iva = 0,
iva_vendite = 1, iva_vendite = 1,
iva_acquisti = 2, iva_acquisti = 2,
iva_generica = 9 iva_generica = 9
}; };
const char* iva2name(TipoIVA i); const char* iva2name(TipoIVA i);
class TRegistro : public TObject class TRegistro : public TObject
{ {
bool read_att(); bool read_att();
protected: protected:
enum TipoRegistro { libro_giornale = 5 }; enum TipoRegistro { libro_giornale = 5 };
TRectype _rec, _att; TRectype _rec, _att;
public: public:
bool read(const char* code, int year); bool read(const char* code, int year);
TRegistro& operator =(const TRegistro& r); TRegistro& operator =(const TRegistro& r);
virtual bool ok() const { return !_rec.empty(); } virtual bool ok() const { return !_rec.empty(); }
bool corrisp() const; bool corrisp() const;
int tipo() const; int tipo() const;
TipoIVA iva() const; TipoIVA iva() const;
const char* name() const { return _rec.get("CODTAB").mid(4); } const char* name() const { return _rec.get("CODTAB").mid(4); }
int year() const { return _rec.get_int("CODTAB"); } int year() const { return _rec.get_int("CODTAB"); }
TDate last_print() const { return _rec.get_date("D3"); } TDate last_print() const { return _rec.get_date("D3"); }
bool agenzia_viaggi(); bool agenzia_viaggi();
const TString& tipo_attivita(); const TString& tipo_attivita();
bool update(long uprotiva, const TDate& lastreg); bool update(long uprotiva, const TDate& lastreg);
TRegistro(const char* code = "", int year = 0); TRegistro(const char* code = "", int year = 0);
virtual ~TRegistro() {} virtual ~TRegistro() {}
}; };
class TLibro_giornale : public TRegistro class TLibro_giornale : public TRegistro
{ {
public: public:
bool read(int year); bool read(int year);
TLibro_giornale(int year = 0); TLibro_giornale(int year = 0);
virtual ~TLibro_giornale() {} virtual ~TLibro_giornale() {}
}; };
class TCausale : public TArray class TCausale : public TArray
{ {
TipoIVA _iva; TipoIVA _iva;
TRectype _rec; TRectype _rec;
TRegistro _reg; TRegistro _reg;
protected: protected:
const TRectype& row(int num) const; const TRectype& row(int num) const;
public: public:
TConto& bill(int num, TConto& c) const; TConto& bill(int num, TConto& c) const;
bool data_doc() const; bool data_doc() const;
bool num_doc() const; bool num_doc() const;
bool apertura() const; bool apertura() const;
bool sezionale() const; bool sezionale() const;
bool valuta() const; bool valuta() const;
bool intra() const; bool intra() const;
bool corrval() const; bool corrval() const;
const char* causale_inc_imm() const; const char* causale_inc_imm() const;
const char* tipo_doc() const; const char* tipo_doc() const;
TRegistro& reg() { return _reg; } TRegistro& reg() { return _reg; }
TipoIVA iva() const; TipoIVA iva() const;
virtual bool ok() const { return !_rec.empty(); } virtual bool ok() const { return !_rec.empty(); }
bool similar(const TCausale& c) const; bool similar(const TCausale& c) const;
bool read(const char* code, int year); bool read(const char* code, int year);
TCausale(const char* code = "", int year = 0); TCausale(const char* code = "", int year = 0);
virtual ~TCausale() {} virtual ~TCausale() {}
}; };
#endif #endif

View File

@ -1,299 +1,299 @@
//Stampa causali //Stampa causali
#include <mask.h> #include <mask.h>
#include <printapp.h> #include <printapp.h>
#include <scanner.h> #include <scanner.h>
#include <relation.h> #include <relation.h>
#include <tabutil.h> #include <tabutil.h>
#include <utility.h> #include <utility.h>
#include <lffiles.h> #include <lffiles.h>
#include <nditte.h> #include <nditte.h>
#include <comuni.h> #include <comuni.h>
#include <anagr.h> #include <anagr.h>
#include <causali.h> #include <causali.h>
#include <rcausali.h> #include <rcausali.h>
#include "cg1.h" #include "cg1.h"
#include "cg1700.h" #include "cg1700.h"
enum descr {causale, conto}; enum descr {causale, conto};
class CG1700_application : public TPrintapp class CG1700_application : public TPrintapp
{ {
TLocalisamfile * _caus, * _rcaus, * _clifo, * _pcon, * _nditte, * _anag, * _com; TLocalisamfile * _caus, * _rcaus, * _clifo, * _pcon, * _nditte, * _anag, * _com;
TRelation * _rel; TRelation * _rel;
TCursor * _cur; TCursor * _cur;
TMask * _msk; TMask * _msk;
TParagraph_string * _descr_causale, * _descr_conto; TParagraph_string * _descr_causale, * _descr_conto;
TDate _data; TDate _data;
TString _cofi, _cap, _paiva, _ragsoc, _comunefis, _provfis, _viafis; TString _cofi, _cap, _paiva, _ragsoc, _comunefis, _provfis, _viafis;
protected: protected:
virtual void preprocess_header(); virtual void preprocess_header();
virtual bool preprocess_print(int,int); virtual bool preprocess_print(int,int);
virtual bool preprocess_page(int,int); virtual bool preprocess_page(int,int);
virtual bool set_print(int); virtual bool set_print(int);
public: public:
void user_create() ; void user_create() ;
void user_destroy(); void user_destroy();
void get_dati_ditta(); void get_dati_ditta();
void setta_righe_descr(TParagraph_string*,enum descr); void setta_righe_descr(TParagraph_string*,enum descr);
int stampa_intestazione_ditta(); int stampa_intestazione_ditta();
CG1700_application() {} CG1700_application() {}
}; };
TRectype& leggi_com (const char * cod, TLocalisamfile *comuni) TRectype& leggi_com (const char * cod, TLocalisamfile *comuni)
{ {
comuni->zero(); comuni->zero();
comuni->put(COM_COM, cod); comuni->put(COM_COM, cod);
comuni->read(); comuni->read();
if (comuni->bad()) if (comuni->bad())
comuni->zero(); comuni->zero();
return comuni->curr(); return comuni->curr();
} }
void CG1700_application::get_dati_ditta() void CG1700_application::get_dati_ditta()
{ {
TLocalisamfile nditte(LF_NDITTE); TLocalisamfile nditte(LF_NDITTE);
TLocalisamfile anag(LF_ANAG); TLocalisamfile anag(LF_ANAG);
TString codanagr; TString codanagr;
TString tipoa; TString tipoa;
nditte.zero(); nditte.zero();
nditte.put(NDT_CODDITTA, get_firm()); nditte.put(NDT_CODDITTA, get_firm());
nditte.read(); nditte.read();
if (nditte.bad()) nditte.zero(); if (nditte.bad()) nditte.zero();
codanagr = nditte.get(NDT_CODANAGR); codanagr = nditte.get(NDT_CODANAGR);
tipoa = nditte.get(NDT_TIPOA); tipoa = nditte.get(NDT_TIPOA);
_ragsoc = nditte.get(NDT_RAGSOC); _ragsoc = nditte.get(NDT_RAGSOC);
anag.setkey(1); anag.setkey(1);
anag.zero(); anag.zero();
anag.put (ANA_TIPOA, tipoa); anag.put (ANA_TIPOA, tipoa);
anag.put (ANA_CODANAGR, codanagr); anag.put (ANA_CODANAGR, codanagr);
anag.read(); anag.read();
if (anag.bad()) anag.zero(); if (anag.bad()) anag.zero();
_cofi = anag.get(ANA_COFI); _cofi = anag.get(ANA_COFI);
_paiva = anag.get(ANA_PAIV); _paiva = anag.get(ANA_PAIV);
_comunefis = anag.get(ANA_COMRF); _comunefis = anag.get(ANA_COMRF);
if (_comunefis.empty()) if (_comunefis.empty())
_comunefis = anag.get(ANA_COMRES); _comunefis = anag.get(ANA_COMRES);
TRectype dep = leggi_com (_comunefis, _com); TRectype dep = leggi_com (_comunefis, _com);
_comunefis = dep.get(COM_DENCOM); _comunefis = dep.get(COM_DENCOM);
_provfis = dep.get(COM_PROVCOM); _provfis = dep.get(COM_PROVCOM);
_cap = dep.get(COM_CAPCOM); _cap = dep.get(COM_CAPCOM);
if (_comunefis.empty()) if (_comunefis.empty())
{ {
_viafis = anag.get(ANA_INDRF); _viafis = anag.get(ANA_INDRF);
_viafis.rtrim(); _viafis.rtrim();
_viafis << " " << anag.get (ANA_CIVRF); _viafis << " " << anag.get (ANA_CIVRF);
} }
else else
{ {
_viafis = anag.get(ANA_INDRES); _viafis = anag.get(ANA_INDRES);
_viafis.rtrim(); _viafis.rtrim();
_viafis << " " << anag.get (ANA_CIVRES); _viafis << " " << anag.get (ANA_CIVRES);
} }
} }
int CG1700_application::stampa_intestazione_ditta() int CG1700_application::stampa_intestazione_ditta()
{ {
int r = 1; int r = 1;
TString codice_ditta; TString codice_ditta;
TString riga(132); TString riga(132);
get_dati_ditta(); get_dati_ditta();
codice_ditta << get_firm(); codice_ditta << get_firm();
set_header (r, "Ditta %s %s Via %s %s %s %s", (const char*)codice_ditta, set_header (r, "Ditta %s %s %s %s %s %s", (const char*)codice_ditta,
(const char*)_ragsoc, (const char*)_viafis, (const char*)_ragsoc, (const char*)_viafis,
(const char*)_cap, (const char*)_comunefis, (const char*)_cap, (const char*)_comunefis,
(const char*)_provfis); (const char*)_provfis);
r++; r++;
printer().setdate(_data); printer().setdate(_data);
riga = "Data @< Pag. @#"; riga = "Data @< Pag. @#";
riga.right_just(127); riga.right_just(127);
riga.overwrite (format ("Partita iva %s Codice fiscale %s", (const char*)_paiva, (const char*)_cofi)); riga.overwrite (format ("Partita iva %s Codice fiscale %s", (const char*)_paiva, (const char*)_cofi));
set_header (r, "%s", (const char*) riga); set_header (r, "%s", (const char*) riga);
r++; r++;
return r; return r;
} }
void CG1700_application::preprocess_header() void CG1700_application::preprocess_header()
{ {
int r; int r;
TString riga (132); TString riga (132);
reset_header(); reset_header();
r = stampa_intestazione_ditta(); r = stampa_intestazione_ditta();
set_header(r, "ELENCO CAUSALI"); set_header(r, "ELENCO CAUSALI");
r++; r++;
riga.fill('-'); riga.fill('-');
set_header(r++, (const char*) riga); set_header(r++, (const char*) riga);
//riga = ""; //riga = "";
//set_header(r, (const char*) riga); //set_header(r, (const char*) riga);
set_header(r++, "@5gDescrizione@30gTipo Codice@55gDescrizione@80gDes Reg. All. Mod Gest Num. Data Cau. Intr. Fat"); set_header(r++, "@5gDescrizione@30gTipo Codice@55gDescrizione@80gDes Reg. All. Mod Gest Num. Data Cau. Intr. Fat");
set_header(r++, "Cod. Causale@30gDoc. Conto@51gD/A Conto@80gAgg IVA IVA 770 Cesp Sald Doc. Doc. Rif. Op/v. Rit"); set_header(r++, "Cod. Causale@30gDoc. Conto@51gD/A Conto@80gAgg IVA IVA 770 Cesp Sald Doc. Doc. Rif. Op/v. Rit");
set_header(r++, (const char*) riga); set_header(r++, (const char*) riga);
} }
bool CG1700_application::preprocess_print(int file, int counter) bool CG1700_application::preprocess_print(int file, int counter)
{ {
switch (file) switch (file)
{ {
case LF_CAUSALI: case LF_CAUSALI:
reset_print(); reset_print();
if (current_cursor()->items() == 0) if (current_cursor()->items() == 0)
{ {
warning_box ("Non ci sono causali. La stampa e' annullata"); warning_box ("Non ci sono causali. La stampa e' annullata");
return FALSE; return FALSE;
} }
set_wait_message("Stampa in corso"); set_wait_message("Stampa in corso");
break; break;
case LF_RCAUSALI: case LF_RCAUSALI:
break; break;
default: default:
break; break;
} }
return TRUE; return TRUE;
} }
bool CG1700_application::preprocess_page(int file,int count) bool CG1700_application::preprocess_page(int file,int count)
{ {
TString cau_descr, rcau_descr; TString cau_descr, rcau_descr;
reset_print(); reset_print();
switch (file) switch (file)
{ {
case LF_CAUSALI: case LF_CAUSALI:
cau_descr = current_cursor()->file(LF_CAUSALI)->get(CAU_DESCR); cau_descr = current_cursor()->file(LF_CAUSALI)->get(CAU_DESCR);
*_descr_causale = (const char*) cau_descr; *_descr_causale = (const char*) cau_descr;
setta_righe_descr(_descr_causale,causale); setta_righe_descr(_descr_causale,causale);
set_row(1, "@0g@3s", FLD(LF_CAUSALI,CAU_CODCAUS)); set_row(1, "@0g@3s", FLD(LF_CAUSALI,CAU_CODCAUS));
set_row(1, "@30g@2s", FLD(LF_CAUSALI,CAU_TIPODOC)); set_row(1, "@30g@2s", FLD(LF_CAUSALI,CAU_TIPODOC));
set_row(1, "@84g@3s", FLD(LF_CAUSALI,CAU_REG)); set_row(1, "@84g@3s", FLD(LF_CAUSALI,CAU_REG));
set_row(1, "@89g@f", FLD(LF_CAUSALI,CAU_ALLEG)); set_row(1, "@89g@f", FLD(LF_CAUSALI,CAU_ALLEG));
set_row(1, "@95g@1s", FLD(LF_CAUSALI,CAU_M770)); set_row(1, "@95g@1s", FLD(LF_CAUSALI,CAU_M770));
set_row(1, "@99g@1s", FLD(LF_CAUSALI,CAU_COLLCESP)); set_row(1, "@99g@1s", FLD(LF_CAUSALI,CAU_COLLCESP));
set_row(1, "@104g@1n", FLD(LF_CAUSALI,CAU_TIPOMOV)); set_row(1, "@104g@1n", FLD(LF_CAUSALI,CAU_TIPOMOV));
set_row(1, "@108g@f", FLD(LF_CAUSALI,CAU_NUMDOC)); set_row(1, "@108g@f", FLD(LF_CAUSALI,CAU_NUMDOC));
set_row(1, "@113g@f", FLD(LF_CAUSALI,CAU_DATADOC)); set_row(1, "@113g@f", FLD(LF_CAUSALI,CAU_DATADOC));
set_row(1, "@118g@3s", FLD(LF_CAUSALI,CAU_CODCAUSIM)); set_row(1, "@118g@3s", FLD(LF_CAUSALI,CAU_CODCAUSIM));
set_row(1, "@123g@f", FLD(LF_CAUSALI,CAU_INTRACOM)); set_row(1, "@123g@f", FLD(LF_CAUSALI,CAU_INTRACOM));
set_row(1, "@126g@f", FLD(LF_CAUSALI,CAU_MOVVAL)); set_row(1, "@126g@f", FLD(LF_CAUSALI,CAU_MOVVAL));
set_row(1, "@130g@f", FLD(LF_CAUSALI,CAU_RITFATT)); set_row(1, "@130g@f", FLD(LF_CAUSALI,CAU_RITFATT));
break; break;
case LF_RCAUSALI: case LF_RCAUSALI:
rcau_descr = current_cursor()->file(LF_RCAUSALI)->get(RCA_DESC); rcau_descr = current_cursor()->file(LF_RCAUSALI)->get(RCA_DESC);
*_descr_conto = (const char*) rcau_descr; *_descr_conto = (const char*) rcau_descr;
setta_righe_descr(_descr_conto,conto); setta_righe_descr(_descr_conto,conto);
set_row (1, "@35g@3n", FLD(LF_RCAUSALI,RCA_GRUPPO)); set_row (1, "@35g@3n", FLD(LF_RCAUSALI,RCA_GRUPPO));
set_row (1, "@39g@3n", FLD(LF_RCAUSALI,RCA_CONTO)); set_row (1, "@39g@3n", FLD(LF_RCAUSALI,RCA_CONTO));
set_row (1, "@43g@6n", FLD(LF_RCAUSALI,RCA_SOTTOCONTO)); set_row (1, "@43g@6n", FLD(LF_RCAUSALI,RCA_SOTTOCONTO));
set_row (1, "@51g@1s", FLD(LF_RCAUSALI,RCA_SEZIONE)); set_row (1, "@51g@1s", FLD(LF_RCAUSALI,RCA_SEZIONE));
set_row (1, "@80g@3s", FLD(LF_RCAUSALI,RCA_CODDESC)); set_row (1, "@80g@3s", FLD(LF_RCAUSALI,RCA_CODDESC));
break; break;
default: default:
break; break;
} }
return TRUE; return TRUE;
} }
void CG1700_application::setta_righe_descr(TParagraph_string* str, enum descr desc) void CG1700_application::setta_righe_descr(TParagraph_string* str, enum descr desc)
{ {
const char* r; const char* r;
int i = 1; int i = 1;
TString frm; TString frm;
switch (desc) switch (desc)
{ {
case causale: case causale:
frm = "@5g%s"; frm = "@5g%s";
break; break;
case conto: case conto:
frm = "@55g%s"; frm = "@55g%s";
break; break;
default: default:
break; break;
} }
while ((r = str->get()) != NULL) while ((r = str->get()) != NULL)
{ {
set_row (i, (const char*)frm, r); set_row (i, (const char*)frm, r);
i++; i++;
} }
} }
bool CG1700_application::set_print(int) bool CG1700_application::set_print(int)
{ {
KEY tasto; KEY tasto;
tasto = _msk->run(); tasto = _msk->run();
if (tasto == K_ENTER) if (tasto == K_ENTER)
{ {
_data = _msk->get(F_DATASTAMPA); _data = _msk->get(F_DATASTAMPA);
add_file(LF_CAUSALI); return TRUE;
add_file(LF_RCAUSALI,LF_CAUSALI); }
return TRUE; return FALSE;
} }
return FALSE;
}
void CG1700_application::user_create()
{
void CG1700_application::user_create() _msk = new TMask("cg1700a");
{ _rel = new TRelation (LF_CAUSALI);
_msk = new TMask("cg1700a"); _rel->add(LF_RCAUSALI,"CODCAUS=CODCAUS",1);
_rel = new TRelation (LF_CAUSALI);
_rel->add(LF_RCAUSALI,"CODCAUS=CODCAUS",1); _cur = new TCursor (_rel,"", 1);
add_cursor(_cur);
_cur = new TCursor (_rel,"", 1);
add_cursor(_cur); _caus = new TLocalisamfile(LF_CAUSALI);
_rcaus = new TLocalisamfile(LF_RCAUSALI);
_caus = new TLocalisamfile(LF_CAUSALI); _com = new TLocalisamfile(LF_COMUNI);
_rcaus = new TLocalisamfile(LF_RCAUSALI); _pcon = new TLocalisamfile(LF_PCON);
_com = new TLocalisamfile(LF_COMUNI); _clifo = new TLocalisamfile(LF_CLIFO);
_pcon = new TLocalisamfile(LF_PCON); _nditte = new TLocalisamfile(LF_NDITTE);
_clifo = new TLocalisamfile(LF_CLIFO); _anag = new TLocalisamfile(LF_ANAG);
_nditte = new TLocalisamfile(LF_NDITTE);
_anag = new TLocalisamfile(LF_ANAG); _descr_conto = new TParagraph_string ("",23);
_descr_causale = new TParagraph_string ("",23);
_descr_conto = new TParagraph_string ("",23); add_file(LF_CAUSALI);
_descr_causale = new TParagraph_string ("",23); add_file(LF_RCAUSALI,LF_CAUSALI);
} }
void CG1700_application::user_destroy() void CG1700_application::user_destroy()
{ {
delete _msk; delete _msk;
delete _cur; delete _cur;
delete _rel; delete _rel;
delete _clifo; delete _clifo;
delete _caus; delete _caus;
delete _com; delete _com;
delete _rcaus; delete _rcaus;
delete _pcon; delete _pcon;
delete _nditte; delete _nditte;
delete _anag; delete _anag;
delete _descr_conto; delete _descr_conto;
delete _descr_causale; delete _descr_causale;
} }
int cg1700(int argc, char* argv[]) int cg1700(int argc, char* argv[])
{ {
CG1700_application a; CG1700_application a;
a.run(argc, argv, "Stampa causali"); a.run(argc, argv, "Stampa causali");
return 0; return 0;
} }

View File

@ -1,24 +1,24 @@
#ifndef __CG1700_H #ifndef __CG1700_H
#define __CG1700_H #define __CG1700_H
#define F_CODDITTA 101 #define F_CODDITTA 101
#define F_DATASTAMPA 102 #define F_DATASTAMPA 102
#define F_RAGSOC 104 #define F_RAGSOC 104
#endif // __CG1700_H #endif // __CG1700_H

View File

@ -1,49 +1,49 @@
#include "cg1700.h" #include "cg1700.h"
PAGE "" -1 -1 70 10 PAGE "" -1 -1 70 10
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 1 1 "Ditta " PROMPT 1 1 "Ditta "
FLAGS "FRD" FLAGS "FRD"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
END END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 1 2 "Ragione sociale " PROMPT 1 2 "Ragione sociale "
FLAGS "D" FLAGS "D"
END END
DATE F_DATASTAMPA DATE F_DATASTAMPA
BEGIN BEGIN
PROMPT 1 4 "Data stampa " PROMPT 1 4 "Data stampa "
FLAGS "A" FLAGS "A"
END END
BUTTON DLG_OK 9 2 BUTTON DLG_OK 9 2
BEGIN BEGIN
PROMPT 30 8 "" PROMPT 30 8 ""
END END
BUTTON DLG_CANCEL 9 2 BUTTON DLG_CANCEL 9 2
BEGIN BEGIN
PROMPT 46 8 "" PROMPT 46 8 ""
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -1,68 +1,68 @@
#ifndef __CG3100_H #ifndef __CG3100_H
#define __CG3100_H #define __CG3100_H
#define TAB_REG "REG" #define TAB_REG "REG"
#define TAB_TPD "%TPD" #define TAB_TPD "%TPD"
#define TAB_VAL "%VAL" #define TAB_VAL "%VAL"
#define TAB_IVA "%IVA" #define TAB_IVA "%IVA"
#define F_CODDITTA 101 #define F_CODDITTA 101
#define F_DATASTAMPA 102 #define F_DATASTAMPA 102
#define F_RAGSOC 104 #define F_RAGSOC 104
#define F_CONTROLLO 105 #define F_CONTROLLO 105
#define F_ANNO 106 #define F_ANNO 106
#define F_ALLEGATO 107 #define F_ALLEGATO 107
#define F_DATAINI 108 #define F_DATAINI 108
#define F_DATAFIN 109 #define F_DATAFIN 109
#define F_NUMEROINI 110 #define F_NUMEROINI 110
#define F_NUMEROFIN 111 #define F_NUMEROFIN 111
#define F_CAUSALEINI 112 #define F_CAUSALEINI 112
#define F_CAUSALEFIN 113 #define F_CAUSALEFIN 113
#define F_REGISTROINI 114 #define F_REGISTROINI 114
#define F_REGISTROFIN 115 #define F_REGISTROFIN 115
#define F_STAMPA 116 #define F_STAMPA 116
#define F_TIPOELENCO 117 #define F_TIPOELENCO 117
#define F_CODICEINI 118 #define F_CODICEINI 118
#define F_CODICEFIN 119 #define F_CODICEFIN 119
#define F_CAMBIO 120 #define F_CAMBIO 120
#define F_DECIDI 121 #define F_DECIDI 121
#define F_ANNOC 122 #define F_ANNOC 122
#define F_CODICEINI1 123 #define F_CODICEINI1 123
#define F_CODICEFIN1 124 #define F_CODICEFIN1 124
#define F_MOVIMENTI 125 #define F_MOVIMENTI 125
#define F_STAMPAMOVP 126 #define F_STAMPAMOVP 126
#define ST_DATA 0x0001 #define ST_DATA 0x0001
#define ST_NUMERO 0x0002 #define ST_NUMERO 0x0002
#define ST_CAUSALE 0x0004 #define ST_CAUSALE 0x0004
#define ST_REGISTRO 0x0008 #define ST_REGISTRO 0x0008
#define ST_DATI_IVA 0x0010 #define ST_DATI_IVA 0x0010
#define ST_CONTROLLO 0x0020 #define ST_CONTROLLO 0x0020
#define ST_SOLO_MOVERR 0x0040 #define ST_SOLO_MOVERR 0x0040
#define ST_SENZA_CONTR 0x0080 #define ST_SENZA_CONTR 0x0080
#define ST_MESSAGGI 0x0100 #define ST_MESSAGGI 0x0100
#define ST_ANNO_COMP 0x0200 #define ST_ANNO_COMP 0x0200
#define ST_MESS_ALLEG 0x0400 #define ST_MESS_ALLEG 0x0400
#define ST_COMPLETA_DATA 0x0800 #define ST_COMPLETA_DATA 0x0800
#define ST_COMPLETA_NUM 0x1000 #define ST_COMPLETA_NUM 0x1000
#define ST_COMPLETA_CAUS 0x2000 #define ST_COMPLETA_CAUS 0x2000
#define ST_COMPLETA_REG 0x4000 #define ST_COMPLETA_REG 0x4000
#define ST_CODICE 0x8000 #define ST_CODICE 0x8000
#endif // __CG3100_H #endif // __CG3100_H

View File

@ -1,206 +1,216 @@
#include "cg3100.h" #include "cg3100.h"
PAGE "" -1 -1 76 20 PAGE "" -1 -1 76 20
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 2 1 "Ditta " PROMPT 2 1 "Ditta "
FLAGS "FRD" FLAGS "FRD"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODDITTA CODDITTA OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
END END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 2 2 "Ragione sociale " PROMPT 2 2 "Ragione sociale "
FLAGS "D" FLAGS "D"
END END
DATE F_DATASTAMPA DATE F_DATASTAMPA
BEGIN BEGIN
PROMPT 48 1 "Data stampa " PROMPT 48 1 "Data stampa "
FLAGS "A" FLAGS "A"
END END
NUMBER F_ANNO 4 NUMBER F_ANNO 4
BEGIN BEGIN
PROMPT 2 3 "Anno esercizio " PROMPT 2 3 "Anno esercizio "
//HELP "Se non indicato nessun anno esercizio significa che si richiede la stampa come specificato nei campi: dalla data, alla data" //HELP "Se non indicato nessun anno esercizio significa che si richiede la stampa come specificato nei campi: dalla data, alla data"
USE ESC USE ESC
CHECKTYPE REQUIRED CHECKTYPE NORMAL
INPUT CODTAB F_ANNO INPUT CODTAB F_ANNO
DISPLAY "Anno" CODTAB DISPLAY "Anno" CODTAB
DISPLAY "Data inizio esercizio" D0 DISPLAY "Data inizio esercizio" D0
DISPLAY "Data fine esercizio" D1 DISPLAY "Data fine esercizio" D1
OUTPUT F_ANNO CODTAB OUTPUT F_ANNO CODTAB
FLAGS "A" END
END
RADIOBUTTON F_MOVIMENTI 38
RADIOBUTTON F_MOVIMENTI 38 BEGIN
BEGIN PROMPT 30 3 "Scelta stampa "
PROMPT 30 3 "Scelta stampa " HELP "Indicare il tipo di stampa"
HELP "Indicare il tipo di stampa" ITEM "0|Lista movimenti"
ITEM "0|Lista movimenti"
MESSAGE SHOW,F_CONTROLLO|SHOW,1@|SHOW,F_REGISTROFIN|SHOW,F_REGISTROINI MESSAGE SHOW,F_CONTROLLO|SHOW,1@|SHOW,F_REGISTROFIN|SHOW,F_REGISTROINI
ITEM "1|Lista movimenti di sola prima nota" ITEM "1|Lista movimenti di sola prima nota"
MESSAGE HIDE,F_CONTROLLO|HIDE,1@|HIDE,F_REGISTROFIN|HIDE,F_REGISTROINI|HIDE,F_STAMPA MESSAGE HIDE,F_CONTROLLO|HIDE,1@|HIDE,F_REGISTROFIN|HIDE,F_REGISTROINI|HIDE,F_STAMPA
END END
LIST F_CONTROLLO 23 LIST F_CONTROLLO 23
BEGIN BEGIN
PROMPT 2 7 "Controllo movimenti errati " PROMPT 2 7 "Controllo movimenti errati "
HELP "La scelta 1 stampa solo le registrazioni errate; la scelta 2 permette di listare tutte le registrazioni inserite, segnalando quelle errate; la scelta 2 stampa solo le registrazioni non errate" HELP "La scelta 1 stampa solo le registrazioni errate; la scelta 2 permette di listare tutte le registrazioni inserite, segnalando quelle errate; la scelta 3 stampa solo le registrazioni non errate"
ITEM "1|Stampa movimenti errati" MESSAGE SHOW,1@ ITEM "1|Stampa movimenti errati" MESSAGE SHOW,1@
ITEM "2|Si" MESSAGE SHOW,1@ ITEM "2|Si" MESSAGE SHOW,1@
ITEM "3|No" MESSAGE HIDE,1@ ITEM "3|No" MESSAGE HIDE,1@
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
GROUP 1 GROUP 1
PROMPT 2 8 "Stampa messaggi : " PROMPT 2 8 "Stampa messaggi : "
END END
BOOLEAN F_ANNOC BOOLEAN F_ANNOC
BEGIN BEGIN
GROUP 1 GROUP 1
PROMPT 20 8 "anno di competenza " PROMPT 20 8 "anno di competenza "
END END
BOOLEAN F_ALLEGATO BOOLEAN F_ALLEGATO
BEGIN BEGIN
GROUP 1 GROUP 1
PROMPT 20 9 "allegato iva " PROMPT 20 9 "allegato iva "
MESSAGE TRUE DISABLE,F_STAMPA|COPY,F_STAMPA MESSAGE TRUE DISABLE,F_STAMPA|COPY,F_STAMPA
MESSAGE FALSE ENABLE,F_STAMPA MESSAGE FALSE ENABLE,F_STAMPA
END END
RADIOBUTTON F_DECIDI 10 RADIOBUTTON F_DECIDI 10
BEGIN BEGIN
PROMPT 2 10 "Stampa " PROMPT 2 10 "Stampa "
ITEM "2|data" MESSAGE DISABLE,2@|RESET,2@|ENABLE,3@ ITEM "2|data" MESSAGE DISABLE,2@|RESET,2@|ENABLE,3@
ITEM "1|numero" MESSAGE DISABLE,3@|RESET,3@|ENABLE,2@ ITEM "1|numero" MESSAGE DISABLE,3@|RESET,3@|ENABLE,2@
END END
DATE F_DATAINI DATE F_DATAINI
BEGIN BEGIN
PROMPT 19 11 "Stampa mov. dalla data " PROMPT 19 11 "Stampa mov. dalla data "
HELP "Se non indicato nessun valore viene effettuata una stampa completa in ordine di data" HELP "Se non indicato nessun valore viene effettuata una stampa completa in ordine di data"
GROUP 3 GROUP 3
END END
DATE F_DATAFIN DATE F_DATAFIN
BEGIN BEGIN
PROMPT 55 11 "alla data " PROMPT 55 11 "alla data "
GROUP 3 GROUP 3
END END
NUMBER F_NUMEROINI 7 NUMBER F_NUMEROINI 7
BEGIN BEGIN
PROMPT 19 12 "Stampa mov. dal numero " PROMPT 19 12 "Stampa mov. dal numero "
FLAGS "R" USE LF_MOV KEY 1
GROUP 2 INPUT NUMREG F_NUMEROINI
END DISPLAY "Numero registrazione" NUMREG
DISPLAY "Descrizione@50" DESCR
NUMBER F_NUMEROFIN 7 OUTPUT F_NUMEROINI NUMREG
BEGIN CHECKTYPE NORMAL
PROMPT 55 12 "al numero " FLAGS "R"
FLAGS "R" GROUP 2
GROUP 2 END
END
NUMBER F_NUMEROFIN 7
NUMBER F_CAUSALEINI 3 BEGIN
BEGIN PROMPT 55 12 "al numero "
PROMPT 2 14 "Stampa dalla causale " COPY USE F_NUMEROINI
USE LF_CAUSALI KEY 1 INPUT NUMREG F_NUMEROFIN
INPUT CODCAUS F_CAUSALEINI COPY DISPLAY F_NUMEROINI
DISPLAY "Codice causale" CODCAUS OUTPUT F_NUMEROFIN NUMREG
DISPLAY "Descrizione@50" DESCR CHECKTYPE NORMAL
OUTPUT F_CAUSALEINI CODCAUS FLAGS "R"
FLAGS "R" GROUP 2
HELP "Introdurre codice causale di inizio stampa: vuoto = inizio archivio" END
END
NUMBER F_CAUSALEINI 3
NUMBER F_CAUSALEFIN 3 BEGIN
BEGIN PROMPT 2 14 "Stampa dalla causale "
PROMPT 40 14 "alla causale " USE LF_CAUSALI KEY 1
COPY USE F_CAUSALEINI INPUT CODCAUS F_CAUSALEINI
INPUT CODCAUS F_CAUSALEFIN DISPLAY "Codice causale" CODCAUS
DISPLAY "Codice causale" CODCAUS DISPLAY "Descrizione@50" DESCR
DISPLAY "Descrizione@50" DESCR OUTPUT F_CAUSALEINI CODCAUS
OUTPUT F_CAUSALEFIN CODCAUS FLAGS "R"
FLAGS "R" HELP "Introdurre codice causale di inizio stampa: vuoto = inizio archivio"
HELP "Introdurre codice causale di fine stampa: vuoto = fine archivio" END
END
NUMBER F_CAUSALEFIN 3
STRING F_REGISTROINI 3 BEGIN
BEGIN PROMPT 40 14 "alla causale "
PROMPT 2 15 "Stampa dal registro iva " COPY USE F_CAUSALEINI
USE REG SELECT I0<"3" INPUT CODCAUS F_CAUSALEFIN
INPUT CODTAB[1,5] F_ANNO SELECT DISPLAY "Codice causale" CODCAUS
INPUT CODTAB[5,7] F_REGISTROINI DISPLAY "Descrizione@50" DESCR
DISPLAY "Cod. registro iva" CODTAB[5,7] OUTPUT F_CAUSALEFIN CODCAUS
DISPLAY "Descrizione@40" S0 FLAGS "R"
OUTPUT F_REGISTROINI CODTAB[5,7] HELP "Introdurre codice causale di fine stampa: vuoto = fine archivio"
FLAGS "R" END
CHECKTYPE NORMAL
HELP "Introdurre cod. registro iva di inizio stampa: vuoto = inizio archivio" STRING F_REGISTROINI 3
END BEGIN
PROMPT 2 15 "Stampa dal registro iva "
STRING F_REGISTROFIN 3 USE REG SELECT I0<"3"
BEGIN INPUT CODTAB[1,5] F_ANNO SELECT
PROMPT 40 15 "al reg. iva " INPUT CODTAB[5,7] F_REGISTROINI
COPY USE F_REGISTROINI DISPLAY "Cod. registro iva" CODTAB[5,7]
INPUT CODTAB[1,5] F_ANNO SELECT DISPLAY "Descrizione@40" S0
INPUT CODTAB[5,7] F_REGISTROFIN OUTPUT F_REGISTROINI CODTAB[5,7]
DISPLAY "Cod. registro iva" CODTAB[5,7] FLAGS "R"
DISPLAY "Descrizione@40" S0 CHECKTYPE NORMAL
OUTPUT F_REGISTROFIN CODTAB[5,7] HELP "Introdurre cod. registro iva di inizio stampa: vuoto = inizio archivio"
FLAGS "R" END
CHECKTYPE NORMAL
HELP "Introdurre cod. registro iva di fine stampa: vuoto = fine archivio" STRING F_REGISTROFIN 3
END BEGIN
PROMPT 40 15 "al reg. iva "
BOOLEAN F_STAMPA COPY USE F_REGISTROINI
BEGIN INPUT CODTAB[1,5] F_ANNO SELECT
PROMPT 2 16 "Stampa imponibili, imposte e codici iva " INPUT CODTAB[5,7] F_REGISTROFIN
END DISPLAY "Cod. registro iva" CODTAB[5,7]
DISPLAY "Descrizione@40" S0
BOOLEAN F_STAMPAMOVP OUTPUT F_REGISTROFIN CODTAB[5,7]
BEGIN FLAGS "R"
PROMPT 2 17 "Stampa movimenti provvisori " CHECKTYPE NORMAL
END HELP "Introdurre cod. registro iva di fine stampa: vuoto = fine archivio"
END
/*
TEXT DLG_NULL BOOLEAN F_STAMPA
BEGIN BEGIN
PROMPT 2 17 "N.B. se non indicato nessun valore stampa completa in ordine di data" PROMPT 2 16 "Stampa imponibili, imposte e codici iva "
END END
*/
BOOLEAN F_STAMPAMOVP
BUTTON DLG_OK 9 2 BEGIN
BEGIN PROMPT 2 17 "Stampa movimenti provvisori "
PROMPT -12 -1 "" END
END
/*
BUTTON DLG_CANCEL 9 2 TEXT DLG_NULL
BEGIN BEGIN
PROMPT -22 -1 "" PROMPT 2 17 "N.B. se non indicato nessun valore stampa completa in ordine di data"
END END
*/
ENDPAGE
BUTTON DLG_OK 9 2
ENDMASK BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

View File

@ -1,156 +1,156 @@
#include "cg3100.h" #include "cg3100.h"
PAGE "" -1 -1 76 19 PAGE "" -1 -1 73 16
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 3 2 "Ditta " PROMPT 2 1 "Ditta "
FLAGS "FRD" FLAGS "FRD"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
END END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 3 3 "Ragione sociale " PROMPT 2 2 "Ragione sociale "
FLAGS "D" FLAGS "D"
END END
NUMBER F_ANNO 4 DATE F_DATASTAMPA
BEGIN BEGIN
PROMPT 3 5 "Anno esercizio " PROMPT 48 1 "Data stampa "
//HELP "Se non indicato nessun anno esercizio significa che si richiede la stampa come specificato nei campi: dalla data, alla data" FLAGS "A"
USE ESC KEY 1 END
CHECKTYPE REQUIRED
INPUT CODTAB F_ANNO NUMBER F_ANNO 4
DISPLAY "Anno esercizio@50" CODTAB BEGIN
DISPLAY "Data inizio esercizio" D0 PROMPT 2 4 "Anno esercizio "
DISPLAY "Data fine esercizio" D1 //HELP "Se non indicato nessun anno esercizio significa che si richiede la stampa come specificato nei campi: dalla data, alla data"
OUTPUT F_ANNO CODTAB USE ESC KEY 1
END CHECKTYPE NORMAL
INPUT CODTAB F_ANNO
DATE F_DATASTAMPA DISPLAY "Anno" CODTAB
BEGIN DISPLAY "Data inizio esercizio" D0
PROMPT 3 6 "Data stampa " DISPLAY "Data fine esercizio" D1
FLAGS "A" OUTPUT F_ANNO CODTAB
END END
DATE F_DATAINI DATE F_DATAINI
BEGIN BEGIN
PROMPT 3 8 "Stampa movimenti dalla data " PROMPT 2 6 "Stampa movimenti dalla data "
HELP "Se non indicato nessun valore viene effettuata una stampa completa in ordine di data" HELP "Se non indicato nessun valore viene effettuata una stampa completa in ordine di data"
END END
DATE F_DATAFIN DATE F_DATAFIN
BEGIN BEGIN
PROMPT 46 8 "alla data " PROMPT 45 6 "alla data "
END END
LIST F_TIPOELENCO 8 LIST F_TIPOELENCO 8
BEGIN BEGIN
PROMPT 3 9 "Tipo elenco " PROMPT 2 7 "Tipo elenco "
//HELP "Se si desidera l'elenco per clienti e fornitori, specificare prima il codice del cliente da cui iniziare la stampa e poi quello del fornitore" //HELP "Se si desidera l'elenco per clienti e fornitori, specificare prima il codice del cliente da cui iniziare la stampa e poi quello del fornitore"
ITEM "C|Clienti" ITEM "C|Clienti"
MESSAGE HIDE,2@|SHOW,1@|RESET,1@ MESSAGE HIDE,2@|SHOW,1@|RESET,1@
ITEM "F|Fornitori" ITEM "F|Fornitori"
MESSAGE HIDE,2@|SHOW,1@|RESET,1@ MESSAGE HIDE,2@|SHOW,1@|RESET,1@
ITEM "E|Entrambi" ITEM "E|Entrambi"
MESSAGE HIDE,1@|SHOW,2@|RESET,2@ MESSAGE HIDE,1@|SHOW,2@|RESET,2@
END END
NUMBER F_CODICEINI 6 NUMBER F_CODICEINI 6
BEGIN BEGIN
PROMPT 3 10 "Stampa dal codice " PROMPT 2 8 "Stampa dal codice "
HELP "Se si desidera l'elenco per clienti e fornitori, specificare prima il codice del cliente da cui iniziare la stampa e poi quello del fornitore" HELP "Se si desidera l'elenco per clienti e fornitori, specificare prima il codice del cliente da cui iniziare la stampa e poi quello del fornitore"
GROUP 1 GROUP 1
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF F_TIPOELENCO SELECT INPUT TIPOCF F_TIPOELENCO SELECT
DISPLAY "Tipo" TIPOCF DISPLAY "Tipo" TIPOCF
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODICEINI CODCF OUTPUT F_CODICEINI CODCF
FLAGS "R" FLAGS "R"
END END
NUMBER F_CODICEFIN 6 NUMBER F_CODICEFIN 6
BEGIN BEGIN
PROMPT 46 10 "al codice " PROMPT 45 8 "al codice "
GROUP 1 GROUP 1
COPY USE F_CODICEINI COPY USE F_CODICEINI
INPUT TIPOCF F_TIPOELENCO SELECT INPUT TIPOCF F_TIPOELENCO SELECT
DISPLAY "Tipo" TIPOCF DISPLAY "Tipo" TIPOCF
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODICEFIN CODCF OUTPUT F_CODICEFIN CODCF
FLAGS "R" FLAGS "R"
END END
NUMBER F_CODICEINI1 6 NUMBER F_CODICEINI1 6
BEGIN BEGIN
PROMPT 3 10 "Stampa dal codice " PROMPT 2 8 "Stampa dal codice "
GROUP 2 GROUP 2
COPY USE F_CODICEINI COPY USE F_CODICEINI
INPUT TIPOCF F_CODICEINI1 INPUT TIPOCF F_CODICEINI1
DISPLAY "Tipo" TIPOCF DISPLAY "Tipo" TIPOCF
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODICEINI1 CODCF OUTPUT F_CODICEINI1 CODCF
FLAGS "R" FLAGS "R"
END END
NUMBER F_CODICEFIN1 6 NUMBER F_CODICEFIN1 6
BEGIN BEGIN
PROMPT 46 10 "al codice " PROMPT 45 8 "al codice "
GROUP 2 GROUP 2
COPY USE F_CODICEINI COPY USE F_CODICEINI
INPUT TIPOCF F_CODICEFIN1 INPUT TIPOCF F_CODICEFIN1
DISPLAY "Tipo" TIPOCF DISPLAY "Tipo" TIPOCF
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODICEFIN1 CODCF OUTPUT F_CODICEFIN1 CODCF
FLAGS "R" FLAGS "R"
END END
BOOLEAN F_CAMBIO BOOLEAN F_CAMBIO
BEGIN BEGIN
PROMPT 3 12 "Cambio pagina per cliente/fornitore " PROMPT 2 10 "Cambio pagina per cliente/fornitore "
END END
BOOLEAN F_STAMPAMOVP BOOLEAN F_STAMPAMOVP
BEGIN BEGIN
PROMPT 3 13 "Stampa movimenti provvisori " PROMPT 2 11 "Stampa movimenti provvisori "
END END
/* /*
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 3 15 "(N.B. se non indicato nessun valore stampa completa in ordine di data) " PROMPT 3 15 "(N.B. se non indicato nessun valore stampa completa in ordine di data) "
END END
*/ */
BUTTON DLG_OK 9 2 BUTTON DLG_OK 9 2
BEGIN BEGIN
PROMPT -12 -1 "" PROMPT -12 -1 ""
END END
BUTTON DLG_CANCEL 9 2 BUTTON DLG_QUIT 9 2
BEGIN BEGIN
PROMPT -22 -1 "" PROMPT -22 -1 ""
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -1,106 +1,106 @@
#include "cg3100.h" #include "cg3100.h"
PAGE "" -1 -1 76 19 PAGE "" -1 -1 76 19
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 2 2 "Ditta " PROMPT 2 2 "Ditta "
FLAGS "FRD" FLAGS "FRD"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
END END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 2 3 "Ragione sociale " PROMPT 2 3 "Ragione sociale "
FLAGS "D" FLAGS "D"
END END
NUMBER F_ANNO 4 NUMBER F_ANNO 4
BEGIN BEGIN
PROMPT 2 5 "Anno esercizio " PROMPT 2 5 "Anno esercizio "
HELP "Se non indicato nessun anno esercizio significa che si richiede la stampa come specificato nei campi: dalla data, alla data" HELP "Se non indicato nessun anno esercizio significa che si richiede la stampa come specificato nei campi: dalla data, alla data"
USE ESC KEY 1 USE ESC KEY 1
CHECKTYPE NORMAL CHECKTYPE NORMAL
INPUT CODTAB F_ANNO INPUT CODTAB F_ANNO
DISPLAY "Anno esercizio@50" CODTAB DISPLAY "Anno esercizio@50" CODTAB
OUTPUT F_ANNO CODTAB OUTPUT F_ANNO CODTAB
END END
DATE F_DATASTAMPA DATE F_DATASTAMPA
BEGIN BEGIN
PROMPT 2 6 "Data stampa " PROMPT 2 6 "Data stampa "
FLAGS "A" FLAGS "A"
END END
RADIOBUTTON F_DECIDI 10 RADIOBUTTON F_DECIDI 10
BEGIN BEGIN
PROMPT 2 8 "Stampa " PROMPT 2 8 "Stampa "
ITEM "2|data" ITEM "2|data"
MESSAGE DISABLE,2@|RESET,2@|ENABLE,1@ MESSAGE DISABLE,2@|RESET,2@|ENABLE,1@
ITEM "1|numero" ITEM "1|numero"
MESSAGE DISABLE,1@|RESET,1@|ENABLE,2@ MESSAGE DISABLE,1@|RESET,1@|ENABLE,2@
END END
DATE F_DATAINI DATE F_DATAINI
BEGIN BEGIN
PROMPT 19 9 "Stampa mov. dalla data " PROMPT 19 9 "Stampa mov. dalla data "
GROUP 1 GROUP 1
END END
DATE F_DATAFIN DATE F_DATAFIN
BEGIN BEGIN
PROMPT 55 9 "alla data " PROMPT 55 9 "alla data "
GROUP 1 GROUP 1
END END
NUMBER F_NUMEROINI 7 NUMBER F_NUMEROINI 7
BEGIN BEGIN
PROMPT 19 10 "Stampa mov. dal numero " PROMPT 19 10 "Stampa mov. dal numero "
FLAGS "R" FLAGS "R"
GROUP 2 GROUP 2
END END
NUMBER F_NUMEROFIN 7 NUMBER F_NUMEROFIN 7
BEGIN BEGIN
PROMPT 55 10 "al numero " PROMPT 55 10 "al numero "
FLAGS "R" FLAGS "R"
GROUP 2 GROUP 2
END END
BOOLEAN F_STAMPAMOVP BOOLEAN F_STAMPAMOVP
BEGIN BEGIN
PROMPT 2 12 "Stampa movimenti provvisori " PROMPT 2 12 "Stampa movimenti provvisori "
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 15 "(N.B. se non indicato nessun valore stampa completa in ordine di data) " PROMPT 2 15 "(N.B. se non indicato nessun valore stampa completa in ordine di data) "
END END
BUTTON DLG_OK 9 2 BUTTON DLG_OK 9 2
BEGIN BEGIN
PROMPT -12 -1 "" PROMPT -12 -1 ""
END END
BUTTON DLG_CANCEL 9 2 BUTTON DLG_QUIT 9 2
BEGIN BEGIN
PROMPT -22 -1 "" PROMPT -22 -1 ""
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -45,21 +45,22 @@ class CG3200_application : public TPrintapp
TDate _data_ini,_data_fine,_data_finese,_data_finesesucc,_ultima_data_reg; TDate _data_ini,_data_fine,_data_finese,_data_finesesucc,_ultima_data_reg;
TDate _datareg,_datadoc,_data_inizioese; TDate _datareg,_datadoc,_data_inizioese;
int _cur1,_cur2,_cur3,_gruppo,_conto,_numcarat,_stampanum,_numivd; int _cur1,_cur2,_cur3,_gruppo,_conto,_numcarat,_stampanum,_numivd;
int _numrig,_gruppocontr,_contocontr,_natdoc,_tipo,_tipostampa; int _numrig,_natdoc,_tipo,_tipostampa;
real _progredare,_progreavere,_totprogre_dare_al,_totprogre_avere_al; real _progredare,_progreavere,_totprogre_dare_al,_totprogre_avere_al;
real _totprogre_dare,_totprogre_avere,_importo; real _totprogre_dare,_totprogre_avere,_importo;
real _riporto_dare,_riporto_avere,_riporto_parziale_dare,_riporto_parziale_avere; real _riporto_dare,_riporto_avere,_riporto_parziale_dare,_riporto_parziale_avere;
real _totale_periodo_dare,_totale_periodo_avere,_totale_prima_dare,_totale_prima_avere; real _totale_periodo_dare,_totale_periodo_avere,_totale_prima_dare,_totale_prima_avere;
real _saldo_periodo,_saldo_progre,_saldo_progre_al,_saldo_progre_prec; real _saldo_periodo,_saldo_progre,_saldo_progre_al,_saldo_progre_prec;
real _saldo_movimenti,_saldo_progressivi,_totale_saldo; real _saldo_movimenti,_saldo_progressivi,_totale_saldo;
TString _codice_ditta,_ragsoc,_indulc,_civulc,_capulc,_com,_prov,_comulc; TString _ragsoc,_indulc,_civulc,_capulc,_com,_prov,_comulc;
long _codice_ditta;
TString _sezivd,_lettivd,_tipodoc,_codcaus,_descrcaus,_descrdociva,_regiva; TString _sezivd,_lettivd,_tipodoc,_codcaus,_descrcaus,_descrdociva,_regiva;
TString _descrizione,_sezione,_numdoc,_descrizionemov,_numrivd; TString _descrizione,_sezione,_numdoc,_descrizionemov,_numrivd;
TString _dataregs, _datadocs; TString _dataregs, _datadocs,_gruppocontr,_contocontr,_sottocontocontr;
bool _stampaprogre,_stampatotiva,_stampatot,_prima_volta,_stampa_mov_prov; bool _stampaprogre,_stampatotiva,_stampatot,_prima_volta,_stampa_mov_prov;
long _annomsk,_annoesmsk,_sottoc,_numreg,_annoes,_sottocontocontr; long _annomsk,_annoesmsk,_sottoc,_numreg,_annoes;
long _annomsksucc,_numgio,_protiva; long _annomsksucc,_numgio,_protiva;
bool _stampa_progressivi_si,_competenza,_inizio_stampa,_puoi_stampare; bool _stampa_progressivi_si,_competenza,_inizio_stampa,_puoi_stampare;
int _tipocf; int _tipocf;
@ -107,6 +108,7 @@ public:
const char* descrizione_gruppo_clifo(); const char* descrizione_gruppo_clifo();
const char* descrizione_conto_clifo(); const char* descrizione_conto_clifo();
bool almeno_un_record(); bool almeno_un_record();
void ricerca_dati_ditta();
CG3200_application(); CG3200_application();
}; };
@ -218,33 +220,30 @@ void CG3200_application::saldi_zero()
void CG3200_application::fai_stampa132() void CG3200_application::fai_stampa132()
{ {
set_row (1,"@0g#t", &_dataregs); set_row (1,"@0g#t", &_dataregs);
set_row (1,"@11g#t", &_datadocs);
set_row (1,"@22g#7t", &_numdoc);
set_row (1,"@30g#3t", &_codcaus);
set_row (1,"@34g#.18t", &_descrcaus);
_descrizione = current_cursor()->curr(LF_RMOV).get(RMV_DESCR);
if (_descrizione == "")
set_row (1,"@53g%.23s", (const char*) _descrizionemov);
else
set_row (1,"@53g%.23s", (const char*) _descrizione);
_sezione = current_cursor()->curr(LF_RMOV).get(RMV_SEZIONE);
if (_sezione == "D")
set_row (1,"@77g#t", &_importo_str);
else if (_sezione == "A")
set_row (1,"@93g#t", &_importo_str);
if (_numrig != 0)
{
set_row (1,"@109g#3d", &_gruppocontr);
set_row (1,"@112g#3d", &_contocontr);
set_row (1,"@115g#6d", &_sottocontocontr);
}
if (_stampanum == 1) if (_stampanum == 1)
set_row (1,"@125g$[r]#7d", &_numreg); set_row (1,"@11g#7d", &_numreg);
else if (_stampanum == 2) else if (_stampanum == 2)
{ {
set_row (1,"@125g#7d", &_numgio); set_row (1,"@11g#7d", &_numgio);
} }
set_row (1,"@19g#t", &_datadocs);
set_row (1,"@30g#7t", &_numdoc);
set_row (1,"@38g#3t", &_codcaus);
set_row (1,"@42g#.18t", &_descrcaus);
_descrizione = current_cursor()->curr(LF_RMOV).get(RMV_DESCR);
if (_descrizione == "")
set_row (1,"@61g%.23s", (const char*) _descrizionemov);
else
set_row (1,"@61g%.23s", (const char*) _descrizione);
_sezione = current_cursor()->curr(LF_RMOV).get(RMV_SEZIONE);
if (_sezione == "D")
set_row (1,"@85g#t", &_importo_str);
else if (_sezione == "A")
set_row (1,"@101g#t", &_importo_str);
set_row (1,"@117g#3t", &_gruppocontr);
set_row (1,"@120g#3t", &_contocontr);
set_row (1,"@123g#6t", &_sottocontocontr);
} }
void CG3200_application::fai_stampa198() void CG3200_application::fai_stampa198()
@ -278,13 +277,12 @@ void CG3200_application::fai_stampa198()
set_row (1,"@119g#t", &_importo_str); set_row (1,"@119g#t", &_importo_str);
// Stampa saldo movimenti // Stampa saldo movimenti
set_row (1,"@153g#t", &_saldo_movimenti_str); set_row (1,"@153g#t", &_saldo_movimenti_str);
if (_numrig != 0)
{ set_row (1,"@169g#3t", &_gruppocontr);
set_row (1,"@169g#3d", &_gruppocontr); set_row (1,"@172g#3t", &_contocontr);
set_row (1,"@172g#3d", &_contocontr); set_row (1,"@175g#6t", &_sottocontocontr);
set_row (1,"@175g#6d", &_sottocontocontr);
}
if (_tipo < 3) if (_tipo < 3)
set_row (1,"@185g#t" , &_regiva); set_row (1,"@185g#t" , &_regiva);
@ -321,17 +319,17 @@ void CG3200_application::stampa_totali132()
_saldo_periodo = _totale_periodo_dare - _totale_periodo_avere; _saldo_periodo = _totale_periodo_dare - _totale_periodo_avere;
_saldo_progre = _totprogre_dare - _totprogre_avere; _saldo_progre = _totprogre_dare - _totprogre_avere;
_saldo_progre_al = _totprogre_dare_al - _totprogre_avere_al; _saldo_progre_al = _totprogre_dare_al - _totprogre_avere_al;
set_row (3,"@32gTOTALI PERIODO@61g%15.0r", &_saldo_periodo); set_row (3,"@32gTOTALI PERIODO@69g%15.0r", &_saldo_periodo);
set_row (3,"@77g%15.0r", &_totale_periodo_dare); set_row (3,"@85g%15.0r", &_totale_periodo_dare);
set_row (3,"@93g%15.0r", &_totale_periodo_avere); set_row (3,"@101g%15.0r", &_totale_periodo_avere);
set_row (4,"@32gTOTALI PROGRESSIVI@61g%15.0r", &_saldo_progre); set_row (4,"@32gTOTALI PROGRESSIVI@69g%15.0r", &_saldo_progre);
set_row (4,"@77g%15.0r", &_totprogre_dare); set_row (4,"@85g%15.0r", &_totprogre_dare);
set_row (4,"@93g%15.0r", &_totprogre_avere); set_row (4,"@101g%15.0r", &_totprogre_avere);
if (_stampaprogre) //Progressivi attuali if (_stampaprogre) //Progressivi attuali
{ {
set_row(5,"@32gTOTALI PROGRESSIVI AL@55g%s",(const char*)_ultima_data_reg.string()); set_row (5,"@32gTOTALI PROGRESSIVI AL@55g%s",(const char*)_ultima_data_reg.string());
set_row (5,"@77g%15.0r", &_saldo_progre_al); set_row (5,"@69g%15.0r", &_saldo_progre_al);
set_row (5,"@93g%15.0r", &_totprogre_dare_al); set_row (5,"@85g%15.0r", &_totprogre_dare_al);
set_row (5,"@101g%r", &_totprogre_avere_al); set_row (5,"@101g%r", &_totprogre_avere_al);
} }
} }
@ -417,17 +415,17 @@ bool CG3200_application::preprocess_pconti(int file, int counter)
int rcontr = atoi(current_cursor()->curr(LF_RMOV).get(RMV_RCONTR)); int rcontr = atoi(current_cursor()->curr(LF_RMOV).get(RMV_RCONTR));
rmov = current_cursor()->file(LF_RMOV); rmov = current_cursor()->file(LF_RMOV);
record = rmov->recno(); record = rmov->recno();
rmov->setkey(1);
rmov->curr().zero(); rmov->curr().zero();
rmov->curr().put(RMV_NUMREG,_numreg); rmov->curr().put(RMV_NUMREG,_numreg);
rmov->curr().put(RMV_NUMRIG,rcontr); rmov->curr().put(RMV_NUMRIG,rcontr);
rmov->read(); rmov->read();
_numrig = atoi(rmov->curr().get(RMV_NUMRIG)); if (rmov->bad())
if (_numrig != 0) rmov->curr().zero();
{ _gruppocontr = rmov->curr().get(RMV_GRUPPO);
_gruppocontr = atoi(rmov->curr().get(RMV_GRUPPO)); _contocontr = rmov->curr().get(RMV_CONTO);
_contocontr = atoi(rmov->curr().get(RMV_CONTO)); _sottocontocontr = rmov->curr().get(RMV_SOTTOCONTO);
_sottocontocontr = atol(rmov->curr().get(RMV_SOTTOCONTO)); rmov->setkey(2);
}
rmov->readat(record); rmov->readat(record);
// Stampa solo quelli che hanno anno esercizio uguale a quello specificato // Stampa solo quelli che hanno anno esercizio uguale a quello specificato
@ -564,25 +562,26 @@ bool CG3200_application::preprocess_clifo(int file, int counter)
case LF_RMOV: case LF_RMOV:
{ {
// Ricerca la contropartita di quel movimento // Ricerca la contropartita di quel movimento
_numreg = atol (current_cursor()->curr(LF_RMOV).get(RMV_NUMREG)); _numreg = atol (current_cursor()->curr(LF_RMOV).get(RMV_NUMREG));
int rcontr = atoi(current_cursor()->curr(LF_RMOV).get(RMV_RCONTR)); int rcontr = atoi(current_cursor()->curr(LF_RMOV).get(RMV_RCONTR));
rmov = current_cursor()->file(LF_RMOV); rmov = current_cursor()->file(LF_RMOV);
record = rmov->recno(); record = rmov->recno();
rmov->setkey(1);
rmov->curr().zero(); rmov->curr().zero();
rmov->curr().put(RMV_NUMREG,_numreg); rmov->curr().put(RMV_NUMREG,_numreg);
rmov->curr().put(RMV_NUMRIG,rcontr); rmov->curr().put(RMV_NUMRIG,rcontr);
rmov->read(); rmov->read();
_numrig = atoi(rmov->curr().get(RMV_NUMRIG)); if (rmov->bad())
if (_numrig != 0) rmov->curr().zero();
{ _gruppocontr = rmov->curr().get(RMV_GRUPPO);
_gruppocontr = atoi(rmov->curr().get(RMV_GRUPPO)); _contocontr = rmov->curr().get(RMV_CONTO);
_contocontr = atoi(rmov->curr().get(RMV_CONTO)); _sottocontocontr = rmov->curr().get(RMV_SOTTOCONTO);
_sottocontocontr = atol(rmov->curr().get(RMV_SOTTOCONTO)); rmov->setkey(2);
}
rmov->readat(record); rmov->readat(record);
// Stampa solo quelli che hanno anno esercizio uguale a quello specificato // Stampa solo quelli che hanno anno esercizio uguale a quello specificato
// nella maschera. Se non viene specificato li stampa tutti // nella maschera. Se non viene specificato li stampa tutti
@ -787,6 +786,7 @@ print_action CG3200_application::postprocess_page(int file, int counter)
_prima_volta = TRUE; _prima_volta = TRUE;
return REPEAT_PAGE; return REPEAT_PAGE;
case LF_RMOV: case LF_RMOV:
force_setpage();
break; break;
default: default:
break; break;
@ -963,6 +963,9 @@ bool CG3200_application::set_print(int)
int formato = atoi(_msk->get(F_FORMATO)); int formato = atoi(_msk->get(F_FORMATO));
int nummast = atoi(_msk->get(F_NUMMAST)); int nummast = atoi(_msk->get(F_NUMMAST));
_ricerca = _msk->get(F_RICERCA)[0]; _ricerca = _msk->get(F_RICERCA)[0];
_codice_ditta = get_firm();
ricerca_dati_ditta();
// Scelta del formato e del numero di mastrini per pagina 1 o 2 // Scelta del formato e del numero di mastrini per pagina 1 o 2
@ -996,7 +999,7 @@ bool CG3200_application::set_print(int)
a.put(PCN_CONTO,contofine); a.put(PCN_CONTO,contofine);
a.put(PCN_SOTTOCONTO,sottocontofine); a.put(PCN_SOTTOCONTO,sottocontofine);
current_cursor()->setregion(da, a); current_cursor()->setregion(&da, &a);
} }
else else
{ {
@ -1026,7 +1029,7 @@ bool CG3200_application::set_print(int)
a.put(CLI_CONTO,contofine); a.put(CLI_CONTO,contofine);
a.put(CLI_CODCF,sottocontofine); a.put(CLI_CODCF,sottocontofine);
current_cursor()->setregion(da, a); current_cursor()->setregion(&da, &a);
} }
if (_stampatotiva) if (_stampatotiva)
@ -1106,19 +1109,17 @@ void CG3200_application::preprocess_header()
} }
// Crea l'intestazione per la stampa a 132 e a 198 caratteri
void CG3200_application::crea_intestazione() void CG3200_application::ricerca_dati_ditta()
{ {
TString sep(132),sep1(198), app(8); long app;
reset_header();
_nditte->setkey(1); _nditte->setkey(1);
_codice_ditta << get_firm(); // _codice_ditta << get_firm();
_nditte->curr().zero(); _nditte->curr().zero();
_nditte->curr().put(NDT_CODDITTA,_codice_ditta); _nditte->curr().put(NDT_CODDITTA,_codice_ditta);
_nditte->read(); _nditte->read();
app=_nditte->curr().get(NDT_CODDITTA); app=_nditte->curr().get_long(NDT_CODDITTA);
_ragsoc=_nditte->curr().get(NDT_RAGSOC); _ragsoc=_nditte->curr().get(NDT_RAGSOC);
_unloc->setkey(1); _unloc->setkey(1);
@ -1137,7 +1138,16 @@ void CG3200_application::crea_intestazione()
_comuni->read(); _comuni->read();
_com=_comuni->curr().get(COM_DENCOM); _com=_comuni->curr().get(COM_DENCOM);
_prov=_comuni->curr().get(COM_PROVCOM); _prov=_comuni->curr().get(COM_PROVCOM);
}
// Crea l'intestazione per la stampa a 132 e a 198 caratteri
void CG3200_application::crea_intestazione()
{
TString sep(132),sep1(198);
reset_header();
if (_numcarat == 1) if (_numcarat == 1)
{ {
sep << "Pag. @#"; sep << "Pag. @#";
@ -1155,7 +1165,7 @@ void CG3200_application::crea_intestazione()
set_header(2,"@1g%s",(const char*) sep1); set_header(2,"@1g%s",(const char*) sep1);
} }
set_header (1, "@0gDITTA@6g%-5s", (const char*) _codice_ditta); set_header (1, "@0gDITTA@6g%5d", _codice_ditta);
set_header (1, "@12g%-45s", (const char*) _ragsoc); set_header (1, "@12g%-45s", (const char*) _ragsoc);
set_header (1, "@59g%-25s", (const char*) _indulc); set_header (1, "@59g%-25s", (const char*) _indulc);
set_header (1, "@86g%-9s", (const char*) _civulc); set_header (1, "@86g%-9s", (const char*) _civulc);
@ -1189,8 +1199,8 @@ void CG3200_application::crea_intestazione()
{ {
sep.fill('-'); //Stampa 132 - (sep(132)) sep.fill('-'); //Stampa 132 - (sep(132))
set_header (6, (const char *) sep); set_header (6, (const char *) sep);
set_header (7,"Data@11gDocumento@109gContro@122gAn@125gNumero"); set_header (7,"Data@11gNumero@19gDocumento@117gContro@130gAn");
set_header (8,"Registr.@11gData@22gNumero@30gCod.Causale@53gDescrizione@82gDare@98gAvere@109gPartita@122gCo@125gregistr"); set_header (8,"Registr.@11gregistr@19gData@30gNumero@38gCod.Causale@61gDescrizione@90gDare@106gAvere@117gPartita@130gCo");
sep.fill('-'); sep.fill('-');
set_header (9, (const char *) sep); set_header (9, (const char *) sep);
} }
@ -1217,9 +1227,9 @@ void CG3200_application::crea_intestazione()
if (_numcarat == 1) if (_numcarat == 1)
{ {
TString string = _riporto_dare.string("###############"); TString string = _riporto_dare.string("###############");
set_header (10,"@32gA RIPORTO@77g%15s",(const char*) string); set_header (10,"@32gA RIPORTO@85g%15s",(const char*) string);
string = _riporto_avere.string("###############"); string = _riporto_avere.string("###############");
set_header (10,"@93g%15s",(const char*) string); set_header (10,"@101g%15s",(const char*) string);
} }
if (_numcarat == 2) if (_numcarat == 2)
{ {
@ -1316,7 +1326,7 @@ void CG3200_application::calcola_progressivi()
pconti.put(PCN_CONTO , _conto); pconti.put(PCN_CONTO , _conto);
pconti.read(); pconti.read();
if (pconti.good()) if (pconti.good())
indbil = pconti.get_int(PCN_INDBIL); indbil = atoi (pconti.get(PCN_INDBIL));
else else
indbil = 0; indbil = 0;
} }
@ -1412,11 +1422,11 @@ void CG3200_application::calcola_progressivi()
if (_numcarat == 1) if (_numcarat == 1)
{ {
TString string = _saldo_progre_prec.string("###############"); TString string = _saldo_progre_prec.string("###############");
set_header (10,"@32gPROGRESSIVI PRECEDENTI@61g%15s",(const char*) string); set_header (10,"@32gPROGRESSIVI PRECEDENTI@69g%15s",(const char*) string);
string = _progredare.string("###############"); string = _progredare.string("###############");
set_header (10,"@77g%15s",(const char*) string); set_header (10,"@85g%15s",(const char*) string);
string = _progreavere.string("###############"); string = _progreavere.string("###############");
set_header (10,"@93g%15s",(const char*) string); set_header (10,"@101g%15s",(const char*) string);
} }
if (_numcarat == 2) if (_numcarat == 2)
@ -1507,8 +1517,11 @@ void CG3200_application::ricerca_clifo()
dataini = _data_ini.string(); dataini = _data_ini.string();
set_header (5, "@1gPeriodo@10g%s", (const char*) dataini); set_header (5, "@1gPeriodo@10g%s", (const char*) dataini);
datafine = _data_fine.string(); if (_data_fine != eotime)
set_header (5, "@22g%s", (const char*) datafine); {
datafine = _data_fine.string();
set_header (5, "@22g%s", (const char*) datafine);
}
set_header (5, "@34g%-11s",(const char*) paiv); set_header (5, "@34g%-11s",(const char*) paiv);
set_header (5, "@46g%-16s",(const char*) cofi); set_header (5, "@46g%-16s",(const char*) cofi);
set_header (5, "@63g%-25s",(const char*) indcf); set_header (5, "@63g%-25s",(const char*) indcf);
@ -1565,8 +1578,11 @@ void CG3200_application::ricerca_gruppo()
dataini = _data_ini.string(); dataini = _data_ini.string();
set_header (5, "@0gPeriodo@12g%s", (const char*) dataini); set_header (5, "@0gPeriodo@12g%s", (const char*) dataini);
datafine = _data_fine.string(); if (_data_fine != eotime)
set_header (5, "@24g%s", (const char*) datafine); {
datafine = _data_fine.string();
set_header (5, "@24g%s", (const char*) datafine);
}
} }
//Ricerca la descrizione relativa al gruppo da stampare //Ricerca la descrizione relativa al gruppo da stampare

View File

@ -47,7 +47,7 @@
#define F_ANNO 139 #define F_ANNO 139
#define F_FORMATO 140 #define F_FORMATO 140
#endif // __CG3200_H #endif // __CG3200_H

File diff suppressed because it is too large Load Diff