Aggiunta valuta intra in prima nota
Resa selezionabile la descrizione aggiuntiva nelle causali Riveduta la gestione vendite nei clifo git-svn-id: svn://10.65.10.50/trunk@663 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3025e549ed
commit
0d1752b7f2
184
cg/cg0200.cpp
184
cg/cg0200.cpp
@ -1,11 +1,10 @@
|
||||
#include <relapp.h>
|
||||
#include <modaut.h>
|
||||
#include <utility.h>
|
||||
#include <validate.h>
|
||||
#include <msksheet.h>
|
||||
#include <sheet.h>
|
||||
#include <config.h>
|
||||
#include <defmask.h>
|
||||
#include <relapp.h>
|
||||
#include <msksheet.h>
|
||||
#include <sheet.h>
|
||||
#include <utility.h>
|
||||
#include <validate.h>
|
||||
|
||||
#include <pconti.h>
|
||||
#include <clifo.h>
|
||||
@ -19,11 +18,10 @@
|
||||
#include "cg0200.h"
|
||||
#include "cg0201.h"
|
||||
|
||||
|
||||
class TClifo_application : public TRelation_application
|
||||
{
|
||||
TMask* _msk;
|
||||
TClifoVI *_rel;
|
||||
TClifoVI* _rel;
|
||||
TLocalisamfile* _mov;
|
||||
TLocalisamfile* _anag;
|
||||
TLocalisamfile* _fis;
|
||||
@ -73,7 +71,7 @@ bool TClifo_application::protected_record(TRectype &rec)
|
||||
|
||||
{
|
||||
TMask* m = get_mask(MODE_MOD);
|
||||
const TString16 tipocf(m->get(F_TIPOCF));
|
||||
const TString16 tipocf(m->get(F_TIPOCF));
|
||||
const long codice = atol(m->get(F_CODCF));
|
||||
|
||||
_mov->curr().zero();
|
||||
@ -224,7 +222,6 @@ HIDDEN bool autoexit_handler(TMask_field& f, KEY key)
|
||||
}
|
||||
|
||||
bool TClifo_application::tipo_handler(TMask_field& f, KEY key)
|
||||
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
|
||||
@ -358,20 +355,15 @@ void TClifo_application::init_pages(TMask& m)
|
||||
TConfig conf(CONFIG_DITTA, "cg");
|
||||
_lbcn = conf.get_bool("GsLbCn");
|
||||
_gesven = conf.get_bool("GesVen");
|
||||
|
||||
_rel->gestione_vendite(_gesven);
|
||||
|
||||
m.send_key(K_SHIFT + K_CTRL + (_lbcn ? 's' : 'h'), -5);
|
||||
|
||||
// Se non e' abilitata la gestione delle vendite disabilita le
|
||||
// maschere dalla 4 in poi
|
||||
if (_gesven)
|
||||
{
|
||||
for (int j=3; j<8;j++)
|
||||
m.enable_page(j);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int j=3; j<8;j++)
|
||||
m.disable_page(j);
|
||||
}
|
||||
for (int j = 3; j < 8;j++)
|
||||
m.enable_page(j, _gesven);
|
||||
}
|
||||
|
||||
void TClifo_application::init_query_mode(TMask& m)
|
||||
@ -387,60 +379,63 @@ void TClifo_application::init_query_mode(TMask& m)
|
||||
|
||||
int TClifo_application::read(TMask& m)
|
||||
{
|
||||
TToken_string riga(240);
|
||||
|
||||
m.autoload(_rel);
|
||||
indsp_sheet().reset();
|
||||
for (int i=0; i< _rel->indirizzi_items();i++)
|
||||
TRelation_application::read(m);
|
||||
|
||||
if (_gesven)
|
||||
{
|
||||
TRectype& rec=_rel->indirizzo(i);
|
||||
riga.cut(0);
|
||||
riga.add(rec.get(IND_RAGSOC));
|
||||
riga.add(rec.get(IND_INDIR));
|
||||
riga.add(rec.get(IND_CIV));
|
||||
riga.add(rec.get(IND_LOCALITA));
|
||||
riga.add(rec.get(IND_CAP));
|
||||
riga.add(rec.get(IND_STATO));
|
||||
riga.add(rec.get(IND_COM));
|
||||
riga.add(rec.get(IND_PTEL));
|
||||
riga.add(rec.get(IND_TEL));
|
||||
riga.add(rec.get(IND_PFAX));
|
||||
riga.add(rec.get(IND_FAX));
|
||||
riga.add(rec.get(IND_IVARID));
|
||||
riga.add(rec.get(IND_CODIND));
|
||||
indsp_sheet().row(i)=riga;
|
||||
|
||||
// Load the sheets of CODINDDOC, CODINDSP, CODINDEFF.
|
||||
riga.cut(0);
|
||||
riga.add(rec.get(IND_CODIND));
|
||||
riga.add(rec.get(IND_RAGSOC));
|
||||
riga.add(rec.get(IND_INDIR));
|
||||
riga.add(rec.get(IND_CIV));
|
||||
riga.add(rec.get(IND_LOCALITA));
|
||||
field_sheet(F_CODINDDOC)->add(riga);
|
||||
field_sheet(F_CODINDSP)->add(riga);
|
||||
field_sheet(F_CODINDEFF)->add(riga);
|
||||
}
|
||||
TToken_string riga(240);
|
||||
indsp_sheet().reset();
|
||||
for (int i=0; i< _rel->indirizzi_items();i++)
|
||||
{
|
||||
TRectype& rec=_rel->indirizzo(i);
|
||||
riga.cut(0);
|
||||
riga.add(rec.get(IND_RAGSOC));
|
||||
riga.add(rec.get(IND_INDIR));
|
||||
riga.add(rec.get(IND_CIV));
|
||||
riga.add(rec.get(IND_LOCALITA));
|
||||
riga.add(rec.get(IND_CAP));
|
||||
riga.add(rec.get(IND_STATO));
|
||||
riga.add(rec.get(IND_COM));
|
||||
riga.add(rec.get(IND_PTEL));
|
||||
riga.add(rec.get(IND_TEL));
|
||||
riga.add(rec.get(IND_PFAX));
|
||||
riga.add(rec.get(IND_FAX));
|
||||
riga.add(rec.get(IND_IVARID));
|
||||
riga.add(rec.get(IND_CODIND));
|
||||
indsp_sheet().row(i)=riga;
|
||||
|
||||
// Load the sheets of CODINDDOC, CODINDSP, CODINDEFF.
|
||||
riga.cut(0);
|
||||
riga.add(rec.get(IND_CODIND));
|
||||
riga.add(rec.get(IND_RAGSOC));
|
||||
riga.add(rec.get(IND_INDIR));
|
||||
riga.add(rec.get(IND_CIV));
|
||||
riga.add(rec.get(IND_LOCALITA));
|
||||
field_sheet(F_CODINDDOC)->add(riga);
|
||||
field_sheet(F_CODINDSP)->add(riga);
|
||||
field_sheet(F_CODINDEFF)->add(riga);
|
||||
}
|
||||
}
|
||||
return _rel->status();
|
||||
}
|
||||
|
||||
int TClifo_application::rewrite(const TMask& m)
|
||||
{
|
||||
common_f(m);
|
||||
return _rel->rewrite(TRUE);
|
||||
return TRelation_application::rewrite(m);
|
||||
}
|
||||
|
||||
int TClifo_application::write(const TMask& m)
|
||||
{
|
||||
common_f(m);
|
||||
return _rel->write(TRUE);
|
||||
return TRelation_application::write(m);
|
||||
}
|
||||
|
||||
TArray_sheet* TClifo_application::field_sheet(const int n) const
|
||||
{
|
||||
TEdit_field& f=(TEdit_field&) _msk->field(n);
|
||||
TArray_sheet* S=(TArray_sheet*) f.sheet()->sheet();
|
||||
return S;
|
||||
TArray_sheet* ss=(TArray_sheet*) f.sheet()->sheet();
|
||||
return ss;
|
||||
}
|
||||
|
||||
TSheet_field& TClifo_application::indsp_sheet() const
|
||||
@ -477,35 +472,38 @@ void TClifo_application::indsp_pack()
|
||||
|
||||
void TClifo_application::common_f(const TMask& m)
|
||||
{
|
||||
char tipocf = m.get(F_TIPOCF)[0];
|
||||
long codcf = m.get_long(F_CODCF);
|
||||
_rel->lfile().zero();
|
||||
m.autosave(_rel);
|
||||
_rel->destroy_rows();
|
||||
indsp_pack();
|
||||
TArray& rows=indsp_sheet().rows_array();
|
||||
int n_items = rows.items();
|
||||
for (int i=0; i<n_items;i++)
|
||||
if (_gesven)
|
||||
{
|
||||
TToken_string& row=(TToken_string&)rows[i];
|
||||
TRectype& rec=_rel->indirizzo(i);
|
||||
row.restart();
|
||||
rec.zero();
|
||||
rec.put(IND_TIPOCF,tipocf);
|
||||
rec.put(IND_CODCF,codcf);
|
||||
rec.put(IND_RAGSOC,row.get());
|
||||
rec.put(IND_INDIR,row.get());
|
||||
rec.put(IND_CIV,row.get());
|
||||
rec.put(IND_LOCALITA,row.get());
|
||||
rec.put(IND_CAP,row.get());
|
||||
rec.put(IND_STATO,row.get_int());
|
||||
rec.put(IND_COM,row.get());
|
||||
rec.put(IND_PTEL,row.get());
|
||||
rec.put(IND_TEL,row.get());
|
||||
rec.put(IND_PFAX,row.get());
|
||||
rec.put(IND_FAX,row.get());
|
||||
rec.put(IND_IVARID,row.get());
|
||||
rec.put(IND_CODIND,i+1);
|
||||
const char tipocf = m.get(F_TIPOCF)[0];
|
||||
const long codcf = m.get_long(F_CODCF);
|
||||
|
||||
_rel->destroy_rows();
|
||||
indsp_pack();
|
||||
TArray& rows=indsp_sheet().rows_array();
|
||||
int n_items = rows.items();
|
||||
|
||||
for (int i = 0; i < n_items; i++)
|
||||
{
|
||||
TToken_string& row=(TToken_string&)rows[i];
|
||||
TRectype& rec=_rel->indirizzo(i);
|
||||
row.restart();
|
||||
rec.zero();
|
||||
rec.put(IND_TIPOCF,tipocf);
|
||||
rec.put(IND_CODCF,codcf);
|
||||
rec.put(IND_RAGSOC,row.get());
|
||||
rec.put(IND_INDIR,row.get());
|
||||
rec.put(IND_CIV,row.get());
|
||||
rec.put(IND_LOCALITA,row.get());
|
||||
rec.put(IND_CAP,row.get());
|
||||
rec.put(IND_STATO,row.get_int());
|
||||
rec.put(IND_COM,row.get());
|
||||
rec.put(IND_PTEL,row.get());
|
||||
rec.put(IND_TEL,row.get());
|
||||
rec.put(IND_PFAX,row.get());
|
||||
rec.put(IND_FAX,row.get());
|
||||
rec.put(IND_IVARID,row.get());
|
||||
rec.put(IND_CODIND,i+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -524,7 +522,6 @@ bool TClifo_application::indsp_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
TToken_string& riga=(TToken_string&)righe[i];
|
||||
TToken_string rigav;
|
||||
riga.restart();
|
||||
rigav.add(riga.get(12));
|
||||
rigav.add(riga.get(0));
|
||||
rigav.add(riga.get());
|
||||
@ -560,17 +557,12 @@ bool TClifo_application::indsp_notify(int r, KEY key)
|
||||
case K_INS:
|
||||
// request to add the row #r
|
||||
// To avoid rewriting of existing record.
|
||||
if (indsp.items() >= 999)
|
||||
// To avoid inserts in the middle of the sheet
|
||||
if (r != -1 && indsp.items() > r)
|
||||
{
|
||||
error_box("Raggiunto il numero massimo degli indirizzi per questo C/F");
|
||||
return FALSE; // Refuse Permission
|
||||
} else
|
||||
// To avoid inserts in the middle of the sheet
|
||||
if (r != -1 && indsp.items() > r)
|
||||
{
|
||||
error_box("Si possono aggiungere indirizzi solo alla fine");
|
||||
return FALSE; //Refuse permission
|
||||
}
|
||||
error_box("Si possono aggiungere indirizzi solo alla fine");
|
||||
return FALSE; //Refuse permission
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -125,13 +125,13 @@ BOOLEAN F_IVARIDI
|
||||
BEGIN
|
||||
PROMPT 2 13 "Riduzione IVA"
|
||||
HELP "Indicare se Š soggetto a riduzione IVA"
|
||||
GROUP 1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_CODINDI 3
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice "
|
||||
HELP "Codice riferito alla tabella indirizzi"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
|
@ -1,20 +1,14 @@
|
||||
#include <config.h>
|
||||
|
||||
#include "cg0201.h"
|
||||
|
||||
#include <clifo.h>
|
||||
#include <indsp.h>
|
||||
|
||||
|
||||
// Definizione dei metodi relativi alla classe TClifoVI
|
||||
|
||||
TClifoVI::TClifoVI():TRelation(LF_CLIFO), _oldindirizzi(0)
|
||||
TClifoVI::TClifoVI():TRelation(LF_CLIFO), _oldindirizzi(0), _gesven(FALSE)
|
||||
{
|
||||
add(LF_CFVEN,"TIPOCF=TIPOCF|CODCF=CODCF");
|
||||
add(LF_INDSP,"TIPOCF=TIPOCF|CODCF=CODCF");
|
||||
|
||||
TConfig conf(CONFIG_DITTA, "cg");
|
||||
_gesven = conf.get_bool("GesVen");
|
||||
}
|
||||
|
||||
void TClifoVI::destroy_rows()
|
||||
@ -36,18 +30,18 @@ TRectype& TClifoVI::indirizzo(int i)
|
||||
|
||||
int TClifoVI::read_indirizzi()
|
||||
{
|
||||
destroy_rows();
|
||||
if (_gesven)
|
||||
{
|
||||
const TLocalisamfile& rind = lfile(LF_INDSP);
|
||||
position_rels();
|
||||
destroy_rows();
|
||||
for (bool ok=is_first_match(LF_INDSP); ok; ok=next_match(LF_INDSP))
|
||||
{
|
||||
const int nriga=rind.get_int(IND_CODIND) -1;
|
||||
indirizzo(nriga)=rind.curr();
|
||||
}
|
||||
_oldindirizzi=indirizzi_items();
|
||||
}
|
||||
_oldindirizzi=indirizzi_items();
|
||||
return NOERR;
|
||||
}
|
||||
|
||||
|
@ -31,6 +31,8 @@ public:
|
||||
TRectype& indirizzo(int i);
|
||||
int indirizzi_items() const {return _indirizzi.items();}
|
||||
void destroy_rows();
|
||||
|
||||
void gestione_vendite(bool gv) { _gesven = gv; }
|
||||
|
||||
TClifoVI();
|
||||
virtual ~TClifoVI() {}
|
||||
|
196
cg/cg0500.cpp
196
cg/cg0500.cpp
@ -22,6 +22,13 @@ typedef enum { no_descr, acquisto, vendita, incasso_pagamento,
|
||||
|
||||
class TCaus_app : public TRelation_application
|
||||
{
|
||||
TRelation* _rel; // Relazione principale
|
||||
TMask* _msk; // Maschera principale
|
||||
|
||||
// Bitarray delle righe lette da file all'inizio.
|
||||
// Quando leggo dal file la riga n setto il bit n.
|
||||
TBit_array _righe_gia_presenti;
|
||||
|
||||
int _filtro; // tipo di filtro su tab. reg.
|
||||
// 1 vendite senza corrisp
|
||||
// 2 vendite con corrisp
|
||||
@ -49,22 +56,15 @@ protected:
|
||||
static bool m770_hndl (TMask_field& f, KEY k);
|
||||
static bool ss_notify (int r, KEY k);
|
||||
|
||||
TRelation * _rel;
|
||||
TMask * _msk;
|
||||
|
||||
// Bitarray delle righe lette da file all'inizio.
|
||||
// Quando leggo dal file la riga n setto il bit n.
|
||||
TBit_array _righe_gia_presenti;
|
||||
|
||||
void togli_dal_file(const TString&);
|
||||
|
||||
void read_rcaus(TMask&);
|
||||
bool fill_sheet(TMask&);
|
||||
|
||||
void set_descr (int numrig=-1, const char * descr="");
|
||||
void clear(int riga); // pulisce una riga in seguito ad Azzera
|
||||
void clear_descr(); // cancella solo le descrizioni fisse
|
||||
void carica_righe_libere();
|
||||
void set_descr (int numrig, const char* descr);
|
||||
void clear(int riga);
|
||||
void clear_descr();
|
||||
void carica_righe_libere(int from = -1);
|
||||
void causale_inc_pag();
|
||||
void causale_ritenute ();
|
||||
void causale_vendite ();
|
||||
@ -96,10 +96,10 @@ public:
|
||||
void compila_array (const TString&, int, int, int);
|
||||
|
||||
TSheet_field& ss() const { return *_sheet; }
|
||||
TMask& ss_mask() const { return _sheet->sheet_mask(); }
|
||||
TMask& ss_mask() const { return _sheet->sheet_mask(); }
|
||||
|
||||
void add_riga (int numrig, char sz, TConto& tc, const TString& d, const TString& da);
|
||||
bool mostra_campi(TMask_field& f);
|
||||
void add_riga (int numrig, char sz, TConto& tc, const TString& d, const TString& da);
|
||||
bool mostra_campi(TMask_field& f);
|
||||
|
||||
bool valuta() const { return _valuta; }
|
||||
bool saldaconto() const { return _saldaconto; }
|
||||
@ -159,100 +159,105 @@ void TCaus_app::set_descr(int i, const char * dfi)
|
||||
r.add(dfi, 0);
|
||||
}
|
||||
|
||||
void TCaus_app::carica_righe_libere()
|
||||
void TCaus_app::carica_righe_libere(int from)
|
||||
{
|
||||
for (int i = ss().items(); i < 20; i++)
|
||||
set_descr(i);
|
||||
if (from < 0) from = ss().items();
|
||||
for (int i = from; i < 20; i++)
|
||||
set_descr(i, "");
|
||||
ss().force_update();
|
||||
}
|
||||
|
||||
// Cancella tutte le descrizioni delle righe
|
||||
void TCaus_app::clear_descr()
|
||||
{
|
||||
TArray& a = ss().rows_array();
|
||||
for (int i=0; i < a.items(); i++)
|
||||
{
|
||||
if (_tipo_des != no_descr)
|
||||
{
|
||||
TToken_string& r = (TToken_string&)a[i];
|
||||
r.add("", 0);
|
||||
}
|
||||
app()._tipo_des = no_descr;
|
||||
TArray& a = ss().rows_array();
|
||||
for (int i = 0; i < a.items(); i++)
|
||||
{
|
||||
TToken_string& r = (TToken_string&)a[i];
|
||||
r.add("", 0);
|
||||
}
|
||||
carica_righe_libere();
|
||||
_tipo_des = no_descr;
|
||||
}
|
||||
}
|
||||
|
||||
void TCaus_app::causale_vendite()
|
||||
{
|
||||
if (_tipo_des == vendita)
|
||||
return;
|
||||
|
||||
_tipo_des = vendita;
|
||||
|
||||
int i=0;
|
||||
set_descr(i++, "C Clienti");
|
||||
set_descr(i++, "C Di ricavo");
|
||||
set_descr(i++, "C Iva vendite");
|
||||
set_descr(i++, "C Iva non detraibile");
|
||||
set_descr(i++, "C Imp. esenti");
|
||||
set_descr(i++, "C Imp. non imponibili");
|
||||
set_descr(i++, "C Imp. non soggetti");
|
||||
set_descr(i++, "C Ritenute fiscali");
|
||||
set_descr(i++, "C Ritenute soc.");
|
||||
if (_tipo_des != vendita)
|
||||
{
|
||||
int i = 0;
|
||||
set_descr(i++, "C Clienti");
|
||||
set_descr(i++, "C Di ricavo");
|
||||
set_descr(i++, "C Iva vendite");
|
||||
set_descr(i++, "C Iva non detraibile");
|
||||
set_descr(i++, "C Imp. esenti");
|
||||
set_descr(i++, "C Imp. non imponibili");
|
||||
set_descr(i++, "C Imp. non soggetti");
|
||||
set_descr(i++, "C Ritenute fiscali");
|
||||
set_descr(i++, "C Ritenute soc.");
|
||||
carica_righe_libere(i);
|
||||
_tipo_des = vendita;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TCaus_app::causale_acquisti()
|
||||
{
|
||||
if (_tipo_des == acquisto)
|
||||
return;
|
||||
|
||||
_tipo_des = acquisto;
|
||||
|
||||
int i=0;
|
||||
set_descr( i++, "C Fornitori");
|
||||
set_descr(i++, "C Di costo");
|
||||
set_descr(i++, "C Iva acquisti");
|
||||
set_descr(i++, "C Iva non detraibile");
|
||||
set_descr(i++, "C Imp. esenti");
|
||||
set_descr(i++, "C Imp. non imponibili");
|
||||
set_descr(i++, "C Imp. non soggetti");
|
||||
set_descr(i++, "C Ritenute fiscali");
|
||||
set_descr(i++, "C Ritenute soc.");
|
||||
if (_tipo_des != acquisto)
|
||||
{
|
||||
int i = 0;
|
||||
set_descr( i++, "C Fornitori");
|
||||
set_descr(i++, "C Di costo");
|
||||
set_descr(i++, "C Iva acquisti");
|
||||
set_descr(i++, "C Iva non detraibile");
|
||||
set_descr(i++, "C Imp. esenti");
|
||||
set_descr(i++, "C Imp. non imponibili");
|
||||
set_descr(i++, "C Imp. non soggetti");
|
||||
set_descr(i++, "C Ritenute fiscali");
|
||||
set_descr(i++, "C Ritenute soc.");
|
||||
carica_righe_libere(i);
|
||||
_tipo_des = acquisto;
|
||||
}
|
||||
}
|
||||
|
||||
void TCaus_app::causale_ritenute()
|
||||
{
|
||||
if (_tipo_des == ritenuta_occas)
|
||||
return;
|
||||
|
||||
_tipo_des = ritenuta_occas;
|
||||
|
||||
int i=0;
|
||||
set_descr (i++, "Costo");
|
||||
set_descr (i++, "Cassa/banca");
|
||||
set_descr (i++, "Erario");
|
||||
if (_tipo_des != ritenuta_occas)
|
||||
{
|
||||
int i = 0;
|
||||
set_descr (i++, "Costo");
|
||||
set_descr (i++, "Cassa/banca");
|
||||
set_descr (i++, "Erario");
|
||||
carica_righe_libere(i);
|
||||
_tipo_des = ritenuta_occas;
|
||||
}
|
||||
}
|
||||
|
||||
void TCaus_app::causale_inc_pag()
|
||||
{
|
||||
const tipo_descr tipo_des = valuta() ? incasso_pagamento_gesval : incasso_pagamento;
|
||||
|
||||
if (_tipo_des == tipo_des)
|
||||
return;
|
||||
|
||||
_tipo_des = tipo_des;
|
||||
|
||||
int i=0;
|
||||
set_descr ( i++, "C Clienti/Fornitori");
|
||||
set_descr ( i++, "C Cassa o banca");
|
||||
set_descr ( i++, "C Tratta");
|
||||
set_descr ( i++, "C Ricevuta bancaria");
|
||||
set_descr ( i++, "C Cessione");
|
||||
set_descr ( i++, "C Paghero'");
|
||||
set_descr ( i++, "C Lettera di credito");
|
||||
set_descr ( i++, "C Abb. pass/sc.");
|
||||
set_descr ( i++, "C Abb. att/sc.");
|
||||
set_descr ( i++, "C Spese e rimborsi");
|
||||
set_descr ( i++, "C Ritenute fiscali");
|
||||
if (_tipo_des == incasso_pagamento_gesval)
|
||||
set_descr (i++, "C Differenza cambio");
|
||||
if (_tipo_des != tipo_des)
|
||||
{
|
||||
int i = 0;
|
||||
set_descr ( i++, "C Clienti/Fornitori");
|
||||
set_descr ( i++, "C Cassa o banca");
|
||||
set_descr ( i++, "C Tratta");
|
||||
set_descr ( i++, "C Ricevuta bancaria");
|
||||
set_descr ( i++, "C Cessione");
|
||||
set_descr ( i++, "C Paghero'");
|
||||
set_descr ( i++, "C Lettera di credito");
|
||||
set_descr ( i++, "C Abb. pass/sc.");
|
||||
set_descr ( i++, "C Abb. att/sc.");
|
||||
set_descr ( i++, "C Spese e rimborsi");
|
||||
set_descr ( i++, "C Ritenute fiscali");
|
||||
if (_tipo_des == incasso_pagamento_gesval)
|
||||
set_descr (i++, "C Differenza cambio");
|
||||
carica_righe_libere(i);
|
||||
_tipo_des = tipo_des;
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
@ -372,11 +377,10 @@ bool TCaus_app::codcausim_hndl (TMask_field& f, KEY k)
|
||||
caus.put(CAU_CODCAUS, causim);
|
||||
if (caus.read() == NOERR)
|
||||
{
|
||||
const int tpm = caus.get_int(CAU_TIPOMOV);
|
||||
TString16 codreg = caus.get(CAU_REG);
|
||||
const int tpm = caus.get_int(CAU_TIPOMOV);
|
||||
const TString& codreg = caus.get(CAU_REG);
|
||||
if (codreg.not_empty() || tpm != 0)
|
||||
return f.warning_box("La causale per l'incasso immediato specificata (%s) deve essere puramente contabile",
|
||||
(const char *) causim);
|
||||
return f.warning_box("La causale per l'incasso/pagamento immediato deve essere puramente contabile");
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
@ -395,7 +399,7 @@ bool TCaus_app::mostra_campi(TMask_field& f)
|
||||
m.hide(F_FAT_RITARDO);
|
||||
m.hide(F_OP_INTRACOM);
|
||||
m.hide(F_VALINTRA);
|
||||
// if (salda_conto())
|
||||
|
||||
m.hide(F_COD_CAUS_IM);
|
||||
|
||||
switch (tpm)
|
||||
@ -602,8 +606,6 @@ bool TCaus_app::sottoconto_hndl(TMask_field& f, KEY k)
|
||||
|
||||
void TCaus_app::compila_array(const TString& tpd, int tpm, int tpr, int m770)
|
||||
{
|
||||
clear_descr();
|
||||
|
||||
if (tpd.empty() || tpd == "IN" || tpd == "AN" || tpd == "PG")
|
||||
{
|
||||
switch (tpm)
|
||||
@ -618,18 +620,22 @@ void TCaus_app::compila_array(const TString& tpd, int tpm, int tpr, int m770)
|
||||
if (m770 == 6)
|
||||
causale_ritenute();
|
||||
default:
|
||||
clear_descr();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else // C'e' il tipodoc.
|
||||
{
|
||||
if (tpr == 1)
|
||||
causale_vendite();
|
||||
else
|
||||
if (tpr == 2)
|
||||
causale_acquisti();
|
||||
switch (tpr)
|
||||
{
|
||||
case 1:
|
||||
causale_vendite(); break;
|
||||
case 2:
|
||||
causale_acquisti(); break;
|
||||
default:
|
||||
clear_descr(); break;
|
||||
}
|
||||
}
|
||||
carica_righe_libere();
|
||||
}
|
||||
|
||||
|
||||
|
13
cg/cg0500.h
13
cg/cg0500.h
@ -29,9 +29,10 @@
|
||||
#define F_COD_CAUS2 126
|
||||
#define F_DESCR2 127
|
||||
|
||||
#define SS_SEZIONE 102
|
||||
#define SS_TIPOCF 103
|
||||
#define SS_GRUPPO 104
|
||||
#define SS_CONTO 105
|
||||
#define SS_SOTTOCONTO 106
|
||||
#define SS_DESCAGG 108
|
||||
#define SS_SEZIONE 102
|
||||
#define SS_TIPOCF 103
|
||||
#define SS_GRUPPO 104
|
||||
#define SS_CONTO 105
|
||||
#define SS_SOTTOCONTO 106
|
||||
#define SS_DESCAGG 108
|
||||
#define SS_DESCRIPTION 109
|
||||
|
@ -34,7 +34,7 @@ BEGIN
|
||||
MESSAGE COPY, F_COD_CAUS2
|
||||
END
|
||||
|
||||
STRING F_DESCR 40
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 17 1 "Descrizione "
|
||||
FIELD LF_CAUSALI->DESCR
|
||||
|
@ -184,6 +184,7 @@ BEGIN
|
||||
OUTPUT 206 CODCF
|
||||
OUTPUT 207 RAGSOC
|
||||
GROUP 1
|
||||
ADD RUN CG0 -1 C
|
||||
END
|
||||
|
||||
// Descrizione FORNITORE
|
||||
@ -203,6 +204,7 @@ BEGIN
|
||||
OUTPUT 306 CODCF
|
||||
OUTPUT 307 RAGSOC
|
||||
GROUP 1
|
||||
ADD RUN CG0 -1 F
|
||||
END
|
||||
|
||||
STRING SS_DESCAGG 5
|
||||
@ -216,16 +218,22 @@ BEGIN
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione @50" S0
|
||||
OUTPUT SS_DESCAGG CODTAB
|
||||
OUTPUT 109 S0
|
||||
OUTPUT SS_DESCRIPTION S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice descrizione aggiuntiva assente"
|
||||
WARNING "Codice descrizione aggiuntiva errato"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 109 50
|
||||
STRING SS_DESCRIPTION 50
|
||||
BEGIN
|
||||
PROMPT 1 8 ""
|
||||
FLAGS "D"
|
||||
USE %DPN KEY 2
|
||||
INPUT S0 SS_DESCRIPTION
|
||||
DISPLAY "Descrizione @50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT SS_DESCAGG
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Descrizione aggiuntiva errata"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
|
119
cg/cg2100.cpp
119
cg/cg2100.cpp
@ -63,6 +63,8 @@ TMask* TPrimanota_application::load_mask(int n)
|
||||
m->set_handler(F_TOTALE, totale_handler);
|
||||
m->set_handler(F_RITFIS, ritfis_handler);
|
||||
m->set_handler(F_RITSOC, ritsoc_handler);
|
||||
m->set_handler(F_CORRLIRE, corrlire_handler);
|
||||
m->set_handler(F_CORRVALUTA, corrvaluta_handler);
|
||||
m->set_handler(F_CODIVA, main_codiva_handler);
|
||||
m->set_handler(F_OCCASEDIT, occas_handler);
|
||||
m->set_handler(F_SOLAIVA, solaiva_handler);
|
||||
@ -182,9 +184,9 @@ bool TPrimanota_application::read_caus(const char* cod, int year)
|
||||
|
||||
if (ok)
|
||||
{
|
||||
nob = _causale.num_doc();
|
||||
dob = _causale.data_doc();
|
||||
sal = gestione_saldaconto() && _causale.saldaconto();
|
||||
dob = sal | _causale.data_doc();
|
||||
nob = sal | _causale.num_doc();
|
||||
iva = _causale.iva();
|
||||
}
|
||||
|
||||
@ -194,7 +196,6 @@ bool TPrimanota_application::read_caus(const char* cod, int year)
|
||||
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;
|
||||
@ -211,6 +212,55 @@ bool TPrimanota_application::read_caus(const char* cod, int year)
|
||||
m->set(F_NUMRIF, val);
|
||||
}
|
||||
}
|
||||
|
||||
if (!ci_sono_importi())
|
||||
{
|
||||
cgs().reset();
|
||||
for (int i = 1; i < _causale.size(); i++)
|
||||
{
|
||||
const TRectype* rcaus = (TRectype*)_causale.objptr(i);
|
||||
if (rcaus == NULL) continue; // Evita eventuali righe nulle
|
||||
|
||||
const int nriga = rcaus->get_int(RCA_NRIGA);
|
||||
if (nriga < 1) continue; // Considera solo righe reali (non riempimenti)
|
||||
|
||||
TBill tc; _causale.bill(nriga, tc);
|
||||
if (tc.gruppo() < 1) continue; // Considera solo gruppi validi
|
||||
|
||||
if (tc.tipo() > ' ' && tc.sottoconto() != 0)
|
||||
{
|
||||
TBill clifo(0, 0, tc.sottoconto(), tc.tipo());
|
||||
clifo.descrizione();
|
||||
if (clifo.conto() != 0)
|
||||
tc = clifo;
|
||||
}
|
||||
|
||||
const char sezione = rcaus->get_char(RCA_SEZIONE);
|
||||
const TImporto zero('D', ZERO);
|
||||
const TString80 desc(_causale.desc_agg(i));
|
||||
|
||||
if (nriga == 1) m->set(F_DESCR, desc);
|
||||
|
||||
if (iva == nessuna_iva)
|
||||
{
|
||||
const int pos = set_cgs_row(-1,zero,tc,desc,' ');
|
||||
if (sezione > ' ')
|
||||
cgs().disable_cell(pos, sezione == 'A' ? 0 : 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nriga >= 2 && nriga <= 9)
|
||||
continue; // Conti per IVA detraibile e non, ritenute sociali e fiscali
|
||||
|
||||
const char tipo = nriga == 1 ? 'T' : ' ';
|
||||
if (nriga == 1 && tc.tipo() > ' ' && tc.sottoconto() != 0)
|
||||
m->set(tc.tipo() == 'C' ? F_CLIENTE : F_FORNITORE, tc.sottoconto());
|
||||
set_cgs_row(-1,zero,tc,desc,tipo);
|
||||
}
|
||||
}
|
||||
fill_sheet(*m);
|
||||
}
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
@ -229,14 +279,11 @@ bool TPrimanota_application::changing_mask(int mode)
|
||||
|
||||
if (flag && _iva != nessuna_iva && !_iva_showed)
|
||||
{
|
||||
if (!ivas().dirty())
|
||||
{
|
||||
WINDOW w = ivas().parent();
|
||||
show_window(w, TRUE);
|
||||
set_front_window(w);
|
||||
process_events();
|
||||
show_window(w, FALSE);
|
||||
}
|
||||
WINDOW w = ivas().parent();
|
||||
show_window(w, TRUE);
|
||||
set_front_window(w);
|
||||
process_events();
|
||||
show_window(w, FALSE);
|
||||
_iva_showed = TRUE;
|
||||
}
|
||||
|
||||
@ -391,51 +438,6 @@ void TPrimanota_application::init_insert_mode(TMask& m)
|
||||
const long protiva = causale().reg().protocol();
|
||||
m.set(F_PROTIVA, protiva+1);
|
||||
}
|
||||
|
||||
if (m.get(F_CODCAUS).empty()) return;
|
||||
|
||||
for (int i = 1; i < _causale.size(); i++)
|
||||
{
|
||||
const TRectype* rcaus = (TRectype*)_causale.objptr(i);
|
||||
if (rcaus == NULL) continue; // Evita eventuali righe nulle
|
||||
|
||||
const int nriga = rcaus->get_int(RCA_NRIGA);
|
||||
if (nriga < 1) continue; // Considera solo righe reali (non riempimenti)
|
||||
|
||||
TBill tc; _causale.bill(nriga, tc);
|
||||
if (tc.conto() < 1) continue; // Considera solo conti validi
|
||||
|
||||
if (tc.tipo() > ' ' && tc.sottoconto() != 0)
|
||||
{
|
||||
TBill clifo(0, 0, tc.sottoconto(), tc.tipo());
|
||||
clifo.descrizione();
|
||||
if (clifo.conto() != 0)
|
||||
tc = clifo;
|
||||
}
|
||||
|
||||
const char sezione = rcaus->get_char(RCA_SEZIONE);
|
||||
const TImporto zero('D', ZERO);
|
||||
const TString80 desc(_causale.desc_agg(i));
|
||||
|
||||
if (nriga == 1) m.set(F_DESCR, desc);
|
||||
|
||||
if (iva() == nessuna_iva)
|
||||
{
|
||||
const int pos = set_cgs_row(-1,zero,tc,desc,' ');
|
||||
if (sezione > ' ')
|
||||
cgs().disable_cell(pos, sezione == 'D' ? 1 : 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nriga >= 2 && nriga <= 9)
|
||||
continue; // Conti per IVA detraibile e non, ritenute sociali e fiscali
|
||||
|
||||
const char tipo = nriga == 1 ? 'T' : ' ';
|
||||
if (nriga == 1 && tc.tipo() > ' ' && tc.sottoconto() != 0)
|
||||
m.set(tc.tipo() == 'C' ? F_CLIENTE : F_FORNITORE, tc.sottoconto());
|
||||
set_cgs_row(-1,zero,tc,desc,tipo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -708,11 +710,6 @@ void TPrimanota_application::mask2rel(const TMask& m)
|
||||
|
||||
real imposta(row.get());
|
||||
if (to_swap) imposta = -imposta;
|
||||
if (imponibile.sign() * imposta.sign() < 0)
|
||||
{
|
||||
yesnofatal_box("Registrazione di imponibile e imposta discordi");
|
||||
imposta = -imposta;
|
||||
}
|
||||
r.put("IMPOSTA", imposta);
|
||||
|
||||
r.put("TIPOCR", row.get());
|
||||
|
@ -53,6 +53,8 @@
|
||||
#define F_AVERE 138
|
||||
#define F_IMPONIBILI 139
|
||||
#define F_IMPOSTE 140
|
||||
#define F_VALUTAINTRA 141
|
||||
#define F_CAMBIOINTRA 142
|
||||
#define F_SHEETCG 300
|
||||
#define F_SHEETIVA 301
|
||||
|
||||
|
@ -503,22 +503,51 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_VALUTAINTRA 3
|
||||
BEGIN
|
||||
PROMPT 1 17 "Valuta intracom. "
|
||||
HELP "Codice della valuta per operazione intracomunitaria"
|
||||
FIELD CODVALI
|
||||
FLAGS "U"
|
||||
GROUP 3
|
||||
USE %VAL
|
||||
INPUT CODTAB F_VALUTAINTRA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Nome@50" S0
|
||||
DISPLAY "Cambio@15" R10
|
||||
DISPLAY "Ultimo aggiornamento" D0
|
||||
OUTPUT F_VALUTAINTRA CODTAB
|
||||
OUTPUT F_CAMBIOINTRA R10
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice valuta assente"
|
||||
END
|
||||
|
||||
NUMBER F_CAMBIOINTRA 12 5
|
||||
BEGIN
|
||||
PROMPT 37 17 "Cambio intracom. "
|
||||
HELP "Cambio della valuta per operazione intracomunitaria"
|
||||
FIELD CAMBIOI
|
||||
FLAGS "RU"
|
||||
GROUP 3
|
||||
PICTURE ".5"
|
||||
END
|
||||
|
||||
NUMBER F_CORRLIRE 15
|
||||
BEGIN
|
||||
PROMPT 1 16 "Corrispettivo Lire "
|
||||
HELP "Corrispettivo in Lit. per operazioni intracomunitarie"
|
||||
PROMPT 1 18 "Corrispettivo Lire "
|
||||
HELP "Corrispettivo in Lit. per operazioni intracomunitarie. Il tasto F8 lo pone uguale alla somma degli imponibili"
|
||||
FIELD LF_MOV->CORRLIRE
|
||||
FLAGS "R"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER F_CORRVALUTA 15
|
||||
NUMBER F_CORRVALUTA 15 2
|
||||
BEGIN
|
||||
PROMPT 45 16 "Corrisp. valuta "
|
||||
PROMPT 37 18 "Corrispettivo valuta "
|
||||
HELP "Corrispettivo in valuta per operazioni intracomunitarie"
|
||||
FIELD LF_MOV->CORRVALUTA
|
||||
FLAGS "R"
|
||||
PICTURE "."
|
||||
PICTURE ".2"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -611,14 +640,14 @@ END
|
||||
|
||||
NUMBER F_DARE 15
|
||||
BEGIN
|
||||
PROMPT 1 -1 "Sbilancio Dare "
|
||||
PROMPT 1 18 "Sbilancio Dare "
|
||||
FLAGS "DRV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER F_AVERE 15
|
||||
BEGIN
|
||||
PROMPT 41 -1 "Sbilancio Avere "
|
||||
PROMPT 41 18 "Sbilancio Avere "
|
||||
FLAGS "DRV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
@ -245,11 +245,6 @@ int TMovimentoPN::registra(bool re, bool force)
|
||||
cancella(ri, i+1, _oldiva);
|
||||
_oldiva = iva_items();
|
||||
|
||||
// Aggiorna data registrazione sul libro giornale
|
||||
const TDate datareg(m.get("DATAREG"));
|
||||
TLibro_giornale gio(date2esc(datareg));
|
||||
gio.update(0L, datareg);
|
||||
|
||||
// Aggiorna data registrazione e protocollo IVA sul registro
|
||||
if (reg.not_empty())
|
||||
{
|
||||
|
@ -413,6 +413,18 @@ void TPrimanota_application::cgs_pack()
|
||||
}
|
||||
|
||||
|
||||
bool TPrimanota_application::ci_sono_importi() const
|
||||
{
|
||||
TArray& rows = cgs().rows_array();
|
||||
for (int i = 0; i < rows.items(); i++)
|
||||
{
|
||||
TToken_string& r = (TToken_string&)rows[i];
|
||||
if (r.get_char(0) > '0') return TRUE;
|
||||
if (r.get_char() > '0') return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
real TPrimanota_application::calcola_saldo() const
|
||||
{
|
||||
TArray& rows = cgs().rows_array();
|
||||
@ -1114,7 +1126,11 @@ bool TPrimanota_application::caus_modify_handler(TMask_field& f, KEY key)
|
||||
|
||||
ok = app().causale().similar(c);
|
||||
if (!ok) return FALSE;
|
||||
app().causale().read(cau, ann);
|
||||
if (key == K_TAB)
|
||||
{
|
||||
app().read_caus(cau, ann);
|
||||
app().cgs().force_update();
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
@ -1566,6 +1582,72 @@ bool TPrimanota_application::visval_handler(TMask_field& f, KEY key)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Handler of F_CORRLIRE
|
||||
// Certified 99%
|
||||
bool TPrimanota_application::corrlire_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
|
||||
if (key == K_ENTER && f.get().empty())
|
||||
{
|
||||
if (m.get(F_CORRVALUTA).not_empty())
|
||||
m.field(F_CORRVALUTA).on_hit();
|
||||
else
|
||||
key == K_F8;
|
||||
}
|
||||
|
||||
if (key == K_F8)
|
||||
{
|
||||
f.set(m.get(F_IMPONIBILI));
|
||||
f.set_dirty();
|
||||
m.reset(F_CORRVALUTA);
|
||||
key = K_TAB;
|
||||
}
|
||||
if (key == K_TAB && f.focusdirty())
|
||||
{
|
||||
if (m.get(F_CORRVALUTA).empty())
|
||||
{
|
||||
const real cambio = m.get(F_CAMBIOINTRA);
|
||||
if (cambio != ZERO && m.get(F_CORRVALUTA).empty())
|
||||
{
|
||||
real c = f.get();
|
||||
c /= cambio;
|
||||
m.set(F_CORRVALUTA, c.string());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Handler of F_CORRVALUTA
|
||||
// Certified 99%
|
||||
bool TPrimanota_application::corrvaluta_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key == K_TAB && f.focusdirty())
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (m.get(F_CORRLIRE).empty())
|
||||
{
|
||||
const real cambio = m.get(F_CAMBIOINTRA);
|
||||
if (cambio != ZERO)
|
||||
{
|
||||
real c = f.get();
|
||||
c *= cambio;
|
||||
m.set(F_CORRLIRE, c.string());
|
||||
}
|
||||
}
|
||||
} else
|
||||
if (key == K_ENTER && f.get().empty())
|
||||
{
|
||||
TMask_field& cl = f.mask().field(F_CORRLIRE);
|
||||
cl.set_dirty();
|
||||
cl.on_hit();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
bool TPrimanota_application::solaiva_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
|
@ -68,6 +68,8 @@ class TPrimanota_application : public TRelation_application
|
||||
static bool main_codiva_handler(TMask_field& f, KEY key);
|
||||
static bool cambio_handler(TMask_field& f, KEY key);
|
||||
static bool visval_handler(TMask_field& f, KEY key);
|
||||
static bool corrlire_handler(TMask_field& f, KEY key);
|
||||
static bool corrvaluta_handler(TMask_field& f, KEY key);
|
||||
static bool occas_code_handler(TMask_field& f, KEY key);
|
||||
static bool occas_handler(TMask_field& f, KEY key);
|
||||
static bool solaiva_handler(TMask_field& f, KEY key);
|
||||
@ -157,6 +159,7 @@ protected:
|
||||
TImporto sub_cgs_imp(int n, const real& imp);
|
||||
|
||||
void cgs_pack();
|
||||
bool ci_sono_importi() const;
|
||||
real calcola_saldo() const;
|
||||
real calcola_imp() const;
|
||||
|
||||
|
@ -52,7 +52,7 @@ END
|
||||
NUMBER 101 15
|
||||
BEGIN
|
||||
PROMPT 2 4 "Imponibile "
|
||||
HELP "Importo imponibile della riga"
|
||||
HELP "Importo imponibile"
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
@ -60,7 +60,7 @@ END
|
||||
NUMBER 104 15
|
||||
BEGIN
|
||||
PROMPT 48 4 "Imposta "
|
||||
HELP "Imporot dell'IVA della riga"
|
||||
HELP "Importo dell'IVA. Se e' nullo, col tasto F8 si puo' effettuare lo scorporo"
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
@ -73,7 +73,7 @@ END
|
||||
LIST 106 1 12
|
||||
BEGIN
|
||||
PROMPT 2 7 "Tipo "
|
||||
HELP "Tipo del conto della riga"
|
||||
HELP "Tipo del conto"
|
||||
FIELD TMCF
|
||||
ITEM " |Conto"
|
||||
MESSAGE SHOW,109|HIDE,209|HIDE,309|SHOW,110|HIDE,210|HIDE,310
|
||||
@ -87,14 +87,14 @@ END
|
||||
NUMBER 107 3
|
||||
BEGIN
|
||||
PROMPT 22 7 "Gruppo "
|
||||
HELP "Codice del conto della riga"
|
||||
HELP "Codice del gruppo"
|
||||
FIELD GRUPPO
|
||||
END
|
||||
|
||||
NUMBER 108 3
|
||||
BEGIN
|
||||
PROMPT 38 7 "Conto "
|
||||
HELP "Codice del conto della riga"
|
||||
HELP "Codice del conto"
|
||||
FIELD CONTO
|
||||
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
|
||||
INPUT GRUPPO 107
|
||||
@ -117,7 +117,7 @@ END
|
||||
NUMBER 109 6
|
||||
BEGIN
|
||||
PROMPT 55 7 "Sottoconto "
|
||||
HELP "Codice del conto della riga"
|
||||
HELP "Codice del sottoconto"
|
||||
FIELD SOTTOCONTO
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO 107
|
||||
@ -142,7 +142,7 @@ END
|
||||
NUMBER 209 6
|
||||
BEGIN
|
||||
PROMPT 55 7 "Cliente "
|
||||
HELP "Codice del cliente della riga"
|
||||
HELP "Codice del cliente"
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 209
|
||||
@ -162,7 +162,7 @@ END
|
||||
NUMBER 309 6
|
||||
BEGIN
|
||||
PROMPT 55 7 "Fornitore "
|
||||
HELP "Codice del fornitore della riga"
|
||||
HELP "Codice del fornitore"
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 309
|
||||
@ -182,7 +182,7 @@ END
|
||||
STRING 110 50
|
||||
BEGIN
|
||||
PROMPT 2 8 "Descrizione "
|
||||
HELP "Descrizione del conto della riga"
|
||||
HELP "Descrizione del conto"
|
||||
FIELD LF_PCON->DESCR
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR 110
|
||||
@ -198,7 +198,7 @@ END
|
||||
STRING 210 50
|
||||
BEGIN
|
||||
PROMPT 2 8 "Cliente "
|
||||
HELP "Ragione sociale del cliente della riga"
|
||||
HELP "Ragione sociale del cliente"
|
||||
FIELD LF_CLIFO->RAGSOC
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
@ -216,7 +216,7 @@ END
|
||||
STRING 310 50
|
||||
BEGIN
|
||||
PROMPT 2 8 "Fornitore "
|
||||
HELP "Ragione sociale del forntore della riga"
|
||||
HELP "Ragione sociale del forntore"
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
@ -242,7 +242,7 @@ BEGIN
|
||||
ITEM "5|5. Beni per rivendita da non ventilare"
|
||||
ITEM "8|8. Altri beni strumentali acquistati in leasing"
|
||||
FLAGS "D"
|
||||
HELP "Indicare il tipo Costo/Ricavo del conto"
|
||||
HELP "Tipo Costo/Ricavo del conto"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user