Corretta gestione ricerca registri nelle causali
git-svn-id: svn://10.65.10.50/trunk@624 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
af2a5b0337
commit
cbfb9ffe34
@ -91,7 +91,6 @@ protected:
|
||||
// int cancella(long items);
|
||||
|
||||
public:
|
||||
bool _forcedCopy;
|
||||
tipo_descr _tipo_des; // Il tipo di causale corrente
|
||||
|
||||
void compila_array (const TString&, int, int, int);
|
||||
@ -184,7 +183,6 @@ void TCaus_app::causale_vendite()
|
||||
if (_tipo_des == vendita)
|
||||
return;
|
||||
|
||||
clear_descr();
|
||||
_tipo_des = vendita;
|
||||
|
||||
int i=0;
|
||||
@ -197,7 +195,6 @@ void TCaus_app::causale_vendite()
|
||||
set_descr(i++, "C Imp. non soggetti");
|
||||
set_descr(i++, "C Ritenute fiscali");
|
||||
set_descr(i++, "C Ritenute soc.");
|
||||
carica_righe_libere();
|
||||
}
|
||||
|
||||
|
||||
@ -206,7 +203,6 @@ void TCaus_app::causale_acquisti()
|
||||
if (_tipo_des == acquisto)
|
||||
return;
|
||||
|
||||
clear_descr();
|
||||
_tipo_des = acquisto;
|
||||
|
||||
int i=0;
|
||||
@ -219,7 +215,6 @@ void TCaus_app::causale_acquisti()
|
||||
set_descr(i++, "C Imp. non soggetti");
|
||||
set_descr(i++, "C Ritenute fiscali");
|
||||
set_descr(i++, "C Ritenute soc.");
|
||||
carica_righe_libere();
|
||||
}
|
||||
|
||||
void TCaus_app::causale_ritenute()
|
||||
@ -227,14 +222,12 @@ void TCaus_app::causale_ritenute()
|
||||
if (_tipo_des == ritenuta_occas)
|
||||
return;
|
||||
|
||||
clear_descr();
|
||||
_tipo_des = ritenuta_occas;
|
||||
|
||||
int i=0;
|
||||
set_descr (i++, "Costo");
|
||||
set_descr (i++, "Cassa/banca");
|
||||
set_descr (i++, "Erario");
|
||||
carica_righe_libere();
|
||||
}
|
||||
|
||||
void TCaus_app::causale_inc_pag()
|
||||
@ -244,7 +237,6 @@ void TCaus_app::causale_inc_pag()
|
||||
if (_tipo_des == tipo_des)
|
||||
return;
|
||||
|
||||
clear_descr();
|
||||
_tipo_des = tipo_des;
|
||||
|
||||
int i=0;
|
||||
@ -261,7 +253,6 @@ void TCaus_app::causale_inc_pag()
|
||||
set_descr ( i++, "C Ritenute fiscali");
|
||||
if (_tipo_des == incasso_pagamento_gesval)
|
||||
set_descr (i++, "C Differenza cambio");
|
||||
carica_righe_libere();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
@ -613,41 +604,23 @@ bool TCaus_app::sottoconto_hndl(TMask_field& f, KEY k)
|
||||
|
||||
void TCaus_app::compila_array(const TString& tpd, int tpm, int tpr, int m770)
|
||||
{
|
||||
_forcedCopy = FALSE;
|
||||
clear_descr();
|
||||
|
||||
if (tpd.empty() || tpd == "IN" || tpd == "AN" || tpd == "PG")
|
||||
{
|
||||
if (saldaconto())
|
||||
switch (tpm)
|
||||
{
|
||||
switch (tpm) {
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
if (saldaconto())
|
||||
causale_inc_pag();
|
||||
break;
|
||||
case 0:
|
||||
if (m770 == 6)
|
||||
{
|
||||
causale_ritenute();
|
||||
}
|
||||
else
|
||||
{
|
||||
_forcedCopy = TRUE;
|
||||
clear_descr();
|
||||
carica_righe_libere();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
_forcedCopy = TRUE;
|
||||
clear_descr();
|
||||
carica_righe_libere();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // NO saldaconto
|
||||
_forcedCopy = TRUE;
|
||||
clear_descr();
|
||||
carica_righe_libere();
|
||||
break;
|
||||
case 0:
|
||||
if (m770 == 6)
|
||||
causale_ritenute();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else // C'e' il tipodoc.
|
||||
@ -657,13 +630,8 @@ void TCaus_app::compila_array(const TString& tpd, int tpm, int tpr, int m770)
|
||||
else
|
||||
if (tpr == 2)
|
||||
causale_acquisti();
|
||||
else
|
||||
{
|
||||
_forcedCopy = TRUE;
|
||||
clear_descr();
|
||||
carica_righe_libere();
|
||||
}
|
||||
}
|
||||
carica_righe_libere();
|
||||
}
|
||||
|
||||
|
||||
@ -895,7 +863,7 @@ void TCaus_app::read_firm_params()
|
||||
_saldaconto = conf.get_bool("GesSal");
|
||||
_valuta = conf.get_bool("GesVal");
|
||||
_anno_iva = (int)conf.get_long("AnLiIv", "cg");
|
||||
if (_anno_iva < 1900)
|
||||
if (_anno_iva < 1800)
|
||||
{
|
||||
_anno_iva = TDate(TODAY).year();
|
||||
error_box("Nei parametri ditta manca l'anno liquidazione IVA: assumo %d", _anno_iva);
|
||||
@ -938,8 +906,6 @@ bool TCaus_app::user_create()
|
||||
cs.sheet_mask().set_handler(SS_SOTTOCONTO+100, sottoconto_hndl);
|
||||
cs.sheet_mask().set_handler(SS_SOTTOCONTO+200, sottoconto_hndl);
|
||||
|
||||
_forcedCopy = FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -143,7 +143,7 @@ END
|
||||
NUMBER F_ANNOES 4
|
||||
BEGIN
|
||||
PROMPT 2 5 ""
|
||||
FLAGS "H"
|
||||
FLAGS "AH"
|
||||
END
|
||||
|
||||
NUMBER F_TIPO_REG 1
|
||||
|
@ -290,7 +290,6 @@ void TPrimanota_application::init_mask(TMask& m)
|
||||
read_caus(NULL, 0); // Setta campi obbligatori
|
||||
fill_sheet(m);
|
||||
|
||||
const bool intra = _causale.intra();
|
||||
const bool valintra = _causale.valintra();
|
||||
const bool corrisp = _causale.corrispettivi();
|
||||
|
||||
@ -311,7 +310,7 @@ void TPrimanota_application::init_mask(TMask& m)
|
||||
m.send_key(K_SHIFT+K_CTRL+forg, -2); // GROUP 2 (fornitori)
|
||||
if (corrisp) m.hide(F_STATOPAIV);
|
||||
|
||||
m.show(F_CORRLIRE, intra);
|
||||
m.show(F_CORRLIRE, valintra);
|
||||
m.show(F_CORRVALUTA, valintra);
|
||||
m.show(F_CODIVA, m.mode() == MODE_INS);
|
||||
}
|
||||
|
@ -35,8 +35,6 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// ANDREA E' ARRIVATO FINO A QUESTO PUNTO
|
||||
|
||||
NUMBER F_ANNOES 4
|
||||
BEGIN
|
||||
PROMPT 52 2 "Esercizio "
|
||||
@ -47,6 +45,7 @@ END
|
||||
DATE F_DATADOC
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data del documento "
|
||||
HELP "Data del documento che ha generato il movimento"
|
||||
FIELD LF_MOV->DATADOC
|
||||
WARNING "Specificare la data del documento"
|
||||
END
|
||||
@ -54,6 +53,7 @@ END
|
||||
STRING F_NUMDOC 7
|
||||
BEGIN
|
||||
PROMPT 52 3 "Documento n. "
|
||||
HELP "Numero del documento che ha generato il movimento"
|
||||
FIELD LF_MOV->NUMDOC
|
||||
WARNING "Specificare il numero documento"
|
||||
END
|
||||
@ -61,6 +61,7 @@ END
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 1 4 "Descrizione documento "
|
||||
HELP "Descrizione del documento che ha generato il movimento"
|
||||
FIELD LF_MOV->DESCR
|
||||
END
|
||||
|
||||
@ -88,6 +89,7 @@ END
|
||||
LIST I_SEZIONE1 1 8
|
||||
BEGIN
|
||||
PROMPT 1 7 "Riga 1 "
|
||||
HELP "Sezione del conto della prima riga"
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
END
|
||||
@ -95,6 +97,7 @@ END
|
||||
NUMBER F_TOTALE 15
|
||||
BEGIN
|
||||
PROMPT 18 7 ""
|
||||
HELP "Importo del conto di prima riga"
|
||||
FIELD LF_MOV->TOTDOC
|
||||
FLAGS "R"
|
||||
PICTURE "."
|
||||
@ -114,6 +117,7 @@ END
|
||||
NUMBER F_GRUPPOCLIFO 3
|
||||
BEGIN
|
||||
PROMPT 51 7 ""
|
||||
HELP "Codice del conto di prima riga"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Gruppo assente"
|
||||
END
|
||||
@ -121,6 +125,7 @@ END
|
||||
NUMBER F_CONTOCLIFO 3
|
||||
BEGIN
|
||||
PROMPT 57 7 ""
|
||||
HELP "Codice del conto di prima riga"
|
||||
USE LF_PCON SELECT SOTTOCONTO==""
|
||||
INPUT GRUPPO F_GRUPPOCLIFO
|
||||
INPUT CONTO F_CONTOCLIFO
|
||||
@ -136,6 +141,7 @@ END
|
||||
NUMBER F_CLIENTE 6
|
||||
BEGIN
|
||||
PROMPT 65 7 ""
|
||||
HELP "Codice del conto di prima riga"
|
||||
FIELD LF_MOV->CODCF
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
@ -151,6 +157,7 @@ END
|
||||
NUMBER F_FORNITORE 6
|
||||
BEGIN
|
||||
PROMPT 65 7 ""
|
||||
HELP "Codice del conto di prima riga"
|
||||
FIELD LF_MOV->CODCF
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
@ -166,6 +173,7 @@ END
|
||||
NUMBER I_SOTTOCONTO 6
|
||||
BEGIN
|
||||
PROMPT 65 7 ""
|
||||
HELP "Codice del conto di prima riga"
|
||||
USE LF_PCON SELECT SOTTOCONTO != ""
|
||||
INPUT SOTTOCONTO I_SOTTOCONTO
|
||||
INPUT GRUPPO F_GRUPPOCLIFO
|
||||
@ -185,6 +193,7 @@ END
|
||||
LIST I_SEZIONE2 1 8
|
||||
BEGIN
|
||||
PROMPT 1 8 "Riga 2 "
|
||||
HELP "Sezione del conto della prima riga"
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
END
|
||||
@ -192,6 +201,7 @@ END
|
||||
NUMBER I_IMPORTO2 15
|
||||
BEGIN
|
||||
PROMPT 18 8 ""
|
||||
HELP "Importo del conto di seconda riga"
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
@ -206,16 +216,19 @@ END
|
||||
NUMBER I_GRUPPO2 3
|
||||
BEGIN
|
||||
PROMPT 51 8 ""
|
||||
HELP "Codice del conto di seconda riga"
|
||||
END
|
||||
|
||||
NUMBER I_CONTO2 3
|
||||
BEGIN
|
||||
PROMPT 57 8 ""
|
||||
HELP "Codice del conto di seconda riga"
|
||||
END
|
||||
|
||||
NUMBER I_SOTTOCONTO2 6
|
||||
BEGIN
|
||||
PROMPT 65 8 ""
|
||||
HELP "Codice del conto di seconda riga"
|
||||
COPY USE I_SOTTOCONTO
|
||||
INPUT GRUPPO I_GRUPPO2
|
||||
INPUT CONTO I_CONTO2
|
||||
@ -234,6 +247,7 @@ END
|
||||
LIST I_SEZIONE3 1 8
|
||||
BEGIN
|
||||
PROMPT 1 9 "Riga 3 "
|
||||
HELP "Sezione del conto di terza riga"
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
END
|
||||
@ -241,6 +255,7 @@ END
|
||||
NUMBER I_IMPORTO3 15
|
||||
BEGIN
|
||||
PROMPT 18 9 ""
|
||||
HELP "Importo del conto di terza riga"
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
@ -255,16 +270,19 @@ END
|
||||
NUMBER I_GRUPPO3 3
|
||||
BEGIN
|
||||
PROMPT 51 9 ""
|
||||
HELP "Codice del conto di terza riga"
|
||||
END
|
||||
|
||||
NUMBER I_CONTO3 3
|
||||
BEGIN
|
||||
PROMPT 57 9 ""
|
||||
HELP "Codice del conto di terza riga"
|
||||
END
|
||||
|
||||
NUMBER I_SOTTOCONTO3 6
|
||||
BEGIN
|
||||
PROMPT 65 9 ""
|
||||
HELP "Codice del conto di terza riga"
|
||||
COPY USE I_SOTTOCONTO
|
||||
INPUT GRUPPO I_GRUPPO3
|
||||
INPUT CONTO I_CONTO3
|
||||
@ -281,6 +299,7 @@ END
|
||||
LIST I_SEZIONE4 1 8
|
||||
BEGIN
|
||||
PROMPT 1 10 "Riga 4 "
|
||||
HELP "Sezione del conto di quarta riga"
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
END
|
||||
@ -288,6 +307,7 @@ END
|
||||
NUMBER I_IMPORTO4 15
|
||||
BEGIN
|
||||
PROMPT 18 10 ""
|
||||
HELP "Importo del conto di quarta riga"
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
@ -302,16 +322,19 @@ END
|
||||
NUMBER I_GRUPPO4 3
|
||||
BEGIN
|
||||
PROMPT 51 10 ""
|
||||
HELP "Codice del conto di quarta riga"
|
||||
END
|
||||
|
||||
NUMBER I_CONTO4 3
|
||||
BEGIN
|
||||
PROMPT 57 10 ""
|
||||
HELP "Codice del conto di quarta riga"
|
||||
END
|
||||
|
||||
NUMBER I_SOTTOCONTO4 6
|
||||
BEGIN
|
||||
PROMPT 65 10 ""
|
||||
HELP "Codice del conto di quarta riga"
|
||||
COPY USE I_SOTTOCONTO
|
||||
INPUT GRUPPO I_GRUPPO4
|
||||
INPUT CONTO I_CONTO4
|
||||
@ -341,4 +364,3 @@ ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
|
||||
|
@ -40,18 +40,21 @@ END
|
||||
STRING O_INDIRIZZO 40
|
||||
BEGIN
|
||||
PROMPT 2 4 "Indirizzo "
|
||||
HELP "Indirizzo di residenza della persona"
|
||||
FIELD INDIR
|
||||
END
|
||||
|
||||
STRING O_NUMERO 6
|
||||
BEGIN
|
||||
PROMPT 55 4 "Numero "
|
||||
HELP "Numero civico della residenza della persona"
|
||||
FIELD CIV
|
||||
END
|
||||
|
||||
STRING O_STATO 3
|
||||
BEGIN
|
||||
PROMPT 2 5 "Stato "
|
||||
HELP "Stato di residenza della persona"
|
||||
FIELD STATO
|
||||
FLAGS "U"
|
||||
USE %STA
|
||||
@ -65,6 +68,7 @@ END
|
||||
STRING O_COMUNE 4
|
||||
BEGIN
|
||||
PROMPT 27 5 "Comune "
|
||||
HELP "Codice del comune di residenza della persona"
|
||||
FIELD COM
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
@ -81,12 +85,14 @@ END
|
||||
NUMBER O_CAP 5
|
||||
BEGIN
|
||||
PROMPT 56 5 "C.A.P. "
|
||||
HELP "CAP della residenza della persona"
|
||||
FIELD CAP
|
||||
END
|
||||
|
||||
STRING O_DENCOM 50
|
||||
BEGIN
|
||||
PROMPT 2 6 "Denominazione "
|
||||
HELP "Nome del comune di residenza della persona"
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM O_DENCOM
|
||||
DISPLAY "Denominazione@50" DENCOM
|
||||
@ -111,12 +117,14 @@ END
|
||||
DATE O_DATANAS
|
||||
BEGIN
|
||||
PROMPT 23 9 "Data "
|
||||
HELP "Data di nascita della persona"
|
||||
FIELD DNASC
|
||||
END
|
||||
|
||||
STRING O_STATONAS 3
|
||||
BEGIN
|
||||
PROMPT 41 9 "Stato "
|
||||
HELP "Codice dello stato di nascita della persona"
|
||||
FIELD STATONASC
|
||||
FLAGS "U"
|
||||
COPY USE O_STATO
|
||||
@ -129,6 +137,7 @@ END
|
||||
STRING O_COMUNENAS 4
|
||||
BEGIN
|
||||
PROMPT 55 9 "Comune "
|
||||
HELP "Codice del comune di nascita della persona"
|
||||
FIELD COMNASC
|
||||
FLAGS "U"
|
||||
COPY USE O_COMUNE
|
||||
@ -143,6 +152,7 @@ END
|
||||
STRING O_DENCOMNAS 50
|
||||
BEGIN
|
||||
PROMPT 2 10 "Denominazione "
|
||||
HELP "Nome del comune di nascita della persona"
|
||||
COPY USE O_DENCOM
|
||||
INPUT DENCOM O_DENCOMNAS
|
||||
COPY DISPLAY O_DENCOM
|
||||
|
@ -1004,18 +1004,21 @@ bool TPrimanota_application::iva_sottoconto_handler(TMask_field& f, KEY key)
|
||||
if (!suspended_handler(f, key))
|
||||
return FALSE;
|
||||
|
||||
if (key == K_TAB && f.dirty() && !app().causale().corrispettivi())
|
||||
if (key == K_TAB && f.dirty())
|
||||
{
|
||||
const TLocalisamfile& piano = ((TEdit_field&)f).browse()->cursor()->file();
|
||||
int spric = piano.get_int("TIPOSPRIC");
|
||||
if (spric == 2 || spric == 3)
|
||||
if ((spric == 2 || spric == 3) && !app().causale().corrispettivi())
|
||||
{
|
||||
const TFixed_string td(app().causale().tipo_doc());
|
||||
if (td == "FV" || td == "NC") spric = 4;
|
||||
}
|
||||
/*
|
||||
TMask_field& s = f.mask().field(105);
|
||||
if (app().iva() == iva_vendite || s.get().empty())
|
||||
s.set(spric > 0 ? format("%d", spric) : "");
|
||||
*/
|
||||
f.mask().set(105, spric > 0 ? format("%d", spric) : "");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -127,6 +127,7 @@ BEGIN
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "C/R" TIPOCR
|
||||
OUTPUT 109 SOTTOCONTO
|
||||
OUTPUT 107 GRUPPO
|
||||
OUTPUT 108 CONTO
|
||||
|
@ -10,6 +10,7 @@ END
|
||||
DATE F_FROMDATE
|
||||
BEGIN
|
||||
PROMPT 2 2 "Data "
|
||||
HELP "Data del primo movimento provvisorio da eliminare"
|
||||
USE LF_MOV KEY 2 SELECT PROVVIS="P"
|
||||
INPUT DATAREG F_FROMDATE
|
||||
INPUT NUMREG F_FROMREG
|
||||
@ -32,6 +33,7 @@ END
|
||||
GROUPBOX DLG_NULL 40 3
|
||||
BEGIN
|
||||
PROMPT 1 4 "Al movimento"
|
||||
HELP "Data dell'ultimo movimento provvisorio da eliminare"
|
||||
END
|
||||
|
||||
DATE F_TODATE
|
||||
|
480
cg/cg4200.cpp
480
cg/cg4200.cpp
@ -1,240 +1,240 @@
|
||||
#include <applicat.h>
|
||||
#include <lffiles.h>
|
||||
#include <mask.h>
|
||||
#include <isam.h>
|
||||
#include <pconti.h>
|
||||
#include <assoc.h>
|
||||
#include <urldefid.h>
|
||||
#include <prefix.h>
|
||||
|
||||
#include "cg4.h"
|
||||
#include "cg4200.h"
|
||||
|
||||
class TCopia_archivi : public TApplication
|
||||
{
|
||||
TMask* _msk;
|
||||
long _default_firm;
|
||||
|
||||
virtual bool create() ;
|
||||
virtual bool destroy() ;
|
||||
bool menu(MENU_TAG);
|
||||
bool copyfile(int logicnum, long from, long to);
|
||||
void clearivd(long to);
|
||||
void copyivd(long from, long to);
|
||||
|
||||
public:
|
||||
TCopia_archivi() : _msk(NULL) {}
|
||||
};
|
||||
|
||||
bool TCopia_archivi::copyfile(int logicnum, long from, long to)
|
||||
{
|
||||
if (from > 0) set_firm(from);
|
||||
else prefhndl->set("com");
|
||||
TSystemisamfile file(logicnum);
|
||||
TFilename t; t.tempdir(); t << "/tr" << logicnum;
|
||||
|
||||
if (file.dump(t) != NOERR)
|
||||
return error_box("Impossibile leggere i dati da copiare errore n. %d", file.status());
|
||||
set_firm(to);
|
||||
TFilename s; s.tempdir(); s << "/sv" << logicnum;
|
||||
|
||||
if (file.dump(s) != NOERR)
|
||||
return error_box("Impossibile salvare i dati originali errore n. %d", file.status());
|
||||
|
||||
TDir dir;
|
||||
|
||||
dir.get(logicnum, _lock, _nordir, _sysdirop);
|
||||
dir.eod() = 0L;
|
||||
dir.put(logicnum, _nordir, _sysdirop);
|
||||
file.packindex();
|
||||
if (file.load(t) != NOERR)
|
||||
{
|
||||
error_box("Impossibile scrivere i dati errore n. %d. Cerco di ripristinare i dati originali.", file.status());
|
||||
dir.get(logicnum, _lock, _nordir, _sysdirop);
|
||||
dir.eod() = 0L;
|
||||
dir.put(logicnum, _nordir, _sysdirop);
|
||||
file.packindex();
|
||||
if (file.load(s))
|
||||
error_box("Impossibile scrivere i dati originali errore n. %d", file.status());
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TCopia_archivi::clearivd(long to)
|
||||
{
|
||||
TLocalisamfile pcon(LF_PCON);
|
||||
|
||||
for (pcon.first(); pcon.good(); pcon.next())
|
||||
{
|
||||
pcon.put(PCN_SEZIVD, "0");
|
||||
pcon.zero(PCN_LETTIVD);
|
||||
pcon.zero(PCN_NUMRIVD);
|
||||
pcon.zero(PCN_NUMIVD);
|
||||
pcon.put(PCN_SEZIVDOPP, "0");
|
||||
pcon.zero(PCN_LETTIVDOPP);
|
||||
pcon.zero(PCN_NUMRIVDOPP);
|
||||
pcon.zero(PCN_NUMIVDOPP);
|
||||
pcon.rewrite();
|
||||
}
|
||||
}
|
||||
|
||||
void TCopia_archivi::copyivd(long from, long to)
|
||||
{
|
||||
if (from > 0) set_firm(from);
|
||||
else prefhndl->set("com");
|
||||
TLocalisamfile pcon(LF_PCON);
|
||||
TAssoc_array riclass;
|
||||
|
||||
for (pcon.first(); pcon.good(); pcon.next())
|
||||
{
|
||||
TString16 key;
|
||||
TToken_string data;
|
||||
|
||||
key.format("%03d%03d%06ld", pcon.get_int(PCN_GRUPPO),
|
||||
pcon.get_int(PCN_CONTO), pcon.get_long(PCN_SOTTOCONTO));
|
||||
data.add(pcon.get(PCN_SEZIVD));
|
||||
data.add(pcon.get(PCN_LETTIVD));
|
||||
data.add(pcon.get(PCN_NUMRIVD));
|
||||
data.add(pcon.get(PCN_NUMIVD));
|
||||
data.add(pcon.get(PCN_SEZIVDOPP));
|
||||
data.add(pcon.get(PCN_LETTIVDOPP));
|
||||
data.add(pcon.get(PCN_NUMRIVDOPP));
|
||||
data.add(pcon.get(PCN_NUMIVDOPP));
|
||||
riclass.add(key, data);
|
||||
}
|
||||
set_firm(to);
|
||||
for (pcon.first(); pcon.good(); pcon.next())
|
||||
{
|
||||
TString16 key;
|
||||
|
||||
key.format("%03d%03d%06ld", pcon.get_int(PCN_GRUPPO),
|
||||
pcon.get_int(PCN_CONTO), pcon.get_long(PCN_SOTTOCONTO));
|
||||
|
||||
TToken_string * data = (TToken_string *) riclass.objptr(key);
|
||||
|
||||
if (data == NULL)
|
||||
{
|
||||
pcon.put(PCN_SEZIVD, "0");
|
||||
pcon.zero(PCN_LETTIVD);
|
||||
pcon.zero(PCN_NUMRIVD);
|
||||
pcon.zero(PCN_NUMIVD);
|
||||
pcon.put(PCN_SEZIVDOPP, "0");
|
||||
pcon.zero(PCN_LETTIVDOPP);
|
||||
pcon.zero(PCN_NUMRIVDOPP);
|
||||
pcon.zero(PCN_NUMIVDOPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
pcon.put(PCN_SEZIVD, data->get(0));
|
||||
pcon.put(PCN_LETTIVD, data->get());
|
||||
pcon.put(PCN_NUMRIVD, data->get());
|
||||
pcon.put(PCN_NUMIVD, data->get());
|
||||
pcon.put(PCN_SEZIVDOPP, data->get());
|
||||
pcon.put(PCN_LETTIVDOPP, data->get());
|
||||
pcon.put(PCN_NUMRIVDOPP, data->get());
|
||||
pcon.put(PCN_NUMIVDOPP, data->get());
|
||||
}
|
||||
pcon.rewrite();
|
||||
}
|
||||
}
|
||||
|
||||
bool TCopia_archivi::create()
|
||||
{
|
||||
_msk = new TMask("cg4200a") ;
|
||||
_default_firm = get_firm();
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TCopia_archivi::destroy()
|
||||
{
|
||||
if (_msk != NULL) delete _msk;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TCopia_archivi::menu(MENU_TAG)
|
||||
{
|
||||
while (_msk->run() == K_ENTER)
|
||||
{
|
||||
const long from_firm = _msk->get_long(F_FROMFIRM);
|
||||
const long to_firm = _msk->get_long(F_TOFIRM);
|
||||
const bool copy_pcon = _msk->get_bool(F_PCON);
|
||||
const bool copy_causali = _msk->get_bool(F_CAUS);
|
||||
const bool copy_clifo = _msk->get_bool(F_CLIFO);
|
||||
const bool copy_ivd = _msk->get_bool(F_IVD);
|
||||
if (copy_pcon || copy_causali || copy_clifo || copy_ivd)
|
||||
{
|
||||
if (prefhndl->exist(to_firm))
|
||||
{
|
||||
set_firm(to_firm);
|
||||
TLocalisamfile mov(LF_MOV);
|
||||
|
||||
if ((mov.eod() == 0) || (!copy_pcon && !copy_causali && !copy_clifo))
|
||||
{
|
||||
TString mess("Attenzione ");
|
||||
int count = 0;
|
||||
|
||||
if (copy_pcon)
|
||||
{
|
||||
mess << "il piano dei conti";
|
||||
count++;
|
||||
}
|
||||
if (copy_causali)
|
||||
{
|
||||
if (count > 0) mess << ",";
|
||||
mess << " le causali";
|
||||
count++;
|
||||
}
|
||||
if (copy_clifo)
|
||||
{
|
||||
if (count > 0) mess << ",";
|
||||
mess << " i clienti e fornitori";
|
||||
count++;
|
||||
}
|
||||
if (copy_ivd)
|
||||
{
|
||||
if (count > 0) mess << ",";
|
||||
mess << " la riclassificazione IV direttiva";
|
||||
count++;
|
||||
}
|
||||
mess << " della ditta " << to_firm;
|
||||
if (count > 1)
|
||||
mess << " saranno sovrascritti";
|
||||
else
|
||||
mess << " sara' sovrascritto";
|
||||
mess << ". Devo continuare";
|
||||
if (yesno_box((const char *) mess))
|
||||
{
|
||||
if (copy_pcon)
|
||||
{
|
||||
if (copyfile(LF_PCON, from_firm, to_firm) && !copy_ivd)
|
||||
clearivd(to_firm);
|
||||
}
|
||||
if (copy_causali)
|
||||
{
|
||||
if (copyfile(LF_CAUSALI, from_firm, to_firm))
|
||||
copyfile(LF_RCAUSALI, from_firm, to_firm);
|
||||
}
|
||||
if (copy_clifo)
|
||||
copyfile(LF_CLIFO, from_firm, to_firm);
|
||||
if (!copy_pcon && copy_ivd)
|
||||
copyivd(from_firm, to_firm);
|
||||
}
|
||||
}
|
||||
else error_box("La copia si puo' effettuare solo se non sono stati registrati movimenti");
|
||||
set_firm(_default_firm);
|
||||
}
|
||||
else error_box("Gli archivi della ditta %d non sono stati ancora generati",to_firm);
|
||||
_msk->reset();
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int cg4200(int argc, char** argv)
|
||||
{
|
||||
TCopia_archivi a ;
|
||||
a.run(argc, argv, "Copia archivi");
|
||||
return 0;
|
||||
}
|
||||
#include <applicat.h>
|
||||
#include <isam.h>
|
||||
#include <mask.h>
|
||||
|
||||
#include <pconti.h>
|
||||
#include <assoc.h>
|
||||
#include <urldefid.h>
|
||||
#include <prefix.h>
|
||||
|
||||
#include "cg4.h"
|
||||
#include "cg4200.h"
|
||||
|
||||
class TCopia_archivi : public TApplication
|
||||
{
|
||||
TMask* _msk;
|
||||
long _default_firm;
|
||||
|
||||
virtual bool create() ;
|
||||
virtual bool destroy() ;
|
||||
bool menu(MENU_TAG);
|
||||
bool copyfile(int logicnum, long from, long to);
|
||||
void clearivd(long to);
|
||||
void copyivd(long from, long to);
|
||||
|
||||
public:
|
||||
TCopia_archivi() : _msk(NULL) {}
|
||||
};
|
||||
|
||||
bool TCopia_archivi::copyfile(int logicnum, long from, long to)
|
||||
{
|
||||
if (from > 0) set_firm(from);
|
||||
else prefhndl->set("com");
|
||||
TSystemisamfile file(logicnum);
|
||||
TFilename t; t.tempdir(); t << "/tr" << logicnum;
|
||||
|
||||
if (file.dump(t) != NOERR)
|
||||
return error_box("Impossibile leggere i dati da copiare errore n. %d", file.status());
|
||||
set_firm(to);
|
||||
TFilename s; s.tempdir(); s << "/sv" << logicnum;
|
||||
|
||||
if (file.dump(s) != NOERR)
|
||||
return error_box("Impossibile salvare i dati originali errore n. %d", file.status());
|
||||
|
||||
TDir dir;
|
||||
|
||||
dir.get(logicnum, _lock, _nordir, _sysdirop);
|
||||
dir.eod() = 0L;
|
||||
dir.put(logicnum, _nordir, _sysdirop);
|
||||
file.packindex();
|
||||
if (file.load(t) != NOERR)
|
||||
{
|
||||
error_box("Impossibile scrivere i dati errore n. %d. Cerco di ripristinare i dati originali.", file.status());
|
||||
dir.get(logicnum, _lock, _nordir, _sysdirop);
|
||||
dir.eod() = 0L;
|
||||
dir.put(logicnum, _nordir, _sysdirop);
|
||||
file.packindex();
|
||||
if (file.load(s))
|
||||
error_box("Impossibile scrivere i dati originali errore n. %d", file.status());
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TCopia_archivi::clearivd(long to)
|
||||
{
|
||||
TLocalisamfile pcon(LF_PCON);
|
||||
|
||||
for (pcon.first(); pcon.good(); pcon.next())
|
||||
{
|
||||
pcon.put(PCN_SEZIVD, "0");
|
||||
pcon.zero(PCN_LETTIVD);
|
||||
pcon.zero(PCN_NUMRIVD);
|
||||
pcon.zero(PCN_NUMIVD);
|
||||
pcon.put(PCN_SEZIVDOPP, "0");
|
||||
pcon.zero(PCN_LETTIVDOPP);
|
||||
pcon.zero(PCN_NUMRIVDOPP);
|
||||
pcon.zero(PCN_NUMIVDOPP);
|
||||
pcon.rewrite();
|
||||
}
|
||||
}
|
||||
|
||||
void TCopia_archivi::copyivd(long from, long to)
|
||||
{
|
||||
if (from > 0) set_firm(from);
|
||||
else prefhndl->set("com");
|
||||
TLocalisamfile pcon(LF_PCON);
|
||||
TAssoc_array riclass;
|
||||
|
||||
for (pcon.first(); pcon.good(); pcon.next())
|
||||
{
|
||||
TString16 key;
|
||||
TToken_string data;
|
||||
|
||||
key.format("%03d%03d%06ld", pcon.get_int(PCN_GRUPPO),
|
||||
pcon.get_int(PCN_CONTO), pcon.get_long(PCN_SOTTOCONTO));
|
||||
data.add(pcon.get(PCN_SEZIVD));
|
||||
data.add(pcon.get(PCN_LETTIVD));
|
||||
data.add(pcon.get(PCN_NUMRIVD));
|
||||
data.add(pcon.get(PCN_NUMIVD));
|
||||
data.add(pcon.get(PCN_SEZIVDOPP));
|
||||
data.add(pcon.get(PCN_LETTIVDOPP));
|
||||
data.add(pcon.get(PCN_NUMRIVDOPP));
|
||||
data.add(pcon.get(PCN_NUMIVDOPP));
|
||||
riclass.add(key, data);
|
||||
}
|
||||
set_firm(to);
|
||||
for (pcon.first(); pcon.good(); pcon.next())
|
||||
{
|
||||
TString16 key;
|
||||
|
||||
key.format("%03d%03d%06ld", pcon.get_int(PCN_GRUPPO),
|
||||
pcon.get_int(PCN_CONTO), pcon.get_long(PCN_SOTTOCONTO));
|
||||
|
||||
TToken_string * data = (TToken_string *) riclass.objptr(key);
|
||||
|
||||
if (data == NULL)
|
||||
{
|
||||
pcon.put(PCN_SEZIVD, "0");
|
||||
pcon.zero(PCN_LETTIVD);
|
||||
pcon.zero(PCN_NUMRIVD);
|
||||
pcon.zero(PCN_NUMIVD);
|
||||
pcon.put(PCN_SEZIVDOPP, "0");
|
||||
pcon.zero(PCN_LETTIVDOPP);
|
||||
pcon.zero(PCN_NUMRIVDOPP);
|
||||
pcon.zero(PCN_NUMIVDOPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
pcon.put(PCN_SEZIVD, data->get(0));
|
||||
pcon.put(PCN_LETTIVD, data->get());
|
||||
pcon.put(PCN_NUMRIVD, data->get());
|
||||
pcon.put(PCN_NUMIVD, data->get());
|
||||
pcon.put(PCN_SEZIVDOPP, data->get());
|
||||
pcon.put(PCN_LETTIVDOPP, data->get());
|
||||
pcon.put(PCN_NUMRIVDOPP, data->get());
|
||||
pcon.put(PCN_NUMIVDOPP, data->get());
|
||||
}
|
||||
pcon.rewrite();
|
||||
}
|
||||
}
|
||||
|
||||
bool TCopia_archivi::create()
|
||||
{
|
||||
_msk = new TMask("cg4200a") ;
|
||||
_default_firm = get_firm();
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TCopia_archivi::destroy()
|
||||
{
|
||||
if (_msk != NULL) delete _msk;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TCopia_archivi::menu(MENU_TAG)
|
||||
{
|
||||
while (_msk->run() == K_ENTER)
|
||||
{
|
||||
const long from_firm = _msk->get_long(F_FROMFIRM);
|
||||
const long to_firm = _msk->get_long(F_TOFIRM);
|
||||
const bool copy_pcon = _msk->get_bool(F_PCON);
|
||||
const bool copy_causali = _msk->get_bool(F_CAUS);
|
||||
const bool copy_clifo = _msk->get_bool(F_CLIFO);
|
||||
const bool copy_ivd = _msk->get_bool(F_IVD);
|
||||
if (copy_pcon || copy_causali || copy_clifo || copy_ivd)
|
||||
{
|
||||
if (prefhndl->exist(to_firm))
|
||||
{
|
||||
set_firm(to_firm);
|
||||
TLocalisamfile mov(LF_MOV);
|
||||
|
||||
if ((mov.eod() == 0) || (!copy_pcon && !copy_causali && !copy_clifo))
|
||||
{
|
||||
TString mess("Attenzione ");
|
||||
int count = 0;
|
||||
|
||||
if (copy_pcon)
|
||||
{
|
||||
mess << "il piano dei conti";
|
||||
count++;
|
||||
}
|
||||
if (copy_causali)
|
||||
{
|
||||
if (count > 0) mess << ",";
|
||||
mess << " le causali";
|
||||
count++;
|
||||
}
|
||||
if (copy_clifo)
|
||||
{
|
||||
if (count > 0) mess << ",";
|
||||
mess << " i clienti e fornitori";
|
||||
count++;
|
||||
}
|
||||
if (copy_ivd)
|
||||
{
|
||||
if (count > 0) mess << ",";
|
||||
mess << " la riclassificazione IV direttiva";
|
||||
count++;
|
||||
}
|
||||
mess << " della ditta " << to_firm;
|
||||
if (count > 1)
|
||||
mess << " saranno sovrascritti";
|
||||
else
|
||||
mess << " sara' sovrascritto";
|
||||
mess << ". Devo continuare";
|
||||
if (yesno_box((const char *) mess))
|
||||
{
|
||||
if (copy_pcon)
|
||||
{
|
||||
if (copyfile(LF_PCON, from_firm, to_firm) && !copy_ivd)
|
||||
clearivd(to_firm);
|
||||
}
|
||||
if (copy_causali)
|
||||
{
|
||||
if (copyfile(LF_CAUSALI, from_firm, to_firm))
|
||||
copyfile(LF_RCAUSALI, from_firm, to_firm);
|
||||
}
|
||||
if (copy_clifo)
|
||||
copyfile(LF_CLIFO, from_firm, to_firm);
|
||||
if (!copy_pcon && copy_ivd)
|
||||
copyivd(from_firm, to_firm);
|
||||
}
|
||||
}
|
||||
else error_box("La copia si puo' effettuare solo se non sono stati registrati movimenti");
|
||||
set_firm(_default_firm);
|
||||
}
|
||||
else error_box("Gli archivi della ditta %d non sono stati ancora generati",to_firm);
|
||||
_msk->reset();
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int cg4200(int argc, char* argv[])
|
||||
{
|
||||
TCopia_archivi a ;
|
||||
a.run(argc, argv, "Copia archivi");
|
||||
return 0;
|
||||
}
|
||||
|
241
cg/cg4200a.uml
241
cg/cg4200a.uml
@ -1,118 +1,123 @@
|
||||
#include "cg4200.h"
|
||||
|
||||
PAGE "Copia da ditta a ditta" -1 -1 78 16
|
||||
|
||||
GROUPBOX DLG_NULL 76 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "Copia da"
|
||||
END
|
||||
|
||||
RADIOBUTTON F_FROMTYPE 60
|
||||
BEGIN
|
||||
PROMPT 13 2 ""
|
||||
ITEMS "C|Archivi Comuni"
|
||||
MESSAGE CLEAR,F_FROMFIRM|CLEAR,F_DFROMFIRM
|
||||
ITEMS "D|Archivi Ditta"
|
||||
MESSAGE ENABLE,F_FROMFIRM|ENABLE,F_DFROMFIRM
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
NUMBER F_FROMFIRM 5
|
||||
BEGIN
|
||||
PROMPT 4 5 "Ditta "
|
||||
FLAGS "R"
|
||||
USE LF_NDITTE KEY 1
|
||||
CHECKTYPE NORMAL
|
||||
INPUT CODDITTA F_FROMFIRM
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
OUTPUT F_FROMFIRM CODDITTA
|
||||
OUTPUT F_DFROMFIRM RAGSOC
|
||||
HELP "Codice della ditta da cui prelevare i dati"
|
||||
WARNING "Ditta assente"
|
||||
END
|
||||
|
||||
STRING F_DFROMFIRM 50
|
||||
BEGIN
|
||||
PROMPT 20 5 ""
|
||||
USE LF_NDITTE KEY 2
|
||||
CHECKTYPE NORMAL
|
||||
INPUT RAGSOC F_DFROMFIRM
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
DISPLAY "Codice" CODDITTA
|
||||
COPY OUTPUT F_FROMFIRM
|
||||
HELP "Ragione sociale della ditta da cui prelevare i dati"
|
||||
WARNING "Ditta assente"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 3
|
||||
BEGIN
|
||||
PROMPT 1 7 "Copia su"
|
||||
END
|
||||
|
||||
NUMBER F_TOFIRM 5
|
||||
BEGIN
|
||||
PROMPT 4 8 "Ditta "
|
||||
FLAGS "FR"
|
||||
COPY USE F_FROMFIRM
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_TOFIRM
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
OUTPUT F_TOFIRM CODDITTA
|
||||
OUTPUT F_DTOFIRM RAGSOC
|
||||
HELP "Codice della ditta su cui duplicare i dati"
|
||||
WARNING "Ditta assente"
|
||||
END
|
||||
|
||||
STRING F_DTOFIRM 50
|
||||
BEGIN
|
||||
PROMPT 20 8 ""
|
||||
COPY USE F_DFROMFIRM
|
||||
CHECKTYPE NORMAL
|
||||
INPUT RAGSOC F_DTOFIRM
|
||||
COPY DISPLAY F_DFROMFIRM
|
||||
COPY OUTPUT F_TOFIRM
|
||||
HELP "Descrizione della ditta su cui duplicare i dati"
|
||||
WARNING "Ditta assente"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
PROMPT 1 10 "Archivi da duplicare"
|
||||
END
|
||||
|
||||
BOOLEAN F_PCON
|
||||
BEGIN
|
||||
PROMPT 4 11 "Piano dei conti"
|
||||
END
|
||||
|
||||
BOOLEAN F_CAUS
|
||||
BEGIN
|
||||
PROMPT 34 11 "Causali"
|
||||
END
|
||||
|
||||
BOOLEAN F_CLIFO
|
||||
BEGIN
|
||||
PROMPT 54 11 "Clienti/Fornitori"
|
||||
END
|
||||
|
||||
BOOLEAN F_IVD
|
||||
BEGIN
|
||||
PROMPT 4 12 "IV Direttiva C.E.E."
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
MESSAGE EXIT,K_QUIT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
#include "cg4200.h"
|
||||
|
||||
PAGE "Copia da ditta a ditta" -1 -1 78 16
|
||||
|
||||
GROUPBOX DLG_NULL 76 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "Copia da"
|
||||
END
|
||||
|
||||
RADIOBUTTON F_FROMTYPE 60
|
||||
BEGIN
|
||||
PROMPT 13 2 ""
|
||||
HELP "Indicare il tipo di archivi da copiare"
|
||||
ITEMS "C|Archivi Comuni"
|
||||
MESSAGE CLEAR,F_FROMFIRM|CLEAR,F_DFROMFIRM
|
||||
ITEMS "D|Archivi Ditta"
|
||||
MESSAGE ENABLE,F_FROMFIRM|ENABLE,F_DFROMFIRM
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
NUMBER F_FROMFIRM 5
|
||||
BEGIN
|
||||
PROMPT 4 5 "Ditta "
|
||||
FLAGS "R"
|
||||
USE LF_NDITTE KEY 1
|
||||
CHECKTYPE NORMAL
|
||||
INPUT CODDITTA F_FROMFIRM
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
OUTPUT F_FROMFIRM CODDITTA
|
||||
OUTPUT F_DFROMFIRM RAGSOC
|
||||
HELP "Codice della ditta da cui prelevare i dati"
|
||||
WARNING "Ditta assente"
|
||||
END
|
||||
|
||||
STRING F_DFROMFIRM 50
|
||||
BEGIN
|
||||
PROMPT 20 5 ""
|
||||
USE LF_NDITTE KEY 2
|
||||
CHECKTYPE NORMAL
|
||||
INPUT RAGSOC F_DFROMFIRM
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
DISPLAY "Codice" CODDITTA
|
||||
COPY OUTPUT F_FROMFIRM
|
||||
HELP "Ragione sociale della ditta da cui prelevare i dati"
|
||||
WARNING "Ditta assente"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 3
|
||||
BEGIN
|
||||
PROMPT 1 7 "Copia su"
|
||||
END
|
||||
|
||||
NUMBER F_TOFIRM 5
|
||||
BEGIN
|
||||
PROMPT 4 8 "Ditta "
|
||||
FLAGS "FR"
|
||||
COPY USE F_FROMFIRM
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODDITTA F_TOFIRM
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione sociale @50" RAGSOC
|
||||
OUTPUT F_TOFIRM CODDITTA
|
||||
OUTPUT F_DTOFIRM RAGSOC
|
||||
HELP "Codice della ditta su cui duplicare i dati"
|
||||
WARNING "Ditta assente"
|
||||
END
|
||||
|
||||
STRING F_DTOFIRM 50
|
||||
BEGIN
|
||||
PROMPT 20 8 ""
|
||||
COPY USE F_DFROMFIRM
|
||||
CHECKTYPE NORMAL
|
||||
INPUT RAGSOC F_DTOFIRM
|
||||
COPY DISPLAY F_DFROMFIRM
|
||||
COPY OUTPUT F_TOFIRM
|
||||
HELP "Ragione sociale della ditta su cui duplicare i dati"
|
||||
WARNING "Ditta assente"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
PROMPT 1 10 "Archivi da duplicare"
|
||||
END
|
||||
|
||||
BOOLEAN F_PCON
|
||||
BEGIN
|
||||
PROMPT 4 11 "Piano dei conti"
|
||||
HELP "Indicare se duplicare l'archivio piano dei conti"
|
||||
END
|
||||
|
||||
BOOLEAN F_CAUS
|
||||
BEGIN
|
||||
PROMPT 34 11 "Causali"
|
||||
HELP "Indicare se duplicare l'archivio causali"
|
||||
END
|
||||
|
||||
BOOLEAN F_CLIFO
|
||||
BEGIN
|
||||
PROMPT 54 11 "Clienti/Fornitori"
|
||||
HELP "Indicare se duplicare l'archivio clienti/fornitori"
|
||||
END
|
||||
|
||||
BOOLEAN F_IVD
|
||||
BEGIN
|
||||
PROMPT 4 12 "IV Direttiva C.E.E."
|
||||
HELP "Indicare se duplicare l'archivio IV Direttiva C.E.E."
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
MESSAGE EXIT,K_QUIT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
370
cg/cg5300a.uml
370
cg/cg5300a.uml
@ -1,185 +1,185 @@
|
||||
#include "cg5300a.h"
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Parametri liquidazione" -1 -1 78 15
|
||||
|
||||
GROUPBOX DLG_NULL 71 3
|
||||
BEGIN
|
||||
PROMPT 4 0 "Ditta"
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 6 1 "Codice "
|
||||
FLAGS "DFGR"
|
||||
USE LF_NDITTE
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT F_CODDITTA CODDITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 20 1 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_YEAR 4
|
||||
BEGIN
|
||||
PROMPT 6 3 "Anno "
|
||||
HELP "Anno d'esercizio ??????"
|
||||
FIELD LIA->CODTAB
|
||||
USE LIA
|
||||
INPUT CODTAB F_YEAR
|
||||
DISPLAY "Anno@40" CODTAB
|
||||
DISPLAY "@2" S0
|
||||
OUTPUT F_YEAR CODTAB
|
||||
KEY 1
|
||||
FLAGS "RZ"
|
||||
CHECKTYPE REQUIRED
|
||||
ADD NONE
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 71 5
|
||||
BEGIN
|
||||
PROMPT 4 4 "Parametri ditta"
|
||||
END
|
||||
|
||||
LIST F_FREQ_VERS 14
|
||||
BEGIN
|
||||
PROMPT 6 5 "Frequenza versamenti "
|
||||
HELP "Indicare la frequenza dei versamenti delle liquidazioni IVA"
|
||||
ITEM "M|Mensile"
|
||||
ITEM "T|Trimestrale"
|
||||
FIELD LIA->S7
|
||||
END
|
||||
|
||||
NUMBER F_CRED_PREC 15 0
|
||||
BEGIN
|
||||
PROMPT 6 6 "Credito precedente "
|
||||
HELP "Eventuale credito di imposta dell'anno precedente"
|
||||
FIELD LIA->R0
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_CRED_COST 15 0
|
||||
BEGIN
|
||||
PROMPT 6 7 "Credito di costo "
|
||||
HELP "Eventuale crediti—o di costo dell'anno precedente"
|
||||
FIELD LIA->R5
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
SPREADSHEET F_SHEET_PLA 78 6
|
||||
BEGIN
|
||||
PROMPT 1 10 "Parametri attivita'"
|
||||
ITEM "Attivita'@5"
|
||||
ITEM "Tipo@1"
|
||||
ITEM "% Pro-rata@6"
|
||||
ITEM "Plafond art.8@15"
|
||||
ITEM "Plafond art.8b@15"
|
||||
ITEM "Plafond art.9@15"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
PAGE "" -1 -1 65 16
|
||||
|
||||
NUMBER F_CODATT 5
|
||||
BEGIN
|
||||
PROMPT 4 1 "Codice Attivita' "
|
||||
FLAGS "DZG"
|
||||
USE %AIS
|
||||
INPUT CODTAB F_CODATT
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODATT CODTAB
|
||||
OUTPUT F_DESATT S0
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DESATT 50 30
|
||||
BEGIN
|
||||
PROMPT 31 1 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST F_TIPOATT 26
|
||||
BEGIN
|
||||
PROMPT 4 3 "Tipo "
|
||||
HELP "Tipo di attivita' a della ditta"
|
||||
FLAGS "U"
|
||||
ITEM " |Altre"
|
||||
ITEM "M|Mista"
|
||||
ITEM "E|Mista evidenziata"
|
||||
ITEM "S|Servizio o mista generica"
|
||||
END
|
||||
|
||||
NUMBER F_PRORATA 6 2
|
||||
BEGIN
|
||||
PROMPT 4 5 "% Pro-Rata "
|
||||
HELP "Percentuale di pro-rata ???????"
|
||||
PICTURE ".2"
|
||||
NUM_EXPR {(#F_PRORATA>=0.0)&&(#F_PRORATA<=100.0)}
|
||||
WARNING "La percentuale deve essere compresa tra 0 e 100"
|
||||
FLAGS "R"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_P8 15
|
||||
BEGIN
|
||||
PROMPT 4 7 "Plafond art. 8 "
|
||||
HELP "?????????????"
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_P8B 15
|
||||
BEGIN
|
||||
PROMPT 4 9 "Plafond art. 8b "
|
||||
HELP "????????????"
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_P9 15
|
||||
BEGIN
|
||||
PROMPT 4 11 "Plafond art. 9 "
|
||||
HELP "?????????????"
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 9 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 "Azzera"
|
||||
MESSAGE RESET,1@
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
#include "cg5300a.h"
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Parametri liquidazione" -1 -1 78 15
|
||||
|
||||
GROUPBOX DLG_NULL 71 3
|
||||
BEGIN
|
||||
PROMPT 4 0 "Ditta"
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 6 1 "Codice "
|
||||
FLAGS "DFGR"
|
||||
USE LF_NDITTE
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
DISPLAY "Codice" CODDITTA
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT F_CODDITTA CODDITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 20 1 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_YEAR 4
|
||||
BEGIN
|
||||
PROMPT 6 3 "Anno "
|
||||
HELP "Anno d'esercizio ??????"
|
||||
FIELD LIA->CODTAB
|
||||
USE LIA
|
||||
INPUT CODTAB F_YEAR
|
||||
DISPLAY "Anno@40" CODTAB
|
||||
DISPLAY "@2" S0
|
||||
OUTPUT F_YEAR CODTAB
|
||||
KEY 1
|
||||
FLAGS "RZ"
|
||||
CHECKTYPE REQUIRED
|
||||
ADD NONE
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 71 5
|
||||
BEGIN
|
||||
PROMPT 4 4 "Parametri ditta"
|
||||
END
|
||||
|
||||
LIST F_FREQ_VERS 14
|
||||
BEGIN
|
||||
PROMPT 6 5 "Frequenza versamenti "
|
||||
HELP "Indicare la frequenza dei versamenti delle liquidazioni IVA"
|
||||
ITEM "M|Mensile"
|
||||
ITEM "T|Trimestrale"
|
||||
FIELD LIA->S7
|
||||
END
|
||||
|
||||
NUMBER F_CRED_PREC 15 0
|
||||
BEGIN
|
||||
PROMPT 6 6 "Credito precedente "
|
||||
HELP "Eventuale credito di imposta dell'anno precedente"
|
||||
FIELD LIA->R0
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_CRED_COST 15 0
|
||||
BEGIN
|
||||
PROMPT 6 7 "Credito di costo "
|
||||
HELP "Eventuale crediti—o di costo dell'anno precedente"
|
||||
FIELD LIA->R5
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
SPREADSHEET F_SHEET_PLA 78 6
|
||||
BEGIN
|
||||
PROMPT 1 10 "Parametri attivita'"
|
||||
ITEM "Attivita'@5"
|
||||
ITEM "Tipo@1"
|
||||
ITEM "% Pro-rata@6"
|
||||
ITEM "Plafond art.8@15"
|
||||
ITEM "Plafond art.8b@15"
|
||||
ITEM "Plafond art.9@15"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
PAGE "" -1 -1 65 16
|
||||
|
||||
NUMBER F_CODATT 5
|
||||
BEGIN
|
||||
PROMPT 4 1 "Codice Attivita' "
|
||||
FLAGS "DZG"
|
||||
USE %AIS
|
||||
INPUT CODTAB F_CODATT
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODATT CODTAB
|
||||
OUTPUT F_DESATT S0
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DESATT 50 30
|
||||
BEGIN
|
||||
PROMPT 31 1 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST F_TIPOATT 26
|
||||
BEGIN
|
||||
PROMPT 4 3 "Tipo "
|
||||
HELP "Tipo di attivita' a della ditta"
|
||||
FLAGS "U"
|
||||
ITEM " |Altre"
|
||||
ITEM "M|Mista"
|
||||
ITEM "E|Mista evidenziata"
|
||||
ITEM "S|Servizio o mista generica"
|
||||
END
|
||||
|
||||
NUMBER F_PRORATA 6 2
|
||||
BEGIN
|
||||
PROMPT 4 5 "% Pro-Rata "
|
||||
HELP "Percentuale di pro-rata ???????"
|
||||
PICTURE ".2"
|
||||
NUM_EXPR {(#F_PRORATA>=0.0)&&(#F_PRORATA<=100.0)}
|
||||
WARNING "La percentuale deve essere compresa tra 0 e 100"
|
||||
FLAGS "R"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_P8 15
|
||||
BEGIN
|
||||
PROMPT 4 7 "Plafond art. 8 "
|
||||
HELP "?????????????"
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_P8B 15
|
||||
BEGIN
|
||||
PROMPT 4 9 "Plafond art. 8b "
|
||||
HELP "????????????"
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_P9 15
|
||||
BEGIN
|
||||
PROMPT 4 11 "Plafond art. 9 "
|
||||
HELP "?????????????"
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 9 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 "Azzera"
|
||||
MESSAGE RESET,1@
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
Loading…
x
Reference in New Issue
Block a user