Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :aggiunta fase alle ripartizioni git-svn-id: svn://10.65.10.50/trunk@16609 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
cb186ad011
commit
abb57ee779
@ -7,6 +7,7 @@
|
|||||||
#include "calib01.h"
|
#include "calib01.h"
|
||||||
|
|
||||||
#include "fasi.h"
|
#include "fasi.h"
|
||||||
|
#include "rip.h"
|
||||||
#include "rrip.h"
|
#include "rrip.h"
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -232,7 +233,7 @@ TRiparti_msk::TRiparti_msk() : TAutomask("ca0800a")
|
|||||||
TConfig& ini = ca_config();
|
TConfig& ini = ca_config();
|
||||||
|
|
||||||
// Crea gli eventuali campi per commessa e centro di costo
|
// Crea gli eventuali campi per commessa e centro di costo
|
||||||
|
const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
|
||||||
int y = 11;
|
int y = 11;
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
@ -245,10 +246,35 @@ TRiparti_msk::TRiparti_msk() : TAutomask("ca0800a")
|
|||||||
prompt = TR("@bCentro di costo");
|
prompt = TR("@bCentro di costo");
|
||||||
} else
|
} else
|
||||||
if (level == "CMS") // Crea commessa
|
if (level == "CMS") // Crea commessa
|
||||||
|
{
|
||||||
|
if (fasinfo.parent() == LF_COMMESSE)
|
||||||
|
{
|
||||||
|
h = ca_create_fields(*this, 0, LF_FASI, 2, y, F_CODCMS_1, F_DESCMS_1);
|
||||||
|
prompt = TR("@bCommessa/Fase");
|
||||||
|
|
||||||
|
const TMultilevel_code_info& cmsinfo = ca_multilevel_code_info(LF_COMMESSE);
|
||||||
|
const int cmslevels = cmsinfo.levels();
|
||||||
|
for (int j = 0; j < cmslevels; j++)
|
||||||
|
{
|
||||||
|
TEdit_field& cfld = efield(F_CODCMS_1+j);
|
||||||
|
const TFieldref& fr = cmsinfo.fieldref(j);
|
||||||
|
TString80 str = RIP_CODCMS;
|
||||||
|
if (cmslevels > 1)
|
||||||
|
str.format("%s[%d,%d]", RIP_CODCMS, fr.from()+1, fr.to());
|
||||||
|
cfld.set_field(str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
h = ca_create_fields(*this, 0, LF_COMMESSE, 2, y, F_CODCMS_1, F_DESCMS_1);
|
h = ca_create_fields(*this, 0, LF_COMMESSE, 2, y, F_CODCMS_1, F_DESCMS_1);
|
||||||
prompt = TR("@bCommessa");
|
prompt = TR("@bCommessa");
|
||||||
}
|
}
|
||||||
|
} else
|
||||||
|
if (level == "FSC" && fasinfo.parent() <= 0)
|
||||||
|
{
|
||||||
|
h = ca_create_fields(*this, 0, LF_FASI, 2, y, F_CODCMS_1, F_DESCMS_1);
|
||||||
|
prompt = TR("@bFase");
|
||||||
|
}
|
||||||
|
|
||||||
if (prompt != NULL) // Crea groupbox
|
if (prompt != NULL) // Crea groupbox
|
||||||
{
|
{
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
#include "ca0800a.h"
|
#include "ca0800a.h"
|
||||||
|
|
||||||
TOOLBAR "" 0 -2 0 2
|
TOOLBAR "topbar" 0 0 0 2
|
||||||
#include <toolbar.h>
|
|
||||||
|
#include <relapbar.h>
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Ripartizioni" -1 -1 64 6
|
PAGE "Ripartizioni" 0 0 0 2
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 4
|
GROUPBOX DLG_NULL 78 4
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -55,6 +56,7 @@ BEGIN
|
|||||||
DISPLAY "Codice@8 " CODICE
|
DISPLAY "Codice@8 " CODICE
|
||||||
DISPLAY "Costo@20" CODCOSTO
|
DISPLAY "Costo@20" CODCOSTO
|
||||||
DISPLAY "Commessa@20" CODCMS
|
DISPLAY "Commessa@20" CODCMS
|
||||||
|
DISPLAY "Fase@10" CODFASE
|
||||||
DISPLAY "Descrizione@50" DESCRIZ
|
DISPLAY "Descrizione@50" DESCRIZ
|
||||||
OUTPUT F_CODICE_B CODICE
|
OUTPUT F_CODICE_B CODICE
|
||||||
OUTPUT F_DESCRIZ_B DESCRIZ
|
OUTPUT F_DESCRIZ_B DESCRIZ
|
||||||
@ -91,6 +93,7 @@ BEGIN
|
|||||||
DISPLAY "Codice " CODICE
|
DISPLAY "Codice " CODICE
|
||||||
DISPLAY "Costo@20" CODCOSTO
|
DISPLAY "Costo@20" CODCOSTO
|
||||||
DISPLAY "Commessa@20" CODCMS
|
DISPLAY "Commessa@20" CODCMS
|
||||||
|
DISPLAY "Fase@10" CODFASE
|
||||||
COPY OUTPUT F_CODICE_B
|
COPY OUTPUT F_CODICE_B
|
||||||
FIELD DESCRIZ
|
FIELD DESCRIZ
|
||||||
KEY 2
|
KEY 2
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#include "ca2100a.h"
|
#include "ca2100a.h"
|
||||||
|
|
||||||
TOOLBAR "" 0 -3 0 3
|
TOOLBAR "topbar" 0 0 0 2
|
||||||
|
|
||||||
#include <toolbar.h>
|
#include <relapbar.h>
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Testata" -1 -1 80 20
|
PAGE "Testata" 0 0 0 2
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -147,8 +147,8 @@ bool TRib_movanal_app::explode_rows(const TRecord_array& input_rows, TRecord_arr
|
|||||||
const TRectype& rec = input_rows.row(r);
|
const TRectype& rec = input_rows.row(r);
|
||||||
TAnal_bill zio(rec);
|
TAnal_bill zio(rec);
|
||||||
const int rmovana_indbil = zio.indicatore_bilancio();
|
const int rmovana_indbil = zio.indicatore_bilancio();
|
||||||
const TAnal_ripartizioni_batch& rrip = _cache_rip.righe(rec.get(RMOVANA_CODCCOSTO),
|
const TAnal_ripartizioni_batch& rrip = _cache_rip.righe(rec.get(RMOVANA_CODCCOSTO), rec.get(RMOVANA_CODCMS),
|
||||||
rec.get(RMOVANA_CODCMS), annoes, rmovana_indbil, tipomov);
|
rec.get(RMOVANA_CODFASE), annoes, rmovana_indbil, tipomov);
|
||||||
//ci sono righe di ripartizione
|
//ci sono righe di ripartizione
|
||||||
const int righe_ripartizione = rrip.rows();
|
const int righe_ripartizione = rrip.rows();
|
||||||
bool ripartisci = righe_ripartizione > 0;
|
bool ripartisci = righe_ripartizione > 0;
|
||||||
|
@ -1,13 +1,7 @@
|
|||||||
#include "ca2200a.h"
|
#include "ca2200a.h"
|
||||||
#include "camask.h"
|
#include "camask.h"
|
||||||
|
|
||||||
TOOLBAR "" 0 -3 0 3
|
TOOLBAR "topbar" 0 0 0 2
|
||||||
|
|
||||||
STRING DLG_PROFILE 50
|
|
||||||
BEGIN
|
|
||||||
PROMPT 9 0 "Profilo "
|
|
||||||
PSELECT
|
|
||||||
END
|
|
||||||
|
|
||||||
BUTTON DLG_OK 10 2
|
BUTTON DLG_OK 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -29,7 +23,17 @@ END
|
|||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Ripartizione movimenti" 0 0 64 12
|
TOOLBAR "" 0 -2 0 2
|
||||||
|
|
||||||
|
STRING DLG_PROFILE 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 9 -11 "Profilo "
|
||||||
|
PSELECT
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "Ripartizione movimenti" 0 0 0 2
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 4
|
GROUPBOX DLG_NULL 78 4
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -22,7 +22,14 @@
|
|||||||
<field border="1" x="1" y="3" type="Linea" width="169" height="0" pattern="1" />
|
<field border="1" x="1" y="3" type="Linea" width="169" height="0" pattern="1" />
|
||||||
<field x="43" y="2" type="Testo" align="center" width="6" id="3" pattern="1" text="Fase" />
|
<field x="43" y="2" type="Testo" align="center" width="6" id="3" pattern="1" text="Fase" />
|
||||||
<field x="50.5" y="2" type="Testo" align="center" width="6" id="4" pattern="1" text="CdC" />
|
<field x="50.5" y="2" type="Testo" align="center" width="6" id="4" pattern="1" text="CdC" />
|
||||||
<field x="56" y="2" type="Testo" align="center" width="6" id="5" pattern="1" text="% Av." />
|
<field x="56" y="2" type="Array" align="center" width="7" id="5" pattern="1">
|
||||||
|
<source>TIPOSTIMA</source>
|
||||||
|
<list>
|
||||||
|
<li Value="% Av." Code="T" />
|
||||||
|
<li Value="% Ric." Code="C" />
|
||||||
|
<li Value="% Ric." Code="R" />
|
||||||
|
</list>
|
||||||
|
</field>
|
||||||
<field x="61" y="2" type="Testo" align="right" width="13" id="69" pattern="1" text="Testata" />
|
<field x="61" y="2" type="Testo" align="right" width="13" id="69" pattern="1" text="Testata" />
|
||||||
<field x="1" y="2" type="Testo" width="15" id="121" pattern="1" text="Commessa" />
|
<field x="1" y="2" type="Testo" width="15" id="121" pattern="1" text="Commessa" />
|
||||||
<field x="75" y="1" type="Stringa" valign="bottom" align="right" width="13" height="2" id="169" pattern="1">
|
<field x="75" y="1" type="Stringa" valign="bottom" align="right" width="13" height="2" id="169" pattern="1">
|
||||||
|
@ -1567,48 +1567,49 @@ int TAnal_ripartizioni_batch::read (const char* codice)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int TAnal_ripartizioni_batch::read_rip_4(TLocalisamfile& rip, const char* codcosto, const char* commessa,
|
int TAnal_ripartizioni_batch::read_rip_4(TLocalisamfile& rip, const char* codcosto, const char* commessa,
|
||||||
const int annoes, const int indbil, const int classe_mov) const
|
const char* fase, const int annoes, const int indbil, const int classe_mov) const
|
||||||
{
|
{
|
||||||
rip.put(RIP_TIPO, "B"); //solo tipi batch!
|
rip.put(RIP_TIPO, "B"); //solo tipi batch!
|
||||||
rip.put(RIP_CODCOSTO, codcosto);
|
rip.put(RIP_CODCOSTO, codcosto);
|
||||||
rip.put(RIP_CODCMS, commessa);
|
rip.put(RIP_CODCMS, commessa);
|
||||||
|
rip.put(RIP_CODFASE, fase);
|
||||||
rip.put(RIP_ANNOES, annoes);
|
rip.put(RIP_ANNOES, annoes);
|
||||||
rip.put(RIP_INDBIL, indbil);
|
rip.put(RIP_INDBIL, indbil);
|
||||||
rip.put(RIP_CLASSEMOV, classe_mov);
|
rip.put(RIP_CLASSEMOV, classe_mov);
|
||||||
return rip.read();
|
return rip.read();
|
||||||
}
|
}
|
||||||
|
|
||||||
int TAnal_ripartizioni_batch::read (const char* codcosto, const char* commessa,
|
int TAnal_ripartizioni_batch::read (const char* codcosto, const char* commessa, const char* fase,
|
||||||
const int annoes, const int indbil, const int classe_mov)
|
const int annoes, const int indbil, const int classe_mov)
|
||||||
{
|
{
|
||||||
CHECKD(classe_mov > 0, "Classe movimento non valida ", classe_mov);
|
CHECKD(classe_mov > 0, "Classe movimento non valida ", classe_mov);
|
||||||
TLocalisamfile rip(LF_RIP);
|
TLocalisamfile rip(LF_RIP);
|
||||||
rip.setkey(4);
|
rip.setkey(4);
|
||||||
|
|
||||||
int err = read_rip_4(rip, codcosto, commessa, annoes, indbil, classe_mov);
|
int err = read_rip_4(rip, codcosto, commessa, fase, annoes, indbil, classe_mov);
|
||||||
if (err != NOERR)
|
if (err != NOERR)
|
||||||
err = read_rip_4(rip, codcosto, commessa, annoes, indbil, 0);
|
err = read_rip_4(rip, codcosto, commessa, fase, annoes, indbil, 0);
|
||||||
//la put va rifatta la put perche' potrebbe essersi spostato al record successivo!!!
|
//la put va rifatta perche' potrebbe essersi spostato al record successivo!!!
|
||||||
//se fallisce il primo tentativo prova con lo stesso anno e indbil=0
|
//se fallisce il primo tentativo prova con lo stesso anno e indbil=0
|
||||||
if (err != NOERR && indbil != 0)
|
if (err != NOERR && indbil != 0)
|
||||||
{
|
{
|
||||||
err = read_rip_4(rip, codcosto, commessa, annoes, 0, classe_mov);
|
err = read_rip_4(rip, codcosto, commessa, fase, annoes, 0, classe_mov);
|
||||||
if (err != NOERR)
|
if (err != NOERR)
|
||||||
err = read_rip_4(rip, codcosto, commessa, annoes, 0, 0);
|
err = read_rip_4(rip, codcosto, commessa, fase, annoes, 0, 0);
|
||||||
}
|
}
|
||||||
//se fallisce ancora riprova con anno=0 e lo stesso indbil
|
//se fallisce ancora riprova con anno=0 e lo stesso indbil
|
||||||
if (err != NOERR && annoes != 0)
|
if (err != NOERR && annoes != 0)
|
||||||
{
|
{
|
||||||
err = read_rip_4(rip, codcosto, commessa, 0, indbil, classe_mov);
|
err = read_rip_4(rip, codcosto, commessa, fase, 0, indbil, classe_mov);
|
||||||
if (err != NOERR)
|
if (err != NOERR)
|
||||||
err = read_rip_4(rip, codcosto, commessa, 0, indbil, 0);
|
err = read_rip_4(rip, codcosto, commessa, fase, 0, indbil, 0);
|
||||||
|
|
||||||
//estremo tentativo con annoes e indbil = 0
|
//estremo tentativo con annoes e indbil = 0
|
||||||
if (err != NOERR && indbil != 0)
|
if (err != NOERR && indbil != 0)
|
||||||
{
|
{
|
||||||
err = read_rip_4(rip, codcosto, commessa, 0, 0, classe_mov);
|
err = read_rip_4(rip, codcosto, commessa, fase, 0, 0, classe_mov);
|
||||||
if (err != NOERR)
|
if (err != NOERR)
|
||||||
err = read_rip_4(rip, codcosto, commessa, 0, 0, 0);
|
err = read_rip_4(rip, codcosto, commessa, fase, 0, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1700,11 +1701,12 @@ TObject* TCache_ripartizioni::key2obj(const char* key)
|
|||||||
{
|
{
|
||||||
const TString80 codcosto = parametro.get(1);
|
const TString80 codcosto = parametro.get(1);
|
||||||
const TString80 commessa = parametro.get(2);
|
const TString80 commessa = parametro.get(2);
|
||||||
const int anno = parametro.get_int(3);
|
const TString16 fase = parametro.get(3);
|
||||||
const int indbil = parametro.get_int(4);
|
const int anno = parametro.get_int(4);
|
||||||
const int classe_mov = parametro.get_int(5);
|
const int indbil = parametro.get_int(5);
|
||||||
|
const int classe_mov = parametro.get_int(6);
|
||||||
|
|
||||||
rip->read(codcosto, commessa, anno, indbil, classe_mov);
|
rip->read(codcosto, commessa, fase, anno, indbil, classe_mov);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rip->head().get_int(RIP_TIPORIP) == 1)
|
if (rip->head().get_int(RIP_TIPORIP) == 1)
|
||||||
@ -1755,7 +1757,7 @@ void TCache_ripartizioni::set_esercizio(const int codes)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const TAnal_ripartizioni_batch& TCache_ripartizioni::righe(const char* costo, const char* commessa,
|
const TAnal_ripartizioni_batch& TCache_ripartizioni::righe(const char* costo, const char* commessa, const char* fase,
|
||||||
const int annoes, const int indbil, const char tipomov)
|
const int annoes, const int indbil, const char tipomov)
|
||||||
{
|
{
|
||||||
//classi di movimento: se preventivi 2, se normali 1
|
//classi di movimento: se preventivi 2, se normali 1
|
||||||
@ -1766,7 +1768,7 @@ const TAnal_ripartizioni_batch& TCache_ripartizioni::righe(const char* costo, co
|
|||||||
classe_movimento = 1;
|
classe_movimento = 1;
|
||||||
|
|
||||||
TToken_string parametro;
|
TToken_string parametro;
|
||||||
parametro << "4|" << costo << '|' << commessa << '|' << annoes << '|' << indbil << '|' << classe_movimento; //per chiave 4
|
parametro << "4|" << costo << '|' << commessa << '|' << fase << '|' << annoes << '|' << indbil << '|' << classe_movimento; //per chiave 4
|
||||||
return *(const TAnal_ripartizioni_batch*)objptr(parametro);
|
return *(const TAnal_ripartizioni_batch*)objptr(parametro);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,13 +171,13 @@ class TAnal_ripartizioni_batch : public TRecord_array
|
|||||||
private:
|
private:
|
||||||
int read_rip_3(TLocalisamfile& rip, const int gr, const int co, const long sot,
|
int read_rip_3(TLocalisamfile& rip, const int gr, const int co, const long sot,
|
||||||
const int annoes, const int indbil, const int classe_mov) const;
|
const int annoes, const int indbil, const int classe_mov) const;
|
||||||
int read_rip_4(TLocalisamfile& rip, const char* codcosto, const char* commessa,
|
int read_rip_4(TLocalisamfile& rip, const char* codcosto, const char* commessa, const char* fase,
|
||||||
const int annoes, const int indbil, const int classe_mov) const;
|
const int annoes, const int indbil, const int classe_mov) const;
|
||||||
public:
|
public:
|
||||||
const TRectype& head() const { return _rip; }
|
const TRectype& head() const { return _rip; }
|
||||||
int indbil() const;
|
int indbil() const;
|
||||||
int read (const char* codice);
|
int read (const char* codice);
|
||||||
int read (const char* codcosto, const char* commessa, const int annoes, const int indbil, const int classe_mov);
|
int read (const char* codcosto, const char* commessa, const char* fase, const int annoes, const int indbil, const int classe_mov);
|
||||||
int read (const int gr, const int co, const long sot, const int annoes, const int indbil, const int classe_mov);
|
int read (const int gr, const int co, const long sot, const int annoes, const int indbil, const int classe_mov);
|
||||||
TAnal_ripartizioni_batch();
|
TAnal_ripartizioni_batch();
|
||||||
};
|
};
|
||||||
@ -196,7 +196,7 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
void set_esercizio(const int codes);
|
void set_esercizio(const int codes);
|
||||||
const TAnal_ripartizioni_batch& righe(const char* costo, const char* commessa,
|
const TAnal_ripartizioni_batch& righe(const char* costo, const char* commessa, const char* fase,
|
||||||
const int annoes, const int indbil, const char tipomov);
|
const int annoes, const int indbil, const char tipomov);
|
||||||
const TAnal_ripartizioni_batch& righe(const TBill& bill, const int annoes, const char tipomov);
|
const TAnal_ripartizioni_batch& righe(const TBill& bill, const int annoes, const char tipomov);
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
149
|
149
|
||||||
0
|
0
|
||||||
$rip|||119|0|Archivio tabelle di ripartizione analitica|||
|
$rip|||129|0|Archivio tabelle di ripartizione analitica|||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
149
|
149
|
||||||
12
|
13
|
||||||
TIPO|1|1|0|Tipo Ripartizione (<I>nterattiva, <B>atch)
|
TIPO|1|1|0|Tipo Ripartizione (<I>nterattiva, <B>atch)
|
||||||
CODICE|1|8|0|Codice ripartizione
|
CODICE|1|8|0|Codice ripartizione
|
||||||
GRUPPO|2|3|0|Gruppo
|
GRUPPO|2|3|0|Gruppo
|
||||||
@ -7,6 +7,7 @@ CONTO|2|3|0|Conto
|
|||||||
SOTTOCONTO|3|6|0|Sottoconto
|
SOTTOCONTO|3|6|0|Sottoconto
|
||||||
CODCOSTO|1|20|0|Codice centro di costo
|
CODCOSTO|1|20|0|Codice centro di costo
|
||||||
CODCMS|1|20|0|Codice commessa
|
CODCMS|1|20|0|Codice commessa
|
||||||
|
CODFASE|1|10|0|Codice fase
|
||||||
DESCRIZ|1|50|0|Descrizione
|
DESCRIZ|1|50|0|Descrizione
|
||||||
TIPORIP|1|1|0|Modalita' ripartizione (percentuale, quote, parti)
|
TIPORIP|1|1|0|Modalita' ripartizione (percentuale, quote, parti)
|
||||||
ANNOES|9|4|0|Codice esercizio
|
ANNOES|9|4|0|Codice esercizio
|
||||||
@ -16,4 +17,4 @@ CLASSEMOV|2|1|0|Classe movimento (0=tutti,1=normali e temp.,2=preventivi e varia
|
|||||||
TIPO+CODICE|
|
TIPO+CODICE|
|
||||||
TIPO+DESCRIZ|X
|
TIPO+DESCRIZ|X
|
||||||
TIPO+GRUPPO+CONTO+SOTTOCONTO+ANNOES+INDBIL+CLASSEMOV|X
|
TIPO+GRUPPO+CONTO+SOTTOCONTO+ANNOES+INDBIL+CLASSEMOV|X
|
||||||
TIPO+CODCOSTO+CODCMS+ANNOES+INDBIL+CLASSEMOV|X
|
TIPO+CODCOSTO+CODCMS+CODFASE+ANNOES+INDBIL+CLASSEMOV|X
|
||||||
|
1
ca/rip.h
1
ca/rip.h
@ -8,6 +8,7 @@
|
|||||||
#define RIP_SOTTOCONTO "SOTTOCONTO"
|
#define RIP_SOTTOCONTO "SOTTOCONTO"
|
||||||
#define RIP_CODCOSTO "CODCOSTO"
|
#define RIP_CODCOSTO "CODCOSTO"
|
||||||
#define RIP_CODCMS "CODCMS"
|
#define RIP_CODCMS "CODCMS"
|
||||||
|
#define RIP_CODFASE "CODFASE"
|
||||||
#define RIP_DESCRIZ "DESCRIZ"
|
#define RIP_DESCRIZ "DESCRIZ"
|
||||||
#define RIP_TIPORIP "TIPORIP"
|
#define RIP_TIPORIP "TIPORIP"
|
||||||
#define RIP_ANNOES "ANNOES"
|
#define RIP_ANNOES "ANNOES"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user