Rifatto sheet causali e corretta gestione sezione D/A
git-svn-id: svn://10.65.10.50/trunk@493 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8a0f601db7
commit
14abd67ee4
@ -20,12 +20,6 @@
|
|||||||
#include "cg0201.h"
|
#include "cg0201.h"
|
||||||
|
|
||||||
|
|
||||||
bool gest_vend()
|
|
||||||
{
|
|
||||||
TConfig c(CONFIG_DITTA,"cg");
|
|
||||||
return c.get("GesVen") == "X";
|
|
||||||
}
|
|
||||||
|
|
||||||
class CG0200_application : public TRelation_application
|
class CG0200_application : public TRelation_application
|
||||||
{
|
{
|
||||||
TMask* _msk;
|
TMask* _msk;
|
||||||
@ -36,13 +30,15 @@ class CG0200_application : public TRelation_application
|
|||||||
TLocalisamfile* _comuni;
|
TLocalisamfile* _comuni;
|
||||||
TLocalisamfile* _pcon;
|
TLocalisamfile* _pcon;
|
||||||
|
|
||||||
bool _lbcn;
|
bool _lbcn, _gesven;
|
||||||
|
bool _savenew;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool user_create();
|
bool user_create();
|
||||||
bool user_destroy();
|
bool user_destroy();
|
||||||
virtual TMask* get_mask(int mode) { return _msk; }
|
virtual TMask* get_mask(int mode) { return _msk; }
|
||||||
virtual bool changing_mask(int mode) { return FALSE; }
|
virtual bool changing_mask(int mode) { return FALSE; }
|
||||||
|
virtual bool save_and_new() const { return _savenew; }
|
||||||
virtual bool protected_record(TRectype &rec);
|
virtual bool protected_record(TRectype &rec);
|
||||||
virtual const char* get_next_key();
|
virtual const char* get_next_key();
|
||||||
void init_pages(TMask& m);
|
void init_pages(TMask& m);
|
||||||
@ -356,16 +352,17 @@ HIDDEN bool codalleg_handler(TMask_field& f, KEY key)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CG0200_application::init_pages(TMask& m)
|
|
||||||
|
|
||||||
|
void CG0200_application::init_pages(TMask& m)
|
||||||
{
|
{
|
||||||
TConfig conf(CONFIG_DITTA, "cg");
|
TConfig conf(CONFIG_DITTA, "cg");
|
||||||
|
_lbcn = conf.get_bool("GsLbCn");
|
||||||
_lbcn = (conf.get("GsLbCn") == "X");
|
_gesven = conf.get_bool("GesVen");
|
||||||
|
|
||||||
m.send_key(K_SHIFT + K_CTRL + (_lbcn ? 's' : 'h'), -5);
|
m.send_key(K_SHIFT + K_CTRL + (_lbcn ? 's' : 'h'), -5);
|
||||||
// Se non e' abilitata la gestione delle vendite disabilita le
|
// Se non e' abilitata la gestione delle vendite disabilita le
|
||||||
// maschere dalla 4 in poi
|
// maschere dalla 4 in poi
|
||||||
if (!gest_vend())
|
if (_gesven)
|
||||||
{
|
{
|
||||||
for (int j=3; j<8;j++)
|
for (int j=3; j<8;j++)
|
||||||
m.disable_page(j);
|
m.disable_page(j);
|
||||||
@ -381,7 +378,7 @@ void CG0200_application::init_query_mode(TMask& m)
|
|||||||
|
|
||||||
{
|
{
|
||||||
init_pages(m);
|
init_pages(m);
|
||||||
if (gest_vend())
|
if (_gesven)
|
||||||
reset_sheet();
|
reset_sheet();
|
||||||
|
|
||||||
if (argc() > 2 && *argv(2) == 'F')
|
if (argc() > 2 && *argv(2) == 'F')
|
||||||
@ -390,7 +387,6 @@ void CG0200_application::init_query_mode(TMask& m)
|
|||||||
|
|
||||||
int CG0200_application::read(TMask& m)
|
int CG0200_application::read(TMask& m)
|
||||||
{
|
{
|
||||||
|
|
||||||
TToken_string riga(240);
|
TToken_string riga(240);
|
||||||
|
|
||||||
m.autoload(_rel);
|
m.autoload(_rel);
|
||||||
@ -584,7 +580,6 @@ default:
|
|||||||
|
|
||||||
bool CG0200_application::user_create() // initvar e arrmask
|
bool CG0200_application::user_create() // initvar e arrmask
|
||||||
{
|
{
|
||||||
|
|
||||||
_rel = new TClifoVI;
|
_rel = new TClifoVI;
|
||||||
|
|
||||||
_mov = new TLocalisamfile(LF_MOV);
|
_mov = new TLocalisamfile(LF_MOV);
|
||||||
@ -592,7 +587,9 @@ bool CG0200_application::user_create() // initvar e arrmask
|
|||||||
_fis = new TLocalisamfile(LF_ANAGFIS);
|
_fis = new TLocalisamfile(LF_ANAGFIS);
|
||||||
_pcon = new TLocalisamfile(LF_PCON);
|
_pcon = new TLocalisamfile(LF_PCON);
|
||||||
_comuni = new TLocalisamfile(LF_COMUNI);
|
_comuni = new TLocalisamfile(LF_COMUNI);
|
||||||
|
|
||||||
_msk = new TMask("cg0200a") ;
|
_msk = new TMask("cg0200a") ;
|
||||||
|
|
||||||
_msk->set_handler(F_OCCASIONALE, occas_handler);
|
_msk->set_handler(F_OCCASIONALE, occas_handler);
|
||||||
_msk->set_handler(F_RAGSOCA, autoexit_rsoc_handler);
|
_msk->set_handler(F_RAGSOCA, autoexit_rsoc_handler);
|
||||||
_msk->set_handler(F_COFI, autoexit_handler);
|
_msk->set_handler(F_COFI, autoexit_handler);
|
||||||
@ -606,10 +603,12 @@ bool CG0200_application::user_create() // initvar e arrmask
|
|||||||
_msk->set_handler(F_SHEET_G_VEN, indsp_handler);
|
_msk->set_handler(F_SHEET_G_VEN, indsp_handler);
|
||||||
|
|
||||||
TSheet_field& ind = (TSheet_field&) _msk->field(F_SHEET_G_VEN);
|
TSheet_field& ind = (TSheet_field&) _msk->field(F_SHEET_G_VEN);
|
||||||
|
|
||||||
ind.set_notify(indsp_notify);
|
ind.set_notify(indsp_notify);
|
||||||
|
|
||||||
_mov->setkey(3);
|
_mov->setkey(3);
|
||||||
|
|
||||||
|
TConfig config(CONFIG_STUDIO);
|
||||||
|
_savenew = !config.get_bool("Cg02SN");
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,16 +1,20 @@
|
|||||||
|
#include <config.h>
|
||||||
|
|
||||||
#include "cg0201.h"
|
#include "cg0201.h"
|
||||||
|
|
||||||
#include <clifo.h>
|
#include <clifo.h>
|
||||||
#include <indsp.h>
|
#include <indsp.h>
|
||||||
|
|
||||||
extern bool gest_vend();
|
|
||||||
// Definizione dei metodi relativi alla classe TClifoVI
|
|
||||||
|
|
||||||
|
// Definizione dei metodi relativi alla classe TClifoVI
|
||||||
|
|
||||||
TClifoVI::TClifoVI():TRelation(LF_CLIFO), _oldindirizzi(0)
|
TClifoVI::TClifoVI():TRelation(LF_CLIFO), _oldindirizzi(0)
|
||||||
{
|
{
|
||||||
add(LF_CFVEN,"TIPOCF=TIPOCF|CODCF=CODCF");
|
add(LF_CFVEN,"TIPOCF=TIPOCF|CODCF=CODCF");
|
||||||
add(LF_INDSP,"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()
|
void TClifoVI::destroy_rows()
|
||||||
@ -32,10 +36,9 @@ TRectype& TClifoVI::indirizzo(int i)
|
|||||||
|
|
||||||
int TClifoVI::read_indirizzi()
|
int TClifoVI::read_indirizzi()
|
||||||
{
|
{
|
||||||
const TLocalisamfile& rind = lfile(LF_INDSP);
|
if (_gesven)
|
||||||
// Put here gest_vend() discrimination
|
|
||||||
if (gest_vend())
|
|
||||||
{
|
{
|
||||||
|
const TLocalisamfile& rind = lfile(LF_INDSP);
|
||||||
position_rels();
|
position_rels();
|
||||||
destroy_rows();
|
destroy_rows();
|
||||||
for (bool ok=is_first_match(LF_INDSP); ok; ok=next_match(LF_INDSP))
|
for (bool ok=is_first_match(LF_INDSP); ok; ok=next_match(LF_INDSP))
|
||||||
@ -43,7 +46,7 @@ int TClifoVI::read_indirizzi()
|
|||||||
const int nriga=rind.get_int(IND_CODIND) -1;
|
const int nriga=rind.get_int(IND_CODIND) -1;
|
||||||
indirizzo(nriga)=rind.curr();
|
indirizzo(nriga)=rind.curr();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_oldindirizzi=indirizzi_items();
|
_oldindirizzi=indirizzi_items();
|
||||||
return NOERR;
|
return NOERR;
|
||||||
}
|
}
|
||||||
@ -90,7 +93,7 @@ int TClifoVI::registra(bool re, bool force)
|
|||||||
if (err!=NOERR) return err;
|
if (err!=NOERR) return err;
|
||||||
|
|
||||||
// Put here gest_vend() discrimination
|
// Put here gest_vend() discrimination
|
||||||
if (gest_vend())
|
if (_gesven)
|
||||||
{
|
{
|
||||||
TLocalisamfile& v=lfile(LF_CFVEN);
|
TLocalisamfile& v=lfile(LF_CFVEN);
|
||||||
err=write_rec(TRUE,v.curr(),v);
|
err=write_rec(TRUE,v.curr(),v);
|
||||||
@ -135,7 +138,7 @@ int TClifoVI::remove(TDate&)
|
|||||||
c.remove();
|
c.remove();
|
||||||
|
|
||||||
// Put here gest_vend() discrimination
|
// Put here gest_vend() discrimination
|
||||||
if (gest_vend())
|
if (_gesven)
|
||||||
{
|
{
|
||||||
TLocalisamfile& v=lfile(LF_CFVEN);
|
TLocalisamfile& v=lfile(LF_CFVEN);
|
||||||
TLocalisamfile& rind=lfile(LF_INDSP);
|
TLocalisamfile& rind=lfile(LF_INDSP);
|
||||||
|
@ -6,7 +6,9 @@ class TClifoVI:public TRelation
|
|||||||
{
|
{
|
||||||
// @DPRIV
|
// @DPRIV
|
||||||
TArray _indirizzi;
|
TArray _indirizzi;
|
||||||
int _oldindirizzi;
|
int _oldindirizzi;
|
||||||
|
bool _gesven;
|
||||||
|
|
||||||
// @END
|
// @END
|
||||||
protected:
|
protected:
|
||||||
// @FPROT
|
// @FPROT
|
||||||
|
335
cg/cg0500.cpp
335
cg/cg0500.cpp
@ -16,10 +16,6 @@
|
|||||||
#include "cg2103.h"
|
#include "cg2103.h"
|
||||||
#include "cg0500.h"
|
#include "cg0500.h"
|
||||||
|
|
||||||
#define SS_TIPOCF 102
|
|
||||||
#define SS_GRUPPO 103
|
|
||||||
#define SS_CONTO 104
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
// Funzioni legate ai parametri ditta
|
// Funzioni legate ai parametri ditta
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
@ -80,37 +76,26 @@ HIDDEN int anno_iva()
|
|||||||
class TRiga_caus : public TToken_string
|
class TRiga_caus : public TToken_string
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
const TString& operator = (const TString& s)
|
const TString& operator = (const TString& s) {return TToken_string::operator=(s);}
|
||||||
{return TToken_string::operator=(s);}
|
const TString& operator = (const char* s) {return TToken_string::operator=(s);}
|
||||||
|
|
||||||
TRiga_caus (TConto& tc, // il conto
|
TRiga_caus (const char *df="", // descrizione fissa
|
||||||
const char *df="", // descrizione fissa
|
|
||||||
char tipocf=' ', // tipo C/F
|
|
||||||
char sezione=' ', // dare/avere
|
char sezione=' ', // dare/avere
|
||||||
const char * des="", // descrizione del conto
|
TConto* tc = NULL, // il conto
|
||||||
const char * desagg="", // codice descr. aggiuntiva
|
const char * coddes="", // codice descr. aggiuntiva
|
||||||
char rigaiva=' ', // se e' una riga iva
|
const char * descagg=""); // descrizione aggiuntiva
|
||||||
const char * codiva=""); // codice iva
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TRiga_caus::TRiga_caus (TConto& tc,const char * df, char tipocf, char sez,
|
TRiga_caus::TRiga_caus (const char * df, char sez, TConto* tc,
|
||||||
const char * des, const char * desagg,
|
const char * coddes, const char * descagg)
|
||||||
char rigaiva, const char * codiva)
|
|
||||||
: TToken_string(128)
|
: TToken_string(128)
|
||||||
{
|
{
|
||||||
add(df); add(tipocf);
|
add(df);
|
||||||
// add(tc.tipo());
|
add(sez);
|
||||||
if (tc.ok())
|
if (tc != NULL) add(tc->string(0x3));
|
||||||
{
|
else add(" | | | | ");
|
||||||
add(tc.gruppo());
|
add(coddes);
|
||||||
add(tc.conto());
|
add(descagg);
|
||||||
add(tc.sottoconto());
|
|
||||||
}
|
|
||||||
else add(" | | ");
|
|
||||||
add(sez); add(des);
|
|
||||||
add(desagg);
|
|
||||||
add(rigaiva);
|
|
||||||
add(codiva);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class TRighe_rcaus : public TArray
|
class TRighe_rcaus : public TArray
|
||||||
@ -127,6 +112,7 @@ public:
|
|||||||
TRighe_rcaus() : TArray(20) {}
|
TRighe_rcaus() : TArray(20) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Cancella tutte le descrizioni delle righe
|
||||||
void TRighe_rcaus::clear_descr()
|
void TRighe_rcaus::clear_descr()
|
||||||
{
|
{
|
||||||
for (int i=0; i < items(); i++)
|
for (int i=0; i < items(); i++)
|
||||||
@ -136,29 +122,21 @@ void TRighe_rcaus::clear_descr()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Cancella tutta la riga tranne la descrizione
|
||||||
void TRighe_rcaus::clear(int row)
|
void TRighe_rcaus::clear(int row)
|
||||||
{
|
{
|
||||||
TRiga_caus* r = (TRiga_caus*)objptr(row);
|
TRiga_caus* r = (TRiga_caus*)objptr(row);
|
||||||
|
if (r != NULL) *r = (const char*)r->get(0);
|
||||||
if (r)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
r->add("", 1); r->add(0, 2); r->add(0, 3);
|
|
||||||
r->add(0L, 4); r->add("", 5); r->add("", 6);
|
|
||||||
r->add("", 7); r->add("", 8); r->add("", 9);
|
|
||||||
*/
|
|
||||||
*r = r->get(0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Setta la descrizione di una riga senza cmbiare il resto
|
||||||
void TRighe_rcaus::set_descr(int i, const char * dfi)
|
void TRighe_rcaus::set_descr(int i, const char * dfi)
|
||||||
{
|
{
|
||||||
TRiga_caus *r = (TRiga_caus*)objptr(i);
|
TRiga_caus *r = (TRiga_caus*)objptr(i);
|
||||||
|
|
||||||
if (r == NULL)
|
if (r == NULL)
|
||||||
{
|
{
|
||||||
TConto tc;
|
r = new TRiga_caus(dfi);
|
||||||
r = new TRiga_caus(tc, dfi);
|
|
||||||
add(r,i);
|
add(r,i);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -229,7 +207,6 @@ public:
|
|||||||
bool _forcedCopy;
|
bool _forcedCopy;
|
||||||
TRighe_rcaus _righe_rcaus; // Array delle descrizioni delle righe
|
TRighe_rcaus _righe_rcaus; // Array delle descrizioni delle righe
|
||||||
tipo_descr _tipo_des; // Il tipo di causale corrente
|
tipo_descr _tipo_des; // Il tipo di causale corrente
|
||||||
int _riga; // Riga corrente dello sheet (set_notify)
|
|
||||||
|
|
||||||
void compilaarray (const TString&, int, int, int);
|
void compilaarray (const TString&, int, int, int);
|
||||||
void array2sheet(); // Copia le descrizioni dall'array allo sheet
|
void array2sheet(); // Copia le descrizioni dall'array allo sheet
|
||||||
@ -237,8 +214,7 @@ public:
|
|||||||
TMask* main_mask() const { return _msk; }
|
TMask* main_mask() const { return _msk; }
|
||||||
TMask& ss_mask() const { return ss().sheet_mask(); }
|
TMask& ss_mask() const { return ss().sheet_mask(); }
|
||||||
TSheet_field& ss() const { return (TSheet_field&)_msk->field(F_SHEET_GCS);}
|
TSheet_field& ss() const { return (TSheet_field&)_msk->field(F_SHEET_GCS);}
|
||||||
void add_riga (int numrig, char cf, char sz, TString& d, TString& da,
|
void add_riga (int numrig, char sz, TConto& tc, const TString& d, const TString& da);
|
||||||
bool riva, TString& civa, TConto& tc);
|
|
||||||
bool mostra_campi(TMask_field& f);
|
bool mostra_campi(TMask_field& f);
|
||||||
TLocalisamfile & conti() { return *_conti; }
|
TLocalisamfile & conti() { return *_conti; }
|
||||||
|
|
||||||
@ -251,22 +227,16 @@ HIDDEN TCaus_app& app() { return (TCaus_app&) main_app(); }
|
|||||||
// e per pulire la sezione Dare/avere in caso di riga azzerata
|
// e per pulire la sezione Dare/avere in caso di riga azzerata
|
||||||
bool TCaus_app::leggi_riga(int r, KEY k)
|
bool TCaus_app::leggi_riga(int r, KEY k)
|
||||||
{
|
{
|
||||||
if (k == K_SPACE)
|
|
||||||
app()._riga = r;
|
|
||||||
|
|
||||||
if (k == K_ENTER)
|
if (k == K_ENTER)
|
||||||
{
|
{
|
||||||
TToken_string &riga = app().ss().row(r);
|
TToken_string &riga = app().ss().row(r);
|
||||||
const int g = riga.get_int(2);
|
const int g = riga.get_int(3);
|
||||||
if (g == 0) // riga azzerata
|
if (g == 0) // riga azzerata
|
||||||
{
|
{
|
||||||
riga.add("", 1); // pulisco tipo C/F
|
|
||||||
riga.add("", 5); // pulisco Dare/Avere
|
|
||||||
app()._righe_rcaus.clear(r); // pulisco la riga anche nell'array
|
app()._righe_rcaus.clear(r); // pulisco la riga anche nell'array
|
||||||
app().ss().force_update(r);
|
app().ss().force_update(r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -528,63 +498,77 @@ bool TCaus_app::cod_reg_hndl (TMask_field& f, KEY k)
|
|||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
bool TCaus_app::conto_hndl (TMask_field& f, KEY k)
|
bool TCaus_app::conto_hndl (TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
// Se specifico il conto deve essere non vuoto il gruppo
|
|
||||||
if (f.to_check(k))
|
|
||||||
{
|
|
||||||
int io = f.dlg();
|
|
||||||
int c = f.mask().get_int(io);
|
|
||||||
int g = f.mask().get_int(io - 1);
|
|
||||||
|
|
||||||
if (c > 0)
|
|
||||||
if (g == 0)
|
|
||||||
return f.warning_box("Non accetto un conto senza gruppo");
|
|
||||||
}
|
|
||||||
// Controllo: << se e' fattura solo la riga 1 o 7 possono essere C/F >>
|
|
||||||
if (k == K_ENTER)
|
if (k == K_ENTER)
|
||||||
{
|
{
|
||||||
char scarta = '\0';
|
char scarta = 'Z';
|
||||||
int ultima = 8;
|
int ultima = 8;
|
||||||
char cf = f.mask().get(SS_TIPOCF)[0];
|
|
||||||
TMask_field& cfld = f.mask().field(SS_TIPOCF);
|
const TipoIVA tpr = (TipoIVA)app().main_mask()->get_int(F_TIPO_REG);
|
||||||
const int tpr = app().main_mask()->get_int(F_TIPO_REG);
|
|
||||||
bool puramente_contabile = FALSE;
|
|
||||||
|
|
||||||
switch (tpr)
|
switch (tpr)
|
||||||
{
|
{
|
||||||
case 1: scarta = 'F'; break;
|
case iva_vendite:
|
||||||
case 2: scarta = 'C'; break;
|
scarta = 'F'; break; // Scarta vendite a fornitori
|
||||||
case 0:
|
case iva_acquisti:
|
||||||
scarta = 'Z'; // Accetto tutto
|
scarta = 'C'; break; // Scarta acquisti da clienti
|
||||||
puramente_contabile = TRUE;
|
default:
|
||||||
switch (app()._tipo_des)
|
scarta = 'Z'; // Accetta tutto
|
||||||
{
|
switch (app()._tipo_des)
|
||||||
case incasso_pagamento: ultima = 11; break;
|
{
|
||||||
case incasso_pagamento_gesval: ultima = 12; break;
|
case incasso_pagamento:
|
||||||
default: break;
|
ultima = 11; break;
|
||||||
}
|
case incasso_pagamento_gesval:
|
||||||
}
|
ultima = 12; break;
|
||||||
|
default:
|
||||||
if (!puramente_contabile)
|
ultima = 8; break;
|
||||||
{
|
}
|
||||||
if (app()._riga > ultima) // se sono nelle righe libere accetto TUTTO..
|
|
||||||
return TRUE;
|
|
||||||
else
|
|
||||||
if (app()._riga == 0 || app()._riga == 6)
|
|
||||||
{
|
|
||||||
if (cf == scarta)
|
|
||||||
return cfld.warning_box(
|
|
||||||
"Impossibile inserire un %s con registro di tipo %s nella riga %d",
|
|
||||||
cf == 'C' ? "cliente" : "fornitore",
|
|
||||||
tpr == 1 ? "vendite" : "acquisti", app()._riga+1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
if (cf == 'C' || cf == 'F')
|
|
||||||
return cfld.warning_box(
|
|
||||||
"Impossibile inserire un %s con registro di tipo %s nella riga %d",
|
|
||||||
cf == 'C' ? "cliente" : "fornitore",
|
|
||||||
tpr == 1 ? "vendite" : "acquisti", app()._riga+1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TMask_field& sez = f.mask().field(SS_SEZIONE);
|
||||||
|
char sezione = toupper(sez.get()[0]);
|
||||||
|
if (sezione != 'A' && sezione != 'D') sezione = ' ';
|
||||||
|
char sezione_consigliata = ' ';
|
||||||
|
const bool full = f.get().not_empty();
|
||||||
|
|
||||||
|
const int riga = app().ss().selected();
|
||||||
|
if (tpr != nessuna_iva && riga <= ultima)
|
||||||
|
{
|
||||||
|
TMask_field& cfld = f.mask().field(SS_TIPOCF);
|
||||||
|
const char cf = toupper(cfld.get()[0]);
|
||||||
|
|
||||||
|
bool ok = TRUE;
|
||||||
|
if (riga == 0 || riga == 8)
|
||||||
|
{
|
||||||
|
ok = cf != scarta;
|
||||||
|
if (full && sezione == ' ')
|
||||||
|
{
|
||||||
|
if (riga == 0)
|
||||||
|
sezione_consigliata = cf == 'C' ? 'D' : 'A';
|
||||||
|
else
|
||||||
|
sezione_consigliata = app().ss().row(0).get_char(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ok = cf != 'C' && cf != 'F';
|
||||||
|
if (full && sezione == ' ')
|
||||||
|
sezione_consigliata = app().ss().row(0).get_char(1) == 'D' ? 'A' : 'D';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ok)
|
||||||
|
return cfld.error_box(
|
||||||
|
"%s non valido con registro %s", cf == 'C' ? "Cliente" : "Fornitore", iva2name(tpr));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sezione == ' ')
|
||||||
|
{
|
||||||
|
const char sc[2] = { sezione_consigliata, '\0' };
|
||||||
|
sez.set(sc);
|
||||||
|
if (full && sezione_consigliata == ' ')
|
||||||
|
return sez.error_box("E' necessario specificare la sezione D/A");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -595,42 +579,16 @@ bool TCaus_app::sottoconto_hndl (TMask_field& f, KEY k)
|
|||||||
{
|
{
|
||||||
if (f.to_check(k))
|
if (f.to_check(k))
|
||||||
{
|
{
|
||||||
int io = f.dlg();
|
const int g = f.mask().get_int(SS_GRUPPO);
|
||||||
int s = f.mask().get_int(io);
|
const int c = f.mask().get_int(SS_CONTO);
|
||||||
int g = f.mask().get_int(SS_GRUPPO);
|
const int s = atoi(f.get());
|
||||||
int c = f.mask().get_int(SS_CONTO);
|
|
||||||
|
|
||||||
if (s > 0)
|
if (s != 0 && (g == 0 || c == 0))
|
||||||
if (g == 0 || c == 0)
|
return f.error_box("Conto incompleto");
|
||||||
return f.warning_box("Non accetto un sottoconto con gruppo o conto vuoti");
|
|
||||||
|
|
||||||
/* A che cavolo serve CHECKTYPE NORMAL ????????????????????????????????????????
|
|
||||||
TConto tc(g,c,s);
|
|
||||||
if (!tc.read(app().conti().curr()))
|
|
||||||
return f.warning_box("Conto inesistente");
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Handler del campo tipocf della maschera di edit dello sheet
|
|
||||||
// Abilita 109 e 110 (rigaiva e codiva) SOLO SE registro 1 o 2
|
|
||||||
bool TCaus_app::tipocf_hndl (TMask_field& f, KEY k)
|
|
||||||
{
|
|
||||||
if (k == K_SPACE)
|
|
||||||
{
|
|
||||||
const int tpr = app().main_mask()->get_int(F_TIPO_REG);
|
|
||||||
if (tpr == 1 || tpr == 2) {
|
|
||||||
f.mask().enable(109); f.mask().enable(110);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
f.mask().disable(109); f.mask().disable(110);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
// Funzioni che caricano le varie descrizioni fisse nell'array
|
// Funzioni che caricano le varie descrizioni fisse nell'array
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
@ -776,61 +734,56 @@ int TCaus_app::read(TMask& m)
|
|||||||
return NOERR;
|
return NOERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TCaus_app::add_riga(int numrig,
|
void TCaus_app::add_riga(int numrig, char sz, TConto& tc, const TString& d, const TString& da)
|
||||||
char cf, char sz, TString& d, TString& da, bool riva,
|
|
||||||
TString& civa, TConto& tc)
|
|
||||||
{
|
{
|
||||||
TSheet_field& cs = ss();
|
TToken_string& riga = ss().row(numrig);
|
||||||
TToken_string & riga = cs.row(numrig);
|
riga = " ";
|
||||||
riga.add(cf, 1);
|
riga.add(sz);
|
||||||
riga.add(tc.gruppo(), 2);
|
riga.add(tc.string(0x3));
|
||||||
riga.add(tc.conto(), 3);
|
riga.add(d);
|
||||||
riga.add(tc.sottoconto(),4);
|
riga.add(da);
|
||||||
riga.add(sz, 5);
|
|
||||||
riga.add(d, 6);
|
|
||||||
riga.add(da,7);
|
|
||||||
riga.add(riva ? "X" : "", 8);
|
|
||||||
riga.add(civa, 9);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TCaus_app::read_rcaus(TMask& m)
|
void TCaus_app::read_rcaus(TMask& m)
|
||||||
{
|
{
|
||||||
int numrig, g, c;
|
|
||||||
long s;
|
|
||||||
TString d(50), da(3), civa(3);
|
|
||||||
char sz, cf;
|
|
||||||
bool riva;
|
|
||||||
TLocalisamfile& rcaus = _rel->lfile(LF_RCAUSALI);
|
TLocalisamfile& rcaus = _rel->lfile(LF_RCAUSALI);
|
||||||
|
TTable dpn("%DPN");
|
||||||
|
|
||||||
_rel->update(); // chiamo position_rels()
|
_rel->update(); // chiamo position_rels()
|
||||||
const TString cod(_rel->lfile().get(RCA_CODCAUS));
|
const TString16 cod(_rel->lfile().get(RCA_CODCAUS));
|
||||||
|
TString16 d;
|
||||||
|
TString80 da;
|
||||||
|
|
||||||
_righe_gia_presenti.reset();
|
_righe_gia_presenti.reset();
|
||||||
// _righe_rcaus.destroy();
|
// _righe_rcaus.destroy();
|
||||||
|
|
||||||
rcaus.zero();
|
rcaus.zero();
|
||||||
rcaus.put(RCA_CODCAUS, cod);
|
rcaus.put(RCA_CODCAUS, cod);
|
||||||
int e = rcaus.read(_isgteq);
|
|
||||||
|
|
||||||
while (e == NOERR && rcaus.get(RCA_CODCAUS) == cod)
|
for (int err = rcaus.read(_isgteq);
|
||||||
|
err == NOERR && rcaus.get(RCA_CODCAUS) == cod;
|
||||||
|
err = rcaus.next())
|
||||||
{
|
{
|
||||||
numrig = rcaus.get_int(RCA_NRIGA);
|
const numrig = rcaus.get_int(RCA_NRIGA);
|
||||||
CHECK(numrig > 0, "Causale con numero riga nullo");
|
CHECK(numrig > 0, "Causale con numero riga nullo");
|
||||||
g = rcaus.get_int(RCA_GRUPPO);
|
const char sz = rcaus.get_char(RCA_SEZIONE);
|
||||||
c = rcaus.get_int(RCA_CONTO);
|
const char cf = rcaus.get_char(RCA_TIPOCF);
|
||||||
s = rcaus.get_long(RCA_SOTTOCONTO);
|
const int g = rcaus.get_int(RCA_GRUPPO);
|
||||||
sz = rcaus.get_char(RCA_SEZIONE);
|
const int c = rcaus.get_int(RCA_CONTO);
|
||||||
d = rcaus.get(RCA_DESC);
|
const long s = rcaus.get_long(RCA_SOTTOCONTO);
|
||||||
da = rcaus.get(RCA_CODDESC);
|
d = rcaus.get(RCA_CODDESC);
|
||||||
cf = rcaus.get_char(RCA_TIPOCF);
|
|
||||||
riva = rcaus.get_bool(RCA_RIGAIVA);
|
if (d.not_empty())
|
||||||
civa = rcaus.get(RCA_CODIVA);
|
{
|
||||||
TConto tc(g,c,s,cf);
|
dpn.put("CODTAB", d);
|
||||||
|
dpn.read() ;
|
||||||
|
da = dpn.get("S0");
|
||||||
|
} else da.cut(0);
|
||||||
|
|
||||||
add_riga(numrig-1, cf, sz, d, da, riva, civa, tc);
|
TConto tc(g,c,s,cf);
|
||||||
|
add_riga(numrig-1, sz, tc, d, da);
|
||||||
|
|
||||||
_righe_gia_presenti.set(numrig);
|
_righe_gia_presenti.set(numrig);
|
||||||
e = rcaus.next();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -892,7 +845,6 @@ bool TCaus_app::descr2array(TMask& m, bool fromHandler)
|
|||||||
m770 = m.get_int(F_M_770);
|
m770 = m.get_int(F_M_770);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
TString16 chiave; chiave << anno_iva() << codreg;
|
TString16 chiave; chiave << anno_iva() << codreg;
|
||||||
TTable reg("REG");
|
TTable reg("REG");
|
||||||
reg.put("CODTAB", chiave);
|
reg.put("CODTAB", chiave);
|
||||||
@ -900,12 +852,11 @@ bool TCaus_app::descr2array(TMask& m, bool fromHandler)
|
|||||||
tpr = reg.get_int("I0");
|
tpr = reg.get_int("I0");
|
||||||
else
|
else
|
||||||
tpr = 0;
|
tpr = 0;
|
||||||
}
|
|
||||||
|
|
||||||
// carico le descrizioni fisse nell'array Righe_rcaus
|
// carico le descrizioni fisse nell'array Righe_rcaus
|
||||||
compilaarray(tpd,tpm,tpr,m770);
|
compilaarray(tpd,tpm,tpr,m770);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TCaus_app::togli_dal_file(const TString& cau)
|
void TCaus_app::togli_dal_file(const TString& cau)
|
||||||
@ -942,8 +893,8 @@ int TCaus_app::rewrite(const TMask& m)
|
|||||||
int TCaus_app::re_write(const TMask& m,bool rewrite)
|
int TCaus_app::re_write(const TMask& m,bool rewrite)
|
||||||
{
|
{
|
||||||
const TString16 cau(m.get(F_COD_CAUS));
|
const TString16 cau(m.get(F_COD_CAUS));
|
||||||
TString80 desc;
|
|
||||||
TString16 coddesc;
|
TString16 coddesc;
|
||||||
|
|
||||||
TLocalisamfile& caus = _rel->lfile(LF_CAUSALI);
|
TLocalisamfile& caus = _rel->lfile(LF_CAUSALI);
|
||||||
TLocalisamfile& rcaus = _rel->lfile(LF_RCAUSALI);
|
TLocalisamfile& rcaus = _rel->lfile(LF_RCAUSALI);
|
||||||
|
|
||||||
@ -958,28 +909,29 @@ int TCaus_app::re_write(const TMask& m,bool rewrite)
|
|||||||
TToken_string &riga = cs.row(i);
|
TToken_string &riga = cs.row(i);
|
||||||
if (riga.empty_items()) continue;
|
if (riga.empty_items()) continue;
|
||||||
|
|
||||||
const char tipo_cf = riga.get_char(1);
|
char sezione = riga.get_char(1);
|
||||||
const int g = riga.get_int(2);
|
const char tipo_cf = riga.get_char();
|
||||||
const int c = riga.get_int(3);
|
const int g = riga.get_int();
|
||||||
long s = riga.get_long(4);
|
const int c = riga.get_int();
|
||||||
char sezione = riga.get_char(5);
|
long s = riga.get_long();
|
||||||
desc = riga.get(6);
|
riga.get(); // Salta descrizione conto
|
||||||
coddesc = riga.get(7);
|
coddesc = riga.get();
|
||||||
|
|
||||||
if (g > 0 || c > 0 || s > 0L)
|
if (g > 0)
|
||||||
{
|
{
|
||||||
rcaus.zero();
|
rcaus.zero();
|
||||||
rcaus.put (RCA_CODCAUS, (const char *)cau);
|
rcaus.put (RCA_CODCAUS, cau);
|
||||||
rcaus.put (RCA_NRIGA, i+1); // Numerare da uno!
|
rcaus.put (RCA_NRIGA, i+1); // Numerare da uno!
|
||||||
|
rcaus.put (RCA_SEZIONE, sezione);
|
||||||
|
rcaus.put (RCA_TIPOCF, tipo_cf);
|
||||||
rcaus.put (RCA_GRUPPO , g);
|
rcaus.put (RCA_GRUPPO , g);
|
||||||
rcaus.put (RCA_CONTO , c);
|
rcaus.put (RCA_CONTO , c);
|
||||||
rcaus.put (RCA_SOTTOCONTO, s);
|
rcaus.put (RCA_SOTTOCONTO, s);
|
||||||
rcaus.put (RCA_SEZIONE, sezione);
|
|
||||||
rcaus.put (RCA_DESC , (const char *)desc);
|
|
||||||
rcaus.put (RCA_CODDESC, (const char *)coddesc);
|
rcaus.put (RCA_CODDESC, (const char *)coddesc);
|
||||||
rcaus.put (RCA_TIPOCF, tipo_cf);
|
if (rewrite)
|
||||||
if (rewrite) {
|
{
|
||||||
if (_righe_gia_presenti[i+1]) {
|
if (_righe_gia_presenti[i+1])
|
||||||
|
{
|
||||||
rcaus.rewrite();
|
rcaus.rewrite();
|
||||||
_righe_gia_presenti.reset(i+1);
|
_righe_gia_presenti.reset(i+1);
|
||||||
}
|
}
|
||||||
@ -1089,11 +1041,10 @@ bool TCaus_app::user_create()
|
|||||||
TSheet_field& cs = ss();
|
TSheet_field& cs = ss();
|
||||||
cs.set_notify(leggi_riga);
|
cs.set_notify(leggi_riga);
|
||||||
|
|
||||||
cs.sheet_mask().set_handler(102, tipocf_hndl); // 102 e' il TIPOCF
|
cs.sheet_mask().set_handler(SS_CONTO, conto_hndl);
|
||||||
cs.sheet_mask().set_handler(104, conto_hndl);
|
cs.sheet_mask().set_handler(SS_SOTTOCONTO, sottoconto_hndl);
|
||||||
cs.sheet_mask().set_handler(105, sottoconto_hndl);
|
cs.sheet_mask().set_handler(SS_SOTTOCONTO+100, sottoconto_hndl);
|
||||||
cs.sheet_mask().set_handler(205, sottoconto_hndl);
|
cs.sheet_mask().set_handler(SS_SOTTOCONTO+200, sottoconto_hndl);
|
||||||
cs.sheet_mask().set_handler(305, sottoconto_hndl);
|
|
||||||
|
|
||||||
_forcedCopy = FALSE;
|
_forcedCopy = FALSE;
|
||||||
|
|
||||||
|
@ -28,3 +28,10 @@
|
|||||||
#define F_CORRISP 125
|
#define F_CORRISP 125
|
||||||
#define F_COD_CAUS2 126
|
#define F_COD_CAUS2 126
|
||||||
#define F_DESCR2 127
|
#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
|
@ -77,13 +77,12 @@ BEGIN
|
|||||||
DISPLAY "Anno" CODTAB[1,4]
|
DISPLAY "Anno" CODTAB[1,4]
|
||||||
DISPLAY "Codice registro " CODTAB[5,7]
|
DISPLAY "Codice registro " CODTAB[5,7]
|
||||||
DISPLAY "Tipo" I0
|
DISPLAY "Tipo" I0
|
||||||
DISPLAY "Registro corrispettivi" B0
|
DISPLAY "Corrispettivi" B0
|
||||||
DISPLAY "Descrizione @50" S0
|
DISPLAY "Descrizione @50" S0
|
||||||
OUTPUT F_ANNOES CODTAB[1,4]
|
OUTPUT F_ANNOES CODTAB[1,4]
|
||||||
OUTPUT F_COD_REG CODTAB[5,7]
|
OUTPUT F_COD_REG CODTAB[5,7]
|
||||||
OUTPUT F_TIPO_REG I0
|
OUTPUT F_TIPO_REG I0
|
||||||
OUTPUT F_CORRISP B0
|
OUTPUT F_CORRISP B0
|
||||||
HELP "Codice registro"
|
|
||||||
WARNING "Registro assente"
|
WARNING "Registro assente"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
FLAGS "DU"
|
FLAGS "DU"
|
||||||
@ -122,14 +121,14 @@ BEGIN
|
|||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
LISTBOX F_M_770 1 40
|
LISTBOX F_M_770 1 48
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 6 "Collegamento Mod.770 "
|
PROMPT 2 5 "Collegamento Mod.770 "
|
||||||
FIELD LF_CAUSALI->M770
|
FIELD LF_CAUSALI->M770
|
||||||
HELP "Inserire il tipo di collegamento Mod.770"
|
HELP "Inserire il tipo di collegamento Mod.770"
|
||||||
ITEM " |Nessuno"
|
ITEM " |Nessuno"
|
||||||
ITEM "1|Ricevuta e/o pagamento fattura percip."
|
ITEM "1|Ricevuta e/o pagamento fattura percipipiente"
|
||||||
ITEM "2|Versamento ritenute percip."
|
ITEM "2|Versamento ritenute percipiente"
|
||||||
ITEM "3|Versamento ritenute dipendente"
|
ITEM "3|Versamento ritenute dipendente"
|
||||||
ITEM "4|Versamento contributi dipendente"
|
ITEM "4|Versamento contributi dipendente"
|
||||||
ITEM "5|Compensi non soggetti"
|
ITEM "5|Compensi non soggetti"
|
||||||
@ -158,15 +157,22 @@ SPREADSHEET F_SHEET_GCS
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 7 ""
|
PROMPT 0 7 ""
|
||||||
ITEM "Tipo conto@21F"
|
ITEM "Tipo conto@21F"
|
||||||
|
ITEM "D/A"
|
||||||
ITEM "C/F"
|
ITEM "C/F"
|
||||||
ITEM "Gr."
|
ITEM "Gr."
|
||||||
ITEM "Co."
|
ITEM "Co."
|
||||||
ITEM "Sottoc.@6"
|
ITEM "Sottoc.@6"
|
||||||
|
<<<<<<< cg0500a.uml
|
||||||
|
ITEM "Descrizione Conto@50"
|
||||||
|
ITEM "Desc. agg.@5"
|
||||||
|
ITEM "Descrizione Aggiuntiva@50"
|
||||||
|
=======
|
||||||
ITEM "D/A"
|
ITEM "D/A"
|
||||||
ITEM "Descrizione conto@50"
|
ITEM "Descrizione conto@50"
|
||||||
ITEM "Descr. agg.@5"
|
ITEM "Descr. agg.@5"
|
||||||
ITEM "Iva"
|
ITEM "Iva"
|
||||||
ITEM "Cod.Iva@4"
|
ITEM "Cod.Iva@4"
|
||||||
|
>>>>>>> 1.27
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
126
cg/cg0500b.uml
126
cg/cg0500b.uml
@ -8,27 +8,27 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
LISTBOX 102 1 11
|
LISTBOX SS_TIPOCF 1 11
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 33 1 "C/F "
|
PROMPT 33 1 "C/F "
|
||||||
ITEM " |Conto" MESSAGE SHOW,105|HIDE,205|HIDE,305|SHOW,107|HIDE,207|HIDE,307
|
ITEM " |Conto" MESSAGE SHOW,106|HIDE,206|HIDE,306|SHOW,107|HIDE,207|HIDE,307
|
||||||
ITEM "C|Cliente" MESSAGE SHOW,205|HIDE,105|HIDE,305|SHOW,207|HIDE,107|HIDE,307
|
ITEM "C|Cliente" MESSAGE SHOW,206|HIDE,106|HIDE,306|SHOW,207|HIDE,107|HIDE,307
|
||||||
ITEM "F|Fornitore" MESSAGE SHOW,305|HIDE,105|HIDE,205|SHOW,307|HIDE,107|HIDE,207
|
ITEM "F|Fornitore" MESSAGE SHOW,306|HIDE,106|HIDE,206|SHOW,307|HIDE,107|HIDE,207
|
||||||
FLAGS "DGU"
|
FLAGS "DGU"
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 103 3
|
NUMBER SS_GRUPPO 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Gruppo "
|
PROMPT 1 3 "Gruppo "
|
||||||
FIELD LF_RCAUSALI->GRUPPO
|
FIELD LF_RCAUSALI->GRUPPO
|
||||||
USE LF_PCON KEY 1 SELECT (CONTO="")
|
USE LF_PCON KEY 1 SELECT (CONTO="")
|
||||||
INPUT GRUPPO 103
|
INPUT GRUPPO SS_GRUPPO
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
DISPLAY "Tipo C/F" TMCF
|
DISPLAY "Tipo C/F" TMCF
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
OUTPUT 103 GRUPPO
|
OUTPUT SS_GRUPPO GRUPPO
|
||||||
OUTPUT 107 DESCR
|
OUTPUT 107 DESCR
|
||||||
WARNING "Gruppo assente"
|
WARNING "Gruppo assente"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
@ -36,100 +36,101 @@ BEGIN
|
|||||||
ADD RUN CG0 -0
|
ADD RUN CG0 -0
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 104 3
|
NUMBER SS_CONTO 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 15 3 "Conto "
|
PROMPT 15 3 "Conto "
|
||||||
FIELD LF_RCAUSALI->CONTO
|
FIELD LF_RCAUSALI->CONTO
|
||||||
USE LF_PCON KEY 1 SELECT SOTTOCONTO=""
|
USE LF_PCON KEY 1 SELECT SOTTOCONTO=""
|
||||||
INPUT GRUPPO 103
|
INPUT GRUPPO SS_GRUPPO
|
||||||
INPUT CONTO 104
|
INPUT CONTO SS_CONTO
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
DISPLAY "Tipo C/F" TMCF
|
DISPLAY "Tipo C/F" TMCF
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
OUTPUT 102 TMCF
|
OUTPUT SS_TIPOCF TMCF
|
||||||
OUTPUT 104 CONTO
|
OUTPUT SS_CONTO CONTO
|
||||||
OUTPUT 103 GRUPPO
|
OUTPUT SS_GRUPPO GRUPPO
|
||||||
OUTPUT 107 DESCR
|
OUTPUT 107 DESCR
|
||||||
OUTPUT 207 DESCR
|
OUTPUT 207 DESCR
|
||||||
OUTPUT 307 DESCR
|
OUTPUT 307 DESCR
|
||||||
MESSAGE DIRTY,105|DIRTY,205|DIRTY,305
|
MESSAGE DIRTY,106|DIRTY,206|DIRTY,306
|
||||||
WARNING "Conto assente"
|
WARNING "Conto assente"
|
||||||
ADD RUN CG0 -0
|
ADD RUN CG0 -0
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
// Sottoconto NORMALE
|
// Sottoconto NORMALE
|
||||||
NUMBER 105 6
|
NUMBER SS_SOTTOCONTO 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 29 3 "Sottoconto "
|
PROMPT 29 3 "Sottoconto "
|
||||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||||
USE LF_PCON
|
USE LF_PCON
|
||||||
INPUT GRUPPO 103
|
INPUT GRUPPO SS_GRUPPO
|
||||||
INPUT CONTO 104
|
INPUT CONTO SS_CONTO
|
||||||
INPUT SOTTOCONTO 105
|
INPUT SOTTOCONTO SS_SOTTOCONTO
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
OUTPUT 105 SOTTOCONTO
|
OUTPUT SS_SOTTOCONTO SOTTOCONTO
|
||||||
OUTPUT 205 SOTTOCONTO
|
OUTPUT 206 SOTTOCONTO
|
||||||
OUTPUT 305 SOTTOCONTO
|
OUTPUT 306 SOTTOCONTO
|
||||||
OUTPUT 103 GRUPPO
|
OUTPUT SS_GRUPPO GRUPPO
|
||||||
OUTPUT 104 CONTO
|
OUTPUT SS_CONTO CONTO
|
||||||
OUTPUT 107 DESCR
|
OUTPUT 107 DESCR
|
||||||
ADD RUN CG0 -0
|
ADD RUN CG0 -0
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
HELP "Inserire il sottoconto"
|
WARNING "Sottoconto assente"
|
||||||
WARNING "Sottoconto inesistente"
|
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
// Sottoconto CLIENTI
|
// Sottoconto CLIENTI
|
||||||
NUMBER 205 6
|
NUMBER 206 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 29 3 "Cliente "
|
PROMPT 29 3 "Cliente "
|
||||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||||
USE LF_CLIFO KEY 1
|
USE LF_CLIFO KEY 1
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT CODCF 205
|
INPUT CODCF 206
|
||||||
DISPLAY "Sottoconto" CODCF
|
DISPLAY "Sottoconto" CODCF
|
||||||
DISPLAY "Ragione sociale cliente@50" RAGSOC
|
DISPLAY "Ragione sociale cliente@50" RAGSOC
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
OUTPUT 205 CODCF
|
OUTPUT 206 CODCF
|
||||||
OUTPUT 105 CODCF
|
OUTPUT 106 CODCF
|
||||||
OUTPUT 305 CODCF
|
OUTPUT 306 CODCF
|
||||||
OUTPUT 207 RAGSOC
|
OUTPUT 207 RAGSOC
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
|
WARNING "Cliente assente"
|
||||||
ADD RUN CG0 -1
|
ADD RUN CG0 -1
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
// Sottoconto FORNITORI
|
// Sottoconto FORNITORI
|
||||||
NUMBER 305 6
|
NUMBER 306 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 29 3 "Fornitore "
|
PROMPT 29 3 "Fornitore "
|
||||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||||
USE LF_CLIFO KEY 1
|
USE LF_CLIFO KEY 1
|
||||||
INPUT TIPOCF "F"
|
INPUT TIPOCF "F"
|
||||||
INPUT CODCF 305
|
INPUT CODCF 306
|
||||||
DISPLAY "Sottoconto" CODCF
|
DISPLAY "Sottoconto" CODCF
|
||||||
DISPLAY "Ragione sociale fornitore@50" RAGSOC
|
DISPLAY "Ragione sociale fornitore@50" RAGSOC
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
OUTPUT 305 CODCF
|
OUTPUT 306 CODCF
|
||||||
OUTPUT 105 CODCF
|
OUTPUT 106 CODCF
|
||||||
OUTPUT 205 CODCF
|
OUTPUT 206 CODCF
|
||||||
OUTPUT 307 RAGSOC
|
OUTPUT 307 RAGSOC
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
|
WARNING "Fornitore assente"
|
||||||
ADD RUN CG0 -1
|
ADD RUN CG0 -1
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
LISTBOX 106 5
|
LISTBOX SS_SEZIONE 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 3 "Sezione "
|
PROMPT 51 3 "Sezione "
|
||||||
ITEM " | "
|
ITEM " | "
|
||||||
@ -150,9 +151,9 @@ BEGIN
|
|||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
OUTPUT 105 SOTTOCONTO
|
OUTPUT SS_SOTTOCONTO SOTTOCONTO
|
||||||
OUTPUT 104 CONTO
|
OUTPUT SS_CONTO CONTO
|
||||||
OUTPUT 103 GRUPPO
|
OUTPUT SS_GRUPPO GRUPPO
|
||||||
OUTPUT 107 DESCR
|
OUTPUT 107 DESCR
|
||||||
ADD RUN CG0 -0
|
ADD RUN CG0 -0
|
||||||
GROUP 1
|
GROUP 1
|
||||||
@ -165,13 +166,13 @@ BEGIN
|
|||||||
FIELD LF_RCAUSALI->DESC
|
FIELD LF_RCAUSALI->DESC
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT CODCF 205
|
INPUT RAGSOC 207
|
||||||
DISPLAY "Tipo C/F" TIPOCF
|
DISPLAY "Tipo C/F" TIPOCF
|
||||||
DISPLAY "Ragione sociale@50" RAGSOC
|
DISPLAY "Ragione sociale Cliente@50" RAGSOC
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" CODCF
|
DISPLAY "Sottoconto" CODCF
|
||||||
OUTPUT 205 CODCF
|
OUTPUT 206 CODCF
|
||||||
OUTPUT 207 RAGSOC
|
OUTPUT 207 RAGSOC
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
@ -183,65 +184,52 @@ BEGIN
|
|||||||
FIELD LF_RCAUSALI->DESC
|
FIELD LF_RCAUSALI->DESC
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF "F"
|
INPUT TIPOCF "F"
|
||||||
INPUT CODCF 305
|
INPUT RAGSOC 307
|
||||||
DISPLAY "Tipo C/F" TIPOCF
|
DISPLAY "Tipo C/F" TIPOCF
|
||||||
DISPLAY "Ragione sociale@50" RAGSOC
|
DISPLAY "Ragione sociale Fornitore@50" RAGSOC
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" CODCF
|
DISPLAY "Sottoconto" CODCF
|
||||||
OUTPUT 305 CODCF
|
OUTPUT 306 CODCF
|
||||||
OUTPUT 307 RAGSOC
|
OUTPUT 307 RAGSOC
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 108 5
|
STRING SS_DESCAGG 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Descrizione aggiuntiva "
|
PROMPT 1 7 "Descrizione aggiuntiva "
|
||||||
FIELD LF_RCAUSALI->CODDESC
|
FIELD LF_RCAUSALI->CODDESC
|
||||||
|
FLAGS "U"
|
||||||
USE %DPN
|
USE %DPN
|
||||||
INPUT CODTAB 108
|
INPUT CODTAB SS_DESCAGG
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
DISPLAY "Descrizione @50" S0
|
DISPLAY "Descrizione @50" S0
|
||||||
OUTPUT 108 CODTAB
|
OUTPUT SS_DESCAGG CODTAB
|
||||||
FLAGS "R"
|
OUTPUT 109 S0
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN 109
|
STRING 109 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 34 7 "Riga iva "
|
PROMPT 1 8 ""
|
||||||
FIELD LF_RCAUSALI->RIGAIVA
|
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 110 4
|
|
||||||
BEGIN
|
|
||||||
USE %IVA
|
|
||||||
PROMPT 48 7 "Codice iva "
|
|
||||||
INPUT CODTAB 110
|
|
||||||
FIELD LF_RCAUSALI->CODIVA
|
|
||||||
DISPLAY "Codice " CODTAB
|
|
||||||
DISPLAY "Descrizione @50" S0
|
|
||||||
OUTPUT 110 CODTAB
|
|
||||||
FLAGS "D"
|
|
||||||
GROUP 1
|
|
||||||
END
|
|
||||||
|
|
||||||
BUTTON DLG_OK 9 2
|
BUTTON DLG_OK 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -13 -1 ""
|
PROMPT -13 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_CANCEL 9 2
|
BUTTON DLG_CANCEL 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -23 -1 ""
|
PROMPT -23 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_NULL 9 2
|
BUTTON DLG_NULL 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -33 -1 "Azzera"
|
PROMPT -33 -1 "Azzera"
|
||||||
MESSAGE RESET,1@
|
MESSAGE RESET,1@
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
@ -55,7 +55,6 @@ TMask* TPrimanota_application::load_mask(int n)
|
|||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
m->set_handler(F_VISVAL, visval_handler);
|
m->set_handler(F_VISVAL, visval_handler);
|
||||||
m->set_handler(F_DESCR, descr_handler);
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
@ -95,6 +94,7 @@ if (n == 1 || n == 2)
|
|||||||
{
|
{
|
||||||
m->set_handler(F_DATAREG, datareg_handler);
|
m->set_handler(F_DATAREG, datareg_handler);
|
||||||
m->set_handler(F_DATACOMP, datacomp_handler);
|
m->set_handler(F_DATACOMP, datacomp_handler);
|
||||||
|
m->set_handler(F_DESCR, descr_handler);
|
||||||
m->set_handler(F_CODCAUS, caus_modify_handler);
|
m->set_handler(F_CODCAUS, caus_modify_handler);
|
||||||
m->set_handler(F_SHEETCG, cg_handler);
|
m->set_handler(F_SHEETCG, cg_handler);
|
||||||
|
|
||||||
@ -842,6 +842,7 @@ void TPrimanota_application::genera_incasso(const char* causimm)
|
|||||||
m.set(F_DATAREG, curr_mask().get(F_DATAREG));
|
m.set(F_DATAREG, curr_mask().get(F_DATAREG));
|
||||||
m.set(F_DATACOMP, curr_mask().get(F_DATACOMP));
|
m.set(F_DATACOMP, curr_mask().get(F_DATACOMP));
|
||||||
m.set(F_DATADOC, curr_mask().get(F_DATADOC));
|
m.set(F_DATADOC, curr_mask().get(F_DATADOC));
|
||||||
|
m.set(F_NUMDOC, curr_mask().get(F_NUMDOC));
|
||||||
m.set(F_NUMREG, ++_lastreg); // Incrementa numero di registrazione
|
m.set(F_NUMREG, ++_lastreg); // Incrementa numero di registrazione
|
||||||
m.set(F_DESCR, caus.desc_agg(1)); // Descrizione
|
m.set(F_DESCR, caus.desc_agg(1)); // Descrizione
|
||||||
m.set(F_CODCAUS, causimm); // Cambia causale
|
m.set(F_CODCAUS, causimm); // Cambia causale
|
||||||
@ -871,10 +872,13 @@ void TPrimanota_application::genera_incasso(const char* causimm)
|
|||||||
inc.lfile().put("TIPODOC", caus.tipo_doc()); // Tipo documento
|
inc.lfile().put("TIPODOC", caus.tipo_doc()); // Tipo documento
|
||||||
inc.lfile().put("REG", caus.reg().name()); // Registro
|
inc.lfile().put("REG", caus.reg().name()); // Registro
|
||||||
|
|
||||||
|
const int annoes = m.get_int(F_ANNOES);
|
||||||
|
|
||||||
TRectype& r = inc.cg(0);
|
TRectype& r = inc.cg(0);
|
||||||
r.zero();
|
r.zero();
|
||||||
r.put("NUMREG", _lastreg);
|
r.put("NUMREG", _lastreg);
|
||||||
r.put("NUMRIG", 1);
|
r.put("NUMRIG", 1);
|
||||||
|
r.put("ANNOES", annoes);
|
||||||
r.put("SEZIONE", m.get(I_SEZIONE1));
|
r.put("SEZIONE", m.get(I_SEZIONE1));
|
||||||
r.put("IMPORTO", m.get(F_TOTALE));
|
r.put("IMPORTO", m.get(F_TOTALE));
|
||||||
r.put("TIPOC", m.get(F_CLIFO));
|
r.put("TIPOC", m.get(F_CLIFO));
|
||||||
@ -896,6 +900,7 @@ void TPrimanota_application::genera_incasso(const char* causimm)
|
|||||||
r.put("IMPORTO", imp);
|
r.put("IMPORTO", imp);
|
||||||
r.put("NUMREG", _lastreg);
|
r.put("NUMREG", _lastreg);
|
||||||
r.put("NUMRIG", i);
|
r.put("NUMRIG", i);
|
||||||
|
r.put("ANNOES", annoes);
|
||||||
r.put("SEZIONE", m.get(sid));
|
r.put("SEZIONE", m.get(sid));
|
||||||
r.put("TIPOC", ' ');
|
r.put("TIPOC", ' ');
|
||||||
r.put("GRUPPO", m.get(sid+2));
|
r.put("GRUPPO", m.get(sid+2));
|
||||||
|
@ -535,6 +535,19 @@ bool TPrimanota_application::cg_notify(int r, KEY k)
|
|||||||
|
|
||||||
bool TPrimanota_application::descr_handler(TMask_field& f, KEY k)
|
bool TPrimanota_application::descr_handler(TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
|
if (k == K_TAB && f.focusdirty())
|
||||||
|
{
|
||||||
|
if (app().iva() != nessuna_iva)
|
||||||
|
{
|
||||||
|
const int first = type2pos('T');
|
||||||
|
if (first >= 0)
|
||||||
|
{
|
||||||
|
TSheet_field& cg = app().cgs();
|
||||||
|
cg.row(first).add(f.get(), 8);
|
||||||
|
cg.force_update(first);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (k == K_ENTER && f.get().empty())
|
if (k == K_ENTER && f.get().empty())
|
||||||
{
|
{
|
||||||
if (f.mask().get(F_CODCAUS).empty())
|
if (f.mask().get(F_CODCAUS).empty())
|
||||||
|
@ -37,7 +37,7 @@ END
|
|||||||
|
|
||||||
NUMBER 102 15
|
NUMBER 102 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 5 "Avere "
|
PROMPT 42 5 "Avere "
|
||||||
FLAGS "RV"
|
FLAGS "RV"
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
END
|
END
|
||||||
|
@ -16,7 +16,7 @@ int main(int argc,char** argv)
|
|||||||
case 2:
|
case 2:
|
||||||
cg4300(argc,argv); break;
|
cg4300(argc,argv); break;
|
||||||
case 3:
|
case 3:
|
||||||
/* cg4400(argc,argv); */ break;
|
cg4400(argc,argv); break;
|
||||||
case 4:
|
case 4:
|
||||||
cg4500(argc,argv); break;
|
cg4500(argc,argv); break;
|
||||||
case 5:
|
case 5:
|
||||||
|
@ -1456,10 +1456,19 @@ print_action CG4400_application::postprocess_print(int file, int counter)
|
|||||||
bool CG4400_application::set_print(int n)
|
bool CG4400_application::set_print(int n)
|
||||||
{
|
{
|
||||||
TMask m("cg4400a");
|
TMask m("cg4400a");
|
||||||
|
<<<<<<< cg4400.cpp
|
||||||
|
|
||||||
|
const bool ok = set_ditte(m);
|
||||||
|
=======
|
||||||
int giorni_del_mese;
|
int giorni_del_mese;
|
||||||
|
>>>>>>> 1.17
|
||||||
|
|
||||||
|
<<<<<<< cg4400.cpp
|
||||||
|
if (ok)
|
||||||
|
=======
|
||||||
// bool ok = set_ditte(m);
|
// bool ok = set_ditte(m);
|
||||||
if (set_ditte(m))
|
if (set_ditte(m))
|
||||||
|
>>>>>>> 1.17
|
||||||
if (_selected.ones() > 0l)
|
if (_selected.ones() > 0l)
|
||||||
{
|
{
|
||||||
_annoes = m.get_int(ANNO);//in realta' e' l'anno IVA !!!
|
_annoes = m.get_int(ANNO);//in realta' e' l'anno IVA !!!
|
||||||
@ -1504,8 +1513,13 @@ bool CG4400_application::set_print(int n)
|
|||||||
stampa_registri_IVA(m);
|
stampa_registri_IVA(m);
|
||||||
}
|
}
|
||||||
else warning_box("Nessuna ditta selezionata!");
|
else warning_box("Nessuna ditta selezionata!");
|
||||||
|
<<<<<<< cg4400.cpp
|
||||||
|
|
||||||
|
return ok;
|
||||||
|
=======
|
||||||
return FALSE;
|
return FALSE;
|
||||||
// return ok;
|
// return ok;
|
||||||
|
>>>>>>> 1.17
|
||||||
}
|
}
|
||||||
|
|
||||||
void CG4400_application::stampa_registri_IVA(const TMask& m)
|
void CG4400_application::stampa_registri_IVA(const TMask& m)
|
||||||
@ -1530,6 +1544,16 @@ void CG4400_application::stampa_registri_IVA(const TMask& m)
|
|||||||
if (!ok) continue;
|
if (!ok) continue;
|
||||||
|
|
||||||
if (!_stampa_tutti_i_registri)
|
if (!_stampa_tutti_i_registri)
|
||||||
|
<<<<<<< cg4400.cpp
|
||||||
|
{
|
||||||
|
*_cur = 0L;
|
||||||
|
const long items = _cur->items();
|
||||||
|
if (items > 0)
|
||||||
|
print();
|
||||||
|
if (_tipo_stampa != 3)
|
||||||
|
aggiorna_reg();
|
||||||
|
}
|
||||||
|
=======
|
||||||
{
|
{
|
||||||
(*_cur) = 0L;
|
(*_cur) = 0L;
|
||||||
const long item = _cur->items();
|
const long item = _cur->items();
|
||||||
@ -1537,6 +1561,7 @@ void CG4400_application::stampa_registri_IVA(const TMask& m)
|
|||||||
print();
|
print();
|
||||||
if (_tipo_stampa != 3) aggiorna_reg();
|
if (_tipo_stampa != 3) aggiorna_reg();
|
||||||
}
|
}
|
||||||
|
>>>>>>> 1.17
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TString16 codtab;
|
TString16 codtab;
|
||||||
|
@ -14,4 +14,6 @@
|
|||||||
#define CHK_NOVIIP 114
|
#define CHK_NOVIIP 114
|
||||||
#define CHK_NOVIPC 115
|
#define CHK_NOVIPC 115
|
||||||
#define CHK_GSACMI 116
|
#define CHK_GSACMI 116
|
||||||
#define CHK_SAVENEW 117
|
#define CHK_21SAVENEW 117
|
||||||
|
#define CHK_02SAVENEW 118
|
||||||
|
|
||||||
|
@ -133,18 +133,36 @@ END
|
|||||||
|
|
||||||
BOOLEAN CHK_POCUDR
|
BOOLEAN CHK_POCUDR
|
||||||
BEGIN
|
BEGIN
|
||||||
|
<<<<<<< cg5000a.uml
|
||||||
|
PROMPT 3 2 "Posizionare automaticamente il cursore sulla data di registrazione"
|
||||||
|
=======
|
||||||
PROMPT 3 2 "Posizionare cursore sulla data di operazione in fase di ricerca"
|
PROMPT 3 2 "Posizionare cursore sulla data di operazione in fase di ricerca"
|
||||||
|
>>>>>>> 1.6
|
||||||
HELP "Determina il posizionamento automatico del cursore sulla data di registrazione invece che sulla causale"
|
HELP "Determina il posizionamento automatico del cursore sulla data di registrazione invece che sulla causale"
|
||||||
FIELD PoCuDr
|
FIELD PoCuDr
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN CHK_SAVENEW
|
BOOLEAN CHK_21SAVENEW
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 3 "Rimanere in modifica dopo la registrazione di un documento"
|
PROMPT 3 3 "Rimanere in modifica dopo la registrazione di un documento"
|
||||||
HELP "Dopo aver effettuato una registrazione rimane in modifica dello stesso documento invece di passare all'inserimento di uno nuovo"
|
HELP "Dopo aver effettuato una registrazione rimane in modifica dello stesso documento invece di passare all'inserimento di uno nuovo"
|
||||||
FIELD Cg21SN
|
FIELD Cg21SN
|
||||||
END
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 74 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 5 "Anagrafica Clienti/Fornitori"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN CHK_02SAVENEW
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 6 "Rimanere in modifica dopo la registrazione di un cliente/fornitore"
|
||||||
|
HELP "Dopo aver effettuato una registrazione rimane in modifica della stessa anagrafica invece di passare all'inserimento di una nuova"
|
||||||
|
FIELD Cg02SN
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BUTTON DLG_OK 10 2
|
BUTTON DLG_OK 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -12 -1 ""
|
PROMPT -12 -1 ""
|
||||||
|
44
cg/conto.cpp
44
cg/conto.cpp
@ -62,15 +62,19 @@ const TBill& TBill::add_to(TToken_string& ts, int from, int mode)
|
|||||||
if (mode & 0x4)
|
if (mode & 0x4)
|
||||||
{
|
{
|
||||||
const int cr = tipo_cr();
|
const int cr = tipo_cr();
|
||||||
ts.add(cr > 0 ? format("%d", cr) : " ", from++);
|
if (cr > 0) ts.add(cr, from++); else ts.add(" ", from++);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode & 0x1)
|
if (mode & 0x1)
|
||||||
ts.add(_tipo, from++);
|
ts.add(_tipo, from++);
|
||||||
ts.add(_gruppo, from++);
|
|
||||||
ts.add(_conto, from++);
|
if (_gruppo > 0) ts.add(_gruppo, from++); else ts.add(" ", from++);
|
||||||
ts.add(_sottoconto, from++);
|
if (_conto > 0) ts.add(_conto, from++); else ts.add(" ", from++);
|
||||||
|
if (_sottoconto > 0L) ts.add(_sottoconto, from++); else ts.add(" ", from++);
|
||||||
|
|
||||||
if (mode & 0x2)
|
if (mode & 0x2)
|
||||||
ts.add(descrizione(), from++);
|
ts.add(descrizione(), from++);
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,7 +111,7 @@ const char* TBill::describe()
|
|||||||
int err = NOERR;
|
int err = NOERR;
|
||||||
const char* desc = NULL;
|
const char* desc = NULL;
|
||||||
|
|
||||||
if (_tipo != 'C' && _tipo != 'F')
|
if ((_tipo != 'C' && _tipo != 'F') || _sottoconto == 0L)
|
||||||
{
|
{
|
||||||
TLocalisamfile pcon(LF_PCON, FALSE);
|
TLocalisamfile pcon(LF_PCON, FALSE);
|
||||||
pcon.setkey(1);
|
pcon.setkey(1);
|
||||||
@ -118,19 +122,11 @@ const char* TBill::describe()
|
|||||||
err = pcon.read();
|
err = pcon.read();
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
if (_sottoconto != 0)
|
_tipo_cr = pcon.get_int("TIPOSPRIC");
|
||||||
{
|
desc = pcon.get("DESCR");
|
||||||
const char c = pcon.get_char("TMCF");
|
|
||||||
_tipo = (c < ' ') ? ' ' : c; // Force correct type
|
|
||||||
}
|
|
||||||
if (_tipo == ' ')
|
|
||||||
{
|
|
||||||
_tipo_cr = pcon.get_int("TIPOSPRIC");
|
|
||||||
desc = pcon.get("DESCR");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (_tipo == 'C' || _tipo == 'F')
|
if ((_tipo == 'C' || _tipo == 'F') && _sottoconto != 0L)
|
||||||
{
|
{
|
||||||
TLocalisamfile clifo(LF_CLIFO, FALSE);
|
TLocalisamfile clifo(LF_CLIFO, FALSE);
|
||||||
clifo.setkey(1);
|
clifo.setkey(1);
|
||||||
@ -225,14 +221,26 @@ const char* TBill::string(int mode)
|
|||||||
{
|
{
|
||||||
TFixed_string s(&__tmp_string[256], 80);
|
TFixed_string s(&__tmp_string[256], 80);
|
||||||
s.cut(0);
|
s.cut(0);
|
||||||
|
|
||||||
if (mode & 0x4)
|
if (mode & 0x4)
|
||||||
{
|
{
|
||||||
const int cr = tipo_cr();
|
const int cr = tipo_cr();
|
||||||
s << (cr > 0 ? format("%d", cr) : " ") << '|';
|
if (cr > 0) s << cr << '|';
|
||||||
|
else s << " |";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode & 0x1)
|
if (mode & 0x1)
|
||||||
s << _tipo << '|';
|
s << _tipo << '|';
|
||||||
s << _gruppo << '|' << _conto << '|' << _sottoconto;
|
|
||||||
|
if (_gruppo > 0) s << _gruppo << '|';
|
||||||
|
else s << " |";
|
||||||
|
|
||||||
|
if (_conto > 0) s << _conto << '|';
|
||||||
|
else s << " |";
|
||||||
|
|
||||||
|
if (_sottoconto > 0L) s << _sottoconto;
|
||||||
|
else s << ' ';
|
||||||
|
|
||||||
if (mode & 0x2)
|
if (mode & 0x2)
|
||||||
s << '|' << descrizione();
|
s << '|' << descrizione();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user