Migliorata gestione contropartita
git-svn-id: svn://10.65.10.50/trunk@321 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
5bc0d3b903
commit
ac27109076
@ -14,9 +14,8 @@ BEGIN
|
||||
ITEM " |Conto" MESSAGE SHOW,105|HIDE,205|HIDE,305|SHOW,107|HIDE,207|HIDE,307
|
||||
ITEM "C|Cliente" MESSAGE SHOW,205|HIDE,105|HIDE,305|SHOW,207|HIDE,107|HIDE,307
|
||||
ITEM "F|Fornitore" MESSAGE SHOW,305|HIDE,105|HIDE,205|SHOW,307|HIDE,107|HIDE,207
|
||||
FLAGS "DG"
|
||||
FLAGS "DGU"
|
||||
GROUP 1
|
||||
// FLAGS "U"
|
||||
END
|
||||
|
||||
NUMBER 103 3
|
||||
@ -43,7 +42,7 @@ NUMBER 104 3
|
||||
BEGIN
|
||||
PROMPT 15 3 "Conto "
|
||||
FIELD LF_RCAUSALI->CONTO
|
||||
USE LF_PCON KEY 1 SELECT (CONTO!="") && (SOTTOCONTO="")
|
||||
USE LF_PCON KEY 1 SELECT SOTTOCONTO=""
|
||||
INPUT GRUPPO 103
|
||||
INPUT CONTO 104
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
@ -55,8 +54,6 @@ BEGIN
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
OUTPUT 207 DESCR
|
||||
OUTPUT 307 DESCR
|
||||
MESSAGE DIRTY,105|DIRTY,205|DIRTY,305
|
||||
WARNING "Conto inesistente o mancante"
|
||||
ADD RUN CG0 -0
|
||||
@ -68,7 +65,7 @@ NUMBER 105 6
|
||||
BEGIN
|
||||
PROMPT 29 3 "Sottoconto "
|
||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
USE LF_PCON
|
||||
INPUT GRUPPO 103
|
||||
INPUT CONTO 104
|
||||
INPUT SOTTOCONTO 105
|
||||
@ -102,19 +99,8 @@ BEGIN
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Tipo C/F" TIPOCF
|
||||
OUTPUT 205 CODCF
|
||||
<<<<<<< cg0500b.uml
|
||||
OUTPUT 105 CODCF
|
||||
OUTPUT 207 RAGSOC
|
||||
OUTPUT 107 RAGSOC
|
||||
OUTPUT 307 RAGSOC
|
||||
=======
|
||||
OUTPUT 207 RAGSOC
|
||||
>>>>>>> 1.11
|
||||
CHECKTYPE NORMAL
|
||||
<<<<<<< cg0500b.uml
|
||||
FLAGS "H"
|
||||
=======
|
||||
>>>>>>> 1.11
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
@ -133,20 +119,8 @@ BEGIN
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Tipo C/F" TIPOCF
|
||||
OUTPUT 305 CODCF
|
||||
<<<<<<< cg0500b.uml
|
||||
OUTPUT 205 CODCF
|
||||
OUTPUT 105 CODCF
|
||||
OUTPUT 107 RAGSOC
|
||||
OUTPUT 207 RAGSOC
|
||||
OUTPUT 307 RAGSOC
|
||||
=======
|
||||
OUTPUT 307 RAGSOC
|
||||
>>>>>>> 1.11
|
||||
CHECKTYPE NORMAL
|
||||
<<<<<<< cg0500b.uml
|
||||
FLAGS "H"
|
||||
=======
|
||||
>>>>>>> 1.11
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
@ -176,11 +150,6 @@ BEGIN
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
<<<<<<< cg0500b.uml
|
||||
OUTPUT 207 DESCR
|
||||
OUTPUT 307 DESCR
|
||||
=======
|
||||
>>>>>>> 1.11
|
||||
ADD RUN CG0 -0
|
||||
GROUP 1
|
||||
END
|
||||
@ -198,15 +167,8 @@ BEGIN
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
OUTPUT 105 CODCF
|
||||
OUTPUT 205 CODCF
|
||||
OUTPUT 305 CODCF
|
||||
OUTPUT 107 RAGSOC
|
||||
OUTPUT 207 RAGSOC
|
||||
<<<<<<< cg0500b.uml
|
||||
OUTPUT 307 RAGSOC
|
||||
=======
|
||||
>>>>>>> 1.11
|
||||
GROUP 1
|
||||
FLAGS "H"
|
||||
END
|
||||
@ -225,14 +187,7 @@ BEGIN
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
OUTPUT 305 CODCF
|
||||
OUTPUT 205 CODCF
|
||||
OUTPUT 105 CODCF
|
||||
OUTPUT 307 RAGSOC
|
||||
<<<<<<< cg0500b.uml
|
||||
OUTPUT 207 RAGSOC
|
||||
OUTPUT 107 RAGSOC
|
||||
=======
|
||||
>>>>>>> 1.11
|
||||
GROUP 1
|
||||
FLAGS "H"
|
||||
END
|
||||
|
@ -162,21 +162,39 @@ bool TPrimanota_application::user_destroy()
|
||||
// Certified 99%
|
||||
bool TPrimanota_application::read_caus(const char* cod, int year)
|
||||
{
|
||||
const bool ok = causale().read(cod, year);
|
||||
const bool ok = _causale.read(cod, year);
|
||||
|
||||
bool nob = FALSE, dob = FALSE, sal = FALSE;
|
||||
TipoIVA iva = nessuna_iva;
|
||||
|
||||
bool nob = FALSE, dob = FALSE;
|
||||
if (ok)
|
||||
{
|
||||
nob = _causale.num_doc();
|
||||
dob = _causale.data_doc();
|
||||
sal = gestione_saldaconto() && _causale.saldaconto();
|
||||
iva = _causale.iva();
|
||||
}
|
||||
|
||||
TMask& m = *load_mask(causale().iva() == nessuna_iva ? 1 : 2);
|
||||
TEdit_field& nd = (TEdit_field&)m.field(F_NUMDOC); // Numero documento obbligatorio?
|
||||
nd.check_type(nob ? CHECK_REQUIRED : CHECK_NORMAL);
|
||||
TEdit_field& dd = (TEdit_field&)m.field(F_DATADOC); // Data documento obbligatoria?
|
||||
dd.check_type(dob ? CHECK_REQUIRED : CHECK_NORMAL);
|
||||
|
||||
TMask& m = *load_mask(iva == nessuna_iva ? 1 : 2);
|
||||
m.efield(F_NUMDOC).check_type(nob ? CHECK_REQUIRED : CHECK_NORMAL); // Num. doc. obbligatorio
|
||||
m.efield(F_DATADOC).check_type(dob ? CHECK_REQUIRED : CHECK_NORMAL); // Data doc. obbligatoria
|
||||
|
||||
if (iva != nessuna_iva)
|
||||
{
|
||||
const CheckType ct = sal ? CHECK_REQUIRED : CHECK_NORMAL;
|
||||
m.efield(F_CODPAG).check_type(ct); // Cod. pag. obbligatorio
|
||||
m.show(F_ANNORIF, sal);
|
||||
m.show(F_NUMRIF, sal);
|
||||
if (sal)
|
||||
{
|
||||
TString80 val;
|
||||
if (riferimento_partita())
|
||||
val = m.get(F_NUMDOC);
|
||||
else
|
||||
val.format("%ld", _causale.reg().protocol());
|
||||
m.set(F_NUMRIF, val);
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
@ -238,6 +256,7 @@ void TPrimanota_application::read_firm_params()
|
||||
TConfig c(CONFIG_DITTA, "cg");
|
||||
_ges_val = c.get_bool("GesVal");
|
||||
_ges_sal = c.get_bool("GesSal");
|
||||
_rif_par = c.get_bool("RifPar");
|
||||
}
|
||||
|
||||
void TPrimanota_application::init_mask(TMask& m)
|
||||
@ -248,8 +267,6 @@ void TPrimanota_application::init_mask(TMask& m)
|
||||
|
||||
if (_iva != nessuna_iva)
|
||||
{
|
||||
read_firm_params();
|
||||
|
||||
char clig, forg;
|
||||
if (_iva == iva_acquisti)
|
||||
{
|
||||
@ -275,8 +292,6 @@ void TPrimanota_application::init_mask(TMask& m)
|
||||
m.send_key(K_SHIFT+K_CTRL+(valuta ? 's' : 'h'), -3);
|
||||
if (valuta)
|
||||
m.set(F_VISVAL, "X");
|
||||
|
||||
m.efield(F_CODPAG).check_type(gestione_saldaconto() ? CHECK_REQUIRED : CHECK_NORMAL);
|
||||
}
|
||||
|
||||
m.disable(DLG_NEWREC);
|
||||
@ -285,6 +300,11 @@ void TPrimanota_application::init_mask(TMask& m)
|
||||
|
||||
void TPrimanota_application::init_query_mode(TMask& m)
|
||||
{
|
||||
<<<<<<< cg2100.cpp
|
||||
read_firm_params();
|
||||
enable_menu_item(M_FILE_PRINT);
|
||||
=======
|
||||
>>>>>>> 1.22
|
||||
m.enable(DLG_NEWREC);
|
||||
}
|
||||
|
||||
@ -371,11 +391,11 @@ void TPrimanota_application::init_insert_mode(TMask& m)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nriga == 3 || nriga == 4 || nriga == 8 || nriga == 9)
|
||||
if (nriga >= 3 && nriga <= 9)
|
||||
continue; // Conti per IVA detraibile e non, ritenute sociali e fiscali
|
||||
|
||||
const bool rigaiva = rcaus->get_bool(RCA_RIGAIVA);
|
||||
if (nriga == 2 || (nriga >= 5 && nriga <= 7) || rigaiva)
|
||||
if (nriga == 2 || rigaiva)
|
||||
{
|
||||
const TString16 codiva(rcaus->get(RCA_CODIVA));
|
||||
set_ivas_row(-1,codiva,tc,desc);
|
||||
|
1188
cg/cg2100c.uml
1188
cg/cg2100c.uml
File diff suppressed because it is too large
Load Diff
@ -268,19 +268,21 @@ TImporto TPrimanota_application::get_cgs_imp(int n)
|
||||
}
|
||||
|
||||
// Certified 90%
|
||||
void TPrimanota_application::add_cgs_imp(int n, const TImporto& imp)
|
||||
TImporto TPrimanota_application::add_cgs_imp(int n, const TImporto& imp)
|
||||
{
|
||||
TImporto tot(get_cgs_imp(n));
|
||||
tot.set(imp.sezione(), tot.valore() + imp.valore());
|
||||
set_cgs_imp(n, tot);
|
||||
return tot;
|
||||
}
|
||||
|
||||
// Certified 90%
|
||||
void TPrimanota_application::sub_cgs_imp(int n, const real& imp)
|
||||
TImporto TPrimanota_application::sub_cgs_imp(int n, const real& imp)
|
||||
{
|
||||
TImporto tot(get_cgs_imp(n));
|
||||
tot.set(tot.sezione(), tot.valore() - imp);
|
||||
set_cgs_imp(n, tot);
|
||||
return tot;
|
||||
}
|
||||
|
||||
|
||||
@ -349,22 +351,33 @@ int TPrimanota_application::set_cgs_row(int n, const TImporto& imp,
|
||||
row.add("");
|
||||
row.add(desc);
|
||||
|
||||
int pos = 0;
|
||||
if (tipo == 'I' && (pos = type2pos('T')) >= 0)
|
||||
switch(tipo) // Calcolo contropartita
|
||||
{
|
||||
case 'T':
|
||||
{
|
||||
TToken_string& irow = ivas().row(0);
|
||||
for (int i = 5; i < 10; i++)
|
||||
row.add(irow.get(i == 5 ? 5 : -1));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
const int pos = type2pos('T');
|
||||
if (pos >= 0)
|
||||
{
|
||||
TBill contro(cg.row(pos), 2, 0x3);
|
||||
row.add(contro.string(0x3));
|
||||
}
|
||||
else
|
||||
{
|
||||
row.add(" | | | | "); // Contropartita
|
||||
}
|
||||
row << '|' << tipo;
|
||||
else row.add(" | | | | ");
|
||||
}
|
||||
break;
|
||||
}
|
||||
row << '|' << tipo;
|
||||
|
||||
disable_cgs_cells(n, tipo);
|
||||
cg.force_update(n);
|
||||
|
||||
return n;
|
||||
disable_cgs_cells(n, tipo);
|
||||
cg.force_update(n);
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
|
||||
@ -657,7 +670,7 @@ bool TPrimanota_application::iva_notify(int r, KEY k)
|
||||
{
|
||||
oldimp = real(row.get(0)); // Imponibile 0
|
||||
oldiva = real(row.get(3)); // Imposta 3
|
||||
if (app().causale().corrispettivi())
|
||||
if (oldiva.is_zero() && app().causale().corrispettivi())
|
||||
{
|
||||
const TCodiceIVA i(row.get(1));
|
||||
const real percent = i.percentuale();
|
||||
@ -695,22 +708,33 @@ bool TPrimanota_application::iva_notify(int r, KEY k)
|
||||
}
|
||||
|
||||
// Aggiorna conto sulla riga contabile
|
||||
const real imp(row.get(0)); // Imponibile
|
||||
const real imposta(row.get(3)); // Imposta
|
||||
real imp(row.get(0)); // Imponibile
|
||||
real imposta(row.get(3)); // Imposta
|
||||
if (imposta.is_zero() && app().causale().corrispettivi())
|
||||
{
|
||||
const TCodiceIVA i(row.get(1));
|
||||
const real percent = i.percentuale();
|
||||
imposta = scorpora(imp, percent);
|
||||
}
|
||||
|
||||
TBill conto(row, 5, 0x3);
|
||||
const int newpos = bill2pos(conto, 'I');
|
||||
int newpos = bill2pos(conto, 'I');
|
||||
|
||||
if (newpos < 0)
|
||||
{
|
||||
const TImporto val(app().real2imp(imp, 'I'));
|
||||
if (val.valore() != ZERO)
|
||||
app().set_cgs_row(-1, val, conto, "", 'I');
|
||||
app().set_cgs_row(-1, val, conto, app().causale().descr(2), 'I');
|
||||
}
|
||||
else
|
||||
{
|
||||
const TImporto val(app().real2imp(imp, 'I'));
|
||||
app().add_cgs_imp(newpos, val);
|
||||
TImporto val(app().real2imp(imp, 'I'));
|
||||
val = app().add_cgs_imp(newpos, val);
|
||||
if (val.valore().is_zero())
|
||||
{
|
||||
app().cgs().destroy(newpos);
|
||||
newpos = -1;
|
||||
}
|
||||
}
|
||||
oldimp = imp;
|
||||
oldpos = newpos;
|
||||
@ -720,18 +744,23 @@ bool TPrimanota_application::iva_notify(int r, KEY k)
|
||||
const bool detrarre = detraibile(row); // Determina se IVA detraibile
|
||||
app().causale().bill(detrarre ? 3 : 4, conto);
|
||||
const char tipod = detrarre ? 'D' : 'N';
|
||||
const int newposiva = type2pos(tipod);
|
||||
int newposiva = type2pos(tipod);
|
||||
|
||||
if (newposiva < 0)
|
||||
{
|
||||
const TImporto val(app().real2imp(imposta, 'I'));
|
||||
if (val.valore() != ZERO)
|
||||
app().set_cgs_row(-1, val, conto, "", tipod);
|
||||
newposiva = app().set_cgs_row(-1, val, conto, "", tipod);
|
||||
}
|
||||
else
|
||||
{
|
||||
const TImporto val(app().real2imp(imposta, 'I'));
|
||||
app().add_cgs_imp(newposiva, val);
|
||||
TImporto val(app().real2imp(imposta, 'I'));
|
||||
val = app().add_cgs_imp(newposiva, val);
|
||||
if (val.valore().is_zero())
|
||||
{
|
||||
app().cgs().destroy(newposiva);
|
||||
newposiva = -1;
|
||||
}
|
||||
}
|
||||
oldiva = imposta;
|
||||
oldposiva = newposiva;
|
||||
@ -1055,7 +1084,7 @@ bool TPrimanota_application::occas_handler(TMask_field& f, KEY key)
|
||||
void TPrimanota_application::add_cgs_tot(TMask& m)
|
||||
{
|
||||
// Lettura del conto dalla maschera
|
||||
char tipo = app().iva() == iva_acquisti ? 'F' : 'C';
|
||||
char tipo = app().clifo();
|
||||
int gruppo = m.get_int(F_GRUPPOCLIFO);
|
||||
int conto = m.get_int(F_CONTOCLIFO);
|
||||
long codice = m.get_long(tipo == 'C' ? F_CLIENTE : F_FORNITORE);
|
||||
@ -1077,7 +1106,8 @@ void TPrimanota_application::add_cgs_tot(TMask& m)
|
||||
|
||||
// Creazione/Aggiornamento riga totale
|
||||
const int pos = type2pos('T');
|
||||
set_cgs_row(pos, real2imp(tot, 'T'), c, "Totale documento", 'T');
|
||||
set_cgs_row(pos, real2imp(tot, 'T'), c, m.get(F_DESCR), 'T');
|
||||
|
||||
calcola_saldo();
|
||||
}
|
||||
|
||||
@ -1174,11 +1204,7 @@ void TPrimanota_application::add_cgs_rit(bool fiscali)
|
||||
{
|
||||
const int riga = fiscali ? 8 : 9;
|
||||
TBill conto; _causale.bill(riga, conto);
|
||||
|
||||
TString80 desc("Ritenute ");
|
||||
desc << (fiscali ? "fiscali" : "sociali");
|
||||
|
||||
set_cgs_row(-1, real2imp(imp, tipo), conto, desc, tipo);
|
||||
set_cgs_row(-1, real2imp(imp, tipo), conto, conto.descrizione(), tipo);
|
||||
}
|
||||
else
|
||||
set_cgs_imp(pos, real2imp(imp, tipo));
|
||||
|
@ -40,6 +40,7 @@ class TPrimanota_application : public TRelation_application
|
||||
TLibro_giornale _giornale; // Libro giornale corrente
|
||||
TipoIVA _iva; // Tipo di IVA corrente
|
||||
bool _ges_val, _ges_sal; // Gestione valuta e saldaconto
|
||||
bool _rif_par; // Riferimento parita (NUM_DOC | PROTIVA)
|
||||
|
||||
TSaldo_agg _saldi; // Saldi da aggiornare
|
||||
|
||||
@ -113,6 +114,7 @@ protected:
|
||||
TMask& TPrimanota_application::mask() const;
|
||||
bool gestione_valuta() const { return _ges_val; }
|
||||
bool gestione_saldaconto() const { return _ges_sal; }
|
||||
bool riferimento_partita() const { return _rif_par; }
|
||||
|
||||
void fill_sheet(TMask& m) const;
|
||||
void read_firm_params();
|
||||
@ -143,8 +145,8 @@ protected:
|
||||
|
||||
void set_cgs_imp(int n, const TImporto& importo);
|
||||
TImporto get_cgs_imp(int n);
|
||||
void add_cgs_imp(int n, const TImporto& importo);
|
||||
void sub_cgs_imp(int n, const real& imp);
|
||||
TImporto add_cgs_imp(int n, const TImporto& importo);
|
||||
TImporto sub_cgs_imp(int n, const real& imp);
|
||||
|
||||
void cgs_pack();
|
||||
real calcola_saldo() const;
|
||||
|
@ -101,11 +101,20 @@ bool TRegistro::corrispettivi() const
|
||||
TipoIVA TRegistro::iva() const
|
||||
{
|
||||
TipoIVA i = (TipoIVA)tipo();
|
||||
if (i != nessuna_iva && i != iva_vendite && i != iva_acquisti)
|
||||
switch (i)
|
||||
{
|
||||
case nessuna_iva:
|
||||
case iva_vendite:
|
||||
case iva_acquisti:
|
||||
break;
|
||||
case libro_giornale:
|
||||
i = nessuna_iva;
|
||||
break;
|
||||
default:
|
||||
error_box("Il registro '%s' non e' un registro IVA o contabile: tipo %d",
|
||||
(const char*)name(), i);
|
||||
i = nessuna_iva;
|
||||
break;
|
||||
}
|
||||
return i;
|
||||
}
|
||||
@ -306,11 +315,18 @@ const TRectype& TCausale::row(int num) const
|
||||
TBill& TCausale::bill(int num, TBill& conto) const
|
||||
{
|
||||
const TRectype& rec = row(num);
|
||||
conto.set(rec.get_int("GRUPPO"), rec.get_int("CONTO"),
|
||||
rec.get_long("SOTTOCONTO"), rec.get_char("TIPOCF"));
|
||||
conto.set(rec.get_int(RCA_GRUPPO), rec.get_int(RCA_CONTO),
|
||||
rec.get_long(RCA_SOTTOCONTO), rec.get_char(RCA_TIPOCF));
|
||||
return conto;
|
||||
}
|
||||
|
||||
const char* TCausale::descr(int num) const
|
||||
{
|
||||
const TRectype& rec = row(num);
|
||||
return rec.get(RCA_DESC);
|
||||
}
|
||||
|
||||
|
||||
bool TCausale::data_doc() const
|
||||
{ return _rec.ok() ? _rec.get_bool("DATADOC") : FALSE; }
|
||||
|
||||
@ -338,6 +354,9 @@ const char* TCausale::causale_inc_imm() const
|
||||
const char* TCausale::tipo_doc() const
|
||||
{ return _rec.ok() ? _rec.get("TIPODOC") : ""; }
|
||||
|
||||
bool TCausale::saldaconto() const
|
||||
{ return _rec.ok() ? (_rec.get_int("TIPOMOV") > 0) : FALSE; }
|
||||
|
||||
bool TCausale::ok() const
|
||||
{
|
||||
if (iva() == iva_errata)
|
||||
|
@ -80,6 +80,7 @@ protected:
|
||||
|
||||
public:
|
||||
TBill& bill(int num, TBill& c) const;
|
||||
const char* descr(int num) const;
|
||||
|
||||
bool data_doc() const;
|
||||
bool num_doc() const;
|
||||
@ -94,6 +95,7 @@ public:
|
||||
TRegistro& reg() const { return (TRegistro&)_reg; }
|
||||
TipoIVA iva() const;
|
||||
bool corrispettivi() const;
|
||||
bool saldaconto() const;
|
||||
|
||||
virtual bool ok() const;
|
||||
bool similar(const TCausale& c) const;
|
||||
|
@ -6,8 +6,8 @@
|
||||
#define CHK_STTFFR 105
|
||||
#define CHK_STLGIU 106
|
||||
#define CHK_GESSAL 107
|
||||
#define CHK_NRCFDX 108
|
||||
#define FLD_CMSGPC 109
|
||||
#define CHK_NRCLIDX 108
|
||||
#define CHK_NRFORDX 109
|
||||
#define LST_RIFPAR 110
|
||||
#define CHK_GESVAL 111
|
||||
#define FLD_CODLIN 112
|
||||
|
@ -13,6 +13,7 @@ BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
/* page1 */
|
||||
@ -87,13 +88,13 @@ BEGIN
|
||||
FIELD GesSal
|
||||
END
|
||||
|
||||
BOOLEAN CHK_NRCFDX
|
||||
BOOLEAN CHK_NRCLIDX
|
||||
BEGIN
|
||||
PROMPT 4 12 "N. Rif. allineato a destra per clienti"
|
||||
FIELD NrCliDx
|
||||
END
|
||||
|
||||
BOOLEAN FLD_CMSGPC 1
|
||||
BOOLEAN CHK_NRFORDX
|
||||
BEGIN
|
||||
PROMPT 4 13 "N. Rif. allineato a destra per fornitori"
|
||||
FIELD NrForDx
|
||||
|
Loading…
x
Reference in New Issue
Block a user