Patch level : 10.0 396
Files correlati : tc9.exe Ricompilazione Demo : [ ] Commento Invio sispac git-svn-id: svn://10.65.10.50/trunk@19161 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3374e34987
commit
70a4320ee4
664
tc/tc9300.cpp
664
tc/tc9300.cpp
@ -26,7 +26,8 @@
|
|||||||
|
|
||||||
#define SLF_MOV "23"
|
#define SLF_MOV "23"
|
||||||
#define ALIAS_REG 100
|
#define ALIAS_REG 100
|
||||||
|
#define REG_OFFSET 1000000L
|
||||||
|
#define GIRO_OFFSET 2000000L
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TRiclassifica_cache
|
// TRiclassifica_cache
|
||||||
@ -40,6 +41,11 @@ protected:
|
|||||||
public:
|
public:
|
||||||
const char * sdecode(const char* tab, const TString& cod);
|
const char * sdecode(const char* tab, const TString& cod);
|
||||||
long decode(const char* tab, const TString& cod);
|
long decode(const char* tab, const TString& cod);
|
||||||
|
const TString & sdecode_caufor(const TString& cod);
|
||||||
|
const TString & sdecode_caureg(const TString& cod);
|
||||||
|
const TString & sdecode_caugiro(const TString& cod);
|
||||||
|
const TString & sdecode_contov(const TString& cod);
|
||||||
|
bool sdecode_rc(const TString& cod);
|
||||||
TRiclassifica_cache() : _multirel(LF_MULTIREL) { _multirel.setkey(2);}
|
TRiclassifica_cache() : _multirel(LF_MULTIREL) { _multirel.setkey(2);}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -68,6 +74,111 @@ long TRiclassifica_cache::decode(const char* tab, const TString& cod)
|
|||||||
return (ric ? atol(*ric) : 0);
|
return (ric ? atol(*ric) : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const TString & TRiclassifica_cache::sdecode_caufor(const TString& cod)
|
||||||
|
{
|
||||||
|
TString & codricl = get_tmp_string();
|
||||||
|
TToken_string tok;
|
||||||
|
|
||||||
|
tok.add("SCCAU");
|
||||||
|
tok.add(cod);
|
||||||
|
const TString* ric = (const TString*) objptr(tok);
|
||||||
|
if (ric && *ric)
|
||||||
|
{
|
||||||
|
_multirel.setkey(1);
|
||||||
|
_multirel.put(MULTI_COD, "SCCAU");
|
||||||
|
_multirel.put(MULTI_FIRST, cod);
|
||||||
|
_multirel.put(MULTI_SECOND, *ric);
|
||||||
|
int err = _multirel.read(_isequal);
|
||||||
|
if (err == NOERR)
|
||||||
|
codricl = _multirel.get(MULTI_DATA).sleft(5);
|
||||||
|
}
|
||||||
|
return codricl;
|
||||||
|
}
|
||||||
|
|
||||||
|
const TString & TRiclassifica_cache::sdecode_caureg(const TString& cod)
|
||||||
|
{
|
||||||
|
TString & codricl = get_tmp_string();
|
||||||
|
TToken_string tok;
|
||||||
|
|
||||||
|
tok.add("SCCAU");
|
||||||
|
tok.add(cod);
|
||||||
|
const TString* ric = (const TString*) objptr(tok);
|
||||||
|
if (ric && *ric)
|
||||||
|
{
|
||||||
|
_multirel.setkey(1);
|
||||||
|
_multirel.put(MULTI_COD, "SCCAU");
|
||||||
|
_multirel.put(MULTI_FIRST, cod);
|
||||||
|
_multirel.put(MULTI_SECOND, *ric);
|
||||||
|
int err = _multirel.read(_isequal);
|
||||||
|
if (err == NOERR)
|
||||||
|
codricl = _multirel.get(MULTI_DATA).smid(6, 5);
|
||||||
|
}
|
||||||
|
return codricl;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TRiclassifica_cache::sdecode_rc(const TString& cod)
|
||||||
|
{
|
||||||
|
TString & codricl = get_tmp_string();
|
||||||
|
TToken_string tok;
|
||||||
|
|
||||||
|
tok.add("SCCAU");
|
||||||
|
tok.add(cod);
|
||||||
|
const TString* ric = (const TString*) objptr(tok);
|
||||||
|
if (ric && *ric)
|
||||||
|
{
|
||||||
|
_multirel.setkey(1);
|
||||||
|
_multirel.put(MULTI_COD, "SCCAU");
|
||||||
|
_multirel.put(MULTI_FIRST, cod);
|
||||||
|
_multirel.put(MULTI_SECOND, *ric);
|
||||||
|
int err = _multirel.read(_isequal);
|
||||||
|
if (err == NOERR)
|
||||||
|
codricl = _multirel.get(MULTI_DATA).smid(5, 1);
|
||||||
|
}
|
||||||
|
return codricl.full();
|
||||||
|
}
|
||||||
|
|
||||||
|
const TString & TRiclassifica_cache::sdecode_caugiro(const TString& cod)
|
||||||
|
{
|
||||||
|
TString & codricl = get_tmp_string();
|
||||||
|
TToken_string tok;
|
||||||
|
|
||||||
|
tok.add("SCCAU");
|
||||||
|
tok.add(cod);
|
||||||
|
const TString* ric = (const TString*) objptr(tok);
|
||||||
|
if (ric && *ric)
|
||||||
|
{
|
||||||
|
_multirel.setkey(1);
|
||||||
|
_multirel.put(MULTI_COD, "SCCAU");
|
||||||
|
_multirel.put(MULTI_FIRST, cod);
|
||||||
|
_multirel.put(MULTI_SECOND, *ric);
|
||||||
|
int err = _multirel.read(_isequal);
|
||||||
|
if (err == NOERR)
|
||||||
|
codricl = _multirel.get(MULTI_DATA).smid(11, 5);
|
||||||
|
}
|
||||||
|
return codricl;
|
||||||
|
}
|
||||||
|
|
||||||
|
const TString & TRiclassifica_cache::sdecode_contov(const TString& cod)
|
||||||
|
{
|
||||||
|
TString & codricl = get_tmp_string();
|
||||||
|
TToken_string tok;
|
||||||
|
|
||||||
|
tok.add("SCCAU");
|
||||||
|
tok.add(cod);
|
||||||
|
const TString* ric = (const TString*) objptr(tok);
|
||||||
|
if (ric && *ric)
|
||||||
|
{
|
||||||
|
_multirel.setkey(1);
|
||||||
|
_multirel.put(MULTI_COD, "SCCAU");
|
||||||
|
_multirel.put(MULTI_FIRST, cod);
|
||||||
|
_multirel.put(MULTI_SECOND, *ric);
|
||||||
|
int err = _multirel.read(_isequal);
|
||||||
|
if (err == NOERR)
|
||||||
|
codricl = _multirel.get(MULTI_DATA).smid(16, 12);
|
||||||
|
}
|
||||||
|
return codricl;
|
||||||
|
}
|
||||||
|
|
||||||
const char * TRiclassifica_cache::sdecode(const char* tab, const TString& cod)
|
const char * TRiclassifica_cache::sdecode(const char* tab, const TString& cod)
|
||||||
{
|
{
|
||||||
TToken_string tok;
|
TToken_string tok;
|
||||||
@ -586,13 +697,28 @@ protected:
|
|||||||
void invio_sispac();
|
void invio_sispac();
|
||||||
void sispac_cli();
|
void sispac_cli();
|
||||||
void sispac_for();
|
void sispac_for();
|
||||||
|
void sispac_reverse_movim(long numreg, TMovim_set & recset, long firstmov, long lastmov,
|
||||||
|
const TString & cofi, const TString & paiv,
|
||||||
|
const TString & ragsoc, const TString & esiva,
|
||||||
|
const TString & annoes, bool comp);
|
||||||
|
void sispac_reverse_giro(long numreg, TMovim_set & recset, long firstmov, long lastmov,
|
||||||
|
const TString & cofi, const TString & paiv,
|
||||||
|
const TString & ragsoc, const TString & esiva,
|
||||||
|
const TString & annoes, bool comp);
|
||||||
void sispac_movim();
|
void sispac_movim();
|
||||||
|
void sispac_reverse_moviva(long numreg, TIvamov_set & recset, const TString & cofi,
|
||||||
|
const TString & paiv, const TString & ragsoc);
|
||||||
void sispac_moviva();
|
void sispac_moviva();
|
||||||
void sispac_intramov();
|
void sispac_intramov();
|
||||||
void sispac_movpart();
|
void sispac_movpart();
|
||||||
void conferma(bool conf = true);
|
void conferma(bool conf = true);
|
||||||
const TString & scod2ricl(const char* tab, const TString& cod);
|
const TString & scod2ricl(const char* tab, const TString& cod);
|
||||||
|
const TString & scod2caucf(const TString& cod);
|
||||||
const TString & scod2ricl(const char* tab, const TVariant& cod);
|
const TString & scod2ricl(const char* tab, const TVariant& cod);
|
||||||
|
const TString & scod2caureg(const TString& cod);
|
||||||
|
const TString & scod2caugiro(const TString& cod);
|
||||||
|
const TString & scod2contov(const TString& cod);
|
||||||
|
bool scod2rc(const TString& cod);
|
||||||
const long cod2ricl(const char* tab, const TString& cod);
|
const long cod2ricl(const char* tab, const TString& cod);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -607,6 +733,7 @@ inline TInvioSispac& app() { return (TInvioSispac&) main_app();}
|
|||||||
const TString & TInvioSispac::scod2ricl(const char* tab, const TString& cod)
|
const TString & TInvioSispac::scod2ricl(const char* tab, const TString& cod)
|
||||||
{
|
{
|
||||||
TString & codricl = get_tmp_string();
|
TString & codricl = get_tmp_string();
|
||||||
|
|
||||||
if (cod.full())
|
if (cod.full())
|
||||||
{
|
{
|
||||||
codricl = _tabelle->sdecode(tab, cod);
|
codricl = _tabelle->sdecode(tab, cod);
|
||||||
@ -615,6 +742,50 @@ const TString & TInvioSispac::scod2ricl(const char* tab, const TString& cod)
|
|||||||
}
|
}
|
||||||
return codricl;
|
return codricl;
|
||||||
}
|
}
|
||||||
|
const TString & TInvioSispac::scod2caucf(const TString& cod)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (cod.full())
|
||||||
|
return _tabelle->sdecode_caufor(cod);
|
||||||
|
return EMPTY_STRING;
|
||||||
|
}
|
||||||
|
|
||||||
|
const TString & TInvioSispac::scod2caureg(const TString& cod)
|
||||||
|
{
|
||||||
|
TString & codricl = get_tmp_string();
|
||||||
|
|
||||||
|
if (cod.full())
|
||||||
|
codricl = _tabelle->sdecode_caureg(cod);
|
||||||
|
return codricl;
|
||||||
|
}
|
||||||
|
|
||||||
|
const TString & TInvioSispac::scod2caugiro(const TString& cod)
|
||||||
|
{
|
||||||
|
TString & codricl = get_tmp_string();
|
||||||
|
|
||||||
|
if (cod.full())
|
||||||
|
codricl = _tabelle->sdecode_caugiro(cod);
|
||||||
|
return codricl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const TString & TInvioSispac::scod2contov(const TString& cod)
|
||||||
|
{
|
||||||
|
TString & codricl = get_tmp_string();
|
||||||
|
|
||||||
|
if (cod.full())
|
||||||
|
codricl = _tabelle->sdecode_contov(cod);
|
||||||
|
return codricl;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TInvioSispac::scod2rc(const TString& cod)
|
||||||
|
{
|
||||||
|
TString & codricl = get_tmp_string();
|
||||||
|
|
||||||
|
if (cod.full())
|
||||||
|
return _tabelle->sdecode_rc(cod);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const TString & TInvioSispac::scod2ricl(const char* tab, const TVariant& cod)
|
const TString & TInvioSispac::scod2ricl(const char* tab, const TVariant& cod)
|
||||||
{
|
{
|
||||||
@ -767,12 +938,299 @@ void TInvioSispac::sispac_for()
|
|||||||
recset.save_as(outputname);
|
recset.save_as(outputname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TInvioSispac::sispac_reverse_movim(long numreg, TMovim_set & recset, long firstmov, long lastmov,
|
||||||
|
const TString & cofi, const TString & paiv,
|
||||||
|
const TString & ragsoc, const TString & esiva,
|
||||||
|
const TString & annoes, bool comp)
|
||||||
|
{
|
||||||
|
TString query;
|
||||||
|
TString key;
|
||||||
|
|
||||||
|
query << "USE " << LF_RMOV << " SELECT " << RMV_NUMREG << "==" << numreg
|
||||||
|
<< "\nJOIN " << LF_MOV << " INTO " << MOV_NUMREG << "==" << RMV_NUMREG;
|
||||||
|
|
||||||
|
TISAM_recordset input(query);
|
||||||
|
TVariant var;
|
||||||
|
TVariant treg;
|
||||||
|
TVariant tpart;
|
||||||
|
TArray tipoart;
|
||||||
|
int rdare = 0;
|
||||||
|
int ravere = 0;
|
||||||
|
|
||||||
|
for (bool ok = input.move_first(); ok ; ok = input.move_next())
|
||||||
|
{
|
||||||
|
const long codes = input.get(RMV_ANNOES).as_int();
|
||||||
|
const TString4 rowtype = input.get(RMV_ROWTYPE).as_string();
|
||||||
|
|
||||||
|
if (rowtype == "F")
|
||||||
|
continue;
|
||||||
|
recset.new_rec();
|
||||||
|
var = cofi;
|
||||||
|
recset.set("COFI", var);
|
||||||
|
var = paiv;
|
||||||
|
recset.set("PAIV", var);
|
||||||
|
var = ragsoc;
|
||||||
|
recset.set("RAGSOC", var);
|
||||||
|
var = esiva;
|
||||||
|
recset.set("ESIVA", var);
|
||||||
|
var = annoes;
|
||||||
|
recset.set("ESCOGE", var);
|
||||||
|
|
||||||
|
var = "V";
|
||||||
|
treg = "03";
|
||||||
|
recset.set("ARGOMENTO", var);
|
||||||
|
var = "N";
|
||||||
|
|
||||||
|
const TDate datareg(input.get(SLF_MOV "." MOV_DATAREG).as_date());
|
||||||
|
|
||||||
|
if (comp)
|
||||||
|
var = "1";
|
||||||
|
recset.set("COMPETENZA", var);
|
||||||
|
var = format("%07ld", input.get(RMV_NUMREG).as_int() + REG_OFFSET);
|
||||||
|
recset.set("NUMPART", var);
|
||||||
|
var = format("%03ld", input.get(RMV_NUMRIG).as_int());
|
||||||
|
recset.set("NUMINT", var);
|
||||||
|
recset.set("DATAOP", datareg.string(brief, '\0', full, full, amg_date));
|
||||||
|
TString16 codice;
|
||||||
|
long gruppo = input.get(RMV_GRUPPO).as_int();
|
||||||
|
const long conto = input.get(RMV_CONTO).as_int();
|
||||||
|
const long sottoconto = input.get(RMV_SOTTOCONTO).as_int();
|
||||||
|
TString8 ccaus(input.get(SLF_MOV "." MOV_CODCAUS).as_string());
|
||||||
|
|
||||||
|
if (gruppo == 10)
|
||||||
|
gruppo = 0;
|
||||||
|
|
||||||
|
if (rowtype == "I") // verificare
|
||||||
|
codice = scod2contov(ccaus);
|
||||||
|
else
|
||||||
|
if (input.get(RMV_TIPOC).as_string().full())
|
||||||
|
codice.format("%01ld%02ld000%06ld", gruppo, conto, sottoconto);
|
||||||
|
else
|
||||||
|
codice.format("%01ld%02ld%03ld000000", gruppo, conto, sottoconto);
|
||||||
|
var = codice;
|
||||||
|
recset.set("CODCONTO", var);
|
||||||
|
recset.set("TIPOREG", treg);
|
||||||
|
recset.set("CODREG", TVariant("01")); // in futuro campo su registro
|
||||||
|
const long prot = input.get(SLF_MOV "." MOV_PROTIVA).as_int();
|
||||||
|
var = format("%07ld", prot);
|
||||||
|
recset.set("NUMPROT", var);
|
||||||
|
const real * v = (real *) tipoart.objptr(lastmov - firstmov); // qui
|
||||||
|
|
||||||
|
if (v != NULL)
|
||||||
|
recset.set("TIPOART", *v);
|
||||||
|
|
||||||
|
TString8 codcaus = scod2caureg(ccaus);
|
||||||
|
|
||||||
|
if (input.get(RMV_TIPOC).as_string().full())
|
||||||
|
{
|
||||||
|
const TString8 codcauscf = scod2caucf(ccaus);
|
||||||
|
if (codcauscf.full())
|
||||||
|
codcaus = codcauscf;
|
||||||
|
}
|
||||||
|
var = "R";
|
||||||
|
if (codcaus == "00255")
|
||||||
|
var = "S";
|
||||||
|
recset.set("TIPOMOV", var);
|
||||||
|
recset.set("CODCOST", TVariant("000"));
|
||||||
|
var = codcaus;
|
||||||
|
recset.set("CODCAUS", var);
|
||||||
|
|
||||||
|
recset.set("NUMDESC", TVariant("0"));
|
||||||
|
|
||||||
|
real importo = input.get(RMV_IMPORTO).as_real();
|
||||||
|
|
||||||
|
if (rowtype == "T")
|
||||||
|
importo += input.get(SLF_MOV "." MOV_RITFIS).as_real();
|
||||||
|
var = "P";
|
||||||
|
if (importo < ZERO)
|
||||||
|
{
|
||||||
|
importo = -importo;
|
||||||
|
var = "N";
|
||||||
|
}
|
||||||
|
|
||||||
|
recset.set("SGNIMPT", var);
|
||||||
|
importo *= CENTO;
|
||||||
|
var = importo.string(13, 0, '0');
|
||||||
|
recset.set("IMPORTO", var);
|
||||||
|
const bool dare = input.get(RMV_SEZIONE).as_string() == "D";
|
||||||
|
const char * s = dare ? "A" : "D";
|
||||||
|
|
||||||
|
recset.set("SGNCONTIMP", s);
|
||||||
|
const TDate datadoc(input.get(SLF_MOV "." MOV_DATADOC).as_date());
|
||||||
|
var = datadoc.string(brief, '\0', full, full, amg_date);
|
||||||
|
recset.set("DATADOC", var);
|
||||||
|
recset.set("NUMDOC", input.get(SLF_MOV "." MOV_NUMDOC).as_int());
|
||||||
|
|
||||||
|
const long codcf = input.get(SLF_MOV "." MOV_CODCF).as_int();
|
||||||
|
|
||||||
|
var = "";
|
||||||
|
if (codcf > 0L)
|
||||||
|
{
|
||||||
|
key = input.get(MOV_TIPO).as_string(); key << codcf;
|
||||||
|
const TRectype & clifo = cache().get(LF_CLIFO, key);
|
||||||
|
const int cflen = input.get(CLI_COFI).as_string().len();
|
||||||
|
|
||||||
|
if (cflen > 11)
|
||||||
|
var = "2";
|
||||||
|
}
|
||||||
|
recset.set("TIPOANAG", var);
|
||||||
|
recset.set("FINEREC", "\r\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TInvioSispac::sispac_reverse_giro(long numreg, TMovim_set & recset, long firstmov, long lastmov,
|
||||||
|
const TString & cofi, const TString & paiv,
|
||||||
|
const TString & ragsoc, const TString & esiva,
|
||||||
|
const TString & annoes, bool comp)
|
||||||
|
{
|
||||||
|
TString query;
|
||||||
|
TString key;
|
||||||
|
|
||||||
|
query << "USE " << LF_RMOV << " SELECT " << RMV_NUMREG << "==" << numreg
|
||||||
|
<< "\nJOIN " << LF_MOV << " INTO " << MOV_NUMREG << "==" << RMV_NUMREG;
|
||||||
|
|
||||||
|
TISAM_recordset input(query);
|
||||||
|
TVariant var;
|
||||||
|
TVariant treg;
|
||||||
|
TString codice_cf;
|
||||||
|
TVariant tpart;
|
||||||
|
TArray tipoart;
|
||||||
|
int rdare = 0;
|
||||||
|
int ravere = 0;
|
||||||
|
|
||||||
|
for (bool ok = input.move_first(); ok ; ok = input.move_next())
|
||||||
|
{
|
||||||
|
const long codes = input.get(RMV_ANNOES).as_int();
|
||||||
|
const TString4 rowtype = input.get(RMV_ROWTYPE).as_string();
|
||||||
|
|
||||||
|
if (rowtype == "F")
|
||||||
|
continue;
|
||||||
|
|
||||||
|
recset.new_rec();
|
||||||
|
var = cofi;
|
||||||
|
recset.set("COFI", var);
|
||||||
|
var = paiv;
|
||||||
|
recset.set("PAIV", var);
|
||||||
|
var = ragsoc;
|
||||||
|
recset.set("RAGSOC", var);
|
||||||
|
var = esiva;
|
||||||
|
recset.set("ESIVA", var);
|
||||||
|
var = annoes;
|
||||||
|
recset.set("ESCOGE", var);
|
||||||
|
|
||||||
|
var = "P";
|
||||||
|
treg = "01";
|
||||||
|
recset.set("ARGOMENTO", var);
|
||||||
|
var = "N";
|
||||||
|
|
||||||
|
const TDate datareg(input.get(SLF_MOV "." MOV_DATAREG).as_date());
|
||||||
|
|
||||||
|
if (comp)
|
||||||
|
var = "1";
|
||||||
|
recset.set("COMPETENZA", var);
|
||||||
|
var = format("%07ld", input.get(RMV_NUMREG).as_int() + GIRO_OFFSET);
|
||||||
|
recset.set("NUMPART", var);
|
||||||
|
var = format("%03ld", input.get(RMV_NUMRIG).as_int());
|
||||||
|
recset.set("NUMINT", var);
|
||||||
|
recset.set("DATAOP", datareg.string(brief, '\0', full, full, amg_date));
|
||||||
|
TString16 codice;
|
||||||
|
long gruppo = input.get(RMV_GRUPPO).as_int();
|
||||||
|
const long conto = input.get(RMV_CONTO).as_int();
|
||||||
|
const long sottoconto = input.get(RMV_SOTTOCONTO).as_int();
|
||||||
|
TString8 ccaus(input.get(SLF_MOV "." MOV_CODCAUS).as_string());
|
||||||
|
|
||||||
|
if (gruppo == 10)
|
||||||
|
gruppo = 0;
|
||||||
|
|
||||||
|
if (rowtype == "I") // verificare
|
||||||
|
codice = scod2contov(ccaus);
|
||||||
|
else
|
||||||
|
if (rowtype == "D" || rowtype == "N") // verificare
|
||||||
|
codice = codice_cf;
|
||||||
|
else
|
||||||
|
if (input.get(RMV_TIPOC).as_string().full())
|
||||||
|
{
|
||||||
|
codice.format("%01ld%02ld000%06ld", gruppo, conto, sottoconto);
|
||||||
|
codice_cf = codice;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
codice.format("%01ld%02ld%03ld000000", gruppo, conto, sottoconto);
|
||||||
|
var = codice;
|
||||||
|
recset.set("CODCONTO", var);
|
||||||
|
recset.set("TIPOREG", treg);
|
||||||
|
recset.set("CODREG", TVariant("01")); // in futuro campo su registro
|
||||||
|
const long prot = input.get(SLF_MOV "." MOV_PROTIVA).as_int();
|
||||||
|
var = format("%07ld", prot);
|
||||||
|
recset.set("NUMPROT", var);
|
||||||
|
const real * v = (real *) tipoart.objptr(lastmov - firstmov); // qui
|
||||||
|
|
||||||
|
if (v != NULL)
|
||||||
|
recset.set("TIPOART", *v);
|
||||||
|
|
||||||
|
TString8 codcaus = scod2caugiro(ccaus);
|
||||||
|
|
||||||
|
if (input.get(RMV_TIPOC).as_string().full())
|
||||||
|
{
|
||||||
|
const TString8 codcauscf = scod2caucf(ccaus);
|
||||||
|
if (codcauscf.full())
|
||||||
|
codcaus = codcauscf;
|
||||||
|
}
|
||||||
|
var = "R";
|
||||||
|
if (codcaus == "00255")
|
||||||
|
var = "S";
|
||||||
|
recset.set("TIPOMOV", var);
|
||||||
|
recset.set("CODCOST", TVariant("000"));
|
||||||
|
var = codcaus;
|
||||||
|
recset.set("CODCAUS", var);
|
||||||
|
|
||||||
|
recset.set("NUMDESC", TVariant("0"));
|
||||||
|
|
||||||
|
real importo = input.get(RMV_IMPORTO).as_real();
|
||||||
|
|
||||||
|
if (rowtype == "T")
|
||||||
|
importo += input.get(SLF_MOV "." MOV_RITFIS).as_real();
|
||||||
|
var = "P";
|
||||||
|
if (importo < ZERO)
|
||||||
|
{
|
||||||
|
importo = -importo;
|
||||||
|
var = "N";
|
||||||
|
}
|
||||||
|
|
||||||
|
recset.set("SGNIMPT", var);
|
||||||
|
importo *= CENTO;
|
||||||
|
var = importo.string(13, 0, '0');
|
||||||
|
recset.set("IMPORTO", var);
|
||||||
|
recset.set("SGNCONTIMP", input.get(RMV_SEZIONE));
|
||||||
|
const TDate datadoc(input.get(SLF_MOV "." MOV_DATADOC).as_date());
|
||||||
|
var = datadoc.string(brief, '\0', full, full, amg_date);
|
||||||
|
recset.set("DATADOC", var);
|
||||||
|
recset.set("NUMDOC", input.get(SLF_MOV "." MOV_NUMDOC).as_int());
|
||||||
|
|
||||||
|
const long codcf = input.get(SLF_MOV "." MOV_CODCF).as_int();
|
||||||
|
|
||||||
|
var = "";
|
||||||
|
if (codcf > 0L)
|
||||||
|
{
|
||||||
|
key = input.get(MOV_TIPO).as_string(); key << codcf;
|
||||||
|
const TRectype & clifo = cache().get(LF_CLIFO, key);
|
||||||
|
const int cflen = input.get(CLI_COFI).as_string().len();
|
||||||
|
|
||||||
|
if (cflen > 11)
|
||||||
|
var = "2";
|
||||||
|
}
|
||||||
|
recset.set("TIPOANAG", var);
|
||||||
|
recset.set("FINEREC", "\r\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TInvioSispac::sispac_movim()
|
void TInvioSispac::sispac_movim()
|
||||||
{
|
{
|
||||||
TMovim_set recset;
|
TMovim_set recset;
|
||||||
TString query;
|
TString query;
|
||||||
TString key;
|
TString key;
|
||||||
TEsercizi_contabili esc;
|
TEsercizi_contabili esc;
|
||||||
|
long numregrev = -1L;
|
||||||
|
|
||||||
key << prefix().get_codditta();
|
key << prefix().get_codditta();
|
||||||
|
|
||||||
@ -857,7 +1315,22 @@ void TInvioSispac::sispac_movim()
|
|||||||
for (bool ok = input.move_first(); ok ; ok = input.move_next())
|
for (bool ok = input.move_first(); ok ; ok = input.move_next())
|
||||||
{
|
{
|
||||||
const long codes = input.get(RMV_ANNOES).as_int();
|
const long codes = input.get(RMV_ANNOES).as_int();
|
||||||
|
const TString4 rowtype = input.get(RMV_ROWTYPE).as_string();
|
||||||
|
const TString8 ccaus(input.get(SLF_MOV "." MOV_CODCAUS).as_string());
|
||||||
|
const long numreg = input.get(RMV_NUMREG).as_int();
|
||||||
|
const TDate datareg(input.get(SLF_MOV "." MOV_DATAREG).as_date());
|
||||||
|
const bool comp = codes != esc.date2esc(datareg);
|
||||||
|
|
||||||
|
if (numregrev < 0L && scod2rc(ccaus))
|
||||||
|
numregrev = numreg;
|
||||||
|
if (numregrev > 0L && rowtype == "F")
|
||||||
|
continue;
|
||||||
|
if (numregrev > 0L && numreg != numregrev)
|
||||||
|
{
|
||||||
|
sispac_reverse_movim(numregrev, recset, firstmov, lastmov, cofi, paiv, ragsoc, esiva, annoes, comp);
|
||||||
|
sispac_reverse_giro(numregrev, recset, firstmov, lastmov, cofi, paiv, ragsoc, esiva, annoes, comp);
|
||||||
|
numregrev = -1L;
|
||||||
|
}
|
||||||
recset.new_rec();
|
recset.new_rec();
|
||||||
var = cofi;
|
var = cofi;
|
||||||
recset.set("COFI", var);
|
recset.set("COFI", var);
|
||||||
@ -905,13 +1378,10 @@ void TInvioSispac::sispac_movim()
|
|||||||
}
|
}
|
||||||
recset.set("ARGOMENTO", var);
|
recset.set("ARGOMENTO", var);
|
||||||
var = "N";
|
var = "N";
|
||||||
|
if (comp)
|
||||||
const TDate datareg(input.get(SLF_MOV "." MOV_DATAREG).as_date());
|
|
||||||
|
|
||||||
if (codes != esc.date2esc(datareg))
|
|
||||||
var = "1";
|
var = "1";
|
||||||
recset.set("COMPETENZA", var);
|
recset.set("COMPETENZA", var);
|
||||||
var = format("%07ld", input.get(RMV_NUMREG).as_int());
|
var = format("%07ld", numreg);
|
||||||
recset.set("NUMPART", var);
|
recset.set("NUMPART", var);
|
||||||
var = format("%03ld", input.get(RMV_NUMRIG).as_int());
|
var = format("%03ld", input.get(RMV_NUMRIG).as_int());
|
||||||
recset.set("NUMINT", var);
|
recset.set("NUMINT", var);
|
||||||
@ -940,9 +1410,15 @@ void TInvioSispac::sispac_movim()
|
|||||||
if (v != NULL)
|
if (v != NULL)
|
||||||
recset.set("TIPOART", *v);
|
recset.set("TIPOART", *v);
|
||||||
|
|
||||||
TString8 ccaus(input.get(SLF_MOV "." MOV_CODCAUS).as_string());
|
|
||||||
TString8 codcaus = scod2ricl("SCCAU", ccaus);
|
TString8 codcaus = scod2ricl("SCCAU", ccaus);
|
||||||
|
const TString4 tipocf = input.get(RMV_TIPOC).as_string();
|
||||||
|
|
||||||
|
if (tipocf == "C" || tipocf == "F")
|
||||||
|
{
|
||||||
|
const TString8 codcauscf = scod2caucf(ccaus);
|
||||||
|
if (codcauscf.full())
|
||||||
|
codcaus = codcauscf;
|
||||||
|
}
|
||||||
var = "R";
|
var = "R";
|
||||||
if (codcaus == "00255")
|
if (codcaus == "00255")
|
||||||
var = "S";
|
var = "S";
|
||||||
@ -954,6 +1430,8 @@ void TInvioSispac::sispac_movim()
|
|||||||
recset.set("NUMDESC", TVariant("0"));
|
recset.set("NUMDESC", TVariant("0"));
|
||||||
|
|
||||||
real importo = input.get(RMV_IMPORTO).as_real();
|
real importo = input.get(RMV_IMPORTO).as_real();
|
||||||
|
if (numregrev > 0L && rowtype == "T")
|
||||||
|
importo += input.get(SLF_MOV "." MOV_RITFIS).as_real();
|
||||||
|
|
||||||
var = "P";
|
var = "P";
|
||||||
if (importo < ZERO)
|
if (importo < ZERO)
|
||||||
@ -997,37 +1475,17 @@ void TInvioSispac::sispac_movim()
|
|||||||
recset.save_as(outputname);
|
recset.save_as(outputname);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TInvioSispac::sispac_moviva()
|
void TInvioSispac::sispac_reverse_moviva(long numreg, TIvamov_set & recset, const TString & cofi,
|
||||||
|
const TString & paiv, const TString & ragsoc)
|
||||||
{
|
{
|
||||||
TIvamov_set recset;
|
|
||||||
TString query;
|
TString query;
|
||||||
TString key;
|
TString key;
|
||||||
TEsercizi_contabili esc;
|
|
||||||
|
|
||||||
key << prefix().get_codditta();
|
query << "USE " << LF_RMOVIVA << " SELECT " << RMV_NUMREG << "==" << numreg <<
|
||||||
|
"\nJOIN " << LF_MOV << " INTO " << MOV_NUMREG << "==" << RMV_NUMREG;
|
||||||
const TRectype & ditta = cache().get(LF_NDITTE, key);
|
|
||||||
|
|
||||||
key = ditta.get(NDT_TIPOA);
|
|
||||||
key << "|" <<ditta.get_long(NDT_CODANAGR);
|
|
||||||
|
|
||||||
const TRectype & anagr = cache().get(LF_ANAG, key);
|
|
||||||
|
|
||||||
const TString16 paiv(anagr.get(ANA_PAIV));
|
|
||||||
const TString16 cofi(anagr.get(ANA_COFI));
|
|
||||||
const TString80 ragsoc(anagr.get(ANA_RAGSOC));
|
|
||||||
const int esiva = _dataini.year() % 100 ;
|
|
||||||
TString4 annoes; annoes << esiva << esiva ;
|
|
||||||
|
|
||||||
query << "USE " << LF_RMOVIVA << " SELECT BETWEEN(" << LF_MOV << "." << MOV_DATAREG << "," << _dataini.date2ansi() << "," << _datafin.date2ansi() << ")&&("
|
|
||||||
<< LF_MOV << "." << MOV_INVIATO << "!=\"X\")"
|
|
||||||
<< "\nJOIN " << LF_MOV << " INTO " << MOV_NUMREG << "==" << RMV_NUMREG;
|
|
||||||
|
|
||||||
TISAM_recordset input(query);
|
TISAM_recordset input(query);
|
||||||
TVariant var;
|
TVariant var;
|
||||||
|
|
||||||
TProgind p(input.items(), TR("Esportazione Movimenti IVA"), true, true); // qui
|
|
||||||
|
|
||||||
for (bool ok = input.move_first(); ok ; ok = input.move_next())
|
for (bool ok = input.move_first(); ok ; ok = input.move_next())
|
||||||
{
|
{
|
||||||
recset.new_rec();
|
recset.new_rec();
|
||||||
@ -1037,7 +1495,7 @@ void TInvioSispac::sispac_movim()
|
|||||||
recset.set("PAIV", var);
|
recset.set("PAIV", var);
|
||||||
var = ragsoc;
|
var = ragsoc;
|
||||||
recset.set("RAGSOC", var);
|
recset.set("RAGSOC", var);
|
||||||
var = format("%07ld", input.get(RMI_NUMREG).as_int());
|
var = format("%07ld", input.get(RMI_NUMREG).as_int() + REG_OFFSET);
|
||||||
recset.set("NUMPART", var);
|
recset.set("NUMPART", var);
|
||||||
var = format("%03ld", input.get(RMI_NUMRIG).as_int());
|
var = format("%03ld", input.get(RMI_NUMRIG).as_int());
|
||||||
recset.set("NUMINT", var);
|
recset.set("NUMINT", var);
|
||||||
@ -1070,8 +1528,150 @@ void TInvioSispac::sispac_movim()
|
|||||||
var = imposta.string(13, 0, '0');
|
var = imposta.string(13, 0, '0');
|
||||||
recset.set("IMPOSTA", var);
|
recset.set("IMPOSTA", var);
|
||||||
const TString8 ccaus(input.get(SLF_MOV "." MOV_CODCAUS).as_string());
|
const TString8 ccaus(input.get(SLF_MOV "." MOV_CODCAUS).as_string());
|
||||||
|
TString8 codcaus = scod2caureg(ccaus);
|
||||||
|
|
||||||
|
if (input.get(RMI_TIPOC).as_string().full())
|
||||||
|
{
|
||||||
|
const TString8 codcauscf = scod2caucf(ccaus);
|
||||||
|
if (codcauscf.full())
|
||||||
|
codcaus = codcauscf;
|
||||||
|
}
|
||||||
|
var = codcaus;
|
||||||
|
recset.set("CODCAUS", var);
|
||||||
|
|
||||||
|
const TString8 civa(input.get(RMI_CODIVA).as_string());
|
||||||
|
TString8 codiva = scod2ricl("SCIVA", civa);
|
||||||
|
|
||||||
|
var = codiva;
|
||||||
|
recset.set("CODIVA", var);
|
||||||
|
recset.set("FILLER", TVariant("00"));
|
||||||
|
TVariant var1("M");
|
||||||
|
|
||||||
|
var = "";
|
||||||
|
if (codcaus == "00100")
|
||||||
|
{
|
||||||
|
var = "S";
|
||||||
|
var1 = "S";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (codcaus == "00110")
|
||||||
|
{
|
||||||
|
var = "N";
|
||||||
|
var1 = "N";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (codcaus == "00200" || codcaus == "00220" ||
|
||||||
|
codcaus == "00255" || codcaus == "00301")
|
||||||
|
var1 ="M";
|
||||||
|
|
||||||
|
recset.set("MERCIVEN", var1);
|
||||||
|
recset.set("QUADROA", var);
|
||||||
|
int tipodet;
|
||||||
|
TCausale cau(ccaus, _dataini.year());
|
||||||
|
const real percdetr = (CENTO - indetraibile_al(input.get(RMI_TIPODET).as_string(), cau, _dataini.year(), tipodet)) * CENTO;
|
||||||
|
|
||||||
|
var = percdetr.string(5, 0, '0');
|
||||||
|
recset.set("DETRAIB", percdetr);
|
||||||
|
recset.set("FINEREC", "\r\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TInvioSispac::sispac_moviva()
|
||||||
|
{
|
||||||
|
TIvamov_set recset;
|
||||||
|
TString query;
|
||||||
|
TString key;
|
||||||
|
TEsercizi_contabili esc;
|
||||||
|
long numregrev = -1L;
|
||||||
|
|
||||||
|
key << prefix().get_codditta();
|
||||||
|
|
||||||
|
const TRectype & ditta = cache().get(LF_NDITTE, key);
|
||||||
|
|
||||||
|
key = ditta.get(NDT_TIPOA);
|
||||||
|
key << "|" <<ditta.get_long(NDT_CODANAGR);
|
||||||
|
|
||||||
|
const TRectype & anagr = cache().get(LF_ANAG, key);
|
||||||
|
|
||||||
|
const TString16 paiv(anagr.get(ANA_PAIV));
|
||||||
|
const TString16 cofi(anagr.get(ANA_COFI));
|
||||||
|
const TString80 ragsoc(anagr.get(ANA_RAGSOC));
|
||||||
|
const int esiva = _dataini.year() % 100 ;
|
||||||
|
TString4 annoes; annoes << esiva << esiva ;
|
||||||
|
|
||||||
|
query << "USE " << LF_RMOVIVA << " SELECT BETWEEN(" << LF_MOV << "." << MOV_DATAREG << "," << _dataini.date2ansi() << "," << _datafin.date2ansi() << ")&&("
|
||||||
|
<< LF_MOV << "." << MOV_INVIATO << "!=\"X\")"
|
||||||
|
<< "\nJOIN " << LF_MOV << " INTO " << MOV_NUMREG << "==" << RMV_NUMREG;
|
||||||
|
|
||||||
|
TISAM_recordset input(query);
|
||||||
|
TVariant var;
|
||||||
|
|
||||||
|
TProgind p(input.items(), TR("Esportazione Movimenti IVA"), true, true); // qui
|
||||||
|
|
||||||
|
for (bool ok = input.move_first(); ok ; ok = input.move_next())
|
||||||
|
{
|
||||||
|
const TString8 ccaus(input.get(SLF_MOV "." MOV_CODCAUS).as_string());
|
||||||
|
const long numreg = input.get(RMI_NUMREG).as_int();
|
||||||
|
TString16 key;
|
||||||
|
|
||||||
|
key << numreg <<"|1";
|
||||||
|
if (cache().get(LF_RMOV, key).empty())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (scod2rc(ccaus))
|
||||||
|
numregrev = numreg;
|
||||||
|
if (numregrev > 0L && numreg != numregrev)
|
||||||
|
{
|
||||||
|
sispac_reverse_moviva(numregrev, recset, cofi, paiv, ragsoc);
|
||||||
|
numregrev = -1L;
|
||||||
|
}
|
||||||
|
recset.new_rec();
|
||||||
|
var = cofi;
|
||||||
|
recset.set("COFI", var);
|
||||||
|
var = paiv;
|
||||||
|
recset.set("PAIV", var);
|
||||||
|
var = ragsoc;
|
||||||
|
recset.set("RAGSOC", var);
|
||||||
|
var = format("%07ld", numreg);
|
||||||
|
recset.set("NUMPART", var);
|
||||||
|
var = format("%03ld", input.get(RMI_NUMRIG).as_int());
|
||||||
|
recset.set("NUMINT", var);
|
||||||
|
|
||||||
|
real imponibile = input.get(RMI_IMPONIBILE).as_real();
|
||||||
|
|
||||||
|
var = "P";
|
||||||
|
if (imponibile < ZERO)
|
||||||
|
{
|
||||||
|
imponibile = -imponibile;
|
||||||
|
var = "N";
|
||||||
|
}
|
||||||
|
|
||||||
|
recset.set("SGNIMPB", var);
|
||||||
|
imponibile *= CENTO;
|
||||||
|
var = imponibile.string(13, 0, '0');
|
||||||
|
recset.set("IMPONIBILE", var);
|
||||||
|
|
||||||
|
real imposta = input.get(RMI_IMPOSTA).as_real();
|
||||||
|
|
||||||
|
var = "P";
|
||||||
|
if (imposta < ZERO)
|
||||||
|
{
|
||||||
|
imposta = -imposta;
|
||||||
|
var = "N";
|
||||||
|
}
|
||||||
|
|
||||||
|
recset.set("SGNIMPIVA", var);
|
||||||
|
imposta *= CENTO;
|
||||||
|
var = imposta.string(13, 0, '0');
|
||||||
|
recset.set("IMPOSTA", var);
|
||||||
TString8 codcaus = scod2ricl("SCCAU", ccaus);
|
TString8 codcaus = scod2ricl("SCCAU", ccaus);
|
||||||
|
|
||||||
|
if (input.get(RMI_TIPOC).as_string().full())
|
||||||
|
{
|
||||||
|
const TString8 codcauscf = scod2caucf(ccaus);
|
||||||
|
if (codcauscf.full())
|
||||||
|
codcaus = codcauscf;
|
||||||
|
}
|
||||||
var = codcaus;
|
var = codcaus;
|
||||||
recset.set("CODCAUS", var);
|
recset.set("CODCAUS", var);
|
||||||
|
|
||||||
|
@ -13,8 +13,9 @@ protected:
|
|||||||
virtual bool has_filtered_cursor() const { return true; }
|
virtual bool has_filtered_cursor() const { return true; }
|
||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
virtual void init_query_mode(TMask& m);
|
virtual void init_query_mode(TMask& m);
|
||||||
virtual void init_query_insert_mode(TMask& m);
|
virtual void init_query_insert_mode(TMask& m);
|
||||||
virtual void init_modify_mode(TMask& m);
|
virtual void init_modify_mode(TMask& m);
|
||||||
|
virtual void init_insert_mode(TMask& m);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -38,6 +39,7 @@ void TSispac_multirel_app::init_query_mode(TMask& m)
|
|||||||
TMultirel_application::init_query_mode(m);
|
TMultirel_application::init_query_mode(m);
|
||||||
m.show(-1);
|
m.show(-1);
|
||||||
m.hide(-2);
|
m.hide(-2);
|
||||||
|
m.enable(-4);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TSispac_multirel_app::init_query_insert_mode(TMask& m)
|
void TSispac_multirel_app::init_query_insert_mode(TMask& m)
|
||||||
@ -45,6 +47,7 @@ void TSispac_multirel_app::init_query_insert_mode(TMask& m)
|
|||||||
TMultirel_application::init_query_insert_mode(m);
|
TMultirel_application::init_query_insert_mode(m);
|
||||||
m.hide(-1);
|
m.hide(-1);
|
||||||
m.show(-2);
|
m.show(-2);
|
||||||
|
m.enable(-4);
|
||||||
}
|
}
|
||||||
void TSispac_multirel_app::init_modify_mode(TMask& m)
|
void TSispac_multirel_app::init_modify_mode(TMask& m)
|
||||||
{
|
{
|
||||||
@ -52,6 +55,16 @@ void TSispac_multirel_app::init_modify_mode(TMask& m)
|
|||||||
m.show(-1);
|
m.show(-1);
|
||||||
m.hide(-2);
|
m.hide(-2);
|
||||||
m.enable(-3);
|
m.enable(-3);
|
||||||
|
m.disable(-4);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TSispac_multirel_app::init_insert_mode(TMask& m)
|
||||||
|
{
|
||||||
|
TMultirel_application::init_insert_mode(m);
|
||||||
|
m.show(-1);
|
||||||
|
m.hide(-2);
|
||||||
|
m.enable(-3);
|
||||||
|
m.disable(-4);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TSispac_multirel_app::user_create()
|
bool TSispac_multirel_app::user_create()
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
#define F_COD 101
|
#define F_COD 101
|
||||||
#define F_CODTAB 102
|
#define F_CODTAB 102
|
||||||
#define F_DESC 103
|
#define F_DESC 103
|
||||||
#define F_COD_CAMPO 104
|
#define F_COD_CAUS 104
|
||||||
#define F_CODTAB1 105
|
#define F_CODTAB1 105
|
||||||
|
#define F_COD_CAUSCF 106
|
||||||
|
#define F_IN_RC 107
|
||||||
|
#define F_COD_CAUSRG 108
|
||||||
|
#define F_COD_CAUSGC 109
|
||||||
|
#define F_COD_CONTOV 110
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
#include "tcsc.h"
|
#include "tcsc.h"
|
||||||
|
|
||||||
TOOLBAR "topbar" 0 0 0 2
|
TOOLBAR "" 0 -3 0 3
|
||||||
#include <relapbar.h>
|
|
||||||
|
#include <toolbar.h>
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Causali" -1 -1 78 15
|
PAGE "Causali" -1 -1 78 15
|
||||||
@ -24,17 +26,17 @@ STRING F_CODTAB 3
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 ""
|
PROMPT 2 2 ""
|
||||||
USE LF_MULTIREL
|
USE LF_MULTIREL
|
||||||
|
JOIN LF_CAUSALI INTO CODCAUS==FIRST
|
||||||
INPUT COD F_COD SELECT
|
INPUT COD F_COD SELECT
|
||||||
INPUT FIRST F_CODTAB
|
INPUT FIRST F_CODTAB
|
||||||
INPUT SECOND F_COD_CAMPO
|
INPUT SECOND F_COD_CAUS
|
||||||
DISPLAY "Codice" FIRST
|
DISPLAY "Codice" FIRST
|
||||||
DISPLAY "Descrizione@60" DATA
|
DISPLAY "Descrizione@60" LF_CAUSALI->DESCR
|
||||||
DISPLAY "Codice causale Sispac" SECOND
|
DISPLAY "Causale Sispac/Cosmo" SECOND
|
||||||
OUTPUT F_CODTAB FIRST
|
OUTPUT F_CODTAB FIRST
|
||||||
OUTPUT F_CODTAB1 FIRST
|
OUTPUT F_CODTAB1 FIRST
|
||||||
OUTPUT F_DESC DATA
|
OUTPUT F_COD_CAUS SECOND
|
||||||
OUTPUT F_COD_CAMPO SECOND
|
OUTPUT F_DESC LF_CAUSALI->DESCR
|
||||||
// CHECKTYPE REQUIRED
|
|
||||||
FIELD FIRST
|
FIELD FIRST
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
GROUP 1
|
GROUP 1
|
||||||
@ -48,12 +50,6 @@ BEGIN
|
|||||||
INPUT CODCAUS F_CODTAB1
|
INPUT CODCAUS F_CODTAB1
|
||||||
DISPLAY "Cod." CODCAUS
|
DISPLAY "Cod." CODCAUS
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
DISPLAY "Documento" TIPODOC
|
|
||||||
DISPLAY "Registro" REG
|
|
||||||
DISPLAY "Tipo movimento" TIPOMOV
|
|
||||||
DISPLAY "Inc./Pag." CODCAUSIM
|
|
||||||
DISPLAY "770" M770
|
|
||||||
DISPLAY "Cespiti" COLLCESP
|
|
||||||
OUTPUT F_CODTAB CODCAUS
|
OUTPUT F_CODTAB CODCAUS
|
||||||
OUTPUT F_CODTAB1 CODCAUS
|
OUTPUT F_CODTAB1 CODCAUS
|
||||||
OUTPUT F_DESC DESCR
|
OUTPUT F_DESC DESCR
|
||||||
@ -67,21 +63,29 @@ END
|
|||||||
STRING F_DESC 50
|
STRING F_DESC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 10 2 "Descrizione "
|
PROMPT 10 2 "Descrizione "
|
||||||
USE LF_MULTIREL KEY 2
|
USE LF_CAUSALI KEY 2
|
||||||
INPUT COD F_COD SELECT
|
JOIN LF_MULTIREL INTO FIRST==CODCAUS
|
||||||
INPUT DATA F_DESC
|
INPUT DESCR F_DESC
|
||||||
DISPLAY "Descrizione@60" DATA
|
DISPLAY "Cod." CODCAUS
|
||||||
DISPLAY "Codice" FIRST
|
DISPLAY "Descrizione@50" DESCR
|
||||||
DISPLAY "Causale Sispac" SECOND
|
DISPLAY "Documento" TIPODOC
|
||||||
COPY OUTPUT F_CODTAB
|
DISPLAY "Registro" REG
|
||||||
FIELD DATA
|
DISPLAY "Tipo movimento" TIPOMOV
|
||||||
KEY 3
|
DISPLAY "Inc./Pag." CODCAUSIM
|
||||||
CHECKTYPE REQUIRED
|
DISPLAY "770" M770
|
||||||
|
DISPLAY "Cespiti" COLLCESP
|
||||||
|
OUTPUT F_CODTAB LF_MULTIREL->FIRST
|
||||||
|
OUTPUT F_CODTAB1 LF_MULTIREL->FIRST
|
||||||
|
OUTPUT F_COD_CAUS LF_MULTIREL->SECOND
|
||||||
|
OUTPUT F_DESC DESCR
|
||||||
|
KEY 2
|
||||||
|
GROUP 4
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_COD_CAMPO 5
|
NUMBER F_COD_CAUS 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 4 "Causale Sispac "
|
PROMPT 2 4 "Causale Sispac "
|
||||||
FIELD SECOND
|
FIELD SECOND
|
||||||
FLAGS "Z"
|
FLAGS "Z"
|
||||||
KEY 1
|
KEY 1
|
||||||
@ -89,6 +93,45 @@ BEGIN
|
|||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
|
NUMBER F_COD_CAUSCF 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 6 "Causale Sispac For./Cli. "
|
||||||
|
FIELD DATA[1,5]
|
||||||
|
FLAGS "Z"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_IN_RC
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 8 "Causale reverse charge "
|
||||||
|
FIELD DATA[6,6]
|
||||||
|
MESSAGE FALSE CLEAR,5@
|
||||||
|
MESSAGE TRUE ENABLE,5@
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_COD_CAUSRG 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Causale Sispac Regolariz."
|
||||||
|
FIELD DATA[7,11]
|
||||||
|
FLAGS "Z"
|
||||||
|
GROUP 5
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_COD_CAUSGC 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 12 "Causale Sispac Giroconto "
|
||||||
|
FIELD DATA[12,16]
|
||||||
|
FLAGS "Z"
|
||||||
|
GROUP 5
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_COD_CONTOV 12
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 13 "Conto Sispac Vendite "
|
||||||
|
FIELD DATA[17,28]
|
||||||
|
FLAGS "Z"
|
||||||
|
GROUP 5
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
@ -37,7 +37,6 @@ BEGIN
|
|||||||
OUTPUT F_COD_CAMPO SECOND
|
OUTPUT F_COD_CAMPO SECOND
|
||||||
// CHECKTYPE REQUIRED
|
// CHECKTYPE REQUIRED
|
||||||
FIELD FIRST
|
FIELD FIRST
|
||||||
FLAGS "Z"
|
|
||||||
KEY 1
|
KEY 1
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
Loading…
x
Reference in New Issue
Block a user