Aggiunta la gestione del saldo DARE e AVERE e dei totali IMPONIBILI.

Aggiuta la ricerca per descrizione dei conti e dei clienti nelle maschere.


git-svn-id: svn://10.65.10.50/trunk@129 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1994-09-01 16:26:29 +00:00
parent c9d6658992
commit 03532d4a93
10 changed files with 1553 additions and 1324 deletions

View File

@ -49,6 +49,10 @@
#define F_CORRVALUTA 134 #define F_CORRVALUTA 134
#define F_DATA74TER 135 #define F_DATA74TER 135
#define F_DESCAGG 136 #define F_DESCAGG 136
#define F_DARE 137
#define F_AVERE 138
#define F_IMPONIBILI 139
#define F_IMPOSTE 140
#define F_SHEETCG 300 #define F_SHEETCG 300
#define F_SHEETIVA 301 #define F_SHEETIVA 301

View File

@ -168,7 +168,7 @@ END
SPREADSHEET F_SHEETCG SPREADSHEET F_SHEETCG
BEGIN BEGIN
PROMPT 1 10 "" PROMPT 0 9 ""
ITEM "Dare@17" ITEM "Dare@17"
ITEM "Avere@17" ITEM "Avere@17"
ITEM " @1" ITEM " @1"
@ -186,6 +186,20 @@ BEGIN
ITEM " @1" ITEM " @1"
END END
NUMBER F_DARE 17
BEGIN
PROMPT 1 -1 "Saldo Dare "
FLAGS "DRV"
PICTURE "."
END
NUMBER F_AVERE 17
BEGIN
PROMPT 40 -1 "Saldo Avere "
FLAGS "DRV"
PICTURE "."
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -315,7 +315,7 @@ STRING F_PIVACLIENTE 14
BEGIN BEGIN
PROMPT 1 11 "Partita IVA " PROMPT 1 11 "Partita IVA "
GROUP 1 GROUP 1
USE LF_CLIFO KEY 3 USE LF_CLIFO KEY 5
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT STATOPAIV F_STATOPAIV INPUT STATOPAIV F_STATOPAIV
INPUT PAIV F_PIVACLIENTE INPUT PAIV F_PIVACLIENTE
@ -331,7 +331,7 @@ STRING F_PIVAFORNITORE 14
BEGIN BEGIN
PROMPT 1 11 "Partita IVA " PROMPT 1 11 "Partita IVA "
GROUP 2 GROUP 2
USE LF_CLIFO KEY 3 USE LF_CLIFO KEY 5
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT STATOPAIV F_STATOPAIV INPUT STATOPAIV F_STATOPAIV
INPUT PAIV F_PIVAFORNITORE INPUT PAIV F_PIVAFORNITORE
@ -534,7 +534,7 @@ END
SPREADSHEET F_SHEETIVA 0 7 SPREADSHEET F_SHEETIVA 0 7
BEGIN BEGIN
PROMPT 3 4 "" PROMPT 0 4 ""
ITEM "Imponibile@14" ITEM "Imponibile@14"
ITEM "Iva@4" ITEM "Iva@4"
ITEM "Det@1" ITEM "Det@1"
@ -547,10 +547,23 @@ BEGIN
ITEM "Descrizione Conto@50" ITEM "Descrizione Conto@50"
END END
NUMBER F_IMPONIBILI 17
BEGIN
PROMPT 1 11 "Totale imponibili "
FLAGS "DRV"
PICTURE "."
END
NUMBER F_IMPOSTE 17
BEGIN
PROMPT 40 11 "Totale imposte "
FLAGS "DRV"
PICTURE "."
END
SPREADSHEET F_SHEETCG SPREADSHEET F_SHEETCG
BEGIN BEGIN
PROMPT 3 11 "" PROMPT 0 12 ""
ITEM "Dare@17" ITEM "Dare@17"
ITEM "Avere@17" ITEM "Avere@17"
ITEM " @1" ITEM " @1"
@ -568,6 +581,20 @@ BEGIN
ITEM " @1" ITEM " @1"
END END
NUMBER F_DARE 17
BEGIN
PROMPT 1 -1 "Saldo Dare "
FLAGS "DRV"
PICTURE "."
END
NUMBER F_AVERE 17
BEGIN
PROMPT 40 -1 "Saldo Avere "
FLAGS "DRV"
PICTURE "."
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -157,12 +157,15 @@ int TMovimentoPN::write(bool force, TDate&)
const TString16 reg(r.get("REG")); const TString16 reg(r.get("REG"));
TRegistro registro(reg, annoiva); TRegistro registro(reg, annoiva);
if (reg.not_empty() && registro.tipo_attivita() == "M") if (registro.iva() != nessuna_iva)
{ {
const bool mista = registro.tipo_attivita() == "M";
for (int i = 0; i < iva_items(); i++) for (int i = 0; i < iva_items(); i++)
{
int tipoatt = 1;
if (mista)
{ {
const int riga = iva(i).get_int("RIGAIMP"); const int riga = iva(i).get_int("RIGAIMP");
int tipoatt = 0;
if (riga) if (riga)
{ {
const TRectype& r = cg(riga-1); const TRectype& r = cg(riga-1);
@ -175,7 +178,8 @@ int TMovimentoPN::write(bool force, TDate&)
if (ib == ib_passivita || ib == ib_ricavi) if (ib == ib_passivita || ib == ib_ricavi)
{ {
int ricser = conto.get_int("RICSER"); int ricser = conto.get_int("RICSER");
tipoatt = (ricser <= 0) ? 2 : 1; tipoatt = (ricser == 0) ? 2 : 1;
}
} }
} }
} }

View File

@ -266,10 +266,16 @@ void TPrimanota_application::disable_cgs_cells(int n, char tipo)
case 'F': // Ritenute Fiscali case 'F': // Ritenute Fiscali
case 'S': // Ritenute Sociali case 'S': // Ritenute Sociali
case 'D': // IVA Detraibile case 'D': // IVA Detraibile
case 'N':last = 3; break; // IVA Non detraibile case 'N':
last = 3; // IVA Non detraibile
break;
case 'T': // Totale documento case 'T': // Totale documento
case 'I':last = 6; break; // Imponibile case 'I':
default :last = 0; break; // Solo contabile last = 7; // Imponibile
break;
default :
last = 0; // Solo contabile
break;
} }
TSheet_field& cg = cgs(); TSheet_field& cg = cgs();
@ -343,14 +349,7 @@ void TPrimanota_application::cgs_pack()
{ {
const real imp = get_cgs_imp(i); const real imp = get_cgs_imp(i);
if (imp == 0.0) if (imp == 0.0)
{
del = TRUE; del = TRUE;
/*
const TConto c(r, 6, 0x0); // Remove if import=0 and Bill not used
del = !bill_used(c);
*/
}
} }
if (del) if (del)
rows.destroy(i, FALSE); rows.destroy(i, FALSE);
@ -360,6 +359,44 @@ void TPrimanota_application::cgs_pack()
} }
real TPrimanota_application::calcola_saldo() const
{
TArray& rows = cgs().rows_array();
const int max = rows.items();
real tdare, tavere;
for (int i = 0; i < max; i++)
{
TToken_string& r = (TToken_string&)rows[i];
const real dare(r.get(0));
const real avere(r.get());
tdare += dare;
tavere += avere;
}
real saldo = tdare-tavere;
switch (saldo.sign())
{
case 1:
mask().set(F_DARE, saldo.string());
mask().reset(F_AVERE);
break;
case -1:
mask().reset(F_DARE);
saldo = -saldo;
mask().set(F_AVERE, saldo.string());
break;
default:
mask().reset(F_DARE);
mask().reset(F_AVERE);
break;
}
return saldo;
}
// Handler dello sheet di contabilita' // Handler dello sheet di contabilita'
// Certified 90% // Certified 90%
bool TPrimanota_application::cg_handler(TMask_field& f, KEY k) bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
@ -367,22 +404,15 @@ bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
if (k == K_ENTER) if (k == K_ENTER)
{ {
TSheet_field& cg = app().cgs(); TSheet_field& cg = app().cgs();
bool empty = TRUE; real saldo = app().calcola_saldo();
real saldo; if (saldo != ZERO)
for (int i = 0; i < cg.items(); i++)
{
const real imp = app().get_cgs_imp(i);
if (empty) empty = imp == 0.0;
saldo += imp;
}
if (saldo != 0.0)
{ {
const char* ss = saldo.string("."); const char* ss = saldo.string(".");
return f.error_box("Il movimento e' sbilanciato di %s lire.", ss); return f.error_box("Il movimento e' sbilanciato di %s lire.", ss);
} }
else else
if (empty) if (app().get_cgs_imp(0) == ZERO)
return f.error_box("Il movimento non contiene nessuna riga contabile!"); return f.error_box("Il movimento non ha una prima riga contabile valida!");
} }
return TRUE; return TRUE;
} }
@ -394,15 +424,20 @@ bool TPrimanota_application::cg_notify(int r, KEY k)
TToken_string& row = cg.row(r); TToken_string& row = cg.row(r);
const char tipo = row.empty() ? ' ' : row.right(1)[0]; const char tipo = row.empty() ? ' ' : row.right(1)[0];
if (k == K_SPACE) switch(k)
{
TMask& m = cg.sheet_mask();
m.enable(DLG_DELREC, tipo == ' ');
} else
if (k == K_DEL)
{ {
case K_SPACE:
cg.sheet_mask().enable(DLG_DELREC, tipo == ' ');
break;
case K_ENTER:
app().calcola_saldo();
break;
case K_DEL:
if (tipo != ' ') if (tipo != ' ')
return error_box("La riga %d non puo' essere cancellata", r+1); return error_box("La riga %d non puo' essere cancellata", r+1);
break;
default:
break;
} }
return TRUE; return TRUE;
} }
@ -497,7 +532,7 @@ bool TPrimanota_application::imposta_handler(TMask_field& f, KEY key)
const real& percent = cod2IVA(f.mask().get(102)); const real& percent = cod2IVA(f.mask().get(102));
real imposta = abs(imponibile) * percent / 100.0; real imposta = abs(imponibile) * percent / 100.0;
imposta.ceil(); imposta.ceil();
if (imponibile.sign() < 0) imposta = -imposta; if (imponibile < ZERO) imposta = -imposta;
const real val(f.get()); const real val(f.get());
if (val != imposta) if (val != imposta)
@ -506,8 +541,8 @@ bool TPrimanota_application::imposta_handler(TMask_field& f, KEY key)
{ {
const TString16 wrong(val.string(".")); const TString16 wrong(val.string("."));
const TString16 right(imposta.string(".")); const TString16 right(imposta.string("."));
if (f.warning_box("Imposta di '%s' errata: dovrebbe essere '%s'", f.warning_box("Imposta di '%s' errata: dovrebbe essere '%s'",
(const char*)wrong, (const char*)right)); (const char*)wrong, (const char*)right);
} }
} }
} else } else
@ -524,6 +559,26 @@ bool TPrimanota_application::imposta_handler(TMask_field& f, KEY key)
} }
real TPrimanota_application::calcola_imp() const
{
TArray& rows = ivas().rows_array();
const int max = rows.items();
real imponibili, imposte;
for (int r = 0; r < max; r++)
{
TToken_string& row = (TToken_string&)rows[r];
imponibili += real(row.get(0));
imposte += real(row.get(3));
}
mask().set(F_IMPONIBILI, imponibili.string());
mask().set(F_IMPOSTE, imposte.string());
return imponibili+imposte;
}
// Certified 50% // Certified 50%
bool TPrimanota_application::iva_notify(int r, KEY k) bool TPrimanota_application::iva_notify(int r, KEY k)
{ {
@ -590,6 +645,9 @@ bool TPrimanota_application::iva_notify(int r, KEY k)
else else
app().add_cgs_imp(oldposiva, imp-oldiva); app().add_cgs_imp(oldposiva, imp-oldiva);
oldiva = imp; oldiva = imp;
app().calcola_imp();
app().calcola_saldo();
} }
return TRUE; return TRUE;
} }
@ -601,13 +659,7 @@ bool TPrimanota_application::iva_handler(TMask_field& f, KEY k)
{ {
if (k != K_ENTER) return TRUE; if (k != K_ENTER) return TRUE;
real imp; const real imp = app().calcola_imp();
for (int r = 0; r < app().ivas().items(); r++)
{
TToken_string& row = app().ivas().row(r);
imp += real(row.get(0)); // imponibile
imp += real(row.get(3)); // imposta
}
const TMask& m = f.mask(); const TMask& m = f.mask();
real tot(m.get(F_TOTALE)); real tot(m.get(F_TOTALE));

View File

@ -127,6 +127,8 @@ protected:
real get_cgs_imp(int n); real get_cgs_imp(int n);
void add_cgs_imp(int n, const real& importo); void add_cgs_imp(int n, const real& importo);
void cgs_pack(); void cgs_pack();
real calcola_saldo() const;
real calcola_imp() const;
void set_ivas_row(int n, const char* codiva, TConto& tc, const char* desc); void set_ivas_row(int n, const char* codiva, TConto& tc, const char* desc);
int set_cgs_row(int n, const real& importo, TConto& conto, const char* desc, char tipo); int set_cgs_row(int n, const real& importo, TConto& conto, const char* desc, char tipo);

View File

@ -1,4 +1,4 @@
PAGE "RIGA PRIMA NOTA" -1 -1 67 17 PAGE "RIGA PRIMA NOTA" -1 -1 67 16
GROUPBOX DLG_NULL 66 3 GROUPBOX DLG_NULL 66 3
BEGIN BEGIN
@ -46,9 +46,9 @@ LIST 103 1 12
BEGIN BEGIN
PROMPT 2 6 "Tipo " PROMPT 2 6 "Tipo "
FLAGS "U" FLAGS "U"
ITEM " |Conto" MESSAGE SHOW,106|HIDE,206|HIDE,306 ITEM " |Conto" MESSAGE SHOW,106|HIDE,206|HIDE,306|SHOW,107|HIDE,207|HIDE,307
ITEM "C|Cliente" MESSAGE SHOW,206|HIDE,106|HIDE,306 ITEM "C|Cliente" MESSAGE SHOW,206|HIDE,106|HIDE,306|SHOW,207|HIDE,107|HIDE,307
ITEM "F|Fornitore" MESSAGE SHOW,306|HIDE,106|HIDE,206 ITEM "F|Fornitore" MESSAGE SHOW,306|HIDE,106|HIDE,206|SHOW,307|HIDE,107|HIDE,207
END END
NUMBER 104 3 NUMBER 104 3
@ -87,8 +87,10 @@ BEGIN
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
COPY OUTPUT 105
OUTPUT 106 SOTTOCONTO OUTPUT 106 SOTTOCONTO
OUTPUT 104 GRUPPO
OUTPUT 105 CONTO
OUTPUT 107 DESCR
ADD RUN cg0 -0 ADD RUN cg0 -0
CHECKTYPE NORMAL CHECKTYPE NORMAL
VALIDATE REQIF_FUNC 2 101 102 VALIDATE REQIF_FUNC 2 101 102
@ -107,10 +109,9 @@ BEGIN
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
OUTPUT 206 CODCF OUTPUT 206 CODCF
OUTPUT 107 RAGSOC OUTPUT 307 RAGSOC
MESSAGE COPY,106 MESSAGE COPY,106
ADD RUN cg0 -1 ADD RUN cg0 -1
FLAGS "G"
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Cliente inesistente sulla riga contabile" WARNING "Cliente inesistente sulla riga contabile"
END END
@ -127,21 +128,64 @@ BEGIN
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
OUTPUT 306 CODCF OUTPUT 306 CODCF
OUTPUT 107 RAGSOC OUTPUT 307 RAGSOC
MESSAGE COPY,106 MESSAGE COPY,106
ADD RUN cg0 -1 ADD RUN cg0 -1
MESSAGE COPY,106 MESSAGE COPY,106
FLAGS "G"
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Fornitore inesistente sulla riga contabile" WARNING "Fornitore inesistente sulla riga contabile"
END END
STRING 107 50 STRING 107 50
BEGIN BEGIN
PROMPT 2 7 "Descrizione " PROMPT 2 7 "Descriz. "
FIELD LF_PCON->DESCR
USE LF_PCON KEY 2
INPUT DESCR 107
DISPLAY "Descrizione@50" DESCR
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY OUTPUT 106
CHECKTYPE NORMAL
WARNING "Sottoconto inesistente o mancante sulla riga contabile"
ADD RUN cg0 -0
END
STRING 207 50
BEGIN
PROMPT 2 7 "Cliente "
FIELD LF_CLIFO->RAGSOC
USE LF_CLIFO KEY 2
INPUT TIPOCF "C"
INPUT RAGSOC 207
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Codice" CODCF
COPY OUTPUT 206
MESSAGE COPY,107
ADD RUN cg0 -1
CHECKTYPE NORMAL
WARNING "Cliente inesistente sulla riga contabile"
END
STRING 307 50
BEGIN
PROMPT 2 7 "Fornitore "
FIELD LF_PCON->SOTTOCONTO FIELD LF_PCON->SOTTOCONTO
FLAGS "D" USE LF_CLIFO KEY 2
INPUT TIPOCF "F"
INPUT RAGSOC 307
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Codice" CODCF
COPY OUTPUT 306
MESSAGE COPY,107
ADD RUN cg0 -1
CHECKTYPE NORMAL
WARNING "Fornitore inesistente sulla riga contabile"
END END
GROUPBOX DLG_NULL 66 4 GROUPBOX DLG_NULL 66 4
@ -153,9 +197,9 @@ LIST 110 1 12
BEGIN BEGIN
PROMPT 2 10 "Tipo " PROMPT 2 10 "Tipo "
FLAGS "U" FLAGS "U"
ITEM " |Conto" MESSAGE SHOW,113|HIDE,213|HIDE,313 ITEM " |Conto" MESSAGE SHOW,113|HIDE,213|HIDE,313|SHOW,114|HIDE,214|HIDE,314
ITEM "C|Cliente" MESSAGE SHOW,213|HIDE,113|HIDE,313 ITEM "C|Cliente" MESSAGE SHOW,213|HIDE,113|HIDE,313|SHOW,214|HIDE,114|HIDE,314
ITEM "F|Fornitore" MESSAGE SHOW,313|HIDE,113|HIDE,213 ITEM "F|Fornitore" MESSAGE SHOW,313|HIDE,113|HIDE,213|SHOW,314|HIDE,114|HIDE,214
END END
NUMBER 111 3 NUMBER 111 3
@ -167,12 +211,10 @@ NUMBER 112 3
BEGIN BEGIN
PROMPT 32 10 "Conto " PROMPT 32 10 "Conto "
FIELD LF_PCON->CONTO FIELD LF_PCON->CONTO
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="") COPY USE 105
INPUT GRUPPO 111 INPUT GRUPPO 111
INPUT CONTO 112 INPUT CONTO 112
DISPLAY "Gruppo" GRUPPO COPY DISPLAY 105
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT 110 TMCF OUTPUT 110 TMCF
OUTPUT 111 GRUPPO OUTPUT 111 GRUPPO
OUTPUT 112 CONTO OUTPUT 112 CONTO
@ -189,21 +231,23 @@ BEGIN
COPY INPUT 112 COPY INPUT 112
INPUT SOTTOCONTO 113 INPUT SOTTOCONTO 113
COPY DISPLAY 106 COPY DISPLAY 106
COPY OUTPUT 112
OUTPUT 113 SOTTOCONTO OUTPUT 113 SOTTOCONTO
OUTPUT 111 GRUPPO
OUTPUT 112 CONTO
OUTPUT 114 DESCR
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
NUMBER 213 6 NUMBER 213 6
BEGIN BEGIN
PROMPT 45 10 "Cliente " PROMPT 45 10 "Cliente "
FIELD LF_PCON->SOTTOCONTO FIELD LF_CLIFO->CODCF
USE LF_CLIFO COPY USE 206
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT CODCF 213 INPUT CODCF 213
COPY DISPLAY 206 COPY DISPLAY 206
OUTPUT 213 CODCF OUTPUT 213 CODCF
OUTPUT 114 RAGSOC OUTPUT 214 RAGSOC
MESSAGE COPY,113 MESSAGE COPY,113
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
@ -211,22 +255,55 @@ END
NUMBER 313 6 NUMBER 313 6
BEGIN BEGIN
PROMPT 45 10 "Fornitore " PROMPT 45 10 "Fornitore "
FIELD LF_PCON->SOTTOCONTO FIELD LF_CLIFO->CODCF
USE LF_CLIFO COPY USE 306
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT CODCF 313 INPUT CODCF 313
COPY DISPLAY 306 COPY DISPLAY 306
COPY OUTPUT 213
OUTPUT 313 CODCF OUTPUT 313 CODCF
OUTPUT 314 RAGSOC
MESSAGE COPY,113 MESSAGE COPY,113
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
STRING 114 50 STRING 114 50
BEGIN BEGIN
PROMPT 2 11 "Descriz. "
FIELD LF_PCON->DESCR FIELD LF_PCON->DESCR
PROMPT 2 11 "Descrizione " COPY USE 107
FLAGS "D" INPUT DESCR 114
COPY DISPLAY 107
COPY OUTPUT 113
ADD RUN cg0 -0
WARNING "Conto inesistente sulla riga contabile"
END
STRING 214 50
BEGIN
PROMPT 2 11 "Cliente "
FIELD LF_CLIFO->RAGSOC
COPY USE 207
INPUT TIPOCF "C"
INPUT RAGSOC 214
COPY DISPLAY 207
COPY OUTPUT 213
ADD RUN cg0 -1
CHECKTYPE NORMAL
WARNING "Cliente inesistente sulla riga contabile"
END
STRING 314 50
BEGIN
PROMPT 2 11 "Fornitore "
FIELD LF_CLIFO->RAGSOC
COPY USE 307
INPUT TIPOCF "F"
INPUT RAGSOC 314
COPY DISPLAY 307
COPY OUTPUT 313
ADD RUN cg0 -1
CHECKTYPE NORMAL
WARNING "Fornitore inesistente sulla riga contabile"
END END
LIST 115 20 LIST 115 20

View File

@ -10,11 +10,11 @@ BEGIN
PROMPT 2 2 "Tipo " PROMPT 2 2 "Tipo "
FIELD TMCF FIELD TMCF
ITEM " |Conto" ITEM " |Conto"
MESSAGE SHOW,109|HIDE,209|HIDE,309 MESSAGE SHOW,109|HIDE,209|HIDE,309|SHOW,110|HIDE,210|HIDE,310
ITEM "C|Cliente" ITEM "C|Cliente"
MESSAGE SHOW,209|HIDE,109|HIDE,309 MESSAGE SHOW,209|HIDE,109|HIDE,309|SHOW,210|HIDE,110|HIDE,310
ITEM "F|Fornitore" ITEM "F|Fornitore"
MESSAGE SHOW,309|HIDE,109|HIDE,209 MESSAGE SHOW,309|HIDE,109|HIDE,209|SHOW,310|HIDE,110|HIDE,210
FLAGS "U" FLAGS "U"
END END
@ -58,10 +58,10 @@ BEGIN
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
OUTPUT 109 SOTTOCONTO
OUTPUT 105 TIPOSPRIC OUTPUT 105 TIPOSPRIC
OUTPUT 107 GRUPPO OUTPUT 107 GRUPPO
OUTPUT 108 CONTO OUTPUT 108 CONTO
OUTPUT 109 SOTTOCONTO
OUTPUT 110 DESCR OUTPUT 110 DESCR
ADD RUN cg0 -0 ADD RUN cg0 -0
CHECKTYPE NORMAL CHECKTYPE NORMAL
@ -80,7 +80,7 @@ BEGIN
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
OUTPUT 209 CODCF OUTPUT 209 CODCF
OUTPUT 110 RAGSOC OUTPUT 210 RAGSOC
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN cg0 -1 ADD RUN cg0 -1
FLAGS "G" FLAGS "G"
@ -98,7 +98,7 @@ BEGIN
OUTPUT 107 GRUPPO OUTPUT 107 GRUPPO
OUTPUT 108 CONTO OUTPUT 108 CONTO
OUTPUT 309 CODCF OUTPUT 309 CODCF
OUTPUT 110 RAGSOC OUTPUT 310 RAGSOC
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN cg0 -1 ADD RUN cg0 -1
FLAGS "G" FLAGS "G"
@ -107,10 +107,58 @@ END
STRING 110 50 STRING 110 50
BEGIN BEGIN
PROMPT 2 3 "Descrizione " PROMPT 2 3 "Descriz. "
FLAGS "D" FIELD LF_PCON->DESCR
USE LF_PCON KEY 2
INPUT DESCR 107
DISPLAY "Descrizione@50" DESCR
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY OUTPUT 109
CHECKTYPE NORMAL
WARNING "Sottoconto inesistente o mancante sulla riga IVA"
ADD RUN cg0 -0
END END
STRING 210 50
BEGIN
PROMPT 2 3 "Cliente "
FIELD LF_CLIFO->RAGSOC
USE LF_CLIFO KEY 2
INPUT TIPOCF "C"
INPUT RAGSOC 210
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Codice" CODCF
COPY OUTPUT 209
MESSAGE COPY,110
ADD RUN cg0 -1
CHECKTYPE NORMAL
WARNING "Cliente inesistente sulla riga IVA"
END
STRING 310 50
BEGIN
PROMPT 2 3 "Fornitore "
FIELD LF_PCON->SOTTOCONTO
USE LF_CLIFO KEY 2
INPUT TIPOCF "F"
INPUT RAGSOC 310
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Codice" CODCF
COPY OUTPUT 309
MESSAGE COPY,110
ADD RUN cg0 -1
CHECKTYPE NORMAL
WARNING "Fornitore inesistente sulla riga IVA"
END
GROUPBOX DLG_NULL 67 5 GROUPBOX DLG_NULL 67 5
BEGIN BEGIN
PROMPT 1 5 "Imposta" PROMPT 1 5 "Imposta"

View File

@ -14,8 +14,9 @@ int main(int argc,char** argv)
{ {
case 0: rt = cg3100(argc,argv) ; break; case 0: rt = cg3100(argc,argv) ; break;
case 1: rt = cg3200(argc,argv) ; break; case 1: rt = cg3200(argc,argv) ; break;
// case 2: rt = cg3400(argc,argv) ; break; case 2: rt = cg3300(argc,argv) ; break;
case 3: rt = cg3500(argc,argv) ; break; case 3: rt = cg3400(argc,argv) ; break;
case 4: rt = cg3500(argc,argv) ; break;
default: error_box(usage, argv[0]) ; break; default: error_box(usage, argv[0]) ; break;
} }
return rt; return rt;

View File

@ -12,7 +12,7 @@
int cg3100(int argc, char* argv[]); int cg3100(int argc, char* argv[]);
int cg3200(int argc, char* argv[]); int cg3200(int argc, char* argv[]);
int cg3300(int argc, char* argv[]); int cg3300(int argc, char* argv[]);
//int cg3400(int argc, char* argv[]); int cg3400(int argc, char* argv[]);
int cg3500(int argc, char* argv[]); int cg3500(int argc, char* argv[]);
#endif // __CG3_H #endif // __CG3_H